智谱(GLM Coding Plan)三件套以原生 provider 与工具接入:内置 web_search / web_fetch 后端切换为智谱联网搜索与网页 Markdown 读取,可选注册 github_search_doc / github_get_repo_structure / github_read_file 开源仓库工具,附设置卡片配置开关与凭据引用名。
安装
# npm 包(预构建)
dsh plugin --profile web add deepseek-harness-zhipu_plan_tools
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:magian1127/deepseek-harness-zhipu_plan_tools
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
智谱 MCP 三件套 · DeepSeek Harness 插件
把智谱(GLM Coding Plan)三个 MCP Server 的能力以 DSH 原生 provider / 工具形式接入:
内置 web_search / web_fetch 后端替换为智谱联网搜索与网页读取,并可选注册三个
github_* 开源仓库工具。全部设置都在插件卡片中保存并实时生效。
功能与设置顺序
在 DSH 设置 → 插件 → 插件配置 中展开“智谱工具”。下表严格按卡片从上到下排列:
| 设置 | 默认值 | 说明 |
|---|---|---|
| 启用智谱工具 | 开 | 总开关;关闭后搜索/读取进入兼容回退,仓库工具和相关提示卸载,设置入口保留 |
联网搜索(接管 web_search) |
开 | 通过智谱 web_search_prime 搜索,并替换模型可见的内置搜索说明 |
网页读取(接管 web_fetch) |
开 | 通过智谱 webReader 返回 Markdown;DSH 默认关闭 web_fetch,仍需另行启用该工具 |
| 开源仓库工具 | 关 | 注册 github_search_doc、github_get_repo_structure、github_read_file |
| 提示词中文化 | 关 | 将插件注入的提示与工具说明从默认英文切换为中文;工具名不变 |
| 凭据引用名 | ZAI_CODING_CN_API_KEY |
只保存引用名,不保存 API Key |
卡片默认收起,底部依次为“恢复默认值 / 放弃修改 / 保存”。完整设置语义和关闭后的 回退边界见行为契约。
工作机制
- 搜索/读取 = provider 替换:注册到 DSH
web服务的 provider,由cordis.patch.yml把web行的searchProvider/fetchProvider指向本插件;模型看到的工具名不变 (web_search/web_fetch),后端换成智谱。 - 仓库工具 = 原生注册:三个
github_*工具经ctx.tools.register注册,带系统提示 指引与通用卡片,60 秒协作超时;历史中的过期或畸形参数仅降级为通用卡片,不影响会话重放,实际执行仍严格校验参数。 - 凭据:统一引用
ZAI_CODING_CN_API_KEY(智谱 GLM Coding Plan API Key),三层解析 (DSH 凭据服务 → 环境变量 →~/.dsh/.credentials.yaml直读);Key 永不写入配置或日志。- 尊重 Agent 预设:极简模式(minimal 预设)是“仅持久 shell + str_replace_editor”的双工具组合,该模式下不注册
web_search阴影;zread开启时还在该 Agent 作用域 deny 全局github_*工具(该 deny 不依赖search开关,插件启用即生效),保持双工具承诺。
- 尊重 Agent 预设:极简模式(minimal 预设)是“仅持久 shell + str_replace_editor”的双工具组合,该模式下不注册
- 热更新:Host 侧产物自监视热重载(改
src/→npm run build即生效,无需重启); 设置applies: 'live'实时生效。
环境要求
- DeepSeek Harness Web GUI,profile
web,≥0.1.2-alpha.1 - Node.js
^22.19.0 || >=24.0.0 - 智谱 GLM Coding Plan API Key;默认引用名为
ZAI_CODING_CN_API_KEY
安装
npm 注册表安装:
# 官方持久通道:自然下一次启动后生效
dsh plugin --profile web add deepseek-harness-zhipu_plan_tools
# 热安装:DSH 正在运行时可立即生效
npx -y deepseek-harness-zhipu_plan_tools install --profile web
本地源码联调:
npm install # prepare 自动构建
node bin/dsh-zhipu.mjs install --profile web --link <项目绝对路径>
本包 patch 含 web.config,不符合 dsh-zh 的简单 manifest reconcile;CLI 会使用本项目的桥接/临时行策略。提示完成后仍需用 status、实际 provider/tool 状态和现有 GUI 确认是否挂载:
npx -y deepseek-harness-zhipu_plan_tools status --profile web
首次使用:添加 zai-coding-cn 提供商
使用本插件前,先在 DSH 设置中添加 zai-coding-cn 提供商(一个步骤,安装后只需做一次):
- 打开 DSH 设置 → 模型;
- 「提供方」下拉选择
zai-coding-cn(注意不是海外的zai,本插件走智谱中国区端点open.bigmodel.cn);
保存后 DSH 会自动使用 ZAI_CODING_CN_API_KEY 参数(即配置中 apiKeyEnv: ZAI_CODING_CN_API_KEY)
作为该提供商的 API Key——这正是本插件默认的凭据引用名 credentialRef。
因此你只需保证 ZAI_CODING_CN_API_KEY 已存在于环境变量或 ~/.dsh/.credentials.yaml,
插件零额外配置即可取到智谱 Coding Plan Key;若你在环境变量中配置了别的名字,可在设置卡片中
把 credentialRef 改成对应名字。
启用 web_fetch(网页读取)
DSH 预设默认关闭 web_fetch(tool-web 行 fetch: false),本插件不擅自改该开关。
需要网页读取时,在你的 profile patch(~/.dsh/profiles/web/cordis.patch.yml)加:
- id: tool-web
config:
fetch: true
之后 web_fetch 工具出现并自动走智谱后端。不启用则本功能零感知。
设置与数据
六个字段 enabled / search / reader / zread / zhPrompt / credentialRef 按上方卡片顺序存入
DSH settings.yaml 的 dsh-zhipu 命名空间。API Key 本身不进入该命名空间。
关闭 search / reader 会实时进入兼容回退(使用 DEEPSEEK_API_KEY 的 DeepSeek 搜索、
受限 HTTP(S) 文本抓取),但不会改写 profile 中静态绑定的 provider。要让其他 provider
重新接管仍需卸载本插件;精确边界见关闭后的回退语义。
插件不上传额外数据、不做遥测;网络调用限于智谱官方 MCP、兼容回退端点和用户明确传入的 HTTP(S) 页面。
卸载
dsh plugin --profile web remove deepseek-harness-zhipu_plan_tools
# 或
npx -y deepseek-harness-zhipu_plan_tools remove --profile web
卸载会清理挂载行与依赖并热卸载(运行中的 DSH 无需重启);settings.yaml 中的
dsh-zhipu 值可能保留,重新安装后继续生效。
开发
npm run typecheck # 三个 tsconfig 全量类型检查
npm run build # host(lib/)+ client(lib/client.js)+ CLI(bin/)+ tests(.tsbuild/)
npm test # 构建 + node:test 测试套件
npm run verify # 产物存在性 + 语法 + client bundle 格式 + CLI usage 冒烟
node scripts/smoke-live.mjs # 真实 API 冒烟(需要凭据;search/reader/zread)
改 src/ 后运行 npm run build;Host 以实际 provider/tool 变化验收,Client 以当前 profile 提供的 bundle 与设置卡验收。复杂 patch 的首次挂载限制见开发指南。
开发文档
路线图
技术路线图只在运行架构维护;版本与 npm 发布状态只在 发布流程维护。
License
MIT
链接
同类插件
Tencent/BrowserSkill#dsh-plugin-browserskill★ 1750
BrowserSkill 的 DeepSeek Harness 浏览器自动化桥接插件,通过原生浏览器工具控制可见的 Chrome 和 Edge Agent Window,支持可访问性与 VOM 页面观察、截图、隔离的多会话控制和 Web UI 实时观察浮层。
Lum1104/dsh-browser#bridge-browser★ 568
Chrome 侧边栏扩展,让 DSH 直接操控你的浏览器,无需视觉能力。
liustack/modsearch★ 348
纯文本 agent 的联网搜索桥:搜索网页与 X,返回结构化 JSON 证据(search/fetch/引用)。
DDDMUC/dsh-free-search★ 123
DSH 免费搜索插件:7 个引擎(DuckDuckGo/Bing/SearXNG 免费 + Exa/Perplexity/DeepSeek 付费)、自动回退、设置页 UI(API key 输入 + 官网链接)、web_fetch、引擎测试工具。
Tabbit-Browser/dsh-plugin★ 99
让 DeepSeek Harness 能够控制 Tabbit 浏览器:安装即自动加载 tabbit-browser skill,检测国际版 Tabbit 与国内版 Tabbit Browser 正式版(>= 1.9.0),检查 tabbit-cli 常驻运行时,按平台诊断调用 CLI 所需的 DSH sandbox 模式,并在没有合格版本时通过后台任务下载与系统地区匹配的正式版安装包。
Tabbit-Browser/dsh-tabbit★ 99
让 DeepSeek Harness 能够控制 Tabbit 浏览器:安装即自动加载 tabbit-browser skill,检测国际版 Tabbit 与国内版 Tabbit Browser 正式版(>= 1.9.0),检查 tabbit-cli 常驻运行时,按平台诊断调用 CLI 所需的 DSH sandbox 模式,并在没有合格版本时通过后台任务下载与系统地区匹配的正式版安装包。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。