dsh-control-center:在 Settings 里管理 MCP、Skill 与全局人设

前言

DeepSeek Harness(DSH)把 MCP 服务器、Skill 文件和系统提示片段都交给 profile 与 patch 层组合。日常开发里,这三类资源往往分散在 YAML、$DSH_HOME 目录和 GitHub 仓库之间,改一处要对照多处文件,也不方便在界面里一眼看到 Loader 是否已连接。

dsh-control-center(仓库 MYanhui/DSH-plug-in)是 MYanhui 维护的双面插件:宿主侧持有数据与模型侧贡献,浏览器侧把三个页面挂进 Settings 壳层,分别对应 MCP 管理、Skill 管理、全局人设。下面介绍它的定位、能力与安装用法;事实以 GitHub README 为准。

这是什么

一句话:为 DSH 提供 MCP 服务器、skills 与 全局 personas 三块可视化 Settings 页。

在 Settings 树中的位置大致如下:

Settings
├── …
├── MCP 管理          MCP server CRUD
├── Skill 管理        author or pull skills, inspect and delete them
└── 全局人设          a library of persona documents, one active

插件以普通 DSH bundle 形式发布,包名为 dsh-control-center,当前 README 中 package.json 版本为 1.0.0,许可证 MIT,要求 Node >=20,DSH 引擎 >=0.2.0-rc.1 <0.3.0-0。

核心功能

MCP 管理

MCP 服务器在 DSH 里是 Loader 行,不是普通 settings 键值。页面会把带标记的 managed block 写入当前 profile 的 patch 层,由 dsh-hmr 重载组合。块外内容原样保留,块内 payload 为 JSON(YAML 1.2 的严格子集),避免 URL、参数或环境变量破坏文档结构。

定义保存在 $DSH_HOME/control-center/mcp-servers.json;每次写入从该文件重新生成块,禁用服务器时从 Loader 移除行但不丢定义。列表会反映 Loader live 状态,区分 configured、enabled、connected。

示例块形态(摘自 README):

# >>> dsh-control-center:mcp — managed, edit it from Settings instead
- insert: [{"id":"cc-mcp-github","name":"@deepseek-ai/dsh-mcp-client","config":{…}}]
# <<< dsh-control-center:mcp

Skill 管理

Skill 是普通文件,页面是对 dsh-skill-filesystem 已扫描根目录的文件系统编辑器,不单独建库:

Root Source
$DSH_HOME/skills user-dsh,provider rank 400,安装默认落在此处
$DSH_AGENTS_HOME/skills user-agents,rank 500
任意 customSkillDirs 来自 live 的 skill-filesystem 行

项目级根(.dsh/skills、.agents/skills)随会话工作目录变化,本页刻意不包含。

能力包括:新建 skill(写入 <root>/<name>/SKILL.md 及 frontmatter)、原文编辑并校验 frontmatter、从 GitHub 拉取(走 codeload 归档与内置 tar,无需本机 git)。支持的 URL 形式:

https://github.com/owner/repo
https://github.com/owner/repo/tree/<branch>
https://github.com/owner/repo/tree/<branch>/<subpath>

另支持 git@github.com:owner/repo.git 写法。已有 skill 仅在开启 overwrite 时替换。文件系统 provider 监视根目录,创建、编辑或删除后可在下一步模型调用前生效,无需重启。

全局人设

每个人设是 $DSH_HOME/control-center/personas/ 下的 Markdown,元数据在 personas.json;全局仅 一个 active,页面可清空当前选中。

激活文档注册为一条 system-prompt section(order 5,interpolate: false),与 harness 身份、deployment persona、工具说明等 叠加,不替换 order 0 的 deployment persona 前缀;切换 active 时会 dispose 并重新注册,下次组装使用新文本。

HTTP API(供集成或排查)

单一 POST 路由 /control-center/api,通过 method 字段分发,例如 system.info、mcp.*、skill.*、persona.*。响应形如 { ok: true, value } 或 { ok: false, error: { code, message } }。带 Origin 的浏览器调用须指向 loopback;无 Origin 的 IPC / shell 调用视为已在用户权限下运行。

安装与启用

任选一种渠道;官方 CLI 会写入 profile manifest。

官方 CLI:

dsh plugin --profile <name> add dsh-control-center

Windows 一键脚本(复制包、备份 patch、写入 mount 块,可 -DryRun 预览,-Profile / -DshHome 指定目标):

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\install.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\uninstall.ps1   # one-key restore

手动(自行管理 profile 的 node_modules 时):将插件目录复制到 <profile>/node_modules/dsh-control-center,并在 profile 的 cordis.patch.yml 追加:

- insert:
    - id: control-center
      name: 'dsh-control-center'

保存后 dsh-hmr 会监视该文件;浏览器半部在客户端启动图中,首次出现需刷新页面。脚本安装后会保留 cordis.patch.yml.bak-dsh-control-center 作为回滚点。

典型用法

  1. 安装并刷新 Settings,打开 MCP 管理,增删或切换 MCP 行,确认列表中的 connected 状态是否符合预期。
  2. 在 Skill 管理 中于 $DSH_HOME/skills 新建或编辑 SKILL.md,或粘贴 GitHub 仓库 URL 拉取多份 SKILL.md(需要覆盖时打开 overwrite)。
  3. 在 全局人设 中维护 persona 文档并激活其一,下一会话组装 system prompt 时会带上 control-center:persona 段。

本地自检(不依赖运行中的 harness):

node scripts/selfcheck.mjs     # host half
node scripts/clientsmoke.mjs   # browser half

skill.pull 的网络路径需在实际 harness 中对真实仓库验证;中文说明与排错见仓库 README.zh.md。

适用场景与注意

适合需要在 同一 Settings 界面 维护 MCP Loader 行、全局 Skill 根目录与跨会话人设、又不想手改 patch 标记块的 DSH 用户。

插件宿主逻辑以 当前 dsh 进程权限 读写 $DSH_HOME、profile patch 与 Skill 根目录;从 GitHub 拉 skill 会发起网络请求。安装前请自行查看 源码与 MIT 许可证,确认与现有 profile、engines.dsh 版本范围一致。

社区目录页 skillhub.cn/plugins/MYanhui/DSH-plug-in 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本文不将其描述为官方应用商店条目。

结尾

dsh-control-center 把 MCP、Skill 与全局人设从分散文件收拢到三块 Settings 页,并靠 managed block 与文件系统 provider 与 dsh-hmr、下一轮 prompt 组装衔接。进一步了解可访问 GitHub:MYanhui/DSH-plug-in 与 SkillHub 目录页。

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

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

小夜