前言¶
在 DeepSeek Harness (DSH) 生态中,构建具备联网能力的智能体通常需要适配特定的搜索后端。dsh-web-search-anysearch 是一个 AnySearch 网页搜索提供者插件,旨在通过 ctx.web 能力 seam 提供开箱即用的网页搜索能力,无需编写额外的后端服务代码。
插件定位¶
该插件由 fan56 维护,开源协议为 MIT。它作为一个 DeepSeek Harness 插件,通过 AnySearch 服务提供网页搜索功能。插件采用无状态设计,不依赖缓存或持久化配置写入。
核心功能¶
- 统一接口调用:注册 WebSearchProvider,ID 为
anysearch。模型调用web_search工具时,通过ctx.web能力 seam 统一处理,保持引用格式和边界一致。 - 多场景支持:支持匿名访问。支持域名固定(domain pinning),可用于 finance(金融)、academic(学术)等特定领域搜索。
- 结果解析:将 AnySearch 返回的 Markdown 结果块解析为可引用的来源(包含 title、url、snippet)。
- 传输与限制:使用
node:https传输层(非 fetch/undici)。API 对max_results的限制为 10。
安装与启用¶
安装插件需要 DeepSeek Harness 版本 >= 0.2.0-rc.2。
dsh plugin --profile <name> add @aiwayds/dsh-web-search-anysearch
安装后重启 DSH 以应用更改。插件会自动注册到 dsh.profile.bundles,并挂载到 web_search 默认引擎。
配置说明¶
所有配置项均为可选。
- API Key:API Key 可选。匿名访问可用,但速率限制较低。Key 存储在
~/.dsh/.credentials.yaml。
version: 1
refs:
ANYSEARCH_API_KEY: <your_key>
-
搜索参数:
maxResults:默认为 8,上限为 10。timeoutMs:默认为 30000。domain:用于固定搜索领域(如 finance, academic)。endpoint:默认为https://api.anysearch.com/mcp。
-
默认引擎切换:若需保留其他搜索引擎作为默认,可在配置文件中手动指定,该配置优先级高于插件注册的默认值。
使用示例¶
- 安装并重启。
- 验证当前
web_search引擎:
dsh --profile <name> --dump-config | grep -A3 'id: web$'
- 在对话中直接使用
web_search工具。
注意事项¶
- 版本要求:必须使用 DSH >= 0.2.0-rc.2。插件仅支持 DSH 的 RC/stable 线,不再支持 alpha 线。
- 错误类型:取消操作返回
WEB_ABORTED,其他错误(如网络、非 2xx 状态、JSON-RPC 错误)返回WEB_PROVIDER_ERROR。 - 配置优先级:Literal
apiKey会覆盖apiKeyEnv引用。 - 可用性检查:
available()是本地检查,仅验证端点是否可解析,不检查权限。