DeepSeek Harness (DSH) 的原生搜索工具 (web_search) 默認依賴上游服務提供的 Anthropic web_search_20250305 工具定義。而 9router 作爲 OpenAI 兼容網關,通常不直接提供服務端搜索能力,而是將工具定義傳遞給模型。這個插件解決了這個衝突,將 DSH 的原生 web_search 和 web_fetch 工具直接掛載到 9router 的網關端點上,使其能夠利用 9router 提供的搜索與抓取能力。
插件概覽¶
- 名稱:dsh-9router-web-search
- 作者:lordraiden
- 類別:聯網工具
- 許可證:MIT
核心能力¶
- 端點路由:將 DSH 的
web_search路由至 9router 的/v1/search,將web_fetch路由至/v1/web/fetch。 - 原生設置面板:在 DSH 中提供原生的設置卡片,用於配置 API Key、Base URL、模型、超時時間及限制參數。
- 零配置 Wiring:通過 bundle patch 自動將
web.searchProvider和web.fetchProvider針定爲 9router,無需手動配置。 - 憑證感知:支持從 DSH 憑證服務讀取
NINE_ROUTER_API_KEY,API Key 爲可選,無 Key 的本地實例也可直接運行。 - 純 ESM 實現:無需構建步驟,即插即用。
安裝與啓用¶
- 安裝插件
使用 DSH 的 CLI 安裝該插件到web配置文件。
npx @deepseek-ai/dsh plugin --profile web add github:lordraiden/dsh-9router-web-search
如需固定版本(例如 `v0.2.3`),可在命令後追加標籤:
npx @deepseek-ai/dsh plugin --profile web add github:lordraiden/dsh-9router-web-search#v0.2.3
-
配置網關地址
安裝完成後,在 DSH 的設置面板中找到該插件卡片,設置baseURL指向你的 9router 網關地址。此地址必須爲http或https。若未配置,提供者將報告不可用。 -
重啓與刷新
重啓 Harness,並在瀏覽器中執行硬刷新以加載新的插件選項。
配置說明¶
插件提供了若干配置項,位於 DSH 的設置面板中:
- baseURL:9router 兼容網關的基礎地址。
- searchModel / fetchModel:分別指定搜索和抓取端點使用的模型名稱(默認爲
search-combo/fetch-combo)。 - searchType:發送給搜索端點的搜索類型(默認爲
web)。 - timeoutMs:統一的請求超時時間(默認 30000ms)。
- apiKey:直接填寫的 API Key(可選),用於無憑證環境。
- apiKeyEnv:引用 DSH 憑證服務中的密鑰名稱(默認爲
NINE_ROUTER_API_KEY)。
注意事項¶
- DSH 版本要求:該插件依賴 DSH 版本
>= 0.1.7-rc.1。 - 網關依賴:必須部署一個 9router 兼容網關,插件不支持隱式回退端點。
- 安全防護:
web_fetch功能將 URL 提取和 SSRF 防護完全委託給 9router 服務器處理,插件自身不實現本地 SSRF 策略。請確保運行經過安全補丁的 9router 版本。
總結¶
dsh-9router-web-search 是一套爲 9router 網關設計的 DSH 適配層。它繞過了 DSH 默認的搜索工具要求,通過原生工具定義直接調用 9router 的 /v1/search 和 /v1/web/fetch 端點,實現了在 OpenAI 兼容網關環境下的網絡搜索與獲取能力。