Lanxing6480/dsh-skill-manager ↗★ 2
@lanxing/dsh-skill-manager
Skill manager for the dsh web GUI: a sidebar entry plus a panel listing the skills visible to the current session (split into global / local groups) with per-skill on/off switches, create / import / edit / delete. Disabling a skill removes it from the model catalog, the `skill` tool, and /name gestures through a shadow provider on the host skill registry; state persists in ~/.dsh/dsh-skill-manager.json. Hot-pluggable — mounted via a profile bundle link, no dsh source changes.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Lanxing6480/dsh-skill-manager说明文档
阅读完整 README ↗dsh-skill-manager · 插件文档
让 DSH Web GUI 拥有「Skills」面板:查看已安装的技能列表,并用开关自定义每个技能的启用状态。
简介
在 DSH Web GUI 侧边栏提供「Skills」入口,点击打开技能管理面板:列出当前会话可见的全部 Skill(名称、描述、来源),按「全局 / 局部」分组,每个 Skill 带一个开关。关闭开关后,该 Skill 对模型目录(``)、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(SkillRegistry,inject: ['skills', 'webServer'])、ctx.get('sessions' | 'agents' | 'agentPresets')、agent/created事件 - Client:
react/react-dom/client(平台模块表)、原生fetch、ctx.sessions(当前会话 id) - 通信:
/api/dsh-skill-manager/state与/api/dsh-skill-manager/toggle(均为 POST + JSON body ,回环 + 同源防护)
- Host: