前言¶
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 作为回滚点。
典型用法¶
- 安装并刷新 Settings,打开 MCP 管理,增删或切换 MCP 行,确认列表中的 connected 状态是否符合预期。
- 在 Skill 管理 中于
$DSH_HOME/skills新建或编辑SKILL.md,或粘贴 GitHub 仓库 URL 拉取多份SKILL.md(需要覆盖时打开 overwrite)。 - 在 全局人设 中维护 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 目录页。