dshbase

插件目录 / Developer / dsh-superpower

dsh-superpower

已验证 · 实测可装 Wenaixi

✓ 持续维护 基于 7 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

20Stars
2Forks
0未关闭 issue
JavaScript语言
2026-10-08最近推送
跨平台平台

功能简介

DSH port of obra/superpowers — 完整移植、中文化、DSH 原生

✅
我们的评价
可用 — 实测通过,社区增长中

DSH port of obra/superpowers — 完整移植、中文化、DSH 原生 实测能干净安装、正常启动。社区在增长,是个稳妥选择。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-superpower

English | 中文

npm
License: MIT
DSH
Node
pnpm

@wenaixi/dsh-superpower

A DSH port of obra/superpowers. 15 skills are injected into ctx.skills. Skill bodies are the official English originals; the panel switches the description each skill shows in the model catalog and the slash-command (/) skill menu between Chinese and English, while skill names stay as upstream English.

Install

Needs the dsh runtime (npm i -g @deepseek-ai/dsh); Node and pnpm floors are in the badges above. Examples use the web profile; substitute your own profile name.

# A - npm (recommended, always latest)
dsh plugin --profile web add @wenaixi/dsh-superpower

# B - GitHub (bypasses mirror lag)
dsh plugin --profile web add github:Wenaixi/dsh-superpower

# Verify
dsh --profile web --dump-config | grep -A2 "@wenaixi/dsh-superpower"
# # == @wenaixi/dsh-superpower / - id: superpowers

dsh --profile web  # skills are available immediately

Pin a version by appending @<version> or #v<version> (the version currently published; check npm view @wenaixi/dsh-superpower version).

Local development or offline install:

git clone https://github.com/Wenaixi/dsh-superpower && cd dsh-superpower
pnpm install && pnpm build && node scripts/verify.mjs   # prints ALL PASS
dsh plugin --profile web add ./                           # install from local path
pnpm pack && dsh plugin --profile web add ./wenaixi-dsh-superpower-*.tgz

# Update / remove
dsh plugin --profile web add @wenaixi/dsh-superpower
dsh plugin --profile web remove @wenaixi/dsh-superpower

What it is

A prescriptive engineering methodology: design first, slice the plan into verifiable steps, drive with tests, find the root cause before fixing, and run verification commands before claiming completion. It ships as a dsh.bundle, writes nothing into your home directory, uninstalls cleanly, and rebuilds itself through HMR.

Skill bodies are the upstream English originals (DSH-adapted: symbols, platform references, DSH-only sections). Each SKILL.md declares both an English description and a Chinese description_zh; the panel's language switch picks which one the model sees, without changing the body.

Skills

Skill When to use
using-superpowers Start of every conversation: check for applicable skills before anything else
brainstorming Before creative work: clarify intent, requirements, and design
writing-plans Once the design is settled, slice it into verifiable tasks
using-git-worktrees When work needs an isolated workspace
executing-plans Execute the plan yourself in this session
subagent-driven-development A plan with independent tasks, dispatched to subagents
dispatching-parallel-agents Two or more independent tasks, dispatched in parallel
test-driven-development Write the test before the implementation
systematic-debugging A bug appeared: find the root cause before proposing fixes
verification-before-completion Run verification commands before claiming completion
requesting-code-review Request review after finishing work, before a PR
receiving-code-review Verify review feedback technically before implementing it
diagnosing-superpowers A session went wrong or cost too much: find out why
finishing-a-development-branch Decide whether to merge, open a PR, or keep the branch
writing-skills Create or edit a skill

Tool mapping (Bash to pwsh, Read/Write to fs, and so on) lives in skills/using-superpowers/references/dsh-tools.md.

Same-name precedence

The official registry arbitrates same-layer name collisions by ascending rank. This bundle registers at rank 10, below dsh-skill-filesystem project and user roots (100-500) and official bundled skills (600). Whenever a same-name skill exists, this bundle's copy wins and the two rule sets never fight.

Skill switches and language

Open the @wenaixi/dsh-superpower card in the plugin manager; the panel sits at the bottom of its detail page.

  • One switch per skill. Off means both sides lose it: the model no longer sees it in the available-skill catalog and skill tool calls are rejected; you can no longer reach it from slash-command completion or the CLI skill list.
  • A 3-state segmented control (中文 / English / 跟随宿主(自动)) at the top of the panel switches the description language of all 15 skills at once. It changes only the Superpower Skill: text: the rest of the panel stays in the Host UI language and skill bodies stay English. Both descriptions carry the Superpower Skill: / Superpower Skill: prefix. When unset, descriptions follow the Host UI language (the language chosen in settings) and the control displays an indicator; picking 中文 or English locks the selection, and picking 跟随宿主(自动) resets to following the Host. The choice is stored as a language preference in the profile (unset when following the Host).
  • The panel header carries enable-all, disable-all, restore-defaults, and a search box.
  • Changes take effect immediately; the running turn is unaffected and the next turn sees the new catalog and language.
  • State lives in the profile's cordis.patch.yml (disabled and language tables) and travels with the profile.
  • Only this bundle's 15 skills are affected; official and third-party skills are untouched.

Usage

"Build me X"          -> brainstorming -> writing-plans -> subagent-driven-development
"Fix this bug"        -> systematic-debugging
"Review this"         -> requesting-code-review
"That session went wrong" -> diagnosing-superpowers

Check: await ctx.skills.list({cwd}) should return 15 entries with provider: superpowers.

Development

pnpm install && pnpm build && pnpm typecheck && node scripts/verify.mjs

# Same-name precedence, run one: self-built stub, no external dependency
node scripts/check-same-name-priority.mjs

# Same-name precedence, run two: load the official @deepseek-ai/dsh-skill-filesystem
#   That package is not a direct profile dependency; the script probes the profile
#   entry, the real .pnpm store directory, and the global dsh installation.
#   On a machine without dsh (plain CI), run the stub script above instead.
node scripts/check-same-name-priority-fs.mjs

# Skill switches end to end: real SkillRegistry, defaults, muting, hot invalidation
node scripts/check-skill-switches.mjs

# Full upstream sync review (deep + tokens both green)
node scripts/review-sync.mjs

dsh --profile web --dump-config  # assert "# == @wenaixi/dsh-superpower"

Browser verification

Optional. Needs dsh and Python playwright installed locally. Both scripts take every address and path from the command line:

Script What it verifies
scripts/browser/verify-switch-ui.py Real Web UI: open the plugin card, flip switches, click bulk buttons, search-filter, then read cordis.patch.yml back
scripts/browser/verify-model-perception.py Four-phase loop: after a UI write, re-check both visibility sides through the Host's real SkillRegistry and compare UI rows against the Host catalog
# 1. Start a Web server on a profile that has this plugin; note the token in the startup log
dsh --profile <profile> --no-open --port 3199

# 2. Full panel pass
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 and Host four-phase loop
python scripts/browser/verify-model-perception.py \
  http://127.0.0.1:3199 <token> <profile dir> <profile>/cordis.patch.yml .verify-shots

expected.json is the array of 15 skill names, used to assert that UI row order matches the skills/ directory:

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)))})"

Screenshots land in .verify-shots/, which is git-ignored.

Layout

src/superpowers.ts  # plugin entry, SkillProvider rank 10
src/catalog.ts      # SkillCatalog: catalog, three-key fingerprint probe, snapshot reuse, spec self-test
src/document.ts     # SkillDocument: frontmatter parsing, contract mapping, built-in selfTest
src/switches.ts     # skill switches and language preference, built-in selfTest
src/client.js       # browser half: switch and language panel on the plugin card, hand-written CJS factory
skills/             # 15 skills, English bodies, bilingual frontmatter descriptions
lib/                # committed build artifacts so GitHub installs need no build
locale/             # plugin card title and description (zh/en); panel UI follows the Host locale
icon.png            # plugin card, README header, GitHub avatar
scripts/            # gates, precedence runs, switch runs, upstream sync review, browser verification
scripts/build-client.mjs      # copies the client artifact, then checks the inline catalog against skills/
scripts/lib/contract.mjs         # skill content contract checks, all rules in one place
scripts/lib/sync-engine.mjs      # upstream sync engine, returns structured diagnostics
scripts/lib/harness-common.mjs   # shared skeleton for the two same-name arbitration runs
scripts/lib/client-manifest.mjs  # inline catalog vs skills/ drift check
scripts/lib/sync-common.mjs      # shared sync primitives: normalization, code fences, walk

Changelog

Release notes live in CHANGELOG.md, newest first, one section per version.

FAQ

404 after install, or wrong version? Install from GitHub instead, or add --registry https://registry.npmjs.org. No allowlist is needed. Check the latest version with npm view @wenaixi/dsh-superpower --registry https://registry.npmjs.org.

Empty card title, description, or icon? Usually package.json's exports does not expose ./package.json and ./locale/*.json, or icon points at an absolute path outside the package. node scripts/verify.mjs asserts both, plus whether files ships the icon.

License

MIT. Full text in LICENSE.

Contributing

Issues and PRs welcome. See CONTRIBUTING.md.

Credits

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-superpower」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:Wenaixi/dsh-superpower

Headless(CLI)profile:

dsh plugin --profile headless add github:Wenaixi/dsh-superpower

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7819 个插件 →