前言¶
DSH 的理念是「一切皆插件」,Skill 也是一样。麻烦从数量上来:项目根目录、用户根目录、.agents 目录里都可能放 SKILL.md,十几个的时候用 /name 直接呼出就够了,二三十个之后问题就换了样子。
首先是不知道自己有什么。同名 Skill 在不同根目录里叠着,哪个生效、哪个被遮蔽,从界面上看不出来。其次是不知道该用哪个,每个 SKILL.md 里都写着规则,但没人记得「做迭代规划用哪个」「设计 API 用哪个」。再就是名字对不上用途,analysis-funnel 和 analysis-retention 差在哪,只能两个都打开读一遍。最后是不敢清理,关掉某个 Skill 意味着真的去改文件。
下面介绍的 dsh-skill-manager 就是处理这一类问题的。它是 ZBCs-StudioCr-CN 维护的客户端插件,目前 GitHub 2 stars,做法是把「找 Skill、认 Skill、管 Skill」变成侧边栏里的几行卡片和开关,而不是让你继续翻目录。
一句话定位与安装来源¶
插件在社区目录中的条目是「DeepSeek Harness 可视化侧边栏 Skill 智能管理器」,定位是把 Skill 文件管理器升级成 Skill 导航器:按交付阶段给 Skill 归类,并给每个 Skill 生成一行使用建议。
当前版本是 v0.3.0。要安装的话,官方给出的命令是 PowerShell:
dsh plugin --profile desktop add link:D:\path\to\dsh-skill-manager
或者先 npm pack 打包再装:
npm pack
dsh plugin --profile desktop add .\dsh-skill-manager-0.3.0.tgz
装完重启一次 DeepSeek Harness 桌面端,插件是在启动时加载的,然后刷新界面,侧边栏就会出现「技能管理」。
智能分类:按交付阶段归类,不按字面找词¶
这是 v0.3.0 相比之前最主要的变化之一。点一次「AI 智能归类」,模型会读取每个 Skill 的名称、描述和正文摘录,判断它处在哪一步交付流程,然后归档进一套固定阶段表:
需求分析 · 商业论证 · 方案设计 · 原型美工 · 开发实现 ·
测试验收 · 上线部署 · 运营增长 · 成本优化 · 协作管理 · 其他
几点实现细节值得留意:
1、这套阶段表是封闭的,模型只能从里面挑,不会产出 decision、application 这类同义词碎片;
2、技能库大了会分批发送,每次 12 个,避免一次塞太多导致模型返回空结果;
3、模型不可用时回退到一张阶段关键词表,比如 funnel / conversion 归到运营增长、token / compression 归到成本优化,仍然按阶段走,不是普通的词聚类;
4、手动创建的分类不会被覆盖。模型生成的分类带 auto 标记,重跑时只替换这批。
分类的意义在于提供了第二个维度的筛法:你不是按字母或路径找,而是按「现在在做什么阶段」来找。
智能使用建议:每个 Skill 一行说明¶
打开面板时,会在每个 Skill 原有描述下面追加一行由模型生成的建议,用来说明它做什么、什么场景下用。原有描述不会被改写。
/analysis-funnel
Evaluates 19 acquisition channels by scale, conversion and ROI… ← 原有描述,保持不变
AI 建议 拆解渠道漏斗、定位流失环节(适用:复盘转化情况) · 分类:运营增长 [重新生成]
机制上有几个约束:
1、每个 Skill 都会自动生成,同时有一个全局的「显示 AI 建议」开关可以关掉;
2、建议写入独立的侧文件 $DSH_HOME/skill-manager/suggestions.json,不写入 SKILL.md,并且会跟文件内容做哈希对比,内容变了旧建议自动失效;
3、支持整库「一键生成 / 重新生成全部 AI 建议」,也支持单行重新生成;
4、输出语言可以选中文或英文。
分类回答的是「它在流程的哪一步」,建议回答的是「它干什么、什么时候用」。两者合起来才解决前面说的三四个问题。
其余管理能力¶
除了上面两项,插件还覆盖了日常维护动作:
| 能力 | 具体做法 |
|---|---|
| 启用 / 禁用 | 通过 registry 覆盖策略实现,源文件不动,可即时恢复,卸载时还原 |
| 默认加载 | 合并三个作用域:全局、本项目(按项目根目录匹配)、按 preset(例如 standard) |
| 分类管理 | 新建 / 改名 / 删除,可配关键词,多对多归属,卡片可折叠 |
| 导入 | 剪贴板粘贴整个 SKILL.md、目录选择(走宿主原生选择器)、ZIP 解包(宿主端解包,拒绝路径穿越) |
| 编辑 SKILL.md | 面板里创建 / 编辑 / 删除,校验 kebab-case,不覆盖已有内容,保留未托管的 frontmatter 键 |
| 遮蔽报告 | 标出被更高优先级根目录遮蔽的 Skill |
| 侧边栏入口 | 注册 main 面板加一条 sidebar.panellist,不在设置页里埋着 |
配置项¶
配置写在插件的 config 里。README 给出的示例:
- id: dsh-skill-manager
name: dsh-skill-manager
config:
provider: deepseek-account
model: deepseek-flash
customSkillDirs: ['D:/shared-skills']
log: false
各字段的默认值和含义:
| 字段 | 默认值 | 含义 |
|---|---|---|
provider / model |
deepseek-account / deepseek-flash |
生成建议和分类所用的模型 |
includeDefaultRoots |
true |
扫描项目根目录与用户根目录 |
customSkillDirs |
[] |
额外根目录,优先级排在 300 档 |
bundledSkillDir |
$DSH_BUNDLED_SKILL_DIR |
只读根目录,优先级排在 600 档 |
dshHome / agentsHome |
$DSH_HOME / $DSH_AGENTS_HOME |
根目录解析基准 |
log |
true |
追加写入 $DSH_HOME/skill-manager/skill-manager.log |
工作原理¶
插件分成两部分,这是「客户端」分类的由来。
宿主端(lib/)负责控制面:通过 rank 0 的覆盖 provider 实现启用/禁用;用 systemPrompt.section 做默认加载;通过 connection.fetch.register 在官方 /api 通道下注册端点;偏好写在 $DSH_HOME/skill-manager/preferences.json,建议写在 suggestions.json。
浏览器端(client/src/client/)负责界面:注册 main 面板和 sidebar.panellist 条目,打包成 window.__ModuleLoader__.load({ id, factory }) 形式的模块,只依赖 react。
AI 调用走宿主的 ctx.llm,提示词只要求 JSON 输出,失败重试一次,之后回退到阶段关键词表。
怎么验证它确实生效¶
README 里给了两条命令:
npm test
覆盖 29 项检查,包括宿主端、端点、打包产物和 UI 渲染。
node scripts/verify-v4.mjs http://127.0.0.1:58809
用一个隔离实例配合真实模型跑一遍完整链路。
作者在 DSH 0.2.2-rc.1 桌面端上的实测结论是:隔离实例 10/10 通过,建议不碰原始文件,重新生成正常,阶段分类确实来自模型,27 个 Skill 全部完成归类;UI 侧在 jsdom 中挂载真实构建产物验证了自动生成、全局开关写入偏好、搜索过滤和作用域默认加载;禁用某个 Skill 之后 /registry 报告 provider: skill-manager、modelInvocable: false,说明覆盖在真实 registry 中生效。
已知限制¶
1、「按 preset」作用域依赖会话元数据里的 agentPreset,没有的话只有全局和项目两个作用域生效;
2、建议是逐个 Skill 串行生成的,20 个以上首次打开要 1 到 2 分钟,不合适就用全局开关关掉;
3、少数边缘 Skill 会落在「其他」里,可以在编辑对话框手动勾选分类;
4、只管理 dsh-skill-filesystem 会读取的那些 DSH Skill 根目录;
5、删除不可撤销,没有回收站,操作时有确认提示。
适用场景与注意事项¶
适合已经攒了十几个以上 Skill、并且分属多个项目和团队共享目录的人。如果目前只有两三个小 Skill,直接 /name 就够了,装它的收益不大。建议来源主要靠 Skill 库越积越杂、找不准用哪个的人。
使用前建议做三件事:先读一遍 README.md 和 MIT 许可证文本;确认你打算装的版本和当前 DSH 版本兼容(package.json 里写的是 dsh >=0.2.1,README 中的实测环境是 0.2.2-rc.1);插件以当前 DSH 进程的权限运行,能读写你配置的 Skill 根目录,安装前确认这些目录的内容可以接受插件访问。
结语¶
dsh-skill-manager 没有引入新的 Skill 能力,它做的是搜索和导航层:按交付阶段归类,再加一行使用建议。当 Skill 数量从一打涨到几十之后,这层可视化管理比继续在目录里翻要有用得多。
- 目录页:https://www.skillhub.cn/plugins/ZBCs-StudioCr-CN/dsh-skill-manager
- GitHub:https://github.com/ZBCs-StudioCr-CN/dsh-skill-manager
社区目录是独立站点,与 DeepSeek 官方没有从属关系。