DeepSeek Harness 网页搜索插件:Z.AI (GLM) 提供者

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 官方搜索提供者:

  1. 将 DEEPSEEK_API_KEY 存入凭证服务。
  2. 移除当前插件:dsh plugin --profile web remove @canary-builds/dsh-web-search-zai。
  3. 在 web 行的配置中恢复 searchProvider: deepseek-official。

插件通过 web.registerSearchProvider 注册提供者,卸载时会自动清理注册,下次启动时恢复基础配置。

了解更多或提交问题,请访问:GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜