dsh-cap-manager:在 DSH Web UI 里统一管理 MCP、Skills 与 Claude Code 插件

前言

在 DeepSeek Harness(dsh)里做智能体开发,MCP 服务、Skills 和 Claude Code 插件往往分散在不同配置文件、目录和外部市场里。改一处配置要猜作用域是 global、profile 还是 project;从 Claude Desktop、Cursor 或 VS Code 迁过来的 mcpServers JSON 还要手工对齐格式。下面介绍的 dsh-cap-manager 是维护者 easun-zhu 发布的 dsh 客户端插件:在 Web UI 侧栏增加 MCP & Skills 面板,把三类能力收进同一界面,并支持导入导出与官方插件市场浏览。

这是什么

dsh-cap-manager(npm 包名同名,当前发布 v1.2.0,MIT 许可证)的定位是:在 DeepSeek Harness Web UI 中提供 MCP 服务器、Skills、Claude Code 插件 的统一管理面板。插件要求 dsh 版本 ≥ 0.2.1-rc.2;仓库与说明见 GitHub,社区目录页:skillhub.cn/plugins/easun-zhu/dsh-cap-manager。

核心功能

MCP 服务器

侧栏 MCP & Skills 面板的 MCP 标签页按作用域分组展示卡片:global / profile / project。每张卡片显示实时连接状态与工具数量,可新增、编辑、开关启用、删除,变更即时生效。关闭启用时保留配置但不挂载。

项目级配置以 .dsh/mcp.yml 为唯一来源;项目在面板中被选中或存在活跃会话时,其中已启用的服务器会被挂载。外部编辑文件会通过 watcher 与 diff mount 被实时拾取。serverName 在所有层级中必须唯一,冲突会在挂载前被拒绝。

面板支持从 Claude、Cursor、Cline、Roo、VS Code 等环境 导入 mcpServers JSON,并 导出 为标准 JSON 文档。新增表单提供 filesystem、memory、sequential-thinking、fetch、github、puppeteer 等模板下拉,便于快速起步。

Skills

Skills 标签页扫描四个可写根目录:<project>/.dsh/skills、<project>/.agents/skills、~/.dsh/skills、~/.agents/skills,在同一可搜索列表中展示。支持就地编辑、从 .zip 或 URL 导入、一键导出;删除进入回收站可恢复,并保留 .cap-bak 备份历史(每个受管文件保留 5 份备份)。

同名 Skills 按提供方规则解析优先级(项目优先于用户);被遮蔽或无法解析的条目会以徽章提示,而不是静默消失。

Claude Code 插件

Plugins 标签页可浏览 Anthropic 官方 claude-plugins-official 市场(README 标注 315+ 插件),在 dsh 内完成安装、更新、卸载与开关。插件自带的 Skills 通过原生 skill provider 生效;插件声明的 mcpServers 会作为实时 MCP 连接挂载。自 v1.2.0 起,由 Claude Code 插件挂载的 MCP 服务器也会在 MCP 标签页中以只读行出现。

导入与导出(要点)

  • MCP 导入:支持粘贴、上传或通过 URL 拉取 JSON;容忍 VS Code JSONC(注释、尾逗号);sse 会映射为 streamable-http 并告警;无效键会自动 slug 并标记。${VAR} / ${env:VAR} 转为 !!js process.env.VAR;VS Code ${input:…} 在应用时通过凭据表单替换。预览列出所有转换与失败项后再写入。
  • MCP 导出:合并受管行与当前项目文件为 {"mcpServers": …};!!js 折回 ${VAR};已禁用行不导出。密钥以明文导出,界面会明确提示。
  • Skills 导入:.zip(可含外层目录)、文件夹、零散 .md 或 zip URL;上限 10 MB / 200 文件,拒绝 zip-slip,丢弃 macOS 垃圾文件。同名默认跳过,可选覆盖。
  • 回收站与备份:删除的 Skills 可一键还原;.cap-bak-* 可覆盖还原目标或删除。

安装与启用

前提:已安装 DeepSeek Harness ≥ 0.2.1-rc.2(全局 dsh,或通过 npx -y @deepseek-ai/dsh 运行)。无需自行构建,推荐从 npm 安装:

dsh plugin --profile web add dsh-cap-manager

若 pnpm 发布冷却导致装不到最新版,可显式指定版本:

dsh plugin --profile web add dsh-cap-manager@1.2.0

也可使用 Release tarball(不经过 npm):

# Web UI
dsh plugin --profile web add https://github.com/easun-zhu/dsh-cap-manager/releases/download/v1.2.0/dsh-cap-manager-1.2.0.tgz
# Desktop 客户端
dsh plugin --profile desktop add https://github.com/easun-zhu/dsh-cap-manager/releases/download/v1.2.0/dsh-cap-manager-1.2.0.tgz

将 web / desktop 换成你实际使用的 profile 名称,重启 dsh 后,在左侧侧栏打开 MCP & Skills。README 说明:仓库未附带编译好的 lib/,不建议用 github: 简写从源码构建;优先 npm 或 tarball。

可选:在 dsh Discover 页或 plugin-market 的 indexes 中加入托管索引,实现一键安装:

https://easun-zhu.github.io/dsh-cap-manager/market/index.json

索引要求 engines.dsh >= 0.2.1-rc.2,并从 npm 安装包。

典型用法

项目 MCP 配置示例

可在 .dsh/mcp.yml 中手写,也可在面板中维护。README 示例:

mcpServers:
  projmini:
    enabled: true               # false = 保留配置但不挂载
    transport: stdio
    command: node
    args: [./scripts/mcp.mjs]
    env:
      TOKEN: !!js process.env.MY_TOKEN   # 挂载时求值

从其他编辑器迁入 MCP

在 MCP 标签页使用导入(⇩):粘贴或上传 mcpServers JSON,或通过 URL 拉取(浏览器端请求,目标需允许 CORS;GitHub raw 与多数静态托管可用)。预览确认转换结果后应用,写入路径与面板编辑共用同一套校验与热更新逻辑。

管理 Skills 与插件

在 Skills 标签页搜索、编辑或导入 zip/URL;在 Plugins 标签页从 claude-plugins-official 市场安装插件,并统一管理已安装项。深色模式随宿主主题自动切换。

更完整的设计与兼容性说明见仓库 DESIGN.md。

适用场景与注意

适合:已在 dsh Web UI(或 desktop profile)中开发,需要在一个界面里看清 global / profile / project 三层 MCP、集中管理多目录 Skills,并希望在 dsh 内直接逛官方 Claude Code 插件市场的开发者。

注意:

  1. 插件以 当前 dsh 进程的权限 读写配置、挂载 MCP、扫描目录;安装前应阅读源码与 MIT 许可证,确认行为符合你的安全策略。
  2. MCP 导出含 明文密钥;生产环境导出前需自行脱敏或限制分发范围。
  3. URL 导入在浏览器执行,依赖目标站点的 CORS;内网或无 CORS 的地址需改用粘贴或本地上传。
  4. DSH 生态强调「一切皆插件」;skillhub.cn 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文所述市场索引由插件维护者托管,非 dsh 内置商店。

结尾

经过上面的步骤,你可以在 dsh 侧栏用 MCP & Skills 一块面板完成 MCP 分层管理、Skills 全目录运维,以及 claude-plugins-official 插件的安装与联动。进一步了解请访问目录页 easun-zhu/dsh-cap-manager 与 GitHub 仓库 easun-zhu/dsh-cap-manager。

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

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

小夜