前言¶
在 DSH(DeepSeek Harness)里,技能越多,/ 菜单越像一串只有名字的列表:记不清 ppt-master 和 office-pptx 该用哪个,也很难一眼看出每个技能是干什么的。DSH 自带 / 菜单仍然可用,但缺少「名字 + 一句话说明 + 来源」的对照表,以及一次选中多个技能再写进输入框的捷径。
下面介绍社区插件 dsh-skill-panel(维护者 HUIlv0,分类:客户端)。它在左侧导航「插件」下面多一行「技能」,点开是悬浮气泡,按功能分类列出本机已安装技能,可搜索、可多选,一键把 /技能名 写入对话输入框。
这是什么¶
dsh-skill-panel 是 DSH 的客户端 UI 插件:不占主内容区,用 shell.overlay 浮层展示技能列表;列表数据由宿主侧扫描 ~/.dsh/skills 与各插件包内的 skills/ 目录生成。DSH 内置技能仍在 / 菜单里可用,但有意不在该面板里展示,避免内置项淹没你自己装的技能。
仓库:https://github.com/HUIlv0/dsh-skill-panel
社区目录页:https://www.skillhub.cn/plugins/HUIlv0/dsh-skill-panel
许可证:MIT(以仓库 README 为准)。
核心功能¶
列表与分类¶
- 一行一简介:技能名、一句话说明(优先取
SKILL.mdfrontmatter 的description,否则首段正文)、来源包名,三列对齐。 - 自动按功能分类:设计与前端、动效 GSAP、办公文档、演示文稿、图像与视觉、联网检索、规范与工具、其他;组标题带数量,可折叠(「其他」默认收起)。分类靠技能名与简介里的中英关键词推断,新装技能会自动归组。
- 只列本机已装:每次打开气泡重新扫盘,装完技能再打开即可看到,无需重启 DSH。
搜索、多选与写入¶
- 搜索:按技能名、简介、来源过滤。
- 多选 + 一键写入:点行选中(可多选),底栏「写入输入框」将
/a /b /c写入对话输入框,与 DSH/菜单走同一条路;写不进去时退化为复制到剪贴板。 - 关闭方式:Esc、点空白处、右上角 ×。
窗口与字号¶
右上角 ⚙ 可调窗口宽度(360–1000px)与字号(85%–160%);可拖气泡右下角改大小,双击右下角恢复默认宽度。「恢复默认」为 600px 宽、100% 字号。偏好保存在浏览器 localStorage。
安装与启用¶
插件以当前 DSH profile 的 Node 进程与浏览器端脚本运行,安装前请自行查看仓库源码与 MIT 许可证。需要 DSH 桌面端或 Web 端能正常启动,且 profile 目录可写;package.json 要求 Node >=20。
官方 README 推荐从 GitHub 直接加入 profile 依赖,并显式写入 patch 与 bundles。
1、在 DSH profile 目录执行(Windows 示例路径:%USERPROFILE%\.dsh\profiles\desktop):
pnpm add github:HUIlv0/dsh-skill-panel
2、编辑同目录的 package.json,将包名加入 dsh.profile.bundles:
"dsh": { "profile": { "bundles": [ "…", "dsh-skill-panel" ] } }
3、在 cordis.patch.yml 末尾增加插入项:
- insert:
- id: skill-panel
name: dsh-skill-panel
4、重启一次 DSH。
README 还说明:不同版本 DSH 对 git 依赖的 patch 层处理略有差异,显式插入 cordis.patch.yml 最稳。本地试玩可用 pnpm link 或 pnpm add link:<仓库绝对路径>(见仓库文档)。
典型用法¶
经过上面的步骤启用后:
1、左侧导航「插件」下方出现 技能 一行;
2、点击该行 —— 不切页面,在行右侧弹出气泡;
3、在列表中点行选中(可多选)→ 底栏 写入输入框 → 输入框出现 /技能名;
4、补全任务描述后回车发送。
常用操作:
| 操作 | 说明 |
|---|---|
| 点一行 | 选中 / 取消选中 |
| 搜索框 | 按名字、简介、来源过滤 |
| 点分组标题 | 折叠 / 展开该组 |
| 右上角 ⟳ | 重新扫盘读取技能列表 |
| 右上角 ⚙ | 窗口宽度、字号、恢复默认 |
卸载可运行仓库中的 uninstall.ps1(会从 cordis.patch.yml、package.json 依赖与 bundles 中移除本插件),完成后重启 DSH。具体步骤见 README。
工作原理(简要)¶
宿主半区 lib/index.js 注册 GET /dsh-skill-panel/list.json,扫描技能目录并输出分组与简介;浏览器半区 lib/client.js 注册侧栏「技能」行、main 占位组件 SkillsLauncher(避免未注册 main 面板报错,挂载后切回会话并弹气泡),以及在 shell.overlay 挂气泡 UI。cordis.patch.yml 在启动时把插件插进配置树(id: skill-panel)。
适用场景与注意¶
适合:本机已安装较多 DSH 技能,希望用分类 + 搜索 + 简介对照选型,并一次性把多个 /技能名 写入输入框的开发者。
注意:
- 面板只列文件系统里的技能(
~/.dsh/skills、各插件包的skills/);纯远程或未安装到本机的技能不会出现。 - 写入输入框依赖 DSH 的 Lexical 编辑器与
document.execCommand('insertText');若编辑器实现变更,可能只能复制到剪贴板。 - 连续多次写入会插入多份内容,建议一次操作只点一次「写入输入框」。
- 自定义分类可改
lib/client.js中的CATEGORY_DEFS;默认尺寸范围可改PREF_DEFAULTS与clampPrefs()(样式尺寸需用px以便随字号等比缩放)。
SkillHub 等社区目录与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件是其中的客户端 UI 扩展。
结尾¶
dsh-skill-panel 把「我有哪些技能、分别做什么、从哪来」收成一张可搜索、可多选的表,并和 DSH 原有的 / 指令路径对齐。需要安装细节、卸载脚本或发布说明时,以 GitHub README 为准。