dsh-superpower
Verified@wenaixi/dsh-superpower · v7.7.0 · MIT · Web UI
DeepSeek Harness plugin: 15 obra/superpowers engineering skills, bilingual descriptions, per-skill toggles | DeepSeek Harness 插件:15 个 obra/superpowers 工程纪律技能,技能描述中英双语自由切换,每一个技能本身自由开关
Install
dsh plugin add @wenaixi/dsh-superpower Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Readme
dsh-superpower
obra/superpowers 的 DSH 移植版。15 个技能注入 ctx.skills,装上就能用;技能正文是上游英文原版,技能名保持上游英文原名,面板可切换每个技能在模型目录与斜杠(/)唤出技能栏中描述的中英文。
安装
需要 dsh 本体(npm i -g @deepseek-ai/dsh),Node 与 pnpm 的版本要求见上方徽章。下面以 web profile 为例,换个 profile 名字即可。
# A — npm(推荐,自动装最新)
dsh plugin --profile web add @wenaixi/dsh-superpower
# B — GitHub 直装(绕过镜像延迟)
dsh plugin --profile web add github:Wenaixi/dsh-superpower
# 验证
dsh --profile web --dump-config | grep -A2 "@wenaixi/dsh-superpower"
# # == @wenaixi/dsh-superpower / - id: superpowers
dsh --profile web # 进会话,技能自动可用
要锁版本就在包名后加 @<version> 或 #v<version>(具体版本以 npm view @wenaixi/dsh-superpower version 当前发布为准)。
本地开发或离线安装:
git clone https://github.com/Wenaixi/dsh-superpower && cd dsh-superpower
pnpm install && pnpm build && node scripts/verify.mjs # 末行打印 ALL PASS
dsh plugin --profile web add ./ # 本地路径安装
pnpm pack && dsh plugin --profile web add ./wenaixi-dsh-superpower-*.tgz
# 更新 / 卸载
dsh plugin --profile web add @wenaixi/dsh-superpower
dsh plugin --profile web remove @wenaixi/dsh-superpower
是什么
一套工程纪律:先设计,再把计划切成可校验的小步,然后测试驱动,调试时先找根因,收尾前必须跑验证命令。技能正文是上游英文原版,frontmatter 同时声明英文 description 与中文 description_zh,面板的语言开关只决定模型与用户看到哪一份描述,不改正文。
装在 dsh.bundle 里,不往用户目录写东西,卸载干净,HMR 会自动重建。
包含技能
| 技能 | 什么时候用 |
|---|---|
using-superpowers |
每次会话开头,先查有没有该用的技能 |
brainstorming |
新功能动手前,把需求和设计问清楚 |
writing-plans |
设计定了,拆成一项一项能验证的任务 |
using-git-worktrees |
需要和当前工作区隔离 |
executing-plans |
在当前会话里亲自把计划跑完 |
subagent-driven-development |
计划里有多件独立的事,交给 subagent 分头做 |
dispatching-parallel-agents |
两件以上互不依赖的事并行分发 |
test-driven-development |
先写测试再写实现 |
systematic-debugging |
出了 bug,先定位根因再改 |
verification-before-completion |
说「完成」之前必须跑验证命令 |
requesting-code-review |
任务做完、发 PR 前求评审 |
receiving-code-review |
收到评审意见,先技术核实再改 |
diagnosing-superpowers |
会话出问题或成本异常时定位原因 |
finishing-a-development-branch |
决定合并、发 PR 还是留着分支 |
writing-skills |
新建或改技能 |
工具映射(Bash 到 pwsh、Read/Write 到 fs 等)在 skills/using-superpowers/references/dsh-tools.md。
同名技能谁生效
官方注册表在同层重名时按 rank 从小到大裁决。本包 rank 是 10,比 dsh-skill-filesystem 的项目级和用户级(100–500)以及官方内置 bundled(600)都小,所以只要有同名技能,本包这份生效,不会有两套规则打架。
技能开关与语言偏好
插件管理页里点开 @wenaixi/dsh-superpower 卡片,详情页底部就是开关面板。每个技能一个开关,关掉即两侧同时不可见:
- 模型不再在可用技能目录里看到它,
skill工具调用也会被拒; - 你也没法再从斜杠命令补全或命令行技能清单里调它。
面板上方还有全部开启、全部关闭、恢复默认三个批量操作和一个搜索框。
- 拨动后立即生效,模型的下一轮对话就能看到新目录;当前这一轮不受影响。
- 状态写在 profile 的
cordis.patch.yml的disabled与language字段中,跟着 profile 一起备份迁移,重装插件不丢。 - 只影响本包这 15 个技能,不碰官方和第三方插件提供的技能。
- 语言切换:面板顶部(说明文案之下)提供「中文 / English / 跟随宿主(自动)」三段式选择器,一次切换全部 15 个技能描述(英文
description与中文description_zh)的显示语言,即模型目录与斜杠唤出技能栏里看到的描述文本;技能名与正文都不变。控件只影响Superpower Skill:后面的文本:面板其余 UI(标题、批量按钮、搜索框、提示)跟随宿主界面语言,技能正文恒为英文原版。两种描述分别以Superpower Skill:/Superpower Skill:开头。未配置时描述动态跟随宿主界面语言(设置里选的语言),并显示提示;显式选择中文或 English 后锁定,选择「跟随宿主(自动)」即可随时清除锁定、恢复跟随宿主。偏好保存在 profile 的language字段中(跟随宿主时自动 unset)。
使用
「帮我做 XXX」 → brainstorming → writing-plans → subagent-driven-development
「修这个缺陷」 → systematic-debugging
「帮我评审」 → requesting-code-review
「刚才会话出问题了」 → diagnosing-superpowers
校验:await ctx.skills.list({cwd}) 应该返回 15 条 provider: superpowers。
开发
pnpm install && pnpm build && pnpm typecheck && node scripts/verify.mjs
# 同名优先实测一:自研桩对照,无外部依赖,任何环境可跑
node scripts/check-same-name-priority.mjs
# 同名优先实测二:加载官方 @deepseek-ai/dsh-skill-filesystem 做同层实测
# 该包不在 profile 的直接依赖里,脚本会依次尝试 profile 入口、pnpm store
# 内 .pnpm 真实目录、全局 dsh 本体三处候选路径。
# 本机没装 dsh(比如纯 CI)就用上面的自研桩脚本做等价验证。
node scripts/check-same-name-priority-fs.mjs
# 技能开关端到端实测:真实 SkillRegistry 上验证默认全开、禁言生效、热失效闭环
node scripts/check-skill-switches.mjs
# 上游同步全量复核(deep + tokens 双绿)
node scripts/review-sync.mjs
dsh --profile web --dump-config # 断言 "# == @wenaixi/dsh-superpower"
浏览器端验证
可选,需要本机装好 dsh 和 Python 的 playwright。两个脚本只做验证,地址和路径都从命令行传:
| 脚本 | 验什么 |
|---|---|
scripts/browser/verify-switch-ui.py |
真机 Web UI 里点开插件卡片,逐个拨开关、点批量按钮、搜索过滤,再回读 cordis.patch.yml 确认落盘 |
scripts/browser/verify-model-perception.py |
四阶段闭环:UI 写完用宿主真实 SkillRegistry 复核两侧可见性,并逐行比对 UI 显示与宿主目录 |
# 1. 起一个装了本插件的 profile 的 Web 服务,记下启动日志里的 token
dsh --profile <profile> --no-open --port 3199
# 2. 面板全量操作
python scripts/browser/verify-switch-ui.py \
http://127.0.0.1:3199 <token> .verify-shots <profile>/cordis.patch.yml .verify-shots/expected.json
# 3. UI 与宿主的四阶段闭环
python scripts/browser/verify-model-perception.py \
http://127.0.0.1:3199 <token> <profile 目录> <profile>/cordis.patch.yml .verify-shots
expected.json 是 15 个技能名的数组,用来断言 UI 行序和 skills/ 目录一致:
node -e "import('./lib/superpowers.js').then(async m=>{const c=await m.SkillCatalog.fromDirectory('skills');require('fs').writeFileSync('expected.json',JSON.stringify(c.verifyIntegrity().entries.map(e=>e.document.name)))})"
截图落在 .verify-shots/,已在 .gitignore 里。
目录
src/superpowers.ts # 插件入口,SkillProvider rank 10
src/catalog.ts # SkillCatalog:技能编目、三键聚合指纹探测、快照复用、规范自检
src/document.ts # SkillDocument:frontmatter 解析、契约转换、内建 selfTest
src/switches.ts # 技能开关:禁言表解包与 invocation 覆盖,内建 selfTest
src/client.js # 浏览器半侧:插件卡片详情页的单开关面板,手写 CJS factory
skills/ # 15 个技能正文与资源
lib/ # 已提交的构建产物,GitHub 直装免构建
locale/ # 插件卡片的标题与描述(中英);面板 UI 经官方 locale 注册表双语切换
icon.png # 插件卡片、README 顶部、GitHub 头像共用
scripts/ # 门禁、同名裁决实测、开关实测、上游同步复核、浏览器验证
scripts/build-client.mjs # 复制客户端产物后校验内联清单与 skills/ 目录一致
scripts/lib/contract.mjs # 技能内容契约治理,规则全内聚在这一处
scripts/lib/sync-engine.mjs # 上游同步引擎,返回结构化 diagnostics
scripts/lib/harness-common.mjs # 两个同名裁决实测脚本的公共骨架
scripts/lib/client-manifest.mjs # 内联清单与 skills/ 的漂移判定
scripts/lib/sync-common.mjs # 同步复核共享原语:归一化、代码块切分、目录遍历
更新日志
版本沿革与逐版变更记录在 CHANGELOG.md,新版本在前,每个版本一段。
常见问题
装完 404 或者版本不对? 换 GitHub 形式安装,或者加 --registry https://registry.npmjs.org 走官方源。不需要配置白名单。查最新版本用 npm view @wenaixi/dsh-superpower --registry https://registry.npmjs.org。
卡片标题、描述或图标是空的? 根因通常是 package.json 的 exports 没放行 ./package.json 和 ./locale/*.json,或者 icon 指向了包外的绝对路径。node scripts/verify.mjs 会把这两类问题连同 files 是否放行图标一起断言掉。
协议
MIT,详见 LICENSE。
贡献
Issue 和 PR 都欢迎。详见 CONTRIBUTING.md。
致谢
- 上游 obra/superpowers
- DeepSeek Harness 的三角色插件架构
- dsh-plugin-dev 提供的 DSH 插件开发规范、架构参考与真机验收工程方法