dsh-capability-center:在 DSH 里用一页管理技能、插件、组合包与 MCP 连接器

前言

在 DeepSeek Harness(DSH)里,技能、插件、组合包和 MCP 连接器往往分散在侧栏「插件」、配置补丁和目录结构里。要开关某条能力、看清说明、再把它送进当前对话,通常要在多处点选或手敲 / 路径。社区插件 dsh-capability-center(维护者 niueigang,分类:客户端)做的是豆包式能力管理页:同一界面分组展示、可搜索、右侧开关,技能详情支持「插入到对话」。下文按资料说明它解决什么、怎么用、以及开关背后的行为。

这是什么

dsh-capability-center 是给 DSH Web 客户端加的能力中心面板。装好后侧栏在「插件」与「自动化任务」之间多一项「能力中心」。它不改 app.asar、不写注册表、不建计划任务;宿主侧通过 cordis 补丁挂路由,浏览器侧 lib/client.js 直接按宿主约定加载,无单独前端构建步骤。

资料中版本为 0.1.0,许可证 MIT,依赖 @deepseek-ai/cordis 约 4.0.5,Node ≥18。

核心功能

四个页签

页签 内容 开关实际做了什么
技能 用户技能、Agents 技能、内置技能;可阅读 SKILL.md 全文 在 <root>/ 与 <root>/.disabled/ 之间搬目录,立刻生效、不用重启
插件 Loader 里每一行,带标题和描述 pluginManager.setPluginEnabled(),写入 profile 的 cordis.patch.yml,宿主热重组
组合包 官方/第三方、版本、是否已装 setBundleEnabled(),改 profile 层叠;部分包需重启
连接器 Loader 里的 MCP 行:传输方式与地址 同插件行,关闭即断开,下一次工具调用生效

技能扫描遵循 dsh-skill-filesystem 只扫根目录下一层的约定,不支持嵌套 **/SKILL.md。因此禁用技能是挪进 .disabled,内容不变,文件监听会立即重扫。内置技能、插件内置技能没有可搬目录时,开关为灰并在面板说明原因。

若宿主返回 application: "overridden"(例如用户级 ~/.dsh/cordis.patch.yml 覆盖 profile),面板会提示「改动被更高层配置覆盖」,不假装成功。

插入到对话

技能详情页「插入到对话」会切回会话界面,聚焦输入框,等待约 240ms 让 Lexical 同步选区后,执行 insertText 写入 /技能名;失败则退到剪贴板并用全局提示条说明。插入内容与手敲 / 选技能一致,由宿主渲染为 chip。

HTTP 接口

面板只注册前缀在宿主 webServer 上的路由:

方法 路径 作用
GET /capability/api/state 全量清单(技能/插件/组合包/连接器及计数)
POST /capability/api/toggle {kind, id, enabled} 开关一条
GET /capability/api/skill?id=… 某技能正文(含内置技能兜底)
GET /capability/api/ping 健康检查

实现上 inject 不写死未存在的服务,各依赖软取,装配段独立 try/catch,避免 cordis pending 导致宿主卡死。

安装与启用

插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证。DSH 生态理念是「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

方式 A · 应用内(推荐)

  1. 打开 DSH → 侧栏 插件
  2. 右上角 添加插件
  3. 粘贴仓库地址并安装、启用、重启客户端:
https://github.com/niueigang/dsh-capability-center

方式 B · PowerShell 一行

irm https://raw.githubusercontent.com/niueigang/dsh-capability-center/main/install.ps1 | iex

指定 profile 或版本:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/niueigang/dsh-capability-center/main/install.ps1))) -Profile web -Ref v0.1.0

脚本将源码放到 %USERPROFILE%\.dsh\plugins\dsh-capability-center,用 junction 链到 profile 的 node_modules,并更新该 profile 的 package.json(dependencies 与 dsh.profile.bundles);修改前会备份为 package.json.bak-capcenter-<时间戳>。

新 bundle 装入后需重启客户端,profile 的 loader 树才会挂上能力中心。

卸载

node "%USERPROFILE%\.dsh\plugins\dsh-capability-center\tools\uninstall.mjs" desktop

典型用法

  1. 安装并重启后,从侧栏进入 能力中心。
  2. 用搜索或分组浏览 技能 / 插件 / 组合包 / 连接器,用右侧开关启用或禁用;观察面板是否在覆盖场景下给出真实状态。
  3. 打开某技能详情阅读说明,点 插入到对话,在输入框确认出现 /技能名 chip,回车发起调用。
  4. 需要排查时,可访问 /capability/api/ping 与 /capability/api/state(由本机 DSH Web 服务提供,勿对不可信环境暴露)。

适用场景与注意

  • 适合:经常在 DSH 里切换技能与插件、管理组合包和 MCP 连接器,并希望在一个页面完成开关与说明阅读的智能体开发者。
  • 注意:组合包开关后部分情况仍需重启;连接器关闭后于下一次工具调用生效。Windows 本地源码进 profile 可用 node tools/install.mjs desktop(见 README「方式 C」),与 PowerShell 安装目标一致。

结尾

dsh-capability-center 把 DSH 分散的能力条目收成一页:可视化、可开关、技能一键写入对话输入框。更多说明与截图见仓库 README。

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

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

Xiaoye