前言¶
DeepSeek Harness (DSH) 的生态理念是“一切皆插件”。在开发和调试智能体时,经常需要在多个技能之间切换,或临时禁用某些技能以测试特定逻辑。虽然技能通常通过 SKILL.md 的 frontmatter 来控制模型侧的调用行为,但直接编辑文件并不直观,且在 Web UI 中缺乏便捷的交互入口。
插件介绍¶
dsh-plugin-skill-manager 是一个由用户 xhvdhczd 维护的 DSH Web UI 插件。它通过在对话视图的 slot 注册一个 Skills Tab,让用户可以直接在 Web 界面管理技能状态,无需手动修改文件。
核心功能¶
- 技能视图集成:在对话视图注册 Skills Tab,与 Chat 和 Trajectory 并列。
- 过滤搜索:提供搜索框,支持按技能名称或描述过滤。
- 批量开关:支持一键启用或禁用所有可见技能。
- 模型侧控制:通过修改 SKILL.md 的 frontmatter 来写入
disable-model-invocation: true,实现模型侧的调用拦截。
安装与启用¶
安装该插件需要指定 DSH profile(示例使用 web profile)。
- 在插件源码目录下执行安装命令:
dsh plugin --profile web add file:./dsh-plugin-skill-manager
- 将插件添加到 profile 的 bundle 层中。编辑
~/.dsh/profiles/web/package.json,在dsh.profile.bundles数组中增加dsh-plugin-skill-manager:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-plugin-marketplace",
"dsh-plugin-skill-manager"
]
}
}
}
- 安装或更新插件后,必须重启 DSH 并刷新 Web UI,Skills Tab 才会显示。
使用说明¶
启动 DSH 后,在对话视图顶部会出现 Skills Tab。在该 Tab 中,你可以:
* 使用搜索框快速定位技能。
* 点击技能旁的开关来启用或禁用单个技能。
* 使用底部的“全部启用”或“全部禁用”开关批量操作。
禁用技能的操作会直接写入 SKILL.md 文件的 frontmatter 中,添加 disable-model-invocation: true。这会让模型侧的技能目录失效,但用户界面的技能列表保持可见,方便随时重新启用。
注意事项¶
- 依赖处理:
file:依赖会被复制到 pnpm store。如果修改了插件源码,需要重新运行安装命令(pnpm --dir "$HOME/.dsh/profiles/web" remove ... && pnpm --dir ... add --force file:./...)并重启 DSH。 - 重启要求:安装、更新或修改配置后,必须重启 DSH 进程,Web UI 才能感知到变化。
- 目录失效:目录失效后会自动更新,无需重启目录本身。
结尾¶
该插件通过 Web UI 提供了更直观的技能管理方式,降低了调试智能体时的操作成本。