前言¶
DeepSeek Harness(DSH)通过扫描各作用域下的 SKILL.md 把技能挂进网页与 / 菜单。技能一多、目录又散,常见做法是手改 frontmatter、搬目录,或靠删文件夹来「临时关掉」某个技能——改错格式还会导致 DSH 整份忽略该文件。社区插件 dsh-skill-manager(维护者 xinshang777,仓库 xinshang777/dsh-skill-manager)在 web 客户端 的设置里增加「技能管理」页:用本地路径登记、开关、改名与删除登记,不必再为元信息反复编辑配置文件。下文介绍它做什么、如何安装与日常使用,以及适用边界。
这是什么¶
一句话定位:把「手改 SKILL.md 和配置文件来管技能」变成设置页里点几下完成的操作。
| 项 | 说明 |
|---|---|
| 名称 | dsh-skill-manager |
| 当前版本 | 0.1.0(见仓库 README 徽章) |
| 许可证 | MIT |
| 宿主 | 已安装 @deepseek-ai/dsh,能跑起 dsh web;Node.js ≥ 18 |
| 分类 | 客户端(注入 DSH Web 设置 UI) |
插件不复制、不移动、不删除你的技能文件;不改写技能正文,只处理登记与元信息(名字、简介、启用状态)。对 symlink 类型技能会拒绝改写目标文件。
改造前后对比¶
| 场景 | 改造前 | 使用本插件后 |
|---|---|---|
| 看全技能 | 逐个目录翻 | 设置页一处列出,并标作用域层 |
| 临时不用某技能 | 删文件夹或改名 | 一键关闭,文件原封不动 |
| 登记已有技能 | 手动搬进某目录 | 填本地路径即可 |
| 改名字 / 简介 | 手改 frontmatter | 界面修改并安全写回 SKILL.md |
| 关闭后是否真不可调 | 可能仍被模型调用 | 逐层注册影子技能,关闭后不可调用 |
/ 菜单刷新 |
手动刷新页面 | 改完自动广播,菜单即时更新 |
| Windows 选路径 | 手打路径易错 | 「选择文件…」系统对话框(仅 Windows) |
核心功能¶
- 列表:在设置 →「技能管理」展示当前纳管技能(技能名、简介、层级、开关)。DSH 内置技能默认隐藏,避免刷屏。
- 登记:添加技能时填写技能目录或
SKILL.md路径;解析 frontmatter 后写入~/.dsh/skill-manager/skills.json,不搬动源文件。 - 开关:启用则出现在
/菜单且模型可调用;关闭则从菜单消失且通过影子注册阻止调用,磁盘文件不变。 - 编辑元信息:改显示名与简介时写回
SKILL.mdfrontmatter(symlink 技能除外)。 - 删除登记:仅删 JSON 里的记录,技能文件仍在原处;需要时可再次登记。
Bundle 层没有 cordis.patch.yml 里的可配置项;状态全部由 skills.json 承载。单条记录主要字段包括:slug(必填,kebab-case)、enabled、managed、displayName、description、target(默认 "host")、createdAt 等。
安装与启用¶
前置条件¶
- Node.js ≥ 18
- pnpm(
dsh plugin会把剩余参数原样转发给 pnpm;缺则先npm i -g pnpm) - 能正常运行
dsh web的 DSH - 操作系统:Windows / macOS / Linux(「选择文件…」仅 Windows)
推荐:GitHub 直装¶
在终端执行(命令来自仓库 README):
dsh plugin --profile web add github:xinshang777/dsh-skill-manager
安装成功后,profile 的 dsh.profile.bundles 会自动登记,无需手改配置。
本插件在 package.json 中声明客户端 "immediately": true,属于启动即加载:新装或卸载后必须完整重启 dsh web,仅刷新浏览器不够。若设置里仍看不到「技能管理」,可硬刷新(Ctrl + F5),并检查 ~/.dsh/profiles/web/package.json 的 bundles 是否含 dsh-skill-manager。
其他安装方式(摘要)¶
- 本地开发:在克隆后的仓库目录执行
dsh plugin --profile web add link:.,改lib/index.js或assets/client.js后重启dsh web。 - Download ZIP:解压后在该目录
dsh plugin --profile web add link:.,不会自动更新。
三十秒验证¶
打开 dsh web → 设置 → 左侧出现 「技能管理」 即表示安装成功。
典型用法¶
- 进入 设置 → 技能管理。
- 点 「添加技能」:
- Windows:点「选择文件…」选中该技能的SKILL.md;
- 其他平台:在输入框粘贴目录或SKILL.md的完整路径。 - 确认解析结果后保存;若 frontmatter 缺
name/description,插件会提示——缺任一项时 DSH 原生扫描会忽略该技能,可在添加流程中补填并写回文件。 - 用开关控制启用;用「编辑」改显示名与简介;「删除」只去掉登记记录。
- 登记、开关、改名、删登记不需要重启;
/菜单会随改动自动刷新。
手动修记录可直接编辑 ~/.dsh/skill-manager/skills.json,注意 slug 必须为 kebab-case。
适用场景与注意¶
适合:自写技能散落在多个目录,希望一页看全;需要临时关闭技能但不想动文件夹;经常因 frontmatter 格式导致 DSH 不识别;只想登记路径、不想搬运仓库。
不适合:只装一两个技能且从不调整(DSH 原生扫描即可);要在界面里改技能正文逻辑(请用编辑器打开 SKILL.md)。
运行与信任:插件以当前 dsh web 进程权限运行,会读写你指定的 SKILL.md(解析与写回 frontmatter)。安装前建议在 GitHub 查看源码与 MIT 许可证,确认符合你的使用习惯。
卸载:dsh plugin --profile web remove dsh-skill-manager;可选删除 ~/.dsh/skill-manager/。卸载后影子注册会释放,此前被「关闭」的技能会恢复为可调用,需自行评估。
隐私(仓库说明):登记数据只写本机 skills.json,插件自身不发起外部请求;接口挂在 /dsh-skill-manager 前缀下,并做 loopback 与 Origin 校验。
已知限制:不管正文;关闭对运行期动态注册的同名技能需重启后生效;不与第二个「管技能注册表」的插件叠用(影子注册 rank: 250 可能冲突);skills.json 无多机同步。
结尾¶
dsh-skill-manager 把技能元信息与启用状态收口到 DSH Web 设置页,路径登记、开关与 frontmatter 维护不必再靠手改目录和文件。社区目录页:skillhub.cn/plugins/xinshang777/dsh-skill-manager;源码与完整排障表:github.com/xinshang777/dsh-skill-manager。DSH 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系。