dsh-skill-panel:把本机技能摊开成可搜索、可多选的面板

前言

在 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.md frontmatter 的 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 为准。

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

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

小夜