dsh-skills:在 DSH 侧栏管理 Agent Skills

前言

DeepSeek Harness(DSH)会从用户主目录与项目下的 .dsh/skills、.agents/skills 等路径发现 Agent Skill,但默认界面没有集中查看、预览或关闭某条 Skill 的入口,往往只能改磁盘上的文件。社区插件 dsh-skills(维护者 yixin2021,GitHub 仓库 yixin2021/dsh-skills)在左侧导航增加「技能 / Skills」入口,用面板完成列表、预览、启用/禁用、安装与安全卸载。DSH 生态里能力多以插件形式扩展;插件目录站点 SkillHub 与 DeepSeek / 幻方无官方从属关系,安装前请自行核对源码与许可证(本插件为 MIT,当前 package 版本 0.1.0)。

这是什么

dsh-skills 是面向 DSH Web 客户端的插件:Host 侧注册 authenticated JSON 路由,Client 侧在 sidebar.panellist 挂载面板。浏览器不直接读文件系统,Skill 相关操作经 POST /api/dsh-skills 与 Host 交互。它解决的是「Skill 已在磁盘上被 DSH 扫描,却缺少可视化管理面」这一缺口。

面板能做什么

下面能力均来自仓库 README 与 package.json 描述,可按需使用。

查看与预览

  • 列出 DSH 扫描到的各 Skill 根目录,以及每条 Skill 的名称、描述、指令路径与 invocation policy。
  • 在应用内预览完整 SKILL.md(含 frontmatter 与正文),无需离开 DSH。

启用与禁用

  • 每条 Skill 有开关。禁用时不删文件:目录被移到 <root>/.disabled/<name>,对扫描器不可见;重新启用时原样移回,SKILL.md 不会被改写。

安装与导入

  • 从本地文件夹安装:选择目标根目录,将顶层含 SKILL.md 的文件夹复制进去,原文件夹不会被移动。
  • 从 GitHub 等远程导入:粘贴仓库、tree 或 skill 链接;一个仓库可一次导入多条 Skill。Host 在写入前校验整批:名称冲突、非法路径或体积/文件数超限会拒绝整批,避免部分覆盖。
  • 新建 Skill:通过表单编写带合法 frontmatter 的 bundle。
  • 添加目录:把面板指向其他 Agent 的 Skill 库(例如 ~/.claude/skills 或同事 checkout);列表会展示,DSH 也会加载,目录本身保持只读。

卸载与恢复

  • 卸载将条目移到根目录下的 .trash,可恢复或永久清除;另有清空回收站等操作。

其它

  • 定位:在 Finder / Explorer 或桌面文件管理器中打开 Skill 或根目录。
  • 已知库:Codex、Claude Code、WorkBuddy、CodeBuddy 等若在常见路径存在 Skill,会自动列出并带对应标记;DeepSeek Harness 侧常见为 $DSH_HOME/skills(通常 ~/.dsh/skills)与 $DSH_AGENTS_HOME/skills(通常 ~/.agents/skills)。

Host 还通过 ctx.skills.registerProvider 把发现的库与额外目录注册给模型;Skill 语法解析与根目录发现集中在 lib/skills-core.js,与路由和测试保持一致。

安装与启用

仓库根目录有 package.json,无构建步骤,可用 npm 兼容的 git spec 安装。

在插件管理界面:Settings → Plugins,安装:

github:yixin2021/dsh-skills

CLI(dsh plugin 在 profile 内转发给 pnpm):

dsh plugin --profile desktop add github:yixin2021/dsh-skills
dsh plugin --profile desktop remove dsh-skills

https://github.com/yixin2021/dsh-skills 与 git+ssh://git@github.com/yixin2021/dsh-skills.git 等价。本地 checkout 时:

dsh plugin --profile desktop add /absolute/path/to/dsh-skills

bundle patch 会插入名为 skills 的 Loader 行,客户端挂载导航与面板。安装后需重新加载窗口。

也可从 Releases v0.1.0 下载;落地页为 yixin2021.github.io/dsh-skills(部分网络可能无法访问 GitHub Pages,以 README 说明为准)。

典型用法

日常:列表、预览、开关

  1. 安装插件并重载 DSH 窗口。
  2. 打开左侧「技能 / Skills」面板,查看各根目录下的 Skill。
  3. 点选一条 Skill 预览 SKILL.md;用开关禁用暂时不需要的 Skill,无需手改目录结构。

从 GitHub 批量导入

  1. 在面板中使用「从 GitHub 导入」,粘贴链接,例如仓库根 https://github.com/owner/repo,或子目录 https://github.com/owner/repo/tree/main/skills/foo。
  2. GitHub 仓库优先走 archive 接口(单次请求、无 rate limit);GitLab、Gitee、SSH 等会浅克隆到临时目录,读完即删。
  3. 对话框展示候选 Skill(默认可全选);若候选超过 40 个,会提示总数并建议把链接收窄到子目录。
  4. 私有仓库可在对话框填写 access token(仅用于当次下载,不落盘;clone 时通过子进程环境传递,不写在命令行)。

粘贴的 URL 会经 allowlist(https、http、ssh、git)校验,拒绝本地路径与危险 git 协议;仓库内容不会被当作脚本执行,符号链接会被跳过。

卸载与恢复

在面板中对 Skill 执行卸载,文件进入该根下的 .trash;需要时从回收站恢复,或永久删除。

适用场景与注意

适合谁

  • 已在 DSH 或同机其它 Agent 路径下积累多条 Skill,希望在一个界面里看清、试读、临时关闭,而不是反复编辑隐藏目录。
  • 需要从 GitHub(或其它 git 托管)按目录批量安装 Skill,并希望在写入前整批校验。

务必了解

  • 插件以当前 DSH 进程权限运行:安装、导入、克隆远程仓库、读写 Skill 根目录均在此权限下完成。安装前请阅读 仓库源码 与 MIT 许可证,确认符合你的安全策略。
  • 禁用与卸载依赖 .disabled、.trash 子目录约定,与 DSH「只发现 Skill 根的直接子项」的扫描规则一致;手写的 Skill 在禁用/启用往返后应保持字节一致(README 对此有说明)。
  • 社区目录页:https://www.skillhub.cn/plugins/yixin2021/dsh-skills(分类:客户端;截至资料抓取时 GitHub 星标为 2)。

结尾

dsh-skills 把 DSH 已在磁盘上发现的 Agent Skill 补成可操作的侧栏面板:看得见、读得全、关得掉、装得上、卸得可恢复。若你正在用 Harness 编排 Skill,可先按上文命令安装,重载窗口后在左栏打开 Skills 面板试用。

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

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

小夜