pai535Huang/dsh-superpower0

dsh-superpower

DeepSeek Harness preset adapter for obra/superpowers

包名
dsh-superpower
版本
0.1.0
许可证
MIT
最近更新
2026年8月19日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:pai535Huang/dsh-superpower

工作原理(与「精确的技能使用检测」)

Superpowers 的技能不会自己触发——上游靠 SessionStart hook 把 using-superpowers 技能内容注入到会话开头,让模型在动手前先检查是否有匹配技能。这个仓库用 superpowers-bootstrap.mjs 复刻了这一步:

  1. 会话启动注入(复刻上游 SessionStart hook):每个顶层会话的第一个请求里,注入 包裹的 `using-superpowers` 完整内容(compaction 之后再注入一次),正文按上游原文要求「在回答/动手前先调用相关技能,包括澄清问题、探索代码库之前」。bootstrap 正文从技能注册表实时读取并复用 DSH 的 渲染,因此注入内容始终与 using-superpowers/SKILL.md 一致。
  2. 强制技能使用(上游「1% 就调用」规则):逐字保留上游逻辑——「只要 1% 可能相关就必须调用;技能适用就必须用,没有商量余地」,以及 Red Flags 理性化清单和「process 技能优先」的优先级。加载后若发现不适用再放下,而不是跳过检查。
  3. 按 description 路由:每个技能 frontmatter 的 description 就是触发条件(例如 brainstorming 只在「写代码前」、systematic-debugging 只在「遇到 bug 前」)。目录只展示 name + description,模型据此路由。
  4. 子代理跳过delegationDepth > 0 的子代理不注入 bootstrap(正文里也保留 `` 兜底),避免每个被派发的子代理都重新跑一遍完整流程。

技能加载方式

与 Claude Code 的 superpowers: 命名空间不同,DSH 用裸 kebab-case 名称寻址技能(skill 工具 + 目录里的 name)。build.mjs 会把技能正文里的 superpowers: 交叉引用改写为裸 ``,使这些引用在 DSH 里仍然可以直接加载。资源(references/scripts/assets/code-reviewer.md 等)按原目录结构保留,DSH 的 resourceBase(技能目录)会正确解析相对路径。

与上游的差异

  • 技能正文、frontmatter 的 name/description 逐字保留;只做命名空间改写。
  • 不保留 Claude Code / Cursor / Codex 等专属 hook 与 marketplace 清单,只适配 DSH 的 skill-filesystem + tool-skill 机制。
  • using-superpowers 里的平台参考文件保留在 skills/using-superpowers/references/ 下,DSH 走标准 skill 工具 + subagent 工具,无需额外平台映射。
  • 仅有的内容改动是 superpowers: → `` 命名空间改写(DSH 用裸名寻址);技能 frontmatter 与正文的「1% 就调用」「技能适用就必须用」等行为规则全部逐字保留。