前言¶
用 DeepSeek Harness(DSH)搭编码 Agent 时,一个常见的麻烦是方法论类能力不好复用:需求澄清、TDD、系统化调试这些内容通常以 SKILL.md 技能文件的形式存在,想用起来得自己写装载与注册逻辑,还要处理注入时机、不同预设的兼容问题。已有的做法往往是把技能文件手动拷进每个项目,再各写一遍加载代码。
dsh-superpower 把这件事做成了插件:一条命令安装后,obra/superpowers 的 14 个技能自动进入 DSH 技能注册表,配套的会话纪律也会在合适的时机注入。下面介绍它的功能、安装方式和工作原理。
这是什么¶
dsh-superpower(pai535Huang/dsh-superpower)是一个 DSH 插件,定位是「DSH plugin bundle for obra/superpowers skills and development workflows」:把 obra/superpowers(Jesse Vincent 维护的一套面向编码 Agent 的开发方法论,含 brainstorming、TDD、systematic-debugging、subagent-driven-development 等 14 个 SKILL.md 技能)打包接入 DeepSeek Harness。采用 MIT 许可证,当前版本 0.1.0,要求 Node >= 20。
实现上它是一个 host 组合行(bundle patch 挂载,patch 文件为 ./cordis.patch.yml):通过 ctx.skills.registerProvider() 把打包技能注册进 DSH 技能注册表,并在每个具有 skill 工具的会话开头注入 using-superpowers 纪律(「1% 规则」)。
核心功能¶
打包 14 个技能并注册¶
14 个 SKILL.md 直接随包分发,命名空间已改写(superpowers:<name> → 裸 <name>),上游的平台适配文件 references/dsh-tools.md 也已并入。注册由 lib/index.js 完成:它向注册表挂一个 provider,list() 扫描 skills/ 目录,get() 按需解析 frontmatter 与正文,返回带目录 resource base 的定义。
会话开头的纪律注入¶
lib/bootstrap.mjs 挂载 agent/pre-step,按 ctx.tools.get('skill', agent) 的可见性决定是否注入。注入规则有三条:
1、using-superpowers 完整正文只在会话首请求注入一次,compaction 后重注一次,不是每轮 prompt 都注入(与上游 SessionStart 语义一致);
2、子代理(delegationDepth > 0)跳过注入;
3、注入正文实时取自注册表,references/dsh-tools.md 从技能 resource base 读取后随信封注入。
预设兼容性¶
任何提供了技能加载面的预设都能看到捆绑技能,具体行为如下:
| 会话所在的预设 | 技能可见 | 会话开头注入 |
|---|---|---|
standard / code / cordis(挂了 tool-skill) |
是,目录列出全部捆绑技能 | 是(首次 + compaction 后) |
自定义预设(挂 skill_search / skill_load 替代) |
是,按需搜索/加载 | 否,无 skill 工具自然跳过 |
| minimal | 否,无 skill 行 | 否 |
无构建步骤,可直接加自定义技能¶
往 skills/ 放入新的 <kebab-name>/SKILL.md 即可,插件运行期自动发现,不需要改任何代码。技能文件以 YAML frontmatter 开头,name + description 必填,whenToUse 可选:
---
name: my-review-flow
description: 代码评审场景触发,按检查清单逐项核对
---
触发遵循 description 匹配,目录只展示 name + description。
同名技能就近遮蔽¶
项目/用户技能根里的同名技能会遮蔽捆绑版(bundled provider rank 低于本地技能根)。这是有意设计:用户意图优先,想覆盖某个捆绑技能时,在本地放同名文件即可。
安装与启用¶
官方安装命令如下,把 <name> 替换为你的 profile 名:
dsh plugin --profile <name> add github:pai535Huang/dsh-superpower
重启 profile 后,新会话即可使用。
典型用法¶
上游验收用例记录在 docs/acceptance-test.md:在 standard 预设下输入 “Let’s make a react todo list”,会话先触发 brainstorming 技能澄清需求,再进入写代码环节。该文档同时保留了执行记录与证据清单,可用于自行复验。
想扩展技能集时,按上面的格式往 skills/ 加一个 SKILL.md,无需改代码,provider 会自动发现它。
开发与验证¶
克隆仓库后执行:
npm ci
npm run check
npm run check 会依次跑测试和校验。细分下来:
1、npm test:单元测试,覆盖 manifest 装载、注册、bootstrap 守卫/频率、迁移清理;
2、npm run validate:skill 集合、frontmatter、manifest 三项一致性校验;
3、docs/acceptance-test.md:上游验收用例的执行记录与证据清单。
devDependencies 只有 js-yaml ^4.1.0,没有构建步骤,源码可以直接通读。
适用场景与注意¶
适合两类人:已经在用 DSH、想引入 obra/superpowers 方法论但不想手写装载与注入逻辑的开发者;希望技能随插件分发、同时保留本地同名覆盖能力的团队。
安装前有几点需要确认:
1、插件以当前 dsh 进程的权限运行,安装前应检查源码与许可证。本插件及其技能内容均为 MIT(技能内容源自 obra/superpowers,Copyright (c) 2025 Jesse Vincent),详见仓库根目录 LICENSE;
2、minimal 预设没有 skill 行,按设计不移入任何技能;如果你的预设没有提供技能加载面,这些技能不会生效;
3、纪律注入只在会话首请求和 compaction 后发生,如果期望每轮 prompt 都强制携带,需要另做处理。
结尾¶
dsh-superpower 解决的是一个具体问题:把一套成熟的开发方法论技能接进 DSH,免掉装载、注册、注入时机的重复劳动,同时不牺牲本地覆盖和自定义扩展的空间。
- GitHub 仓库:https://github.com/pai535Huang/dsh-superpower
- 社区目录页(第三方站点,与 DeepSeek / 幻方无官方从属关系):https://www.skillhub.cn/plugins/pai535Huang/dsh-superpower