🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

超能力技能包 Wenaixi/dsh-superpower

DeepSeek Harnessv8.0.0
Wenaixi17 天前有提交已提供中文文档扫描:含敏感能力

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

44.6/100
综合分
25
GitHub 星标
1,161
npm 周下载
—/5
用户评分

数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @wenaixi/dsh-superpower
npm 源 · @wenaixi/dsh-superpower 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · skill
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@wenaixi/dsh-superpower @ 8.0.0
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 02:18:50

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 51 处,展示前 28 条)
  • 读取本地文件
    lib/catalog.js:83
    const dirStat = await stat(this.skillDir);
  • 读取本地文件
    lib/catalog.js:86
    const dirents = await readdir(this.skillDir, { withFileTypes: true, signal });
  • 读取本地文件
    lib/catalog.js:110
    return (await stat(path)).mtimeMs;
  • 读取本地文件
    lib/catalog.js:132
    dirStat = await stat(this.skillDir);
  • 读取本地文件
    lib/catalog.js:145
    dirents = await readdir(this.skillDir, { withFileTypes: true, signal });
  • 读取本地文件
    lib/catalog.js:169
    skillMdMtimes.set(entry.name, (await stat(skillPath)).mtimeMs);
  • 写入本地文件
    lib/catalog.js:312
    await mkdir(join(base, 'alpha'));
  • 写入本地文件
    lib/catalog.js:313
    await mkdir(join(base, 'bravo'));
  • 写入本地文件
    lib/catalog.js:314
    await Promise.all([writeFile(join(base, 'alpha', 'SKILL.md'), md), writeFile(join(base, 'bravo', 'SKILL.md'), md)]);
  • 删除本地文件递归
    lib/catalog.js:320
    await rm(base, { recursive: true, force: true }).catch(() => { });
  • 写入本地文件
    lib/catalog.js:326
    await mkdir(join(base, 'dir-name'));
  • 写入本地文件
    lib/catalog.js:327
    await writeFile(join(base, 'dir-name', 'SKILL.md'), '---\nname: other-name\ndescription: d\n---\nbody');
  • 删除本地文件递归
    lib/catalog.js:333
    await rm(base, { recursive: true, force: true }).catch(() => { });
  • 写入本地文件
    lib/catalog.js:339
    await mkdir(join(base, 'demo'));
  • 删除本地文件递归
    lib/catalog.js:357
    await rm(base, { recursive: true, force: true }).catch(() => { });
  • 删除本地文件递归
    lib/catalog.js:377
    await rm(base, { recursive: true, force: true }).catch(() => { });
  • 删除本地文件递归
    lib/catalog.js:386
    await rm(join(base, 'alpha'), { recursive: true, force: true });
  • 删除本地文件递归
    lib/catalog.js:392
    await rm(base, { recursive: true, force: true }).catch(() => { });
  • 读取本地文件
    lib/document.js:150
    const raw = await readFile(filePath, {
  • 执行外部命令固定命令
    skills/writing-skills/render-graphs.js:72
    return execFileSync('dot', ['-Tsvg'], {
  • 读取本地文件
    skills/writing-skills/render-graphs.js:105
    if (!fs.existsSync(skillFile)) {
  • 执行外部命令固定命令
    skills/writing-skills/render-graphs.js:113
    execFileSync('dot', ['-V'], { stdio: 'ignore' });
  • 读取本地文件
    skills/writing-skills/render-graphs.js:121
    const markdown = fs.readFileSync(skillFile, 'utf-8');
  • 读取本地文件
    skills/writing-skills/render-graphs.js:132
    if (!fs.existsSync(outputDir)) {
  • 写入本地文件
    skills/writing-skills/render-graphs.js:133
    fs.mkdirSync(outputDir);
  • 写入本地文件
    skills/writing-skills/render-graphs.js:142
    fs.writeFileSync(outputPath, svg);
  • 写入本地文件
    skills/writing-skills/render-graphs.js:147
    fs.writeFileSync(dotPath, combined);
  • 写入本地文件
    skills/writing-skills/render-graphs.js:158
    fs.writeFileSync(outputPath, svg);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cosmokit@deepseek-ai/dsh-skill@deepseek-ai/schemastery@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-locale
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 中文化
  • DSH原生
v8.0.02026-10-17
更新内容详见 CHANGELOG.md · 变更 (Breaking Changes) · 全面适配最新 DSH v0.2.1-rc.2 所有细节: - 启用官方最新 engines.dsh 插件版本门禁机制:响应官方 0.2.1 引入的“第三方插件版本兼容性优先按 engines.dsh 判断”的新规范,在 package.json 中显式声明 "dsh": ">=0.2.0-rc.2 <0.3.0-0",以一等公民身份宣告对最新 DSH 0.2.1 体系的原生支持,彻底拒绝旧版本; - 底层核心依赖全面对齐 0.2.1-rc.2:依赖基准升级对齐最新发布的 @deepseek-ai/cordis@4.0.5、@deepseek-ai/schemastery@3.18.5 与 @deepseek-ai/dsh-skill@0.2.1-rc.2; - 最新技能契约深度对齐:SkillDocument 与 SkillCatalog 完备对齐最新 SkillCandidate 与 SkillDefinition 规范,提供 resourceBase: { kind: 'directory', path: dir } 相对资源基准、source: 'bundled' 来源标记、whenToUse 路由引导与 invocation 控制策略;全链路透传 AbortSignal,各级异常捕获块优先识别并 rethrow AbortError,零脏错误污染。 · 彻底拔除旧版历史兼容包袱(坚决不兼容旧版): - 彻底从 Config Schema、接口定义与运行时引擎中拔除已废弃的历史双轨表 modelDisabled 与 userDisabled,配置结构收敛为纯粹的单一 disabled 字典与三态 language; - 彻底移除 SwitchPanelModel 中的 LEGACY_FIELDS、legacyActive 与单开关操作时的 legacyCarry 继承逻辑; - 彻底移除每次写入尾部追加旧表 unset 的冗余操作,单开关切换(toggle)RPC payload 从 3 条压缩至纯粹的 1 条操作,操作负载直降 66%; - 批量控制(enableAll / disableAll / resetAll)RPC payload 压缩至纯粹的 15 条原子操作(即全部 15 个技能名),彻底杜绝宿主版本 revision 乐观锁冲突与状态撕裂。 · 全仓门禁与端到端测试套件现代化重构: - scripts/client.test.mjs:全面重构单测用例,严格断言单开关纯净 1 条 op、批量纯净 15 条 ops,断言即使配置中存在历史旧表也坚决不予读取、不予继承; - scripts/check-skill-switches.mjs:在真实 Cordis + SkillRegistry 上完成场景 3 和场景 4 重构实测,铁证单一 disabled 字典为全系统唯一权威真源,历史旧表完全被忽略; - scripts/config-resilience.test.mjs:TC-R05 与 TC-R07 重构为纯净自愈断言,验证面对极端损坏输入宿主 0 崩溃,且自愈 ops 绝不触碰历史废弃字段; - scripts/lib/contract.mjs:新增静态门禁守卫,全仓铁腕扫描并拦截客户端中对旧字段和 LEGACY_FIELDS 的任何死灰复燃; - 隔离实例真机回读验证:在专属测试 Profile(isolated-sp-test)中通过 Windows 目录联接(mklink /J)直通工作区源码根目录,物理规避 pnpm 快照陷阱,并通过 dsh --dump-config 真实回读组合树真值,确保绝对零影响日常生产实例。 --- 完整更新日志: CHANGELOG.md
v7.7.22026-10-11
更新内容详见 CHANGELOG.md · 修复 · 修复客户端 useSyncExternalStore 引用不稳定导致界面卡死崩溃:为前端控制器 SwitchPanelModel 引入事件驱动快照缓存机制(_cachedSnapshot),未发生状态跃迁时 getSnapshot() 返回严格恒等的对象引用,消除 React 18 判定外部存储变动而陷入的无限递归重渲染死循环;在 updateScope(nextScope) 中补齐 this.scope !== nextScope 恒等守卫,严禁在 render 周期内无条件调用 _notify() 向 React 订阅者派发同步更新信号;并在组件顶层添加表单属性解构防空保护。 · 修复 Schemastery 跨端 Schema.transform 序列化硬伤导致配置通道不可用:在 src/superpowers.ts 中将 disabled 与 language 声明由 Schema.transform(...) 还原为跨端原生的 Schema.any().default(...).volatile();彻底消灭由于 schema.toJSON() 丢失函数回调导致浏览器客户端 settingsSchema.rehydrate 执行 validate 时抛出 TypeError: callback is not a function 的硬伤,使 ConfigFormController.prototype.decode(view) 顺利解析通过并置为 ready,彻底恢复技能开关面板的正常挂载展示。 · 完善客户端状态机回归测试:在 scripts/client.test.mjs 中新增测试用例 TC-10,严格断言 getSnapshot() 的引用恒等性与 updateScope 相同引用下的零无谓广播,确保 React 18 契约长效稳固。 --- 完整更新日志: CHANGELOG.md
v7.7.12026-10-10
更新内容详见 CHANGELOG.md · 修复 · 修复取消信号误吞与脏状态漏洞:src/catalog.ts 的 #scanInternal 循环与 getDefinition 补齐 signal?.aborted || (err as DOMException)?.name === 'AbortError' 守卫并立即 rethrow,彻底杜绝取消信号被误当成「文档解析失败」记入 loadErrors 脏状态或静默返回 undefined;并在 SkillCatalog.selfTest() 中新增 2 组边界自检断言,自检总数扩充至 28 项。 · 客户端构建先验后写原子时序:重构 scripts/build-client.mjs 为「先执行 checkSkillCatalogDrift 校验清单漂移,零漂移后才写入磁盘产物,最后以 assertClientManifest 核验落地」的原子时序,消除二次重复校验,坚决杜绝因源码清单漂移导致磁盘产物被提前脏覆盖污染。 · 解耦无用符号导入并开启严格类型检查:解耦 src/superpowers.ts 中未直接消费的 import,向外重导出纯粹委托给 export ... from;在 tsconfig.json 中强制开启 noUnusedLocals: true 与 noUnusedParameters: true,消除死代码。 --- 完整更新日志: CHANGELOG.md
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-superpower obra/superpowers 的 DSH 移植版。15 个技能注入 ctx.skills,装上就能用;技能正文是上游英文原版,技能名保持上游英文原名,面板可切换每个技能在模型目录与斜杠(/)唤出技能栏中描述的中英文。 安装 需要 dsh 本体(已适配最新 v0.2.1-rc.2 / >=0.2.0-rc.2,安装命令: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 # 进会话,技能自动可用
展开完整文档(README 剩余 1 节)
dsh-superpower

obra/superpowers 的 DSH 移植版。15 个技能注入 ctx.skills,装上就能用;技能正文是上游英文原版,技能名保持上游英文原名,面板可切换每个技能在模型目录与斜杠(/)唤出技能栏中描述的中英文。

安装

需要 dsh 本体(已适配最新 v0.2.1-rc.2 / >=0.2.0-rc.2,安装命令: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 插件开发规范、架构参考与真机验收工程方法
预览分享卡片长什么样 ↓Wenaixi/dsh-superpower
分享 · DeepSeek Harness Hub
Wenaixi/dsh-superpower

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

这是你的仓库?认领条目

回到顶部