前言¶
DSH Web GUI 中,当前会话可见的 Skill 会影响模型目录、skill 工具与用户 /名称 手势。下面介绍 dsh-skill-manager:一个 DSH 插件,在 Web GUI 侧边栏提供「Skills」入口,集中查看当前会话可见的技能列表,并用开关控制每个技能的启用状态。
这是什么¶
dsh-skill-manager 由 Lanxing6480 维护,MIT 许可,npm 包名为 @lanxing/dsh-skill-manager。它解决的是 DSH Web GUI 中技能启停和可写技能维护不集中的问题:面板列出当前会话可见的 Skill,提供开关、搜索、增删改入口,并把开关状态持久化到本地文件。
核心功能¶
- 在 DSH Web GUI 侧边栏提供「Skills」入口。
- 列出当前会话可见的全部 Skill,包括名称、描述、来源和调用策略状态。
- 按「全局 Skill / 局部 Skill」分组。
- 支持按名称或描述搜索。
- 每个 Skill 带开关;禁用后,该 Skill 对模型目录、
skill工具与用户/名称手势不可用。 - 开关状态持久化于
~/.dsh/dsh-skill-manager.json,跨会话、跨重启生效。 - 支持技能新增、导入、编辑和删除,删除带二次确认。
custom、bundled、runtime来源的技能标为只读,隐藏编辑和删除入口。- 任意变更后触发 skill 注册表失效通知,下一轮对话目录自动更新。
安装与启用¶
安装前确认 Node 版本满足 ^22.19.0 || >=24.0.0。从 npm 安装:
dsh plugin --profile web add @lanxing/dsh-skill-manager
如果是本地目录开发安装,可以先确认插件所在目录,再执行:
dsh plugin --profile web add link:<本目录绝对路径>
经过上面的步骤后,重启 dsh web。新 bundle 需要进程重启才进入 host 组合。
典型用法¶
重启后,在 Web GUI 侧边栏点击「Skills」打开面板。
1、查看和切换技能
面板会按「全局 Skill / 局部 Skill」分组展示当前会话可见的 Skill。可以直接使用每行开关禁用或启用技能。
2、添加技能
使用「+」按钮添加技能。添加时支持表单模式、源码模式或导入本地 .md 文件。
3、编辑和删除可写技能
可写技能可以使用行内「笔」按钮编辑;删除时使用行内「垃圾桶」按钮,删除前会有二次确认。custom、bundled、runtime 来源的技能只读,不显示编辑和删除入口。
4、卸载
卸载插件执行:
dsh plugin --profile web remove @lanxing/dsh-skill-manager
然后重启 dsh web。
注意事项¶
- 面板开关通过遮蔽 Provider 生效,不直接修改
SKILL.md文件。 - 开关切换影响下一轮对话的目录;正在进行的轮次不会中途变化。
- 对无活跃 agent 的冷会话,被禁技能在
/弹窗里可能仍短暂可见。 - 增删改仅作用于可写根;
custom、bundled、runtime来源的技能只读。 - 开关状态保存在
~/.dsh/dsh-skill-manager.json;文件损坏时自动按空状态启动。 - HTTP 路由仅接受回环地址 + 同源请求。
- 插件会以当前 dsh 进程权限运行,安装前建议检查 GitHub 源码和 MIT 许可证。
结尾¶
dsh-skill-manager 把当前会话可见的 Skill 启停、搜索和可写技能维护集中到 DSH Web GUI 中,适合需要在 Web 端管理 DSH 技能状态的开发者和插件使用者。
GitHub 仓库: