前言¶
用 DeepSeek Harness(dsh)做日常开发时,技能目录、MCP 服务器配置和 AGENTS.md 一类指令文件往往分散在多个路径里:有的在项目 .dsh/skills,有的在用户目录,MCP 还要自己改 JSON,规则文件则要从项目根一路追到当前工作目录。改一处、启停一处,很难在一个界面里看清「当前会话到底生效什么」。
下面介绍的插件 sunlitcrack/dsh-skills-mcp-manager 在 Web GUI 的「设置」里增加一级入口「技能与 MCP」,把技能、MCP 与 DSH 每轮会读的指令文件三类资源放在同一面板管理;MCP 启用后会通过 @deepseek-ai/dsh-mcp-client 真实连上并注册工具,而不是只改配置文件。
这是什么¶
- 名称:dsh-skills-mcp-manager(npm 包名
@sunlitcrack/dsh-skills-mcp-manager) - 维护者:SunlitCrack
- 分类:admin-security(管理类 / 安全相关配置)
- 定位:DeepSeek Harness 的独立 Web 插件,挂载在 profile 的 bundle patch 上,无需改 dsh 源码
- 来源:自 zebbkira/dsh-skills-mcp-manager v0.2.0 分叉后由本仓库独立维护
面板顶部会始终显示当前生效的项目目录及其来源(当前会话 / 已选会话 / 首个工作区 / 手动指定)。识别不准时可点「选择目录…」在本机固定项目目录,或「恢复自动」继续跟随会话。
核心功能¶
Skills 技能¶
- 区分项目级与用户级,按来源分组:
.dsh/skills、.agents/skills、~/.dsh/skills、~/.agents/skills。 - 启用 / 禁用:改写
SKILL.md前言中的disable-model-invocation与user-invocable,可逆。 - 删除:两步确认后物理删除技能目录(bundle)或平铺的
.md文件。 - 详情:查看
description、whenToUse与完整正文。 - 导入:指定目录 → 扫描 → 勾选导入到
~/.dsh/skills;支持系统目录选择器或手写路径。 - 搜索 / 过滤:名称模糊搜索,按「已启用 / 未启用」过滤。
说明:只扫描上述四个可管理根目录,不展示内置或运行时技能;导入目的地固定为 ~/.dsh/skills,按目录名 / 文件名去重。
MCP 服务¶
- 用表单或 JSON 新建服务器(stdio 的
command/args/env/cwd,或 streamable-http 的url/headers)。 - 测试连接:一键真实连接探测。
- 启用 / 禁用:实际连接或断开,状态显示为连接中 / 运行中 / 失败 / 已停止。
- 名称搜索、编辑、删除(删除需两步确认)。
- 配置写入
$DSH_HOME/mcp.json;未设置DSH_HOME时使用~/.dsh/mcp.json。
启用的服务器通过宿主挂载 @deepseek-ai/dsh-mcp-client,工具名形如 mcp__<server>__<tool>。服务器 name 需满足 [A-Za-z0-9_-]{1,32} 且全局唯一。env / headers 等凭证以明文保存在上述 JSON 文件中,请自行控制文件权限(资料建议 0600)。
指令文件(AGENTS.md 家族)¶
列出 DSH 每轮读进上下文的规则文件,按用户级 / 项目级分组:
- 用户级:仅
~/.dsh/AGENTS.md(硬编码单名,同级其它文件名不会被 DSH 读取)。 - 项目级:从
.git项目根到当前工作目录每一级的AGENTS.md、CLAUDE.md、AGENTS.local.md、CLAUDE.local.md。向上找不到.git时,项目根与会话目录一致(与内核dsh-agent-instructions行为一致)。
面板支持详情(行内只读全文)、新建、删除;缺失席位显示「未创建」并可一键新建。已存在条目显示字节数与「会被读取」标记。超过 1 MB 的文件会标警告(DSH 会忽略)。正文操作上限 512 KiB;越界路径一律拒绝。
没有启用开关:DSH 按文件名选取规则,改名即语义变更,因此只做文件级操作。没有就地编辑(自 0.3.7 起):每轮都会重新读盘,改写请用外部编辑器。新建后下一个会话才生效。
席位规则与加载顺序的完整说明见仓库 docs/instructions.md。
安装与启用¶
前置条件:Node.js >= 22.19;已全局安装 dsh(npm install -g @deepseek-ai/dsh,且 dsh --version 能打印版本)。
推荐从 GitHub 安装(仓库含构建产物 lib/):
dsh plugin --profile web add github:SunlitCrack/dsh-skills-mcp-manager
dsh web
锁定版本时在命令末尾加 tag,例如:
dsh plugin --profile web add github:SunlitCrack/dsh-skills-mcp-manager#v0.3.3
npm 包尚未发布;发布后可用 dsh plugin --profile web add @sunlitcrack/dsh-skills-mcp-manager@<版本> 安装。
本地改源码调试时使用 link: 安装,需自行 pnpm install 与 pnpm build,并注意 README 中关于 link: 与 @deepseek-ai/dsh-mcp-client 宿主依赖的说明;从 GitHub 直接安装不受该坑影响。
典型用法¶
安装并重启 dsh web 后:
- 打开 DeepSeek Harness Web GUI。
- 进入「设置」。
- 在左侧选择与「插件」并列的一级入口 「技能与 MCP」。
在三个 Tab 中分别管理技能、MCP 与指令文件。例如:在 MCP 区新建 stdio 服务器 → 点「测试连接」确认 → 启用后在 Agent 侧应能看到 mcp__<server>__<tool> 工具;在指令文件区对「未创建」席位一键新建,再用编辑器写入内容,新开会话后生效。
适用场景与注意¶
适合:希望在 Web 里集中查看启停技能、维护 MCP 真连接、对照 DSH 实际会读的 AGENTS 家族文件,而不手改多处目录和 JSON 的 DSH 用户。
务必注意:
- 插件在当前 dsh 进程权限下读写本机文件与启动 MCP 子进程;安装前请阅读 GitHub 仓库 源码与许可证,确认符合你的安全策略。
- MCP 凭证明文存于
~/.dsh/mcp.json(或$DSH_HOME/mcp.json)。 - 社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态以「一切皆插件」扩展,本插件是其中一例。
结尾¶
dsh-skills-mcp-manager 把技能、MCP 与指令文件收拢到设置页的一个入口,并强调 MCP 的真实连接与项目目录来源展示,适合作为 DSH Web 环境下的日常管理面板。