前言¶
DeepSeek Harness (DSH) 生态主张「一切皆插件」,技能作为客户端能力的重要组成部分,通常以本地文件形式存在。开发者在使用过程中,往往需要频繁地启用或禁用特定技能以测试不同配置,而直接修改配置文件通常需要重启 DSH Web 进程。
dsh-skill-manager 插件解决了这一痛点,它将本地技能管理集成到 DSH Web 的设置页中,允许在不重启的情况下动态控制技能状态。
这是什么¶
dsh-skill-manager 是一个 DSH Web 本地技能管理插件。它由 SiriusWJ 维护,采用 MIT 许可证。
核心功能¶
该插件提供以下能力:
-
技能发现
扫描以下目录:- 用户目录:
~/.dsh/skills、~/.agents/skills - 当前活动工作区:
.dsh/skills、.agents/skills
- 用户目录:
-
界面交互
- 在「设置 → 插件 → 插件配置」页显示「技能管理」卡片。
- 卡片样式与官方插件保持一致,支持展开与收起。
- 支持按名称、描述或路径搜索技能。
-
控制与刷新
- 支持切换每项技能的「模型自动调用」开关。
- 禁用技能会将技能根目录下的
SKILL.md中的disable-model-invocation字段设为true。 - 修改操作通过 DSH 技能目录热刷新机制生效,无需重启。
-
冲突处理
- 当存在同名技能时,插件仅显示当前有效项,遵循 DSH 官方优先级(项目
.dsh→ 项目.agents→ 用户.dsh→ 用户.agents)。
- 当存在同名技能时,插件仅显示当前有效项,遵循 DSH 官方优先级(项目
安装与启用¶
安装该插件需要安装 DSH 版本 >= 0.1.5-rc.1。
使用以下命令从 GitHub 安装:
dsh plugin --profile web add github:SiriusWJ/dsh-skill-manager
安装完成后,重启 dsh web 即可在插件配置页看到该卡片。
典型用法¶
- 重启
dsh web。 - 进入「设置 → 插件 → 插件配置」。
- 点击「技能管理」卡片的标题栏展开视图。
- 使用搜索框定位技能。
- 点击技能列表项右侧的开关,启用或禁用「模型自动调用」。
适用场景与注意¶
- 兼容性:需要 DSH 版本
>= 0.1.5-rc.1。插件依赖@deepseek-ai/schemastery。 - 安全边界:API 仅接受 loopback 请求,写操作要求浏览器同源。客户端提交的路径仅作为身份声明,写入前会重新扫描并核对技能名与完整路径。
- 文件更新机制:更新
SKILL.md时使用临时文件加原子改名操作,避免文件监听器读取到半写状态。 - 符号链接:技能根目录中的符号链接被视为用户主动挂载,技能的启用/禁用操作会跟随链接并原子改写真实目标。
结语¶
dsh-skill-manager 实现了本地技能的即时管理与配置热更新,降低了开发测试的维护成本。完整代码与目录可在此查看:GitHub | 社区目录