前言¶
DSH 的理念是「一切皆插件」,技能(Skill)也因此散落在本机多个目录里:跨 harness 的共享池、DSH 自己的 skills 目录、甚至 trae-cn 的目录。等技能数量上来,靠 ls 和记忆去找某个技能就变得不可靠——你得知道它叫什么、落在哪个路径、属于哪个分类、怎么触发。muerdon 维护的 dsh-skills-workbench(技能工作台)解决的就是这件事:把这些散落的技能收集成一页面板,让你看到、筛选、唤起、卸载和恢复,并在目录发生变化时主动同步。
它不是另一个技能市场,也不是要替代 DSH 的插件管理,而是给已有的技能清单加一层可视化操作界面。
这是什么¶
dsh-skills-workbench 是一个 DSH 客户端插件,作者为穆咚(muerdon),采用 MIT 许可。一句话定位:把技能清单做成一页可控面板,支持一键唤起、卸载到回收站并恢复、按分类浏览,以及对多个技能落地目录做主动同步。
它面向的是这样一类场景:技能多了以后,逐条翻目录、手动拼 /技能名、卸载时不小心删掉文件——这些操作成本和误操作风险,面板都替你接管。插件的安装与使用见下文。
核心功能¶
下面介绍的功能均来自 README 原文,可对照核实。
1、技能唤起:每行右侧的「唤起」会把 /技能名 写进当前会话输入框并切回会话。若无法确定目标会话,会弹出选择器,点选一次后同一会话下次直接命中。
2、卸载与恢复:点「卸载」后按钮先变「确认卸载」,4 秒内再点才执行。技能不会立即删文件,而是移入回收站,可在面板底部点「↩ 恢复」原位还原。唯一例外是技能目录与回收站不在同一磁盘分区时无法 rename,会先复制到回收站再删除原目录,文件内容仍完整保存在回收站。
3、分类浏览与筛选:顶部搜索框、领域与分类胶囊用于筛选;技能详情卡展示完整描述、触发词、领域/分类、大小、修改时间、落地路径、副本、分类来源与理由,以及效率/风评与七维评分,并支持行内改分类,选择会持久保存。
4、目录主动同步:平时插件自动感知技能目录变化,顶部「⟳ 一键扫描」是手动兜底。
5、隐私边界:本包不含任何个人数据,不记录本机安装清单的位置/日期/大小、本机目录名或会话 id。运行时的分类覆盖、回收站、日志全部写在 <DSH_HOME 或 ~/.dsh>/skills-workbench/,不改动 DSH 配置。
安装与启用¶
安装不涉及 dsh plugin add,README 给出的是 bundle 安装方式。先保持插件目录完整(不要只拷单个文件,放到任意位置),再执行:
plugin_manager install_bundle target=<本目录绝对路径>
然后重启桌面端——插件的主机半边需要在启动时加载。重启后侧边栏出现「技能工作台」图标,点开即可使用。
README 也提到另一种做法:按 DSH 的常规方式,在 profile 的 cordis.patch.yml 中插入本包并加入依赖。但官方推荐 install_bundle,它会自动处理清单与依赖。两种方式都可以,选其一即可。
代码前后要注意的是:不要凭插件名去拼一条 dsh plugin add github:owner/repo 命令,资料里没有这条命令。
典型用法¶
装好并重启后,常用的几件事是:
1、查看某个技能:点任意技能行展开详情,落地路径可点击复制。
2、唤起技能:点该行右侧「唤起」,把 /技能名 放进当前会话输入框。
3、卸载技能:点行右侧「卸载」,4 秒内再点一次确认,技能进入回收站。
4、恢复技能:面板底部「🗑 回收站」列出已卸载技能,点「↩ 恢复」原位还原。
5、同步目录变化:顶部「⟳ 一键扫描」做一次手动扫描。
技能目录与扫描规则¶
插件自动扫描以下目录,目录存在才扫,全部缺失也不报错:
~/.agents/skills(跨 harness 共享池,主要位置)$DSH_HOME/skills或~/.dsh/skills~/.trae-cn/skills
每个技能为 <目录名>/SKILL.md,其 frontmatter 的 name / description 会用于展示与分类。
兼容性与排查¶
兼容性要求:DSH 内核 >= 0.2.0-rc.2;运行时只用 Node 内置模块(fs / path / os),无第三方依赖。所需内核服务缺失时插件不会崩溃,对应功能降级并在日志中说明。
排查客户端问题时,1.1.0 起客户端会把初始化各阶段的失败上报到宿主日志(形如 client-diag [styles] …)。日志位置为 <DSH_HOME 或 ~/.dsh>/skills-workbench/debug.log,WebView 内部错误可直接看到,无需打开开发者工具。面板显示「Host 数据通道未就绪」时,可在日志里确认有没有 applying: prefix route /skills-workbench/v1。面板显示 0 个技能时,先确认技能目录存在且含 SKILL.md,再点「⟳ 一键扫描」;正常日志应有 applying: prefix route … 与 scan(startup) -> N skills。
文件完整性可用同目录的 SHA256SUMS.txt 校验:
sha256sum -c SHA256SUMS.txt
适用场景与注意事项¶
适合已经在本机维护多个技能、需要频繁唤起和整理的用户;也适合想把技能分类、落地路径、评分口径统一管理起来、又不想手动维护清单的开发者。
需要注意几点:
1、插件以当前 DSH 进程的权限运行,读取的是本机技能目录。安装前应检查源码与许可证(MIT,作者穆咚),确认目录路径符合预期再启用。
2、README 记录了两个安装期问题,遇到时不要误判为本插件缺陷。其一是 ERR_PNPM_UNEXPECTED_STORE:这是宿主 profile 的 pnpm 环境问题——pnpm 要求 store 与项目同盘才能硬链接,可用 pnpm config get store-dir --global 检查、必要时 pnpm config delete store-dir --global 清除;修复方式是备份 profile 的 package.json / pnpm-lock.yaml / cordis.patch.yml 后在 profile 目录执行 pnpm install 重建链接,再重新 install_bundle。其二是较早版本(1.1.1 已修复)侧栏无图标、界面 20 秒超时的问题,根因是 client.js 内模块 id 与发布包名不一致,升级到 1.1.1 即可。
3、卸载技能走面板的回收站;卸载插件本身用 DSH 的插件管理;本地状态目录 <DSH_HOME 或 ~/.dsh>/skills-workbench/ 可直接删除。
小结¶
技能工作台的价值不在于新增技能,而在于把本机已有的技能清单收敛成一页可操作的面板:看到、筛选、唤起、卸载、恢复、同步,都在同一个界面里完成,且不触碰 DSH 配置。它由 muerdon 用 MIT 许可开源,当前版本 1.1.1。
目录页:https://www.skillhub.cn/plugins/muerdon/dsh-skills-workbench
GitHub :https://github.com/muerdon/dsh-skills-workbench