1. 为什么 Claude Code 需要 Superpowers 这套工作流
Claude Code 本身已经能读写文件、跑命令、改代码,但默认状态下它更像一个反应很快的实习生:你说一句它写一段,写着写着需求就跑偏了,文件越堆越多,最后你自己都理不清哪段是干嘛的。这种「凭感觉写代码」的方式,社区里叫 vibe coding,短脚本还行,一旦项目超过三五个文件就开始失控。
Superpowers 解决的就是这个问题。它把一套接近专业团队的开发方法论固化成了 Claude Code 的插件:先澄清需求,再写开发计划,然后分步实现,最后测试收尾,每一步都有检查点。你不需要每次手动提醒 AI「先别写,先问我几个问题」,插件会自动把流程拉起来。
这篇文章面向的是已经装好 Claude Code、想让 AI 真正参与写代码的开发者。我会从环境准备讲到能力接入,再到实际跑一个「图片文字识别 + 红框标注」的 Python 小项目来验证效果,中间把配置片段、验证命令和常见报错都摊开讲。整套流程跑通之后,你手里就有了一条可复用的 AI 辅助编码流水线,而不是每次靠运气。
需要提前说明的是,Claude Code 要稳定调用模型,得有一个能正常访问 Anthropic 接口的通道。我这边用的是 TaoToken 的接入方式,后面会给出具体的环境变量配置。如果你已经有可用的通道,直接跳到第 3 节看 Superpowers 的安装即可。
先明确一下 Superpowers 装好之后你会得到什么。它注册了三个核心命令:/superpowers:brainstorm负责多轮对话澄清需求,/superpowers:write-plan负责产出开发计划,/superpowers:execute-plan负责按计划执行。这三个命令串起来,就是一条从「我有个想法」到「代码跑通并测试」的完整链路。安装成功的标志也很直观,在 Claude Code 里输入/su能补全出这三个命令就对了。
很多人卡在第一步不是不会装插件,而是 Claude Code 连模型都不稳,插件命令还没跑起来就报连接错误。所以下面先把接入通道配好,再谈 Superpowers。
2. TaoToken 接入 Claude Code 的前置配置与 API Key 获取
Claude Code 默认走 Anthropic 官方端点,国内直连经常超时。TaoToken 提供的是兼容 Anthropic 协议的接入地址,配置方式就是改环境变量,不需要动 Claude Code 本身的代码。
第一步,打开 TaoToken 控制台创建 API Key。地址是 https://taotoken.net/console ,登录后在 API Keys 页面新建一个密钥,复制出来先存好,后面配置要用。这个 Key 就是 Claude Code 调用模型时的身份凭证,别泄露到公开仓库里。
第二步,配置环境变量。Claude Code 读取的是ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN这两个变量。Base URL 填https://taotoken.net/api,注意这里不加任何查询参数。在 Linux 或 macOS 的终端里可以这样写:
export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_AUTH_TOKEN="sk-你刚才复制的Key"Windows 的 PowerShell 里换成:
$env:ANTHROPIC_BASE_URL="https://taotoken.net/api" $env:ANTHROPIC_AUTH_TOKEN="sk-你刚才复制的Key"如果你希望每次开终端都自动生效,Linux/macOS 可以把这两行追加到~/.bashrc或~/.zshrc,Windows 则用系统环境变量面板添加。我试过直接在项目里用.env文件,但 Claude Code 启动时不一定加载,还是写进 shell 配置最稳。
第三步,验证通道是否通。最直接的办法是启动 Claude Code 后随便问一句,看它能不能正常回。也可以先用 curl 探一下接口:
curl https://taotoken.net/api/v1/messages \ -H "x-api-key: sk-你的Key" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 64, "messages": [{"role": "user", "content": "ping"}] }'返回里带content字段就说明通道正常。如果返回 401,多半是 Key 复制错了或者带了多余空格;如果连接超时,检查 Base URL 是不是写成了带路径的完整地址。
这里有个细节值得说:Claude Code 不同版本读取的变量名略有差异,有的版本认ANTHROPIC_API_KEY,有的认ANTHROPIC_AUTH_TOKEN。保险起见两个都设上,值一样就行。设置完记得重开一个终端窗口,让变量生效。
通道打通之后,Claude Code 才能稳定执行插件命令。Superpowers 的安装过程本身也要联网拉取插件市场,所以这一步不能省。关于接入的更多细节,可以看官方文档 https://taotoken.net/doc ,里面有各客户端的配置示例。
3. Superpowers 插件安装与可复制配置片段
Superpowers 的安装有两种方式,选一种就行,前提是上一步的通道已经通了,否则插件市场可能拉不下来。
方式一,通过第三方插件市场安装。在 Claude Code 会话里依次输入:
/plugin marketplace add obra/superpowers-marketplace /plugin install superpowers@superpowers-marketplace第一行是注册市场,第二行是从这个市场装插件。方式二,走 Claude Code 官方插件市场:
/plugin install superpowers@claude-plugins-official两种方式装的是同一个东西,官方市场省去了注册步骤,但有时候同步会慢一点。我实测下来第三方市场更新更及时,推荐用方式一。
安装完成后,输入/su看补全列表,出现下面三个命令就说明成功了:
/superpowers:brainstorm /superpowers:write-plan /superpowers:execute-plan如果/su没有任何补全,说明插件没加载上,先检查 Claude Code 版本,再确认插件目录里有没有 superpowers 的文件夹。
除了插件本身,Claude Code 的配置文件也建议顺手固化一下,避免每次重装环境都要重来。Claude Code 的用户级配置一般在~/.claude/settings.json,项目级配置在项目根目录的.claude/settings.json。一个可复制的项目级配置片段长这样:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的Key" }, "permissions": { "allow": [ "Bash(python:*)", "Bash(pip:*)", "Read", "Write", "Edit" ] } }这个片段做了两件事:把接入地址和 Key 写进项目配置,省得依赖 shell 环境变量;放开 Python 和 pip 的执行权限,因为 Superpowers 执行计划时会自动跑测试,权限卡太死会频繁弹确认。注意 Key 写进项目配置有泄露风险,如果项目要提交到公开仓库,把 Key 换成环境变量引用,或者干脆只放在用户级配置里。
如果你用的是 Codex 或 Cline 这类工具,配置思路类似,核心三件套永远是 Base URL、Key、Model ID。以 Codex 的auth.json为例,结构大致是:
{ "base_url": "https://taotoken.net/api", "api_key": "sk-你的Key", "model": "claude-sonnet-4-20250514" }Model ID 要和你实际调用的模型对上,写错了会报模型不存在。Claude Code 里一般不用手动指定模型,插件会沿用当前会话的模型设置。
配置写完后重启 Claude Code,让它重新加载 settings。这一步别偷懒,我踩过的坑就是改完配置没重启,折腾半天以为插件坏了,其实是旧配置还在内存里。
4. 用图片文字识别项目验证 Superpowers 全流程
配置就绪后,用一个真实需求来验证整条链路。我选的任务是:开发一个 Python 程序,读取图片上的文字,并用红色方框标注出文字位置,开发完成后自动测试和验收。这个任务有明确的输入输出,又涉及第三方库,很适合检验 Superpowers 的流程控制能力。
在 Claude Code 里直接输入需求,然后回车。它会自动匹配到 Superpowers 的 skill,拉起工作流。第一步是 brainstorm,AI 会反过来问你几个问题,比如图片格式支持哪些、中英文都要识别吗、标注框的粗细有没有要求。这一步别嫌烦,正是它在澄清需求,回答得越具体,后面返工越少。
需求澄清完,进入 write-plan,AI 会产出一份开发计划,列出要装哪些依赖、分几个文件、测试怎么设计。计划确认后进入 execute-plan,开始实际写代码。几秒钟后它写出主程序,询问是否保存.py文件,选 yes。接着配置项目环境和依赖,需要创建requirements.txt,同样选 yes。再下一步创建测试文件,还是 yes。
依赖这块它一般会选pytesseract加Pillow,前者做 OCR,后者画框。pytesseract依赖系统的 Tesseract 引擎,如果本机没装,运行时会报TesseractNotFoundError。这时候 Superpowers 的检查点就体现价值了,它会在测试阶段发现这个错误,然后提示你安装引擎,而不是默默失败。
测试跑起来后,如果识别结果不对或者框的位置偏了,它会自动修改代码再跑一遍。这个「测试失败自动修」的循环是 Superpowers 最实用的地方,相当于把 TDD 的节奏交给了 AI 来维持。
最终成果是两张东西:一张自动生成的测试图片,上面有中文和英文文字;以及程序执行后输出的标注图,文字位置被红色方框圈了出来。看到红框准确套在文字上,就说明整条链路从需求澄清到测试验收全部跑通了。
这里给一段核心代码的结构参考,方便你理解它生成了什么:
from PIL import Image, ImageDraw import pytesseract def detect_and_mark(image_path, output_path): img = Image.open(image_path) draw = ImageDraw.Draw(img) data = pytesseract.image_to_data(img, lang="chi_sim+eng", output_type=pytesseract.Output.DICT) for i, text in enumerate(data["text"]): if text.strip(): x, y, w, h = data["left"][i], data["top"][i], data["width"][i], data["height"][i] draw.rectangle([x, y, x + w, y + h], outline="red", width=2) img.save(output_path)lang="chi_sim+eng"表示同时识别简体中文和英文,需要系统装了对应的语言包。如果只识别英文,去掉chi_sim+即可。
整个验证过程下来,你会发现 Superpowers 的价值不在写代码本身,而在于它强制 AI 走完「问清楚、想明白、再动手、最后验」的闭环。没有这套流程,同样的需求 AI 可能直接甩一段代码给你,跑不跑得通全看运气。
5. 集成过程中的常见报错与排查对照
跑通流程不代表一路顺风,下面这几个报错是我和身边朋友实际遇到过的,对照着排查能省不少时间。
第一个,401 Unauthorized或invalid x-api-key。这基本是 Key 的问题,检查三处:Key 有没有复制完整、有没有多余空格、环境变量有没有生效。用echo $ANTHROPIC_AUTH_TOKEN确认一下当前 shell 里的值。如果 Key 是对的还报 401,可能是 Key 被禁用或额度用尽,去控制台看一眼状态。
第二个,local proxy failed或连接被拒绝。这类错误通常出在 Base URL 上。确认写的是https://taotoken.net/api,不要多加/v1或别的路径,也不要带查询参数。有些教程会让你填完整端点,但 Claude Code 会自己拼接路径,填多了反而错。
第三个,reading choices相关的解析错误。这个报错说明返回的数据结构不是 Claude Code 预期的格式,常见原因是 Base URL 指向了一个 OpenAI 兼容端点而不是 Anthropic 兼容端点。TaoToken 的/api是 Anthropic 协议,如果你误填了别的地址,就会解析失败。检查配置里的 URL 是不是被别的工具改过。
第四个,OAuth 相关的报错,比如提示需要登录或 token 过期。Claude Code 某些版本会尝试走 OAuth 流程,如果你用的是 API Key 模式,需要在配置里明确禁用 OAuth,或者确保ANTHROPIC_AUTH_TOKEN优先级高于登录态。实在不行,清掉~/.claude下的登录缓存再重启。
第五个,插件命令不生效,/su没有补全。先确认插件装没装上,去~/.claude/plugins目录看有没有 superpowers 文件夹。没有的话重新执行安装命令。有文件夹但命令不出现,多半是 Claude Code 版本太旧,升级到最新版再试。
第六个,TesseractNotFoundError。这是项目层面的报错,不是接入问题。说明系统没装 Tesseract 引擎。Ubuntu 上sudo apt install tesseract-ocr tesseract-ocr-chi-sim,macOS 上brew install tesseract tesseract-lang。装完把路径加进环境变量,或者代码里用pytesseract.pytesseract.tesseract_cmd指定。
排查的时候有个通用思路:先分清是接入层的问题还是项目层的问题。接入层的报错通常出现在 Claude Code 启动或发请求时,项目层的报错出现在执行计划、跑测试时。前者查环境变量和 URL,后者查依赖和系统库。分清了方向,定位就快很多。
如果接入层反复报错又找不到原因,可以去 https://taotoken.net/api-keys 重新生成一个 Key 试试,排除 Key 本身的问题。文档页 https://taotoken.net/doc 里也有各客户端的排错说明,对照着看更直观。
6. 把 AI 编码流程固定下来的几个实用建议
跑通一次不代表每次都能顺,想把这条流程变成日常习惯,有几个点值得注意。
第一,需求描述尽量带验收标准。Superpowers 的 brainstorm 会追问,但如果你一开始就说清楚「输入是什么、输出是什么、怎么算成功」,澄清轮次会少很多。比如「识别图片文字并用红框标注」就比「做个 OCR 工具」好得多,后者 AI 得猜你要命令行还是 GUI。
第二,计划阶段别急着跳过。很多人看到 write-plan 产出的计划觉得啰嗦,直接确认执行,结果中途发现方向不对。花一分钟扫一眼计划里的文件结构和依赖,能挡掉大部分返工。
第三,测试失败自动修是好事,但要盯着它改了什么。AI 有时会用「绕过测试」的方式让测试通过,比如把断言改松。发现这种情况及时叫停,让它改实现而不是改测试。
第四,配置尽量固化到项目里。把 Base URL、Key、权限写进.claude/settings.json,换台机器 clone 下来就能用。Key 敏感的用环境变量引用,别硬编码。
第五,长期做编码和 Agent 任务的话,可以考虑用 Coding Plan 这类套餐,比按量计费更划算,适合高频调用。地址在 https://taotoken.net/coding-plan ,具体额度自己按用量评估。
第六,模型选择上,复杂任务用能力强的模型,简单脚本用轻量模型,别一律上最贵的。Claude Code 里切换模型比较方便,按任务复杂度来。
最后说个我自己的习惯:每次用 Superpowers 跑完一个任务,把生成的计划和测试文件留着,下次遇到类似需求可以直接参考它的拆解方式。用久了你会发现,这套流程真正训练的是你自己拆解问题的能力,AI 只是把这个过程显性化了。