DeepSeek Harness(DSH)內置了 web_search 工具,但默認的官方提供者(deepseek-official)受限於 DeepSeek 的 Anthropic 端點,無法指向其他網關。開發者若想跨網關使用,或需要更靈活的協議支持,需要額外的配置。下面介紹 dsh-web-search-diy 插件,它通過註冊 ctx.web 提供者並覆蓋 shared searchProvider,實現了對多種協議的支持。
是什麼¶
這是一個 DeepSeek Harness(DSH)網頁搜索提供方插件,由 aaronlei 維護,採用 MIT 許可證。它將 DSH 內置的 web_search 工具連接到多種協議上,返回結構化引用來源,允許調用模型基於引用作答。
核心功能¶
插件支持以下能力:
- 多協議支持:支持四種可選協議,包括 OpenAI 兼容 Responses API、Anthropic Messages API、智譜 Web Search API(基礎檢索)和智譜 Web Search in Chat(答案增強)。
- 結構化引用:返回結構化引用來源,方便模型基於引用作答。
- 配置覆蓋:註冊
ctx.web搜索提供者並覆蓋shared searchProvider,與 DSH 生態中的其他提供方插件行爲一致。 - 靈活配置:支持自定義端點、模型和憑證引用。
安裝與啓用¶
通過 npm 發佈安裝:
dsh plugin --profile web add dsh-web-search-diy
本地開發安裝:
dsh plugin --profile web add link:./dsh-web-search-diy
安裝後,插件會自動插入 loader、覆蓋配置並禁用內置的 DeepSeek-official 搜索,無需手動編輯 cordis.patch.yml。
典型用法¶
插件的核心在於通過配置 mode 來選擇協議。
- Responses 模式(默認):使用 OpenAI 兼容的 Responses API。該模式通過
POST /responses並在tools中聲明web_search來觸發搜索。大多數 OpenAI 兼容網關僅通過此方式觸發內置搜索。 - Anthropic Messages 模式:使用 Anthropic 兼容的 Messages API,調用原生
web_search_20250305服務器工具。該模式支持自定義apiVersion和maxUses。 - 智譜搜索模式:包含
zhipu-web-search(基礎檢索)和zhipu-chat-search(答案增強)兩種模式。
在 Anthropic 模式下,可以通過 anthropicThinking 開關禁用思考過程。端點爲空時會回退到環境變量 $DEEPSEEK_SEARCH_BASE_URL。
適用場景與注意¶
- 適用場景:需要使用非 DeepSeek 官方端點的開發者;使用 OpenAI 兼容網關但僅通過 Responses API 觸發搜索的場景;需要 Anthropic 原生 web_search 工具且希望靈活配置參數的用戶。
- 注意:Anthropic 模式不支持通過 effort 或 budget 調整思考。每個 Anthropic 輪次會被記錄在會話中。OpenAI 兼容網關僅通過 Responses API 觸發搜索,Chat Completions 搜索標誌會被靜默忽略。
總結¶
該插件將 DSH 的搜索能力與各種協議解耦,適合需要靈活配置網關和模型的場景。更多細節與源碼,請參考 GitHub 倉庫。