
说实话我一开始听到superpowers这个词下意识觉得又是某个炒作概念。直到我自己在终端里敲完几条指令看着AI自动拆任务、跑测试、修报错、再提交才明白这名字不是夸张——它形容的是一种状态当AI编程工具被加持了一套明确的工作协议之后它做的事情会从“帮你写代码”升级成“替你干活”。这里的superpowers本质上是一套面向codex这类命令行AI编程助手的增强配置方案包含能力定义文件、任务协议、可用工具白名单和约束规则。它解决的问题非常具体AI生成代码容易但让它稳定、连续、可控地完成一个完整任务很难。只要你不给它立规矩它就会自由发挥然后把你晾在编译错误和测试失败中间。这篇内容就是给那些想真正把AI当成项目级伙伴、而不是一个偶尔用一下的代码生成器的开发者看的。我会从设计思路、安装步骤、核心配置到Java项目的实操过程一路讲下来最后附上我踩过的坑和排查方法。1. 先搞清楚一件事superpowers到底给AI补了什么能力1.1 它补的不是智商是“工作纪律”很多朋友觉得AI编程助手不够聪明代码写得烂。但我用了几个月之后的感受恰恰相反大部分问题不出在“智商”而出在“纪律”。普通的codex会话是什么样你问一个需求它立刻生成一大段代码然后回复一句“完成”。但这段代码大概率没有考虑边界条件没有配套测试甚至没确认能不能编译。你不催它它不会主动检查你让它改一个函数它可能顺带把另一个文件的变量名也给改了。这不是模型能力不够而是它缺少一套强制性的工作流程。superpowers的价值就在这里。它不是某个单一的“超级大模型”而是一组项目级配置和提示协议告诉AI你接到任务后要先做什么、后做什么、什么情况下必须停下来问、什么情况下不许动。它把“探索项目结构 → 制定改动方案 → 实施修改 → 运行测试 → 自检修复”这套流程固化下来让AI每次干活都按同一个节奏走。我自己的理解是它相当于给“运动员”配了一个“教练员”。运动员的反应能力本来就快但没人指挥的时候会乱跑superpowers就是那个教练负责喊停、给路线、盯着动作规范。你真正要训练的不是AI的代码能力而是它的执行流程。1.2 为什么现在这种增强方案突然火起来原因其实很现实。最初级的AI编程用法大家都会了就是打开对话框提问、复制答案、粘贴到编辑器。但这类用法只能处理碎片化任务离“自动化开发”还差得远。过去一年里codex这类工具逐渐具备了读文件、改文件、跑命令的能力等于说AI的手已经伸出来了——但大家很快发现手伸出来乱动反而更麻烦像是一个手脚不协调的实习生。于是社区开始意识到必须靠外部约束来驯化AI的行为。superpowers这类方案的走红本质上是“AI工具落地”这个阶段的必然产物。它说明大家已经从“看AI写代码”过渡到“管理AI写代码”的阶段了而管理就必须靠协议、规则、清单和验证点。热搜词里同时出现“superpowers使用教程”“codex superpowers”“superpowers 安装”也印证了这一点核心用户已经不是在尝鲜而是在寻求一套稳定可复制的工作方法。1.3 你手头的codex环境适合接入吗在往下看安装步骤之前建议先对号入座一下。如果你属于下面第一类那这个工具对你来说是神器如果你属于第二类也可以先了解将来用得上如果是第三类可以先不折腾。适合接入日常使用codex或类似CLI工具写代码、改Bug、补测试但经常被AI“半吊子交付”坑到的开发者手上有一个或多个成熟项目、希望AI按团队工程规范干活的工程师。可以试试正在评估AI编程工具是否能接入正式研发流程的技术负责人想给团队建一套统一AI工作规范的DevOps角色。暂时别碰只在网页版聊天框里问问题、不接触命令行工具的纯小白。这套方案的前提是AI能直接操作文件系统和执行命令光有网页对话框玩不转。一句话superpowers不是让AI变得更聪明而是让它更懂事。接下来我要讲的安装和配置全部围绕“懂事儿”这三个字展开。2. 安装与初始化从零到跑起来需要几步2.1 安装前先检查环境三个必要条件我接触过的各种所谓“AI增强工具”十有八九是因为环境不对才装不上的。superpowers的安装门槛不算高但前提条件一个都不能少。Node.js环境大部分安装脚本和依赖解析机制都基于Node生态建议Node版本在18以上。终端里用node -v检查一下低于16的话很多工具链会莫名报错。git命令行superpowers本质上是把一套配置文件拉取到你的项目目录里没有git寸步难行。顺便说一句如果你所在的项目本来就用了GitHub或者GitLab这一步基本是现成的。可用的codex或其他兼容CLI工具superpowers要发挥作用必须连接到能读文件、能执行命令的AI编程代理。如果你手头还没装codex请先装好并登录确认它能在一个空白目录里跑通最简单的“读文件、改文件”流程再回头搞superpowers。另外强烈建议准备一个独立的测试项目目录别一上来就往生产仓库里塞配置。毕竟你要改动的是AI的工作逻辑在真实项目里试错成本太高。我见过有人直接在核心服务仓库里初始化结果AI突然开始按新协议大改代码吓得大家赶紧回滚。2.2 两种初始化方式命令安装与模板手动部署我接触过多个叫superpowers的开源配置包实现细节略有差异但大致都提供两种安装路线要么用包管理器初始化要么手动拉取模板文件。下面以常见做法为例说明具体仓库地址以你搜索到的官方源为准。第一种方式是用npx之类的命令初始化。在项目根目录执行npx superpowers/init这个命令会做几件事在当前目录创建一个.superpowers/配置目录生成一份默认的manifest.json或者协议文件检测项目类型Maven、Gradle、npm、pip等生成对应的默认规则片段。整个过程是交互式的它会问你几个问题比如“你主要用什么语言”“AI能不能自动运行测试”“是否允许AI安装新依赖”。这些回答会被写进配置里作为AI行为的硬约束。第二种方式更偏手动。如果你不想用初始化器可以直接把配置模板克隆到项目里git clone https://github.com/你的可信来源/superpowers.git .superpowers然后手动编辑.superpowers/下的核心文件。这种方式的优点是看得懂每一行配置排查问题方便缺点是需要自己维护模板升级。我个人更推荐第一种。因为交互式初始化会逼你在安装阶段就想清楚“到底允许AI做什么”而不是装完以后全凭默认配置连约束边界都不清晰。2.3 验证安装是否成功跑一个“健康检查”任务装完之后别急着进入正式开发先跑一个微型任务验证配置是否生效。你可以让codex执行这样一句话请读取 .superpowers 目录下的所有配置文件然后用不超过200字说明你在后续工作中必须遵守的三条最核心规则。如果AI能准确说出“先做计划再动手、每次修改后运行测试、不随意改动无关文件”这类内容说明superpowers的指令已经被成功加载。如果AI一脸茫然地回答“我没有找到相关配置”那就要检查AGENTS.md的引用路径是否正确或者配置文件有没有语法错误。还有一个小技巧在验证时看AI的输出风格。加载成功的AI会明显变得“结构化”经常在回答里带上步骤列表、状态标注和确认询问没加载成功的AI则比较发散容易直接甩一段代码。只通过输出风格就能判断八九不离十。3. 核心配置把能力面板调节到适合你的项目3.1 能力开关告诉AI你允许它动什么superpowers的核心概念之一是显式声明AI的“权限边界”。这一点太重要了我甚至觉得它比提示词技巧更关键。在.superpowers/rules.json或者对应的协议文件里一般会有类似这样的结构{ allowed_commands: [ cat, grep, find, ls, npm test, mvn test, git status ], allowed_modifications: [ src/main/java/**, src/test/java/** ], require_confirmation: [ rm -rf, git push, npm install, mvn dependency:resolve ] }看明白了吗这个文件不是在教AI怎么写代码而是给它画了一个“活动范围”。AI在范围内可以自由发挥出圈就必须停下来问你要授权。我强烈建议第一次配置时把边界收窄只允许它改src/main/java、src/test/java等核心目录把rm -rf、git push这类危险操作全部设为“需要确认”。等用熟了、确认AI的行为足够稳定再逐步放开。很多翻车事故都是因为一上来就给AI开了全权限让它顺手摸了配置文件、缓存目录甚至git历史最后改得一团乱。3.2 工作协议让AI按团队节奏一步步干活权限边界解决的是“能不能动”的问题工作协议解决的是“怎么动手”的问题。一个典型的superpowers工作协议会包含下面几条规则你可以直接参考并调整成自己的版本先摸清现状再动手接到需求后的第一步必须是读相关文件、梳理项目结构、列出潜在影响点。没搞明白现状之前禁止直接写新代码。先出计划后写实现任何超过20行的改动都要先输出一份改动清单内容包括涉及文件、改动目的、风险点等用户确认后才继续。每次修改后必须自验改完代码不能急着收工必须运行对应的编译命令和测试命令并根据结果决定继续修复还是交付。遇到障碍要主动说明如果发现异常报错、依赖缺失、逻辑冲突必须停下来向用户报告而不是静默绕过问题。一次只做一件事一个会话周期内聚焦当前任务不要顺手做代码格式化、目录重构等无关操作。这几条看起来朴素但配上codex的自动执行能力之后AI的工作模式会从“一遍过”变成“多轮迭代”。实际效果非常明显我的项目里AI生成的代码第一遍通过率其实没有显著提升但它会自己发现问题并修复最终交付质量提升了不止一个档次。3.3 Java项目场景的特殊配置要点热搜词里出现了“superpowers java”说明很多人在Java项目里折腾这个这确实需要单独说几句。Java项目的构建链路长、类型约束严、依赖关系复杂AI很容易在“看起来合理”的地方栽跟头。首先明确构建工具就是最重要的规则之一。如果你用Maven就在协议里写死mvn test如果是Gradle就写死gradle test。不要让AI自己猜也不要允许它同时使用两套构建命令否则它会经常在两条命令之间换来换去然后因为环境不一致产生各种灵异报错。其次Java项目很容易遇到测试时间过长的问题。如果某个模块的全量测试要跑5分钟AI每改一行代码就全量跑一遍效率会低到你想砸键盘。建议在协议中约定“按包或按类运行测试”的策略例如运行测试时优先使用 -Dtestxxxx 定位到受影响的测试类只有全量回归时才运行 mvn test。再次Java的依赖管理最好设置为“需要确认”。Maven和Gradle在解析新依赖时会下载大量jar包而且AI自动往pom.xml里塞依赖往往是版本冲突的开端。我至少被坑过两次一次它引入了跟现有Spring版本不兼容的库另一次它给module-info.java造成了类加载问题。让AI先把“需要添加某个依赖、版本是多少、用来干什么”的说明发给你确认你批准后它再改pom文件。3.4 通过AGENTS.md让codex自动加载superpowers配置写得再完美如果AI启动时没读到也等于白搭。codex这类工具遵循一个约定启动时会自动读取项目根目录下的AGENTS.md把它作为基础指令的一部分。所以你要做的事情很清晰在项目根目录建一个AGENTS.md然后在里面显式引入superpowers的配置文件# AGENTS.md 本项目的所有AI辅助开发行为必须遵循 .superpowers/ 目录下的工作协议。 - 能力边界见 .superpowers/rules.json - 工作流程见 .superpowers/protocols.md - 项目特有约束见 .superpowers/project_context.md 在执行任何代码修改前必须阅读以上三份文件。这里我把“必须阅读以上三份文件”写成了显式指令。实际测试下来如果不加这句话AI有时只会读取AGENTS.md本身而不去读被引用的外部文件导致superpowers没有真正生效。加上之后它读取外部配置的概率会高很多。还有一个细节AGENTS.md不要在开头堆太多“你是一个专业的程序员”之类废话直接进入指令主体越干练越好。AI对长文本的注意力是有限的前面铺垫越多后面真正重要的规则反而容易被忽略。4. 实操演示用superpowers完成一个完整的Java功能开发4.1 任务背景与目标理论讲再多不如完整走一遍。我用一个贴近真实工作的场景演示。假设你有一个Spring Boot的订单管理项目现在的需求是新增一个月度订单报表导出接口接口路径是/api/orders/report/monthly返回CSV格式文件字段包括订单号、客户名、订单金额、下单时间接口只允许管理员角色访问现有测试必须全部保持通过。这个需求不算复杂但非常适合用来检验superpowers的工作协议因为它涉及Controller层、Service层、数据查询层、权限配置、测试补充等好几个环节AI很容易一上来就只写一个Controller然后宣称完成。4.2 发起任务如何把需求描述成AI能执行的指令在codex终端里我习惯把需求描述拆成三个部分目标、约束、验收标准。目标新增月度订单报表导出接口 /api/orders/report/monthly输出CSV文件。 约束只允许管理员角色访问字段包含订单号、客户名、订单金额、下单时间金额用两位小数格式化。 验收标准现有测试全部通过新接口有对应的单元测试代码符合项目现有的Controller-Service-Repository分层结构。 请先按superpowers协议输出改动计划等我确认后开始实现。最后一句话是重点。普通用法下一句“帮我实现”就完事了但superpowers模式下AI会先读项目结构、看现有的Controller写法、确认权限控制方式然后输出改动计划。这一步最大的好处是什么是你可以在它动手之前拦下错误决策。有一次AI的计划里写着“创建新的ReportController并复制现有Controller的权限注解”我一眼看出它没注意到项目里已有统一的BaseController和自定义权限注解差点又要产生重复代码。如果它直接动手改我再收拾就很费劲了。4.3 执行过程从拆解到自验的关键节点在superpowers协议的驱动下codex的执行过程大致可以分为几个阶段我观察到的关键节点如下阶段一项目勘察。它会读取Controller层目录、Service层目录、Repository层、实体类、权限配置类、pom.xml确认现有哪些类可以复用。这个阶段AI通常不会给出醒目的输出只是静默处理。阶段二输出计划。它会列出要新建的文件、要修改的文件、需要引入的依赖以及每个文件的职责。如果计划里有你不同意的点这时候可以直接打断并修正。阶段三逐文件实现。这个过程比较慢但很扎实。AI会按顺序创建DTO、Service接口、实现类、Controller、异常处理、CSV生成工具类。阶段四补测试。协议要求它必须为新增接口写单元测试。MockMvc请求、鉴权失败用例、正常导出用例这套测试往往比手写还规整。阶段五自验修复。执行mvn test如果失败则阅读报错信息、定位修复、重新测试循环直到通过。我特别想强调阶段五的价值。没有superpowers的时候AI的交配点就是“我把代码写完了”有了协议之后AI的完成点变成了“我验证过了能跑通”。这个差异就是“工作交接”和“写完了不管”的区别。4.4 中途纠偏发现AI跑偏后的冷静处理再好的协议也挡不住偶尔的意外关键是出问题时怎么纠偏。我在这次演示中就遇到过一个典型情况AI在实现报表查询时没有复用现有的OrderRepository反而创建了一个新的ReportRepository用一堆原生SQL把订单表统计逻辑重复实现了一遍。问题根源在于协议里只写了“先做计划再动手”但计划环节它对“复用现有类”的判断不够严格。这时候我直接在终端里打断它输出了纠偏指令你刚才的计划里没有复用OrderRepository这会导致查询逻辑重复。请撤销ReportRepository相关的改动改为扩展OrderRepository的查询方法然后重新输出改动计划让我确认。codex会停下来重新读一遍代码确认你有道理然后调整计划。整个过程不到两分钟。如果是在没有superpowers的模式下这段偏离代码可能已经写完了你还得手动删掉重来。这次经历给我的启发是协议不是用来完美约束AI的而是用来给“纠偏时机”提供缓冲区的。AI跑偏不可避免关键是你能不能在它写无效代码之前发现。5. 常见问题与排查技巧实录5.1 我踩过的四个坑和排查思路坑一AGENTS.md引用了superpowers但AI就是不读外部文件。这个问题让我困惑了很久后来发现是因为我把AGENTS.md写得太长AI读到一半注意力就散了。解决方法是把引用指令放在文件最前面并且用显式命令“必须阅读”。现在我的AGENTS.md前六行永远只有引用和路径其他内容一律放后面。坑二AI周期性“遗忘”规则后面越改越放飞。实际原因是上下文窗口有限随着对话变长早期注入的规则会被稀释掉。解决方案有两个一个是让AI每完成一个阶段就输出“当前状态和下一步”的简短摘要保持关键信息活跃另一个是在任务中途主动要求AI“复述你正在遵守的三条核心规则”如果它复述不出来说明指令权重已经掉了需要重新强调。坑三Java项目测试超时导致AI卡死循环。一开始我允许AI运行全量测试只要有一个测试挂掉它就反复全量跑每次好几分钟。后来我在协议里限定“定位到具体测试类运行”并给它加了超时概念一条命令运行超过60秒就要改为更小范围的验证方式。这个改动后AI的修复效率几乎翻倍。坑四AI修改了不该动的配置文件。比如有一次它顺手把application.yml里的日志级别给改了理由是“调试时需要看更多日志”。这个问题靠权限白名单解决。把application.yml、pom.xml等关键配置列入“修改需确认”清单AI就不敢再动了。5.2 一份拿来就能用的问题速查表问题现象可能原因排查与解决方案AI完全无视superpowers规则AGENTS.md没有正确引用外部配置检查AGENTS.md路径确认配置目录存在手动要求AI“阅读.superpowers目录”规则前期生效后期失效上下文过长指令注意力被稀释阶段间让AI输出简短摘要中途复述核心规则重新激活指令权重AI频繁跑全量测试导致卡顿缺少测试范围约束在协议里限定用-Dtest定位测试设置单命令执行时长上限AI修改了受限文件权限边界没有配置到位在rules.json中把关键配置类文件设为require_confirmation初始化命令报错Node版本过低或网络受限检查node -v切换镜像源尝试手动git clone模板AI反复在同一个编译错误上打转上下文里没有完整错误信息要求AI先输出完整错误栈再分析确认该命令的输出未被截断多个Java模块串扰改动影响了别的模块项目结构理解不完整在project_context.md中明确模块边界要求AI列出现有模块清单5.3 让协议持续生效的独家经验最后分享一个我最重要的经验把superpowers当成活文档来养不要初始化完就再也不碰。项目结构会变、团队规范会变、AI模型版本也会变。每隔两到三周我会做一次“规则审计”把最近踩过的坑写成新规则把不再适用的旧规则删掉把放在太靠后的重要规则往前移。这个习惯让配置保持精简和新鲜。比如我最近就加了一条“所有金额字段输出时必须用BigDecimal或格式化工具禁止直接在拼接字符串中处理”这是上周一个浮点精度bug教会我的。另一个小技巧是给团队里所有人都用同一套配置放在一个共享仓库里用git子模块方式引入。这样任何一个工程师踩到坑更新规则之后全团队的AI行为都会同步改善。一个人养规则、一队人受益这个累积效果非常大。6. 最后再聊聊worbbuddy这类工作台的接入思路6.1 工作台与命令行工具的本质区别搜“superpowers”的热词里有一句是“worbbuddy 怎么用 superpowers”我猜提问者用的不是裸codex而是worbbuddy这类带图形界面或集成工作台的产品。这类工作台本质上是把AI编程能力封装进了更友好的交互界面但底层仍然需要一个能读写代码、执行命令的AI执行引擎。接入superpowers的时候不要把工作台和CLI工具对立起来看。工作台负责“显示和交互”superpowers负责“给AI定规矩”两者是不同层的事情。所以核心方法论不变都是通过项目级的指令文件来约束AI行为。6.2 把superpowers塞进现有工作台的通用做法如果你用的是worbbuddy这种工作台大概率它也是从头目录中读取指示文件来设定AI角色。通用的接入步骤是这样的第一步在工作台对应的项目目录下创建.superpowers/配置目录。第二步查看工作台是否支持AGENTS.md或类似机制。如果支持写一个引用文件指向.superpowers/下的协议文件如果不支持就把协议内容直接粘贴到工作台的“自定义指令”或“角色设定”输入框里。第三步在聊天面板里显式发出一条验证指令“请描述你在这个项目里必须遵守的前三条规则。”确认AI能准确回答再开始正式任务。有些工作台还支持“会话开始自动注入固定指令”的功能这个可以优先用起来比手动复制粘贴稳定得多。我自己的习惯是在工作台绑定一个快捷键一键插入“superpowers协议引用”模板省得每次都打一串。说白了界面换了规则照样能跑。重要的是你愿不愿意把“AI的行为边界”当成一个正经的工程配置去管理而不是听天由命。我个人现在的工作习惯已经离不开这套协议了。不是因为我信不过AI而是因为我发现给它一套稳定的工作秩序之后你终于可以把注意力放回真正需要人判断的地方——业务逻辑、架构决策、代码评审。规则文件这种东西表面积很小但它是把AI从“偶发有用”推向“持续可用”的那一块拼图。你踩过几次坑之后会觉得这些配置不是麻烦而是真正帮你兜底的保险丝。