DSH Web Search 插件

在 DeepSeek Harness (DSH) 中構建智能體時,聯網能力是剛需。雖然官方提供了 tool-web,但在某些場景下,開發者需要更可控的搜索與抓取邏輯,或者需要替換默認實現。DSH Web Search 插件旨在解決這一問題,它持久化運行在宿主機端,支持 Bing 和 SearXNG 搜索,並能抓取特定 HTTP(S) 頁面。

插件定位

DSH Web Search 是一個宿主機側的 DSH 工具插件,由 gao-gao-zai 維護。它提供了 web_search 和 web_fetch 兩個接口,用於執行網絡搜索和網頁抓取。該工具會將 HTML 轉換爲 Markdown,且不會下載或解釋圖片。輸出大小經過限制,適合在生產環境中直接調用。

前置條件

使用前需滿足以下條件:
1. 安裝了 DeepSeek Harness 且啓用了 web 配置文件。
2. 系統已安裝 Node.js 22 或更高版本。
3. DSH 配置文件目錄具有寫入權限。

安裝與啓用

通過命令行安裝到 web 配置文件:

dsh plugin --profile web add github:gao-gao-zai/dsh-tool-web-search

若需開發調試,可使用本地檢出路徑:

dsh plugin --profile web add link:E:\DeepSeekHarness\WebSearch

配置說明

安裝後必須禁用官方 tool-web 工具,否則同名工具會發生衝突或導致啓動報錯。這需要在兩個層級進行配置:

  1. Host Profile 層配置:編輯 C:\Users\<user>\.dsh\profiles\web\cordis.patch.yml,添加或修改以下內容:
    - id: tool-web
      disabled: true
  1. Agent Preset 層配置:複製 DSH 安裝目錄下的 standard 預設到用戶目錄 ${DSH_HOME:-$HOME/.dsh}/.agent-presets/web-search/,並禁用:
    - id: tool-web
      name: '@deepseek-ai/dsh-tool-web'
      disabled: true
同時在 `settings.yaml` 中將默認預設指向該目錄:
    agent-presets:
      default: web-search

重啓 DSH 後端(例如通過 Ctrl+C 停止舊進程再運行 dsh web)並創建新會話。驗證新工具是否生效,可嘗試:

web_fetch({"url":"https://example.com/"})

若返回 Fetched https://example.com/ (HTTP 200) 及 Markdown 內容,說明配置成功。

插件註冊了 dsh-web-search 命名空間。在瀏覽器中打開 Settings → Web UI Plugins → 網頁搜索與抓取(或 Plugins → Plugin configuration),可配置引擎(Bing/SearXNG)、最大結果數、超時時間及輸出字符限制。SearXNG 的憑據需在 DSH 憑據 UI 中管理。

典型用法

啓用後,Agent 可調用以下工具:

  • 搜索:支持 query、limit 和 language 參數。
    web_search({"query": "DSH", "limit": 5, "language": "zh-CN"})
  • 抓取:接收一個 HTTP(S) url 參數。
    web_fetch({"url": "https://example.com/"})

限制與注意事項

插件對輸出做了大小限制,以防止內存溢出:
* 搜索:最多 10 個結果,單個片段 200 字符,渲染輸出上限 16K 字符。
* 抓取:渲染輸出上限 200K 字符。
* 任何超過限制的網絡響應都會在解析前被拒絕。

注意:該插件依賴 Node.js 22+,且搜索和抓取均以 DSH 進程的權限運行。建議在安裝前檢查源碼與許可證(MIT)。

總結

通過以上步驟,開發者可以在 DSH 中獲得一個可控、持久且受限制的聯網工具鏈。更多細節可參考項目目錄或源碼倉庫。

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

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

小夜