前言¶
DeepSeek Harness(DSH)把智能体能力拆成可组合的插件,核心理念是「一切皆插件」。当你用 DSH 搭建能查资料、读网页的 Agent 时,往往还需要单独对接搜索 API、配置 MCP Server,或者让模型学习一套新的工具名。社区插件目录(如 SkillHub 插件库)由社区维护,与 DeepSeek / 幻方并无官方从属关系,但能帮助开发者快速发现可用扩展。
@anysearch/anysearch-dsh 是 anysearch-team 维护的联网工具类插件,在 GitHub 上已获得约 247 个 Star(MIT 许可证)。它把 AnySearch 接入 DSH:安装后,Harness 内置的 web_search 和 web_fetch 会走 AnySearch 后端,同时提供垂直搜索、批量并发等高级能力。本文基于插件目录页与 GitHub 仓库 README、中文使用指南交叉核实,介绍其定位、安装与典型用法。
这是什么¶
@anysearch/anysearch-dsh(npm 包名,仓库 anysearch-team/anysearch-dsh)是 AnySearch 面向 DeepSeek Harness 的官方 Web 插件。AnySearch 本身是面向 AI Agent 的搜索基础设施,覆盖公网网页以及代码、金融、学术、法律、安全等垂直数据源。
插件的核心思路是「不换工具名」:Agent 仍然调用 Harness 原生的 web_search 做实时网页搜索、web_fetch 抓取并清洗指定 URL 正文,底层请求由 AnySearch 处理。此外还挂载 anysearch_capabilities、anysearch_search、anysearch_batch_search 三个高级工具,用于发现可搜索领域、带参数的结构化检索,以及 1~5 路并发批量搜索。
核心功能与亮点¶
根据官方文档,当前版本主要提供以下能力:
- 原生联网搜索:通过
web_search调用 AnySearch,返回标题、URL 和摘要,便于模型引用来源。 - 网页正文抓取:通过
web_fetch调用 AnySearch Extract,对公开 HTTP(S) URL 抓取并清洗为可读正文(Markdown/文本),避免 Harness 再次做 HTML 转换。 - 动态能力发现:
anysearch_capabilities可实时获取可搜索领域、标签和参数定义,模型不必硬猜tag或参数名。 - 垂直与结构化搜索:
anysearch_search支持tag、params、zone、language等参数,适合金融行情、CVE 检索等专业场景。 - 批量并发搜索:
anysearch_batch_search一次提交 1~5 个独立查询,并发执行,单项失败不影响其余结果,输出保持输入顺序。 - 免 Key 快速体验:未配置 API Key 时可使用 AnySearch 匿名额度;注册账号并配置 Key 后,官方说明提供每日 1000 次免费搜索调用。
- 凭据热更新:API Key 写入 DSH 受管凭据文件后,下一次请求自动解析新值,无需重启进程(环境变量方式优先级更高,修改后需重启 DSH)。
工具与 Harness 内置接口的对应关系如下:
| 使用场景 | Harness 工具 |
|---|---|
| 普通网页搜索 | web_search |
| 抓取并清洗指定 URL | web_fetch |
| 发现可用领域与标签 | anysearch_capabilities |
| 垂直或带参数搜索 | anysearch_search |
| 1~5 路并发批量搜索 | anysearch_batch_search |
环境要求¶
安装前请确认本机满足以下条件(摘自官方 README):
- Node.js
22.19或更高版本,或 Node.js24+; - pnpm
11.7(DSH 的plugin子命令通过 pnpm 管理 profile 依赖,pnpm须在PATH中可用); - 可通过
npx运行 DeepSeek Harness; - 网络可访问
https://api.anysearch.com。
DeepSeek Harness 目前仍处于开发预览阶段,上游若有不兼容变更,插件可能需要同步升级。
安装与启用¶
将插件安装到 DSH 的 web profile(以下命令来自 GitHub 官方 README,与 npm 包 @anysearch/anysearch-dsh 一致):
npx -y @deepseek-ai/dsh plugin --profile web add @anysearch/anysearch-dsh
安装完成后启动 DeepSeek Harness:
npx -y @deepseek-ai/dsh web
插件会自动把 AnySearch 选为 web profile 的搜索与抓取 Provider,并启用原生 web_fetch。可用以下命令检查最终配置是否生效:
npx -y @deepseek-ai/dsh --profile web --dump-config
配置中应能看到 searchProvider: anysearch、fetchProvider: anysearch,以及插件条目 name: '@anysearch/anysearch-dsh'。
如需固定到某一 Git 提交,可在 profile 配置中按 DSH 惯例指定来源;日常安装以上述 npm 包方式即可。
更新与卸载:
npx -y @deepseek-ai/dsh plugin --profile web update @anysearch/anysearch-dsh
npx -y @deepseek-ai/dsh plugin --profile web remove @anysearch/anysearch-dsh
配置 API Key(可选)¶
快速体验可不配置 Key,请求走 AnySearch 匿名额度。持续使用或需要账号级配额时,建议在 anysearch.com 注册,并在 API Keys 页面创建密钥。
将 Key 写入 DSH 受管凭据文件(默认 ~/.dsh/.credentials.yaml,若设置了 DSH_HOME 则为 $DSH_HOME/.credentials.yaml):
ANYSEARCH_API_KEY: "as_sk_your_key"
请将 as_sk_your_key 替换为真实 Key;保留占位符时插件会拒绝发送请求。也可通过启动环境变量提供(优先级高于凭据文件,修改后需重启 DSH 进程):
export ANYSEARCH_API_KEY="as_sk_your_key"
npx -y @deepseek-ai/dsh --profile web
注意:DSH Web 设置页目前不会为第三方 Provider 自动生成 AnySearch Key 输入框,请使用凭据文件或环境变量。--dump-config 输出中只应出现 apiKeyEnv: ANYSEARCH_API_KEY,不应泄露真实 Key。
如需自定义 API 地址或正文渲染上限,可在 profile 用户配置层覆盖 bundled 条目(保持 id: web-search-anysearch 不变):
- id: web-search-anysearch
config:
apiKeyEnv: ANYSEARCH_API_KEY
baseURL: https://api.anysearch.com
maxRenderedContentChars: 12000
典型用法示例¶
安装完成后,像平时一样向 DSH 提问即可。普通联网查询会走 web_search;需要阅读某个确定 URL 的正文时走 web_fetch。
普通搜索示例(直接向 Agent 提问):
搜索 DeepSeek Harness 最近的发布变化,并附上来源链接。
查找今天关于开源 Agent Harness 的重要新闻,比较三个来源。
垂直 / 结构化搜索示例:
查询 AAPL 最新行情。先获取 finance 领域能力,再使用准确的标签和参数搜索。
检索最近的 CVE,并保留 AnySearch 的请求 ID 和搜索耗时。
批量搜索示例:
分别搜索三个开源 Agent Harness 的最新版本,并保留每项请求 ID。使用批量搜索。
需要专业数据时,Agent 应先调用 anysearch_capabilities 获取实时标签与参数,再调用 anysearch_search;多个独立查询可交给 anysearch_batch_search(最多五项,并发执行)。
适用场景与注意事项¶
适合谁用:
- 已在 DSH
webprofile 上开发 Agent,希望快速获得稳定联网能力,又不想改模型侧工具协议; - 需要公网搜索之外,还要查金融、学术、安全等垂直数据源的场景;
- 希望批量并发检索、保留请求 ID 与耗时元数据,便于溯源和排错。
使用前请注意:
- 插件以当前 DSH 进程权限运行。安装前请阅读 GitHub 源码 与 MIT 许可证,确认其行为符合你的安全策略;不要把真实 API Key 写入 Git 仓库、截图或日志。
- 匿名额度有限流。匿名模式适合体验;生产或高频调用建议配置 API Key。
- Harness 仍在预览期。关注 DSH 与插件版本更新,必要时执行
plugin update。 - 网络与配额。若出现
WEB_PROVIDER_ERROR,依次检查baseURL、到api.anysearch.com的连通性、Key 有效性及账号/匿名额度是否耗尽。 - 正文展示有上限。
web_search只向模型返回标题、URL、摘要;完整正文需通过web_fetch或高级工具在includeContent: true时按字符上限展示。
结尾¶
@anysearch/anysearch-dsh 的价值在于:在不改变 Harness 原生 web_search / web_fetch 调用方式的前提下,把 AnySearch 的实时搜索、网页清洗、垂直检索和批量并发能力接入 DSH。免 Key 即可上手,需要更高配额时再配置凭据即可。