dsh-mcp-plugin

August 16, 2026 · View on GitHub

把一个 MCP server(stdio / streamable-http,任意语言,含 Rust/Go 独立二进制、Node/Python 脚本)封装成 可 dsh plugin add 一键安装的 DeepSeek Harness (dsh) Cordis 插件的技能(WorkBuddy / CodeBuddy 技能包)。

注意:这与 dsh-skill-pack-plugin(把 SKILL.md 技能包封装成插件)是两条不同路线。本技能只处理 MCP server

它解决什么

  • dsh 注册 MCP server 是「配置型 Cordis bundle」,借用内置的 @deepseek-ai/dsh-mcp-client,无需自己写插件逻辑。
  • 覆盖 stdio / streamable-http 两种接入方式。
  • 覆盖跨平台二进制分发模式:umbrella 包 + 平台可选依赖(optionalDependencies)+ 零构建 bin shim, 规避 pnpm 安装时的 allowBuilds 墙(ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED)。
  • 提供原生 .mcp.json 降级方案(很多场景根本不需要写插件)。
  • 记录已验证的坑位:!!js process.env.* YAML 扩展、行 id 全局唯一性、不要对同一 server 双重挂载等。

安装(作为技能)

把本目录整体放进你的技能目录即可,例如:

# WorkBuddy / CodeBuddy 用户级技能目录
cp -r dsh-mcp-plugin ~/.workbuddy/skills/dsh-mcp-plugin/

对话中直接说「把 <某个 MCP server> 做成 dsh 插件」即可触发本技能。

用法速览

  1. 在插件的 cordis.patch.yml 里插入一行,把 @deepseek-ai/dsh-mcp-client 实例化成指向目标 server 的 stdio/http 实例。
  2. serverName 即工具命名空间,最终工具名 mcp__<serverName>__<tool>
  3. 独立二进制用 umbrella 包 + 平台可选依赖 + bin shim 做跨平台分发;command 直接用命令名(dsh 把 .bin 加进 PATH)。
  4. 发布顺序:平台二进制包 → umbrella 包 → 插件包(均 npm publish --access public)。

完整细节见 SKILL.md

许可证

MIT