前言¶
DeepSeek Harness (DSH) 内置的 skill 工具依赖模型自行发现并加载技能,这往往导致有用的技能被遗漏,且本地技能文件难以进行生命周期管理。dsh-skills-manager 旨在解决这些问题,通过主动匹配和钩子机制,填补了现有工具的空白。
这是什么¶
这是由 Wisdoverse 维护的一个 DSH 插件,负责 DeepSeek Harness 的技能管理。它提供主动技能激活、触发钩子编排、GitHub 源同步以及内置的设置管理界面。
核心功能¶
- 主动激活:自动加载强匹配的技能,并建议弱匹配的技能。
- 技能级钩子:支持
UserPromptSubmit、PreToolUse、PostToolUse、PostToolUseFailure和SessionStart事件。 - GitHub 生命周期管理:支持技能的安装、更新、同步和卸载。
- 工作区感知作用域:项目级技能覆盖用户级技能,且配置不会在不同工作区间泄漏。
- 内置管理:提供设置管理 UI 以及
skill_manager模型工具。 - 安全防护栏:包含源白名单、钩子路径验证,且钩子运行在沙盒环境中,禁止 Shell 执行。
安装与启用¶
在安装前,请确保环境满足以下依赖:
* DeepSeek Harness 版本:0.1.1-rc.2、0.1.2-alpha.3、0.1.3-alpha.1 或 0.2.0-rc.2
* Node.js 版本:^22.19.0 或 >=24.0.0
* pnpm 已在 PATH 中可用
使用以下命令安装插件:
dsh plugin --profile web add @wisdoverse/dsh-skills-manager
安装、更新或移除插件后,必须重启 Web profile 以使配置生效。
典型用法¶
技能配置示例¶
在 SKILL.md 的 frontmatter 中声明激活模式和钩子:
---
name: repo-hardening
description: Review and harden a repository with build/test gates.
metadata:
activation: auto # auto | suggest | off
triggers:
- "harden"
- "build fails"
hooks:
UserPromptSubmit:
inject: "Run build and tests before reaching a conclusion."
PreToolUse:
- tool: bash
when: "git push"
decision: deny
reason: "Direct pushes are not allowed"
SessionStart:
activate: true
---
常用管理命令¶
# 更新插件
dsh plugin --profile web update @wisdoverse/dsh-skills-manager
# 移除插件
dsh plugin --profile web remove @wisdoverse/dsh-skills-manager
适用场景与注意¶
此插件适合需要精细控制技能加载时机、跨项目管理技能以及通过 GitHub 管理技能生命周期的场景。
- 运行环境:插件以当前 DSH 进程权限运行,钩子逻辑在沙盒环境中执行,禁止 Shell 执行。
- 安全检查:在安装前建议查看源码与许可证(MIT)。
结尾¶
dsh-skills-manager 通过主动激活和钩子机制,增强了 DSH 处理复杂工作流的能力。更多细节可参考插件目录或 GitHub 源码。