前言¶
DeepSeek Harness(DSH)默认从文件系统加载技能,例如 ~/.agents/skills 或项目级别的 .dsh/skills。然而,DSH 没有提供查看已安装技能或切换其状态的界面。dsh-skill-manager 通过提供列出技能、查看其状态以及即时启用/禁用的能力来填补这一空白。
功能¶
该插件提供以下能力:
- 列出技能:列出文件系统中的所有技能及其启用状态和一行描述。
- 即时切换:启用或禁用任何技能,无需重启 DSH 进程。
- 设置 UI:内置“技能”页面,允许通过 UI 进行切换。
- 禁用机制:通过将
SKILL.md重命名为SKILL.md.disabled来禁用技能。禁用的技能会立即从模型可见的目录中消失。
安装¶
该插件是 dsh bundle(声明了 dsh.bundle.patch),因此安装方式与其他配置文件插件相同。
前置条件¶
- Node.js ≥ 22.19(检查版本:
node --version) - 一个 dsh web 配置文件(
dsh plugin命令指向配置文件目录,例如--profile web)
安装步骤¶
安装前请注意:
- 名称冲突警告:存在一个同名的 npm 包(由不同作者发布)。必须从该仓库安装。
- pnpm workspace:配置文件目录是 pnpm workspace 根目录。安装命令必须包含
-w标志。
安装命令:
dsh plugin --profile web add -w Thomas-key/dsh-skill-manager
如果从本地检出安装:
- 进入插件目录。
- 安装依赖项:
npm install
- 返回上一级目录并安装插件:
cd ..
dsh plugin --profile web add -w ./dsh-skill-manager
使用¶
安装后,重启 dsh web,然后通过以下方式使用:
- 设置 UI:打开 设置 → 技能。这将列出所有技能并允许切换。
- 代理命令:询问代理:
- “List my skills.”
- “Disable the skill
read.”
代理将调用 skills_list 或 skills_toggle 工具。切换会立即生效;你可以再次询问代理以验证技能列表的变化。
工作原理与边界¶
工作流程¶
- 代理调用
skills_list或skills_toggle。 - 主机插件通过
node -e桥接(stdin: JSON 操作,stdout: JSON 结果)。 - 插件扫描技能根目录或重命名
SKILL.md<->SKILL.md.disabled。 - DSH 的文件系统技能提供程序检测到变化,并立即更新模型可见的目录。
边界¶
- 扫描范围:仅扫描四个标准技能根目录;其他位置被忽略。
- 内容修改:仅重命名
SKILL.md或SKILL.md.disabled文件;不读取、编辑或删除技能内容。 - 可见性:禁用仅隐藏技能;文件保持存在,因此禁用是可逆的。
注意事项¶
- 维护状态:此插件由 AI deepseek-v4-flash 构建。没有计划更新;它只是为了解决个人痛点而构建的。欢迎 PR。
- 权限:插件在 DSH 进程的权限下运行。
- 源代码检查:安装前检查源代码和许可证。
结语¶
dsh-skill-manager 解决了 DSH 在技能管理方面的空白。要了解更多信息或提交更改,请访问 GitHub 仓库。