前言¶
在 DeepSeek Harness 中使用 web_search 時,如果只配置一個 Tavily 或 Exa API key,遇到 429 rate limit、額度耗盡或網絡錯誤,搜索調用就可能中斷。DSH 的插件化機制允許把這類搜索能力作爲插件接入,社區倉庫中也出現了針對多 Key 管理的方案。
下面介紹 dsh-web-search-pool。它是一個 DeepSeek Harness 插件,用於把多個 Tavily 和 Exa API keys 組織成搜索 Key 池,並按限流情況進行調度;當某個 key 不可用時,自動切換到下一個 key。
這是什麼¶
dsh-web-search-pool 是 DeepSeek Harness 的多供應商搜索負載均衡插件。它解決的是單搜索 API key 在 RPM 限流、額度耗盡或網絡異常時,web_search 工具不穩定使用的問題。
倉庫地址爲:
https://github.com/dreamrift/dsh-web-search-pool
許可證爲 MIT。
核心功能¶
該插件主要提供以下能力:
- 支持多個 Tavily + Exa keys,統一管理。
- 基於 RPM(每分鐘的請求數)加權輪詢調度。
- 遇到 429 rate limit、額度耗盡、網絡錯誤時,自動切換到下一個 key。
- Settings 頁卡片即時查看已用額度、總限額,並提供刷新按鈕。
- API keys 通過 DSH credentials service 保存,不寫入配置文件。
- 內置免費匿名層(1 req/sec),有 key 時走 REST 提配額。
- 支持 DeepSeek Harness rc.7 的原生 Bundle 集成。
安裝與啓用¶
安裝前需要滿足以下條件:
- DeepSeek Harness 版本爲
0.1.0-rc.7or higher。 - 至少擁有一個 search provider API key,Tavily 或 Exa 均可。
已有本地 tarball 時,執行下面命令安裝到 web profile:
dsh plugin --profile web add ./dsh-web-search-pool-0.1.0-rc.7.tgz
這條命令將本地包 dsh-web-search-pool-0.1.0-rc.7.tgz 安裝到 DSH 的 web profile 中。
配置 Key 池¶
安裝後,通過 DeepSeek Harness 的 Settings UI 配置:
1、打開 DeepSeek Harness,進入:
Settings → Plugins
2、找到卡片:
搜索 Key 池
3、添加 Tavily 或 Exa key。需要填寫:
Environment Variable Name,例如:
TAVILY_API_KEY_1
Rate Limit (RPM):每分鐘的請求數。Remark:備註名,可選。
4、點擊 Save。
保存後,API keys 通過 DSH credentials service 存儲,不寫入 plain-text configs。
默認工具行爲¶
配置完成後,該插件會自動成爲默認 web_search 工具,不需要手動選擇。
插件在調用時會根據當前配額和負載選擇 key,並在失敗時切換 key,同時遵守不同 key 的 rate limit 與 quota。
如果 Settings 頁沒有出現“搜索 Key 池”卡片,按照已覈實資料中的處理方式:更新使用 key:
web-search-pool
然後重啓 DSH。
開發驗證¶
如果只是驗證插件包本身,可以在倉庫目錄中執行以下命令。
運行測試:
npm run test
語法檢查:
node --check src/**/*.js scripts/*.mjs
打包完整性檢查:
npm pack --dry-run
這些命令用於本地測試、語法檢查和打包完整性檢查,不是業務調用示例。
適用場景與注意¶
適合以下場景:
- 已經有多個 Tavily 或 Exa API keys,希望統一放入一個池子使用。
- 希望降低單個 key 觸發 429 rate limit、額度耗盡或網絡錯誤時對
web_search的影響。 - 希望 API keys 不直接寫入配置文件,而是通過 DSH credentials service 保存。
需要注意:
- 插件以當前 DSH 進程權限運行。
- 安裝前應檢查倉庫源碼、依賴與 MIT 許可證。
- 插件聲稱 API keys 不 log、不在響應中暴露,但仍應只在可信環境中使用。
- 至少需要一個 Tavily 或 Exa API key 才能使用付費或受額度控制的搜索能力。
- 該倉庫是社區倉庫,安裝前自行確認版本與本地環境匹配。
鏈接¶
GitHub 倉庫:
https://github.com/dreamrift/dsh-web-search-pool