前言¶
在 DSH 中,网页搜索能力可以通过 web seam 的 provider 接入。dsh-web-search-anysearch 将 AnySearch 的 POST /v1/search REST API 作为搜索后端,并提供独立的 Web settings section。它由 mcxianyujun 维护,采用 MIT 许可,版本号为 0.1.1。
这是什么¶
这是一个原生 DeepSeek Harness WebSearchProvider,id 为 anysearch,挂在 ctx.web 上。它调用的是 AnySearch 原生 POST /v1/search,不是 /mcp JSON-RPC 桥接,也不需要 patch Harness 核心。
核心功能¶
- 原生
WebSearchProvider(id: anysearch)overctx.web - 调用 AnySearch
POST /v1/searchREST API - 提供独立的 Web settings section,独立于 DeepSeek search provider
- 使用独立凭据:
ANYSEARCH_API_KEY和按字段引用的ANYSEARCH_*,不会复用 DeepSeek provider 的 key - API key 由 DSH credentials service 保存,不写入 settings documents
- 保留来源信息:
url、title、snippet完整映射,并按 URL 去重 - 支持配置
Max Results(1–20)、Zone(cn/intl)、Language、Format(json/markdown)和Base URL - 支持 Web profile(GUI + settings section)
- 支持 Headless profile(CLI / automation)
- 提供结构化、不虚构结果的错误处理,覆盖
401/403、429、网络、JSON 和异常响应包 - 提供最小化的 zero-network 单元测试
- 不需要 patch Harness 核心
安装与启用¶
要求¶
- DeepSeek Harness,且带有
web和/或headlessprofile - 构建步骤需要 Node.js
>= 20和pnpm - AnySearch API key 对低频率匿名使用是可选的;为了可靠访问,建议使用
Web profile 安装¶
在 Web profile 下执行:
dsh plugin --profile web add dsh-web-search-anysearch
这条命令安装并注册 dsh-web-search-anysearch 插件。
启用搜索¶
安装后,在 Web settings section 中填写 AnySearch API key 和相关配置。API key 由 DSH credentials service 保存,不会写入 settings documents。
Windows 安装路径¶
PowerShell installer 只会修改目标 profile 的 package.json 和 cordis.patch.yml,并先备份这两个文件;重复执行时是幂等的,不会重复添加条目。
典型用法¶
下面这些问法都可以触发需要外部信息的搜索:
- “今天北京天气如何?”
- “What are the latest release notes for Go?”
- “Search for recent DeepSeek Harness plugins”
返回结果会保留 url、title 和 snippet 元数据,并按 URL 去重。
适用场景与注意¶
这个插件适合需要在 DSH 的 Web profile 或 Headless profile 中接入 AnySearch 的开发者。使用前注意以下几点:
- 插件以当前 DSH 进程权限运行,安装前应检查源码与 MIT 许可。
- 插件会向 AnySearch 发起外部请求;如果需要更稳定的访问,建议配置 API key。
ANYSEARCH_API_KEY通过 DSH credentials service 保存,不写入 settings documents。- DSH CLI remove 会移除 npm 依赖和 bundle registration,但不会删除用户编写的
cordis.patch.ymloverride entries。