lemoncat7/dsh-web-search:DeepSeek Harness 的可配置多提供商联网工具

前言

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 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜