跳到正文

Lanxing6480/dsh-skill-manager

30最近提交 2026年8月14日

dsh-skill-manager DSH 插件

该插件在 DSH Web GUI 侧边栏添加「Skills」入口,打开管理面板,列出当前会话可见的所有技能,按全局/局部分组。每个技能带一个开关,即时禁用/启用,影响模型目录、skill 工具和用户手势,状态跨会话持久化。

如何安装 dsh-skill-manager DSH 插件

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

复制不会执行命令。安装 dsh-skill-manager DSH 插件前请核对仓库和版本。

dsh-skill-manager DSH 插件数据来源

dsh-skill-manager DSH 插件快照日期:2026年8月16日

discovered

dsh-skill-manager DSH 插件能做什么

  • 侧边栏「Skills」入口,折叠时仅显示图标
  • 技能列表显示名称、描述(截断)、来源,按全局/局部分组,支持按名称/描述搜索
  • 每个技能的行内开关,禁用/启用即时持久化
  • 添加技能:表单模式(名称/描述/合适时机/正文)或源码模式,可导入本地 .md 文件
  • 编辑可写技能(user-dsh/user-agents 等):表单或源码视图,保留其他 frontmatter 字段
  • 删除可写技能:带二次确认
  • custom/bundled/runtime 来源的技能标为只读,隐藏编辑/删除按钮
  • 任意变更后热刷新技能注册表,下一轮对话自动更新目录
  • 状态持久化至 `~/.dsh/dsh-skill-manager.json`,跨会话、跨重启生效

dsh-skill-manager DSH 插件适合哪些场景

  • 临时禁用某个技能而不修改其 SKILL.md 文件,用于测试或解决冲突
  • 快速查看当前会话所有可用技能及其来源
  • 直接在 UI 中通过表单或粘贴源码添加新技能
  • 编辑已有技能的描述或合适时机字段,无需操作文件系统
  • 清理可写技能目录中重复或无用的技能

dsh-skill-manager DSH 插件适合谁

  • 希望以图形界面管理技能的 DSH 用户
  • 经常在实验过程中切换技能并需要即时持久化的开发者

dsh-skill-manager DSH 插件的限制

  • 被禁技能在无活跃 agent 的冷会话 `/` 弹窗中可能仍短暂可见
  • 开关切换仅影响下一轮对话,当前轮次不会中途变化
  • 增删改操作仅作用于可写根(用户主目录和当前项目根);custom/bundled/runtime 技能只读
  • 状态文件 `~/.dsh/dsh-skill-manager.json` 损坏时会自动重置为空状态,所有已禁用技能恢复启用
  • 编辑技能时不保留 frontmatter 中的注释和字段顺序(YAML 重序列化)

dsh-skill-manager DSH 插件的仓库 README 摘录

以下文字摘自 dsh-skill-manager DSH 插件的上游仓库 Lanxing6480/dsh-skill-manager 的 README,版权归原作者,仅作引用。

> 让 DSH Web GUI 拥有「Skills」面板:查看已安装的技能列表,并用开关自定义每个技能的启用状态。 ## 简介 在 DSH Web GUI 侧边栏提供「Skills」入口,点击打开技能管理面板:列出**当前会话可见**的全部 Skill(名称、描述、来源),按「全局 / 局部」分组,每个 Skill 带一个开关。关闭开关后,该 Skill 对**模型目录**(`<available_skills>`)、**`skill` 工具**与**用户 `/名称` 手势**全部不可用;重新打开即恢复。开关状态持久化于 `~/.dsh/dsh-skill-manager.json`,跨会话、跨重启生效。面板还支持技能的增删改(新增/导入、编辑、删除带二次确认)。 ## 能力清单 | 能力 | 说明 | |---|---| | 侧边栏入口 | 「Skills」按钮,与 dsh-ssh / dsh-task-board 入口共存,折叠侧边栏时只显图标 | | 技能列表 | 会话视角:名称、描述(截断)、来源、调用策略状态;分组为「全局 Skill / 局部 Skill」;支持按名称/描述搜索 | | 自定义开关 | 每行一个 toggle;禁用/启用即时持久化 | | 添加技能 | 每组标题栏「+」按钮:表单模式(name/description/whenToUse/正文)或源码模式(完整 SKILL.md 文本),可导入本地 .md 文件 | | 编辑技能 | 可写技能(user-dsh / user-agents / project-dsh / project-agents)行内「笔」按钮:表单或源码视图编辑,frontmatter 其它字段(metadata、disable-model-invocation 等)保留 | | 删除技能 | 可写技能行内「垃圾桶」按钮,删除前二次确认 | | 只读标记 | custom / bundled / runtime 来源的技能标「只读」,隐藏编辑/删除 | | 目录热刷新 | 任意变更(开关/增删改)后调用 skill 注册表失效通知,下一轮对话目录自动更新,无需新建会话 | | 状态持久化 | `~/.dsh/dsh-skill-manager.json`(`{ version, disabled: { name: {description, whenToUse, source, provider, disabledAt} } }`) | ## 形态与架构 - 形态:`树外 npm 包`(本地 link 安装,`@dsh-external/dsh-skill-manager`) - 平台:`Host` + `Client` 两端 - 关键依赖: - Host:`ctx.skills`(Skill

阅读完整 README仓库许可: MIT

dsh-skill-manager DSH 插件常见问题

如何安装 dsh-skill-manager?

在终端中运行 `dsh plugin --profile web add @lanxing/dsh-skill-manager`,然后重启 `dsh web` 让新 bundle 生效。重启后侧边栏会出现「Skills」按钮。

为什么有些技能无法编辑或删除?

来自 custom、bundled 或 runtime 来源的技能是只读的,无法通过面板编辑或删除。只有位于可写根(用户主目录 `~/.dsh/skills`、`~/.agents/skills` 或项目根 `.dsh/skills`、`.agents/skills`)的技能才能被修改。

关闭技能开关会修改 SKILL.md 文件吗?

不会。开关不修改任何 SKILL.md 文件,而是通过一个遮蔽 Provider 返回一个极低排名的占位候选,从而阻止技能被模型调用、skill 工具和用户手势使用。原始文件保持不变。

禁用技能需要多久生效?

更改在下一轮对话生效,当前对话继续使用之前的状态。切换后技能注册表缓存失效,目录会在下一轮 `agent/pre-step` 自动刷新。

状态文件 `~/.dsh/dsh-skill-manager.json` 损坏了怎么办?

如果文件损坏,插件会自动以空状态启动,所有被禁用的技能都会恢复启用。你需要手动再次禁用它们。该文件是一个简单的 JSON,包含版本号和禁用列表。