DeepSeek Harness (DSH) 的默認 web_search 配置通常綁定 deepseek-official 提供者,該提供者需要 DeepSeek API Key。當模型路由切換至 Z.AI (GLM) 時,由於環境中僅存在 ZAI_API_KEY,搜索請求會因 401 認證失敗。dsh-web-search-zai 插件通過註冊 zai-official 提供者,利用 Z.AI 的 Anthropic 兼容接口調用原生 web_search_20250305 工具,解決了 GLM 路由下的網頁搜索需求。
核心功能¶
該插件提供以下能力:
- Z.AI (GLM) 網頁搜索提供者:專爲運行 GLM 模型的 DSH 安裝配置,替代默認的 DeepSeek 搜索提供者。
- 原生接口支持:通過 Anthropic 兼容的 Messages API 和
web_search_20250305工具實現原生web_search行爲。 - 零依賴:作爲獨立的 DSH 配置文件包發佈,不依賴其他 npm 包。
- 容錯機制:對瞬時上游故障(如 5xx 錯誤、超時)重試最多 3 次。
- 數據解析:引用感知掃描器能從 Z.AI 返回的混合格式(Python-repr/JSON)中提取
title、link、content記錄。
安裝與啓用¶
在 web 配置文件(即包含 web 貫通的配置文件)中安裝插件:
dsh plugin --profile web add @canary-builds/dsh-web-search-zai
安裝後需重啓 DSH 才能生效。如需更新,重複運行上述命令並重啓即可。
如果 cordis.patch.yml 中已有針對 web 行的手動配置(例如手動指定了 searchProvider),請先移除該覆蓋,因爲配置文件補丁的優先級高於插件包內的補丁。
配置說明¶
插件不提供 UI 設置卡片,相關常量定義在 index.js 中:
| 常量名 | 默認值 | 含義 |
|---|---|---|
MODEL |
glm-5.3 |
執行搜索輪次的模型 |
MAX_USES |
3 |
每次請求的服務器工具搜索次數 |
MAX_TOKENS |
512 |
完成預算(來源在工具塊中,保持預算較小) |
MAX_ATTEMPTS / RETRY_DELAY_MS |
3 / 700 |
瞬時故障重試策略 |
REQUEST_TIMEOUT_MS |
45000 |
單次嘗試超時時間 |
API_KEY_REF |
ZAI_API_KEY |
憑證存儲引用 |
注意事項¶
- 憑證要求:必須將 Z.AI API Key 存儲爲
ZAI_API_KEY憑證。插件運行時若未檢測到該憑證,會拋出WEB_PROVIDER_CREDENTIAL_MISSING錯誤。 - 計費模式:每次搜索都會生成一次 GLM 模型調用,計費方式類似於小型模型調用,並非免費搜索 API。
- DSH 版本兼容性:該插件依賴於 DSH
web貫通在0.1.x版本中發佈的契約(registerSearchProvider/WebSearchProvider)。若 DSH 更新導致接口變更,需重新測試。 - 行爲細節:
- 插件僅在憑證服務存在時報告
available()爲真。 - 同一請求內的多輪搜索會去重 URL。
- 內容摘要(snippet)被限制在 400 個字符以內。
- 支持完整的取消操作(
WEB_ABORTED)。
- 插件僅在憑證服務存在時報告
切換回 DeepSeek¶
若需恢復使用 DeepSeek 官方搜索提供者:
- 將
DEEPSEEK_API_KEY存入憑證服務。 - 移除當前插件:
dsh plugin --profile web remove @canary-builds/dsh-web-search-zai。 - 在
web行的配置中恢復searchProvider: deepseek-official。
插件通過 web.registerSearchProvider 註冊提供者,卸載時會自動清理註冊,下次啓動時恢復基礎配置。
瞭解更多或提交問題,請訪問:GitHub 倉庫