前言¶
DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。当智能体需要联网能力时,通常需要额外的实现。lemoncat7/dsh-web-search 插件为 DSH 提供了原生的联网工具,解决了开发者统一管理搜索后端和网页获取流程的需求。
这是什么¶
这是一个为 DeepSeek Harness 提供可配置、安全的多提供商联网能力的插件。它向 DSH 注入了原生的 web_search 和 web_fetch 工具,同时提供了受限的 web_source 工具用于验证原始 HTML 数据。
插件由 lemoncat7 维护,采用 MIT 许可证。它允许管理员选择搜索提供商,同时通过插件作用域的代理和边界控制,确保网络访问的安全性和可控性。
核心功能¶
该插件主要提供以下能力:
- 原生工具注入:提供 DSH 原生的
web_search和web_fetch工具。 - 多提供商支持:支持 SearXNG、Wikipedia、Tavily、Brave Search 和 Gemini Grounded Search。
- 数据验证工具:提供
web_source工具,用于验证原始 HTML 标记或脚本嵌入数据。 - 安全限制:
- 搜索 JSON 和获取文本上限为 2 MiB。
web_fetch仅接受无凭据的公共 HTTP(S) URL,并阻止循环回环、私有及保留目的地。- 获取重定向上限为 5 次。
web_source最多返回 120,000 个字符。- 二进制响应体被拒绝。
- 凭证管理:API 密钥通过 DSH 凭据存储解析。
安装与启用¶
在 DSH 环境中,通过插件管理器安装该插件:
dsh plugin --profile web add @lemoncat7/dsh-web-search
安装完成后,前往 DSH 的设置界面进行配置:
1. 打开 Settings。
2. 进入 Plugins。
3. 选择 Plugin configuration。
4. 找到 Web search 选项。
5. 选择所需的提供商并保存。
典型用法¶
配置本地 SearXNG¶
为了使用通用的网络搜索,可以在本地部署 SearXNG 插件。使用提供的部署文件启动服务:
docker compose -f deploy/searxng/compose.yml up -d
启动后,可以使用以下命令测试连接:
curl -fsS -X POST http://127.0.0.1:8080/search -d 'q=DeepSeek&format='
插件默认行为¶
新安装的插件默认后端为无密钥的中文维基百科,可以直接进行验证。对于更广泛的网络搜索,建议配置 SearXNG、Tavily、Brave 或 Gemini 提供商。
注意事项¶
- 依赖环境:插件依赖 Node.js 环境,要求版本为
^22.19.0或>=24.0.0。 - 宿主版本:该插件当前目标宿主为 DSH
0.2.0-rc.2。 - 网络限制:插件仅限公共网络访问,不支持内网访问或命令执行。
- 代理设置:可以通过环境变量
DSH_WEB_SEARCH_PROXY设置全局代理,或使用DSH_WEB_SEARCH_NO_PROXY指定跳过代理的主机。
总结¶
lemoncat7/dsh-web-search 为 DeepSeek Harness 提供了一套标准化的联网解决方案,通过多提供商支持和严格的安全限制,平衡了功能性与安全性。开发者可以直接在 DSH 中使用原生的联网工具,而无需自行维护复杂的网络请求逻辑。
更多详情和源码,请参考 GitHub 仓库。