dsh-skill-manager:为 DSH Web GUI 增加 Skills 面板

前言

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,跨会话、跨重启生效。
  • 支持技能新增、导入、编辑和删除,删除带二次确认。
  • custombundledruntime 来源的技能标为只读,隐藏编辑和删除入口。
  • 任意变更后触发 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、编辑和删除可写技能

可写技能可以使用行内「笔」按钮编辑;删除时使用行内「垃圾桶」按钮,删除前会有二次确认。custombundledruntime 来源的技能只读,不显示编辑和删除入口。

4、卸载

卸载插件执行:

dsh plugin --profile web remove @lanxing/dsh-skill-manager

然后重启 dsh web

注意事项

  • 面板开关通过遮蔽 Provider 生效,不直接修改 SKILL.md 文件。
  • 开关切换影响下一轮对话的目录;正在进行的轮次不会中途变化。
  • 对无活跃 agent 的冷会话,被禁技能在 / 弹窗里可能仍短暂可见。
  • 增删改仅作用于可写根;custombundledruntime 来源的技能只读。
  • 开关状态保存在 ~/.dsh/dsh-skill-manager.json;文件损坏时自动按空状态启动。
  • HTTP 路由仅接受回环地址 + 同源请求。
  • 插件会以当前 dsh 进程权限运行,安装前建议检查 GitHub 源码和 MIT 许可证。

结尾

dsh-skill-manager 把当前会话可见的 Skill 启停、搜索和可写技能维护集中到 DSH Web GUI 中,适合需要在 Web 端管理 DSH 技能状态的开发者和插件使用者。

GitHub 仓库:

https://github.com/Lanxing6480/dsh-skill-manager

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜