← 返回列表
未验证
从 DSH Web UI 管理 skills 和 MCP servers —— 一个双半插件,
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/22 · 已提供中文文档
dsh 插件:从“设置 > 技能与 MCP”管理 dsh 技能和 MCP 服务器,无需重启 GUI 即可热重载
综合分
29.8
GitHub 分
29.8
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add n0pe-sled/skill-mcp-manager该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
- 是什么
- dsh 原生插件 · market
- 装得上吗
- 本站尚未做安装检查
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 3 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-mcp-client@deepseek-ai/dsh-settings@deepseek-ai/dsh-typert-protocol@deepseek-ai/dsh-typert-registry@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-skill-mcp-manager
从 DSH Web UI 管理 skills 和 MCP servers —— 一个双半插件,
在 Settings 页面添加一个“Skills & MCP”部分。
- Skills 标签页:列出用户的 skills,创建新的 SKILL.md 包 —— 通过
输入指令或上传 .md 文件 —— 并切换每个
skill 的模型 / 用户调用可见性。默认情况下,该插件扫描
$DSH_HOME/skills,然后是 ~/.agents/skills,与文件系统
provider 的用户根目录优先级一致。新的 skills 会写入 $DSH_HOME/skills,而
@deepseek-ai/dsh-skill-filesystem 已经在监视该目录 —— 创建或切换的
skill 会自动出现在下一次目录观察中。移除在 v1 中
仅支持禁用(frontmatter 开关),不会删除文件。
- MCP Servers 标签页:列出已配置的服务器及其实时连接状态,添加
(stdio 或 streamable-http),以及移除。服务器会持久化到机器全局的
~/.dsh/cordis.patch.yml,作为 @deepseek-ai/dsh-mcp-client 实例;DSH 自身的
用户补丁 HMR 监视器会热应用该文件,因此添加和移除无需重启 GUI 即可生效 ——
已针对真实 harness 实例完成端到端验证。
安装
dsh plugin --profile web add /path/to/dsh-skill-mcp-manager
或者,文件级安装(不需要 pnpm,因为该 profile 的共享模块回退
提供了所有 @deepseek-ai 运行时依赖):
1. 将 bundle 添加到 $DSH_HOME/profiles/web/package.json:
{
"dependencies": { "dsh-skill-mcp-manager": "link:/path/to/dsh-skill-mcp-manager" },
"dsh": { "profile": { "bundles": [ /* ...existing..., "dsh-skill-mcp-manager" ] } }
}
2. 将其符号链接到 profile 中,以便加载器解析它:
ln -s /path/to/dsh-skill-mcp-manager "$HOME/.dsh/profiles/web/node_modules/dsh-skill-mcp-manager"
3. 重启 GUI(dsh web)。新的“Skills & MCP”部分会出现在
Settings 中。
架构
Browser (Settings page: Skills & MCP)
│ Typert RPC (5 methods over ctx.remote.skillMcpManager)
▼
Host half (dsh-skill-mcp-manager)
├─ Skills → $DSH_HOME/skills//SKILL.md (filesystem provider watches)
└─ MCP → settings ns "skill-mcp-manager.mcpServers" (durable truth)
└─ reconcile → ~/.dsh/cordis.patch.yml ← insert rows
└─ profile-boot's watchUserPatches (HMR)
→ loader mounts/disposes dsh-mcp-client
Skills
- 添加(输入):验证 kebab-case 名称,以
标准 frontmatter 格式写入 //SKILL.md(name、description、可选的 whenToUse)。
- 添加(上传):选择一个 .md 文件,每个可编辑字段都会从
该文件的 frontmatter 预填充 —— name(建议使用 kebab-case;标题/H1 作为回退)、description、
whenToUse,以及 show-to-model/user 开关 —— 因此无需重新输入(你
仍然可以编辑它们)。宿主会逐字保留该文件的正文,并保留
其剩余的 frontmatter 键(如 metadata 等自定义键);表单字段在编辑时优先。不带名称添加时也会从文件推导名称。上传大小上限为 1 MB。
- 切换:仅重写 disable-model-invocation / user-invocable,正文及所有其他 frontmatter 键逐字节保留。
- 列表:扫描配置的根目录(默认 $DSH_HOME/skills 和 ~/.agents/skills)一层深度——bundle 目录和扁平 .md 文件——解析与 dsh-skill-filesystem 相同的格式。重名时使用第一个根目录,与 provider 的优先级一致。
技能审查
上传按钮出现在添加技能表单的最前面。展开已列出的技能会使用 harness 渲染器渲染其完整的 Markdown 正文。源切换显示原始文件,包括所有 frontmatter。
MCP 服务器
- 每个连接显示其已注册的工具。使用 --profile 的 Docker 网关还会显示该 profile 的子服务器,包括没有注册工具的子服务器。发现过程使用只读 Docker CLI,并将目录工具名称与 harness 注册表进行匹配。目录快照可能缺少较新的工具;该连接的完整已注册工具列表仍然可用。
- 已加载的插件标记为 loaded,因为仅凭 loader 激活并不能证明 MCP 连接成功。子工具数量表示检测到的工具,而非实时健康检查。Docker 子服务器通过 Docker 管理。
- 仅对由此面板拥有的连接提供移除操作。可选连接字段归入高级选项下。
- 带 --servers 的 Docker 网关显示所选名称。其他网关类型以及未做任何选择的 Docker 网关显示其已注册的工具;Docker 发现限制和 CLI 失败会以警告形式显示。
- 设置是唯一事实来源。每次更改时,管理器会重写 $DSH_HOME/cordis.patch.yml,保留它不拥有的每一行(包括 !!js 表达式,它们会通过 loader include 所用的同一 js-yaml 方言原样往返)。它从不触碰已同步的文件,因此手动注释会一直保留到实际发生更改时。
- 实时状态来自 ctx.loader 中过滤为 @deepseek-ai/dsh-mcp-client 的条目,因此在管理器之外添加的服务器也会显示(标记为 external),连接失败会显示为 failed/pending。
- @deepseek-ai/dsh-mcp-client 桥接仅作为可解析性探测被导入;当它缺失时,GUI 会显示明确的安装指引。
验证
- node tests/discovery.mjs — Docker profile 选择、子工具匹配和故障隔离。
- node tests/smoke.mjs — 宿主端冒烟测试(stubbed 上下文、临时目录;绝不触碰 $DSH_HOME)。
- 第二实例集成(临时 DSH_HOME,在空闲端口上运行 dsh --profile ):管理器的补丁格式由真实 loader 应用,一个 fixture
stdio MCP 服务器握手,以及通过 home-patch 重写实现的实时添加 + 实时移除已被观察到(零重启)。浏览器启动清单包含该包,且其 /plugins/dsh-skill-mcp-manager/client.js 返回 200。
配置(插件级)
| 字段 | 默认值 | 含义 |
|---|---|---|
| skillRoots | [] → $DSH_HOME/skills、~/.agents/skills | 用于列出/管理的绝对路径或 ~ 根路径;第一个根路径在重名时优先,并接收新技能 |
| mcpPatchTarget | '' → $DSH_HOME/cordis.patch.yml | 补丁文件行被投影到其中 |
已知限制
- v1 中为仅禁用式技能移除(按范围决策);删除文件是后续工作。~/.agents/.skill-lock.json(第三方安装器的清单)从不被触碰,且可能不反映此处所做的更改。
- 补丁文件在发生真实更改时会被重新序列化,这会丢弃其注释(“managed by”头部会被重新生成)。仅在内容漂移时才重写。
- 你同时在另一个补丁层中手动维护的 serverName 会在 UI 中被标记为冲突;管理器从不删除它不拥有的行。
- 首次启动会将预先存在的设置写入补丁文件;在尚无 HMR 监视器处于活动状态的界面上,它会在下一次运行时被拾取——GUI 流程(从 UI 保存)发生在启动之后,此时监视器已处于活动状态。