dsh-skill-console:为 DSH 补上 Skills 可视面板与命令行管理

前言

DeepSeek Harness(DSH)通过 @deepseek-ai/dsh-skill-filesystem 发现以 SKILL.md 为载体的 skill 包,但默认没有专门的管理界面。装多了 skill 之后,要查名称、调用方式、来源仓库和磁盘路径,往往只能自己翻 ~/.dsh/skills 里的符号链接布局。安装、卸载、从镜像仓库拉更新、检查死链和 frontmatter,也缺少一套统一入口。

社区插件 dsh-skill-console(GitHub:mi-lu-uncle/dsh-skill-console,维护者 mi-lu-uncle,分类:客户端)在客户端侧提供只读的 Settings → Skills 面板,在宿主侧提供 /skills 等四条斜杠命令,读写都围绕 ~/.dsh/skills 的 symlink 布局(git pull 再 reconcile),变更后由 DSH 的 watcher 热加载。

这是什么

dsh-skill-console 是 DSH 社区插件:一个 Skills 设置面板 加上 命令行 skill 管理器。当前 npm 包版本为 1.0.1(MIT 许可证),与 DSH 0.2.0-rc.2、0.2.1-rc.2 在插件元数据中标记为 compatible。

核心功能

客户端:Skills 面板

  • 入口:主侧边栏 Skills 图标(与 Plugins 相邻),以及 Settings → Skills。
  • 以搜索为中心:居中搜索栏 + 全宽卡片列表;筛选 按钮打开侧栏,可按来源、调用方式、排序过滤。
  • 点击卡片打开详情抽屉:描述、invocation、来源、路径;可复制 /name 命令;可 uninstall。
  • 顶栏支持:从 git URL 或本地路径 安装 skill(预览 → 选择 → link)、更新 默认镜像 mattpocock-skills、运行 健康检查。

宿主:四条斜杠命令

命令 作用
/skills 列出当前会话中的 skill(名称 · invocation · 来源 repo),可按关键词过滤
/skills-uninstall <名字> 卸载已安装的 skill
/skills-update [仓库名] 拉取 repo mirror 并重新同步链接;省略时默认 mattpocock-skills
/skills-doctor 健康检查:死链、无效 frontmatter、孤立 mirror 等

/skills 每行格式为 - /name [invocation · 来源:repo] — description。其中 invocation 可能为 模型+用户、仅模型、仅用户、未开放;来源 为 symlink 指向的 repo mirror 名,或非仓库 skill 的发现根标签(如 内置、DSH用户、项目 等)。

实现分工(便于对照源码)

文件 职责
lib/index.js 宿主:四条命令 + 面板用的 /api/skill-console/list
lib/client.js 客户端:Settings「Skills」面板(React)
cordis.patch.yml 将包挂载为一条 host row 的 bundle patch

安装与启用

推荐从 GitHub 仓库安装(desktop profile):

dsh plugin --profile desktop add https://github.com/mi-lu-uncle/dsh-skill-console.git

也可从本地路径或 tarball 安装:

dsh plugin --profile desktop add /absolute/path/to/dsh-skill-console
dsh plugin --profile desktop add ./dsh-skill-console-1.0.0.tgz

说明:以 link: 方式安装的插件不会被 HMR 监视;若修改 lib/index.js 或 lib/client.js,需重启应用后生效。

典型用法

先在会话里列出或筛选 skill:

/skills                    # 列出本会话全部 skill
/skills docx               # 按名称、描述、whenToUse 等关键词过滤

维护安装与镜像:

/skills-uninstall pr       # 卸载名为 pr 的 skill
/skills-update             # 更新默认 mirror mattpocock-skills
/skills-update my-repo     # 更新指定 repo mirror
/skills-doctor             # 结构与健康检查

面板上的安装、更新、卸载、健康检查与上述命令等价,可按习惯二选一或混用。

配置

默认管理目录为 ~/.dsh/skills(skill)与 ~/.dsh/repos(repo mirror)。若路径不同,可在 profile patch(cordis.patch.yml)里覆盖 skill-console 行:

- id: skill-console
  config:
    skillsDir: /Users/you/.dsh/skills            # default
    reposDir: /Users/you/.dsh/repos              # default

适用场景与注意

适合谁: 经常在 DSH desktop 里增删、更新 community skill,或需要一眼看清「叫什么、怎么调、从哪来、落在哪」的开发者。

权限与安全: 插件以当前 DSH 进程权限运行;/skills-uninstall、/skills-update 等会读写本地 skill 目录并对 mirror 执行 git pull。安装前应阅读仓库源码与 MIT 许可证,确认来源可信。

生态说明: DSH 采用「一切皆插件」思路;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本插件主分发渠道为该 GitHub 仓库;npm 发布为可选,scoped 包名发布时需 npm publish --access public。

本地验证(维护者提供的离线测试):

node test/smoke.mjs
node test/manager.test.mjs

小结

dsh-skill-console 把 DSH 原本「无 UI 的 skill 发现机制」补成可浏览、可搜索的面板,并把列表、卸载、镜像更新和 doctor 收到四条命令里,与 ~/.dsh/skills 的 symlink 模型一致。目录页:https://www.skillhub.cn/plugins/mi-lu-uncle/dsh-skill-console;源码与 README:https://github.com/mi-lu-uncle/dsh-skill-console。

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

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

Xiaoye