AllDSH
EN

AnySearch for DSH

anysearch-team · anysearch-team/anysearch-dsh

把 DSH 内置的 web_search 与 web_fetch 接到 AnySearch 商业 API,并另加垂直搜索、批量搜索与能力发现三个工具。

AnySearch for DSH 是 anysearch-team 开发的 DSH 插件,把 DSH 内置的 web_search 与 web_fetch 接到 AnySearch 商业 API,并另加垂直搜索、批量搜索与能力发现三个工具。收录于集成与连接和工具与能力,适合网页搜索。验证等级 L2(结构完整),安全扫描尚未完成,尚未声明具体的兼容版本,条目最后核查于 2026-09-17,采用 MIT 许可。安装命令:dsh plugin --profile web add @anysearch/anysearch-dsh

本条目由 赤榆 核查,数据更新于 · 引用规则

L2active
AnySearch for DSH 验证面板:验证等级 L2(共 5 级)——清单文件有效,关键字段齐全。安全扫描:未验证(未运行扫描)。兼容目标:DeepSeek Harness 未声明。许可:MIT。GitHub 星标:419。条目最后核查 2026-09-17。
AnySearch for DSH 的验证面板。该条目处于 5 级验证中的 L2 级:清单文件有效,关键字段齐全。安全扫描:未验证(未运行扫描);兼容目标:DeepSeek Harness 未声明;许可:MIT;条目最后核查于 2026-09-17。 验证规则说明

安装命令

dsh plugin --profile web add @anysearch/anysearch-dsh

需要先启动 harness:npx @deepseek-ai/dsh web,然后执行上面的命令。第一次用?先看安装教程。

它是什么

@anysearch/anysearch-dsh 是 AnySearch 官方为 DeepSeek Harness 写的接入插件。它同时做两件事,而第二件最容易被忽略。

第一,它在 harness 的 ctx.web seam 上注册一个由 AnySearch 支撑的 Web Search Provider 与 Web Fetch Provider。随包的 cordis.patch.yml 把现有 web 行的 searchProvider 与 fetchProvider 都改成 anysearch,并插入自己的行 id: web-search-anysearch。实际后果是 DSH 的内置 web_search 和 web_fetch 不再是本地能力——每一次普通搜索都发往 https://api.anysearch.com,每一次抓取 URL 都发给 AnySearch 的 Extract 接口。如果你以为它是在现有搜索之外再挂一个工具,那就读反了:它替换的是 provider。

第二,它另外挂载三个面向模型的工具。总共五个模型可见入口,README 全部列出,src/index.ts 与已发布的 lib/ 也都能对上:

工具 是什么
web_search harness 原生工具,改由 AnySearch 提供结果
web_fetch harness 原生工具,改为调用 AnySearch /v1/extract
anysearch_capabilities 读取 AnySearch 实时的领域/子领域目录,含每个垂直域声明的参数名
anysearch_search 完整搜索请求,支持 tag、params、zone、language 与可选的 includeContent
anysearch_batch_search 一至五个独立搜索并发执行,结果按输入顺序返回,单项失败单独保留

插件有意不提供 anysearch_extract。README 明说不重复注册提取工具,源码也一致:正文清洗只通过原生 web_fetch 这一行暴露。

它是一家商业第三方搜索服务的客户端

这是安装前最该弄清的性质,来源也说得很直白。仓库的 homepage 指向 https://www.anysearch.com,所有请求都发往 api.anysearch.com。本地不解析任何东西:插件不自带索引、爬虫或引擎,src/provider.ts、src/fetch-provider.ts 与 src/client.ts 就是 HTTP 适配层,别无其他。AnySearch 自己的定价页列出 Free 档——$0 /mo、结构化输出、“1,000 requests/day”、“20 QPS rate limit per key”——另有标注 Coming Soon 的 “Professional Search Pro” 和走销售的 Enterprise。那是厂商的产品页而不是插件文档,请当成当前的商务条款读,而不是插件本身给出的承诺。

可以不配 Key 开始用,但免费路径是共享的

README 的快速开始写得很清楚:“No API key is required for a quick start. Requests use AnySearch’s anonymous quota until you configure one.” docs/agent-installation.md 与中文使用指南都重复了这句。实现上,src/client.ts 在没有解析到凭据时直接省掉 Authorization 头,并在诊断信息里标出这次响应走的是匿名还是凭据鉴权。

注册会改变条款。README 说配置账号 Key 后每天有 1000 次免费搜索调用,并指向 https://www.anysearch.com/console/api-keys。中文使用指南对匿名路径的说法更谨慎:匿名请求受共享免费额度和更低限流约束,额度用尽或触发限流后,要么稍后重试,要么配置 Key。所以“不配 Key 能用”是真的,“不配 Key 可以无限用”没有任何来源这样讲。

Key 只以凭据引用的形式存在,不会进入组合配置:配置里保留的是 apiKeyEnv: ANYSEARCH_API_KEY,真实值由 DSH 的 credentials provider 在每次操作开始时解析。因此改 ~/.dsh/.credentials.yaml 下一次调用即生效、无需重启;而改启动环境变量需要重启进程。有两处防线是代码里真实实现的,不只是文档承诺——字面占位符 ANYSEARCH_API_KEY 与 as_sk_your_key 会在发出任何请求之前被拒绝;客户端使用 redirect: 'error',所以查询词和凭据都不会被转发到重定向目标。

会送出去什么

一次搜索向 POST /v1/search 提交 query,以及(在提供时)max_results、tag、params、zone、language;一次抓取向 POST /v1/extract 提交 { url }。请求头只有 accept、在解析到 Key 时才有 authorization,以及两个标识——来自 src/version.ts 的 user-agent: dsh/0.1.4 与 x-anysearch-client: dsh/0.1.4。

不会送出去的部分同样值得说清楚:client、两个 provider 适配器和三个工具都没有读取会话、对话历史、系统提示词或你的文件。搜索 seam 交给 provider 的是一个 WebSearchRequest,字段只有 query 和 maxResults。

也没有任何隐私说明。README、使用指南和安装指南都未提及隐私政策、遥测、留存或数据处理;AnySearch 站点上的 /legal?type=… 页面在本次核对中未能渲染出可读正文。请直接假设 api.anysearch.com 的运营方能看见你发出的查询词与 URL——因为它必然收到这些内容。

运行要求与安装

  • Node ^22.19.0 || >=24.0.0,直接来自 package.json 的 engines。README 另加 pnpm 11.7,因为 DSH 的插件命令用 pnpm 管理 profile 依赖。
  • 安装:npx -y @deepseek-ai/dsh plugin --profile web add @anysearch/anysearch-dsh,然后 npx -y @deepseek-ai/dsh web。
  • harness 目标版本:peer 依赖与固定版本的 dev 依赖都指向 0.1.0-rc.6——dsh-web、dsh-tools、dsh-tool-web、dsh-system-prompt、dsh-credentials 均为 >=0.1.0-rc.6 <0.1.1 || >=0.1.1-rc.1 <0.1.2,pnpm-workspace.yaml 也钉在同一版本。rc.6 是本站核对时依据的版本;这些范围之外没有任何兼容性声明。
  • 依赖:运行时依赖只有 @deepseek-ai/schemastery;六个 @deepseek-ai/* 包是 peer,不随包打包。
  • 凭据:插件注入 credentials 服务,使用指南称官方 base profile 已包含该服务。DSH 设置页没有第三方 Provider 的凭据输入项,因此只能改受管凭据文件或环境变量。
  • 网络:每次操作都需要出站 HTTPS 访问 https://api.anysearch.com(可用配置项 baseURL 覆盖)。
  • 包内有 prepare 脚本——tsc -p tsconfig.json——而 prepare 会在 npm install 时执行(包括从 git URL 安装),因此按源码安装会在你的机器上执行代码。它用 devDependencies 里的 TypeScript 编译包自身的 tsconfig.json 并产出 lib/;从 npm registry 安装拿到的则是构建好的 lib/。它不拉取也不执行任何远程内容,但这确实是安装期代码执行,在此如实披露。其余脚本(build、check、typecheck、test,以及需显式开启的 test:e2e)都不会在安装时触发。

已知限制

  • 它不是免费的本地搜索后端。 此后每一次普通 web_search 都依赖第三方的可用性、限流与额度。api.anysearch.com 不可达或匿名额度耗尽时,原生搜索会退化成 provider 报错。
  • web_search 会丢信息。 使用指南明确说通用 seam 只接收 title、url、snippet;清洗正文只有用 anysearch_search 并传 includeContent: true 才会保留,垂直标签和结构化参数也无法通过原生那一行使用。
  • 一条结果格式不对就可能让整次搜索失败。 适配层要求 data.results[i].url 是可解析的绝对 URL,否则抛错。Issue #10(2026-09-12 开启,本条目写作时仍开着)报的正是这种情况,PR #9 提出修复但尚未合并。
  • 文档有一处自相矛盾。 docs/user-guide.zh-CN.md 的“功能边界”一节仍写着插件不提供网页正文提取,而该文档的抬头又写着“适用版本:包含 AnySearch Fetch Provider 的待发布版本”。已发布的 0.1.4 包内 lib/index.js 确实调用了 ctx.web.registerFetchProvider,同一份指南也描述了 web_fetch 可用。请把那句话当作过期文字。
  • 返回内容没有隔离。 清洗后的页面正文会以“untrusted external data, not instructions”的标记进入模型,但它仍然是可被攻击者控制的文本,会进入上下文窗口。
  • 没有客户端半,也没有设置页输入项。 package.json 只声明了 bundle patch,没有 dsh.client 段;DSH 设置页也没有第三方 Provider 的凭据输入项。

什么时候用它、什么时候不要用

如果你本来就打算用 AnySearch 做搜索后端,并且希望它接进 harness 自己的 web_search / web_fetch seam,而不是增加几个模型得重新学习的工具,那它合适。垂直检索那部分是原生能力没有对应物的:anysearch_capabilities 读的是实时目录而不是硬编码清单,anysearch_batch_search 返回五项搜索并逐项标注成功或失败,而不是一个聚合结果。匿名可用的起步路径也让你能在正式注册之前先评估它。

如果你想要的是摆脱对外部搜索 API 的依赖,那就不要装——它的方向恰好相反:这是一次主动迁移到商业服务,而免费档是厂商的引导性条款,不是保证。如果你需要对自己查询内容的隐私保证,也不要装,因为来源里没有任何相关文档。也不要把它和另一个同样抢占搜索 provider 的插件叠在一起:README 明确要求不要用另一个 ID 再加一个 AnySearch provider,而 patch 是直接替换原有选择。

就形态而非评分而言:这个包自带基于 Extract 的抓取 provider 和垂直目录,而像 dsh-free-search 这类多引擎插件是路由到你自己挑选的引擎,并依赖官方 dsh-web-fetch-http 提供正文。这笔交换值不值取决于你优化的是哪一端,而两个项目都没有公布结果质量的实测数据。

FAQ

用它可以不配 API Key 吗?要花钱吗?

可以不配 Key 起步:README、面向 AI Agent 的安装指南和中文使用指南都说未配置时请求使用 AnySearch 的匿名额度,src/client.ts 在没有解析到凭据时直接省略 Authorization 头。没写清楚的是这份额度的规模——指南只说它是共享的、限流更低。README 说注册后的 Key 每天有 1000 次免费搜索调用;AnySearch 定价页列出 $0/mo 的 Free 档,含每天 1000 次请求和每 Key 20 QPS 限流,另有一档标注 Coming Soon,Enterprise 走销售。插件本身是 MIT 许可,不收费。

它会把我的会话上下文发给 AnySearch 吗?

按代码看不会。provider 收到的是只带 query 和 maxResults 的 WebSearchRequest,src/client.ts 也只序列化这些字段,加上可选的结果数量、tag、params、zone、language,抓取时则是目标 URL。任何请求体里都没有会话 ID、对话记录、系统提示词或文件内容;客户端确实会发 x-anysearch-client: dsh/0.1.4 用于流量归属统计。插件没有任何隐私或留存说明,所以服务方拿到查询词之后如何处理,这些来源回答不了。

安装时的 prepare 脚本做什么?

package.json 里写着 "prepare": "tsc -p tsconfig.json"。npm 会在 npm install 之后执行 prepare,所以从 git URL 安装会在你机器上用 devDependencies 里的 TypeScript 编译这个包;从 npm registry 安装则直接拿到构建好的 lib/。它不拉取也不执行任何远程内容,但确实是安装期代码执行,在此披露。

它和免费的多引擎搜索插件有什么区别?

形态上的区别:它注册一个 provider(anysearch),同时充当搜索和抓取 provider,另加垂直搜索、批量搜索和能力发现工具。像 dsh-free-search 这类插件是多引擎 provider,路由到你选择的引擎,正文抓取交给官方 dsh-web-fetch-http。差别在依赖形态而非质量:换来的是一套更完整的单一商业 API 加垂直目录,代价是把默认搜索绑到那家厂商的可用性和额度上。两个项目都没有公布结果质量的实测数据,本条目也不给它们排序。

不配 Key、或者断网时会怎样?

不配 Key 时以匿名模式工作,直到共享额度用尽或触发限流;指南给的建议是稍后重试或配置 Key。访问不到 api.anysearch.com——或 baseURL 指向一个不可达地址——时,web_search 与 web_fetch 会以 provider 错误失败,而且没有任何来源描述会自动回退到本地或官方引擎。

来源与参考

本页的技术判断建立在以下第一手资料之上,链接可直接追溯核对。

  1. [1]anysearch-team/anysearch-dsh — GitHub插件自身的仓库与 README——本条目的每一项论断都以这份第一手文档逐条核对。
  2. [2]@anysearch/anysearch-dsh on npm — npm本页安装命令实际解析到的已发布包。
  3. [3]deepseek-ai/deepseek-harness — GitHubDeepSeek Harness、Cordis 运行时与插件加载模型的上游仓库。
  4. [4]@deepseek-ai/dsh on npm — npm已发布的 harness 包,也是本站 dshTarget 字段跟踪的版本来源。
  5. [5]dsh-plugin GitHub topic — GitHub本站用于发现收录插件的检索入口。

全部链接最后核验于 2026-09-11

关于本条目的问题

AnySearch for DSH 安全吗?可以安装吗?
AnySearch for DSH 当前的验证等级是 5 级中的 L2 级(清单文件有效,关键字段齐全),安全状态为「未验证(未运行扫描)」。验证等级记录的是安装路径被核查到什么程度,它本身不是安全保证:是否安全取决于插件实际能碰到什么。安装前请阅读源码与安装脚本,确认它对文件、shell、网络和凭证的访问范围。
AnySearch for DSH 兼容哪个 DeepSeek Harness 版本?
AnySearch for DSH 没有声明 dshTarget,因此作者没有承诺任何具体的 DeepSeek Harness 版本。这个字段是可选的,缺失意味着本条目不保证在特定版本上可用;安装前请先在隔离的 profile 中试装。
AnySearch for DSH 怎么安装?
先用 npx @deepseek-ai/dsh web 启动 harness,然后复制页面顶部的安装命令。该命令由仓库发布的包名(或条目声明的安装 spec)生成,因此不会与仓库实际发布的内容脱节。本条目最后核查于 2026-09-17。
用它可以不配 API Key 吗?要花钱吗?
可以不配 Key 起步:README、面向 AI Agent 的安装指南和中文使用指南都说未配置时请求使用 AnySearch 的匿名额度,src/client.ts 在没有解析到凭据时直接省略 Authorization 头。没写清楚的是这份额度的规模——指南只说它是共享的、限流更低。README 说注册后的 Key 每天有 1000 次免费搜索调用;AnySearch 定价页列出 $0/mo 的 Free 档,含每天 1000 次请求和每 Key 20 QPS 限流,另有一档标注 Coming Soon,Enterprise 走销售。插件本身是 MIT 许可,不收费。
它会把我的会话上下文发给 AnySearch 吗?
按代码看不会。provider 收到的是只带 query 和 maxResults 的 WebSearchRequest,src/client.ts 也只序列化这些字段,加上可选的结果数量、tag、params、zone、language,抓取时则是目标 URL。任何请求体里都没有会话 ID、对话记录、系统提示词或文件内容;客户端确实会发 x-anysearch-client: dsh/0.1.4 用于流量归属统计。插件没有任何隐私或留存说明,所以服务方拿到查询词之后如何处理,这些来源回答不了。
安装时的 prepare 脚本做什么?
package.json 里写着 "prepare": "tsc -p tsconfig.json"。npm 会在 npm install 之后执行 prepare,所以从 git URL 安装会在你机器上用 devDependencies 里的 TypeScript 编译这个包;从 npm registry 安装则直接拿到构建好的 lib/。它不拉取也不执行任何远程内容,但确实是安装期代码执行,在此披露。
它和免费的多引擎搜索插件有什么区别?
形态上的区别:它注册一个 provider(anysearch),同时充当搜索和抓取 provider,另加垂直搜索、批量搜索和能力发现工具。像 dsh-free-search 这类插件是多引擎 provider,路由到你选择的引擎,正文抓取交给官方 dsh-web-fetch-http。差别在依赖形态而非质量:换来的是一套更完整的单一商业 API 加垂直目录,代价是把默认搜索绑到那家厂商的可用性和额度上。两个项目都没有公布结果质量的实测数据,本条目也不给它们排序。
不配 Key、或者断网时会怎样?
不配 Key 时以匿名模式工作,直到共享额度用尽或触发限流;指南给的建议是稍后重试或配置 Key。访问不到 api.anysearch.com——或 baseURL 指向一个不可达地址——时,web_search 与 web_fetch 会以 provider 错误失败,而且没有任何来源描述会自动回退到本地或官方引擎。

相似的 DSH 插件

查看全部

DSH Synapse

liangmianya

DeepSeek Harness 的画布会话地图——把会话、追问与原生 fork 组织成可浏览、可拖拽的工作区,同时让 DSH session log 继续作为唯一事实来源。

L2
404 JavaScript

dsh-mnemon

omdsh-dev

可组合的三层记忆:运行时上下文、可检索的项目文档,以及建立在可插拔 Provider 之上的长期记忆空间。

L2
384 TypeScript

一个 Chrome/Firefox 侧边栏扩展,为 DSH 打通通往你自己浏览器标签页的纯文本通道——不需要视觉模型。

L3
684 TypeScript

treg

superdesigndev

凭据注入式代理 + 共享工具注册表:一个 token 调用 3000+ 编目端点,密钥从不交给调用方。

L2
1.6k Python

API Relay Audit

toby-bridges

一个 DSH 插件,复用当前 provider 的接入点与凭据,对 AI API 中转站做本地 14 步审计。

L3
838 Python

Modsearch

liustack

编辑推荐

为 DSH 提供免费网页搜索:无需注册、无需密钥,返回带引用的结构化 JSON;装上 Grok 后还能搜索 X。

L2
501 TypeScript
ESC

输入关键词搜索索引,索引由 Pagefind 在部署时生成。