dsh-skill-manager:在 DSH 设置页图形化管理技能

前言

DeepSeek Harness(DSH)通过扫描各作用域下的 SKILL.md 把技能挂进网页与 / 菜单。技能一多、目录又散,常见做法是手改 frontmatter、搬目录,或靠删文件夹来「临时关掉」某个技能——改错格式还会导致 DSH 整份忽略该文件。社区插件 dsh-skill-manager(维护者 xinshang777,仓库 xinshang777/dsh-skill-manager)在 web 客户端 的设置里增加「技能管理」页:用本地路径登记、开关、改名与删除登记,不必再为元信息反复编辑配置文件。下文介绍它做什么、如何安装与日常使用,以及适用边界。

这是什么

一句话定位:把「手改 SKILL.md 和配置文件来管技能」变成设置页里点几下完成的操作。

项 说明
名称 dsh-skill-manager
当前版本 0.1.0(见仓库 README 徽章)
许可证 MIT
宿主 已安装 @deepseek-ai/dsh,能跑起 dsh web;Node.js ≥ 18
分类 客户端(注入 DSH Web 设置 UI)

插件不复制、不移动、不删除你的技能文件;不改写技能正文,只处理登记与元信息(名字、简介、启用状态)。对 symlink 类型技能会拒绝改写目标文件。

改造前后对比

场景 改造前 使用本插件后
看全技能 逐个目录翻 设置页一处列出,并标作用域层
临时不用某技能 删文件夹或改名 一键关闭,文件原封不动
登记已有技能 手动搬进某目录 填本地路径即可
改名字 / 简介 手改 frontmatter 界面修改并安全写回 SKILL.md
关闭后是否真不可调 可能仍被模型调用 逐层注册影子技能,关闭后不可调用
/ 菜单刷新 手动刷新页面 改完自动广播,菜单即时更新
Windows 选路径 手打路径易错 「选择文件…」系统对话框(仅 Windows)

核心功能

  1. 列表:在设置 →「技能管理」展示当前纳管技能(技能名、简介、层级、开关)。DSH 内置技能默认隐藏,避免刷屏。
  2. 登记:添加技能时填写技能目录或 SKILL.md 路径;解析 frontmatter 后写入 ~/.dsh/skill-manager/skills.json,不搬动源文件。
  3. 开关:启用则出现在 / 菜单且模型可调用;关闭则从菜单消失且通过影子注册阻止调用,磁盘文件不变。
  4. 编辑元信息:改显示名与简介时写回 SKILL.md frontmatter(symlink 技能除外)。
  5. 删除登记:仅删 JSON 里的记录,技能文件仍在原处;需要时可再次登记。

Bundle 层没有 cordis.patch.yml 里的可配置项;状态全部由 skills.json 承载。单条记录主要字段包括:slug(必填,kebab-case)、enabled、managed、displayName、description、target(默认 "host")、createdAt 等。

安装与启用

前置条件

  • Node.js ≥ 18
  • pnpm(dsh plugin 会把剩余参数原样转发给 pnpm;缺则先 npm i -g pnpm)
  • 能正常运行 dsh web 的 DSH
  • 操作系统:Windows / macOS / Linux(「选择文件…」仅 Windows)

推荐:GitHub 直装

在终端执行(命令来自仓库 README):

dsh plugin --profile web add github:xinshang777/dsh-skill-manager

安装成功后,profile 的 dsh.profile.bundles 会自动登记,无需手改配置。

本插件在 package.json 中声明客户端 "immediately": true,属于启动即加载:新装或卸载后必须完整重启 dsh web,仅刷新浏览器不够。若设置里仍看不到「技能管理」,可硬刷新(Ctrl + F5),并检查 ~/.dsh/profiles/web/package.json 的 bundles 是否含 dsh-skill-manager。

其他安装方式(摘要)

  • 本地开发:在克隆后的仓库目录执行 dsh plugin --profile web add link:.,改 lib/index.js 或 assets/client.js 后重启 dsh web。
  • Download ZIP:解压后在该目录 dsh plugin --profile web add link:.,不会自动更新。

三十秒验证

打开 dsh web → 设置 → 左侧出现 「技能管理」 即表示安装成功。

典型用法

  1. 进入 设置 → 技能管理。
  2. 点 「添加技能」:
    - Windows:点「选择文件…」选中该技能的 SKILL.md;
    - 其他平台:在输入框粘贴目录或 SKILL.md 的完整路径。
  3. 确认解析结果后保存;若 frontmatter 缺 name / description,插件会提示——缺任一项时 DSH 原生扫描会忽略该技能,可在添加流程中补填并写回文件。
  4. 用开关控制启用;用「编辑」改显示名与简介;「删除」只去掉登记记录。
  5. 登记、开关、改名、删登记不需要重启;/ 菜单会随改动自动刷新。

手动修记录可直接编辑 ~/.dsh/skill-manager/skills.json,注意 slug 必须为 kebab-case。

适用场景与注意

适合:自写技能散落在多个目录,希望一页看全;需要临时关闭技能但不想动文件夹;经常因 frontmatter 格式导致 DSH 不识别;只想登记路径、不想搬运仓库。

不适合:只装一两个技能且从不调整(DSH 原生扫描即可);要在界面里改技能正文逻辑(请用编辑器打开 SKILL.md)。

运行与信任:插件以当前 dsh web 进程权限运行,会读写你指定的 SKILL.md(解析与写回 frontmatter)。安装前建议在 GitHub 查看源码与 MIT 许可证,确认符合你的使用习惯。

卸载:dsh plugin --profile web remove dsh-skill-manager;可选删除 ~/.dsh/skill-manager/。卸载后影子注册会释放,此前被「关闭」的技能会恢复为可调用,需自行评估。

隐私(仓库说明):登记数据只写本机 skills.json,插件自身不发起外部请求;接口挂在 /dsh-skill-manager 前缀下,并做 loopback 与 Origin 校验。

已知限制:不管正文;关闭对运行期动态注册的同名技能需重启后生效;不与第二个「管技能注册表」的插件叠用(影子注册 rank: 250 可能冲突);skills.json 无多机同步。

结尾

dsh-skill-manager 把技能元信息与启用状态收口到 DSH Web 设置页,路径登记、开关与 frontmatter 维护不必再靠手改目录和文件。社区目录页:skillhub.cn/plugins/xinshang777/dsh-skill-manager;源码与完整排障表:github.com/xinshang777/dsh-skill-manager。DSH 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

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

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

Xiaoye