前言¶
DSH 的 skill 机制让开发者可以自定义行为,但现有的 skill 文件系统只能读取,无法集中编辑和管理。本地 skill 存放在 ~/.dsh/skills 和 <项目>/.dsh/skills,分散在多个目录,需要逐个打开编辑。
dsh-skill-manager 插件在 DSH 的「设置」里提供了一个统一的技能管理界面,支持浏览、编辑、新建、删除和启停全局及项目 skill。
插件定位¶
dsh-skill-manager 是一个本地目录型插件,由 Wyxcn445 维护。它通过在 DSH 设置中集成一个「Skill 管理」面板,解决 skill 文件分散、难以批量管理的问题。
核心功能¶
双来源合并¶
插件同时展示全局根(~/.dsh/skills)与当前项目的 skill,按 DSH 的优先级规则合并同名条目。
无损编辑¶
直接编辑 SKILL.md 全文(frontmatter + 正文),保存时原样写回,不做 YAML 重排。
两个开关¶
模型可调用(disable-model-invocation)、用户可调用(user-invocable),点击即时写盘。
新建骨架¶
在任意扫描根下生成 <name>/SKILL.md,自动带好合法 frontmatter。
删除有备份¶
删除前把整个目录/文件复制到 ~/.dsh/skill-manager-backups/<时间戳>/。
诊断提示¶
name 不是 kebab-case、缺 description、调用开关取值非法等会被标出来。
自定义根¶
额外扫描任意目录,配置存于 ~/.dsh/skill-manager-config.json。
扫描根与优先级¶
与 @deepseek-ai/dsh-skill-filesystem 保持一致,rank 小者优先:
| rank | 来源 | 路径 |
|---|---|---|
| 100 | project-dsh |
<项目>/.dsh/skills |
| 200 | project-agents |
<项目>/.agents/skills |
| 300 | custom |
面板里配置的自定义目录 |
| 400 | user-dsh |
~/.dsh/skills |
| 500 | user-agents |
~/.agents/skills |
「项目根」取最近的含 .git 的祖先目录;没有 .git 时用你填写的目录本身。
skill 格式¶
目录型 <name>/SKILL.md 或单文件 <name>.md,只认扫描根下的一层。frontmatter 示例:
---
name: my-skill
description: Use when the user asks to …
whenToUse: 可选,补充触发场景
disable-model-invocation: true # 可选,阻止模型看到它
user-invocable: false # 可选,阻止 /my-skill 手动调用
---
name 必须是小写 kebab-case,description 必填,否则 DSH 会跳过该 skill。
安装与启用¶
在 DSH 里用 plugin_manager 安装(target 填本目录绝对路径):
action: install_bundle
target: C:\Users\32474\Desktop\开源项目\dsh-skill-manager
安装后打开 设置 → Skill 管理(在「规则管理」下面)。
本地目录安装是 link 到本目录,不是拷贝。移动或删除本目录会让插件失效,需要重新安装。
典型用法¶
- 顶部「项目」框填入要扫描的项目路径(默认取第一个工作区),留空则只扫描全局 skill。
- 左侧列表点选 skill,右侧即可编辑
SKILL.md全文,Ctrl+S保存。 - 卡片上的「模型 / 用户」两个胶囊开关可即时启停,无需手动改 frontmatter。
- 「+ 新建 skill」会在选定的根下生成
<name>/SKILL.md骨架。 - 「删除」会先整份备份到
~/.dsh/skill-manager-backups/<时间戳>/。
适用场景与注意¶
适合需要批量管理多个 skill 的开发者,特别是使用项目级 skill 的团队。插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
生态背景¶
DSH 理念是「一切皆插件」;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
短结尾¶
dsh-skill-manager 提供了集中管理 DSH Skills 的本地界面,支持浏览、编辑、新建、删除和启停,适合需要精细控制 skill 的开发者。