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 仓库