dsh-web-search-glm:基于智谱 GLM 的 DeepSeek Harness 联网插件

在 DeepSeek Harness (DSH) 中实现智能体的联网能力,通常需要配置特定的搜索 Provider。dsh-web-search-glm 插件填补了使用智谱 GLM 模型进行原生 Web 搜索的空白,它通过 GLM 的 Anthropic 兼容接口执行搜索请求,并将结果映射为 DSH 可识别的标准格式。

是什么

这是一个由开发者 Noemm 维护的插件,旨在为 DSH 的 ctx.web 接口提供 GLM 后端支持。它不依赖爬虫,而是直接调用 GLM 的 web_search_prime 原生工具。

核心功能

  1. 原生工具执行:通过 GLM 端点执行原生的 web_search_20250305 服务器工具。
  2. 结果映射:将 GLM 返回的 web_search_prime 结果块映射为标准化的搜索源。
  3. 内容解析:解析内容为 {url, title, snippet} 格式。
  4. 去重处理:自动按 URL 去重。
  5. 信号支持:支持完整的 AbortSignal。
  6. 多查询处理:在单次响应中处理多次搜索请求。

安装与启用

安装插件

使用以下命令将插件添加到指定 profile:

dsh plugin --profile <profile> add dsh-web-search-glm

启用 Provider

DSH 需要明确选择使用哪个搜索 Provider。默认的 dsh-base bundle 可能已锁定官方 Provider,你需要通过 profile 的 patch 层进行覆盖。

在目标 profile 的 cordis.patch.yml 文件中添加或修改以下内容:

# ~/.dsh/profiles/<profile>/cordis.patch.yml
- id: web
  config:
    searchProvider: glm

或者,直接在启动环境变量中设置:

export DSH_WEB_SEARCH_PROVIDER=glm

配置说明

插件的配置项位于 ~/.dsh/settings.yaml 中的 web-search-glm 部分。

基础配置示例

web-search-glm:
  apiKeyEnv: ZAI_API_KEY
  # baseURL: https://api.z.ai/api/anthropic/v1   # 海外部署地址
  # model: glm-5.3-flash                         # 参考模型说明

关键配置项

配置项 默认值 说明
apiKeyEnv ZAI_API_KEY 凭证引用名称,建议与 zai provider 保持一致。
apiKey — 硬编码的 API Key(不推荐,建议使用 apiKeyEnv)。
baseURL https://open.bigmodel.cn/api/anthropic/v1 Anthropic 兼容端点地址,/messages 由插件自动追加。
model glm-5.3 执行原生联网搜索的模型名称。
apiVersion 2023-06-01 请求头 anthropic-version 的值。
maxTokens 4096 消息请求的 Token 上限。
maxUses 5 单次请求中 web_search 工具的最大调用次数。

凭证解析链

插件在每次搜索时按顺序解析凭证:
1. web-search-glm section 中的 literal apiKey。
2. 通过 apiKeyEnv 引用的凭证服务。
3. 环境变量 apiKeyEnv 的值。

如果以上均未解析成功,搜索将返回 WEB_PROVIDER_CREDENTIAL_MISSING 错误。

环境变量回退

如果 web-search-glm section 未设置 baseURL,插件会优先检查启动环境的 GLM_SEARCH_BASE_URL 变量。

模型说明

  • glm-5.3(默认):经验证在 2026-08-27 可正常使用,支持中英文查询并返回约 10 个来源。
  • glm-5.3-flash:经验证可正常使用,行为与 glm-5.3 一致,可作为替代方案。
  • glm-5-flash:该端点不支持此模型,使用时会收到 [1214][modelCode:不存在] 错误,请勿使用。

注意事项与适用场景

  • 错误处理:如果响应中不包含可用的结构化搜索结果,或者接口返回非 2xx 状态码,插件会返回 WEB_PROVIDER_ERROR。错误信息会原样透传。
  • 查询验证:该端点(非插件配置)不会拒绝无意义的查询,仍会执行搜索并返回结果。
  • 计费:搜索费用计入 GLM Coding Plan。
  • 兼容性:依赖 dsh >= 0.1.1-rc.2。
  • 许可证:MIT License。

安装前请检查源码与许可证。插件在当前 DSH 进程权限下运行,适合需要利用智谱 GLM 模型进行联网检索的开发者。

总结

经过上述配置,DSH 即可利用 GLM 的原生联网能力。源码与文档可在 GitHub 查看。

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

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

小夜