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 倉庫。

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

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

小夜