尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AI 辅助开发实战:Openspec + Superpowers 工作流配置与验证

AI 辅助开发实战:Openspec + Superpowers 工作流配置与验证 1. 为什么要在 Claude Code 里把 Openspec 和 Superpowers 拼起来用如果你已经在 Claude Code 里写过几个真实项目大概率遇到过这两种别扭一种是让 AI 直接开写代码能跑但结构随缘需求一变就推倒重来另一种是需求文档写得很漂亮但落到代码时 AI 又开始自由发挥规范和实现两张皮。Openspec 和 Superpowers 正好各治一半——Openspec 是规范驱动的开发框架主张先定规范再动手、每个变更独立归档Superpowers 是编码 agent 的执行框架主张先把需求问清楚再拆成 2-5 分钟能完成的小任务用 subagent 并行执行并做双重审查。把这两个东西组合起来的思路其实很朴素用 Openspec 替代 Superpowers 自带的 brainstorm 环节把 Openspec 产出的 tasks.md 直接喂给 Superpowers 的 writing-plans然后关掉 Openspec 自己的 apply 命令让实现环节完全交给 Superpowers。这样需求拆解有规范兜底代码生成有执行框架约束中间不用人工搬运上下文。这篇面向需要在 Claude Code 里做规范化需求拆解与代码生成衔接的开发者交付一套可复制的 settings.json 与 config.toml 骨架、TaoToken 统一 Key/API 通道的接入配置以及工作流跑通后的验证动作和报错排查清单。适合谁已经装好 Claude Code、想把手写 prompt 升级成可复用工作流的同学也适合团队里想把 AI 辅助开发流程固定下来的技术负责人。2. 前置准备TaoToken 统一 Key 与 API 通道接入在配置工作流之前先把模型通道打通。TaoToken 提供统一的 API 入口Claude Code 以及后续 Superpowers 触发的 subagent 都走同一个 Key省得每个插件单独配一遍。官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 这个地址不加 UTM 参数。第一步去控制台创建 API Key。打开 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 登录后在 API Keys 页面新建一个 Key复制出来先存到本地环境变量里别直接写进会提交到 git 的配置文件。具体操作页在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。第二步把 Key 写进 shell 环境。macOS 或 Linux 下编辑~/.zshrc或~/.bashrcexport TAOTOKEN_API_KEYsk-你的key export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEY$TAOTOKEN_API_KEYWindows PowerShell 用户用$env:TAOTOKEN_API_KEYsk-你的key $env:ANTHROPIC_BASE_URLhttps://taotoken.net/api $env:ANTHROPIC_API_KEY$env:TAOTOKEN_API_KEY这里把ANTHROPIC_BASE_URL指向 TaoToken 的 API 基址Claude Code 默认读这两个环境变量改完重开终端生效。如果你用的是 Claude Code 的 Anthropic 兼容接入方式参考文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里的说明路径和鉴权头都对齐了不用额外改。注意Key 只放环境变量或本地未纳入版本管理的配置文件别贴进 settings.json 提交到仓库。团队协作时用.env.local并加进.gitignore。3. 可复制配置settings.json 与 config.toml 骨架Claude Code 的插件与权限配置放在项目根目录的.claude/settings.jsonOpenspec 的 profile 配置走它自己的 config.toml。下面两份骨架可以直接抄改掉路径和 Key 引用即可。先看.claude/settings.json{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: ${TAOTOKEN_API_KEY} }, permissions: { allow: [ Bash(openspec:*), Bash(npx openspec:*), Read, Write, Edit ], deny: [ Bash(rm -rf:*), Bash(git push --force:*) ] }, plugins: { openspec: { enabled: true, commandPrefix: opsx }, superpowers: { enabled: true, commandPrefix: superpowers } } }env段里用${TAOTOKEN_API_KEY}引用环境变量避免明文。permissions.allow放开 openspec 相关命令和文件读写deny挡住危险操作这是跑 subagent 并行执行时的基本护栏。再看 Openspec 的config.toml重点是关掉 apply 命令把实现交给 Superpowers[profile] delivery both [workflows] propose true explore true new_change true continue_change true apply_tasks false fast_forward true sync_specs true archive_change true bulk_archive true verify_change true onboard falseapply_tasks false是关键一行。你也可以用交互命令改openspec config profile进入后选 Workflows only在列表里把Apply tasks取消勾选其余按需保留回车确认。这样 Openspec 只负责规范产出不碰实现。Superpowers 侧不需要额外 toml它的 skills 是自动触发的只要插件启用、命令前缀对得上即可。装插件用npx openspec init npx superpowers init两条命令会分别在.claude/下注册命令与 skills跑完重启 Claude Code 让配置生效。4. 跑通验证从 explore 到 archive 的完整动作配置就绪后用一个小需求把整条链路走一遍确认每个环节都能接上。下面以给一个状态栏工具加版本指示器为例。第一步探索需求。在 Claude Code 里输入/opsx:explore把要解决的问题聊清楚显示什么、用什么形式、多色指示具体代表什么状态。这一步多花点时间比边做边改快。第二步生成 proposal/opsx:propose ccstatusline-update-indicator系统会生成 proposal、design、specs、tasks 四个文件落在openspec/changes/下。检查tasks.md确认任务粒度合理。第三步写实现计划/superpowers:writing-plansSuperpowers 会读取上一步的tasks.md把每个任务拆成 2-5 分钟可完成的步骤附代码示例和测试方法。执行完成后它会提示你选 inline 还是 subagent 方式实现选 subagent。第四步执行/superpowers:subagent-driven-development每个任务过两道关Spec 合规、代码质量。实测跑 5 个任务都能过。第五步验证需求/opsx:verify这一步别跳过。之前实测就发现过问题Widget 没有正确使用context.updateStatus显示不同指示符渲染出来总是同一个样子。发现问题就回到 writing-plans subagent-driven 再走一遍然后重新 verify。第六步归档/opsx:archive完整流程结束变更归档到openspec/changes/archive/之后回顾决策有文档可查。验证成功的标志/opsx:verify输出无未通过项openspec/changes/archive/下出现本次变更目录且 tasks.md 里所有任务标记为完成。5. 本篇常见报错排查清单工作流跑不通时按下面顺序排查基本能覆盖九成问题。报错一ANTHROPIC_BASE_URL未生效请求打到默认地址。检查环境变量是否在启动 Claude Code 的同一个 shell 里 export改完.zshrc要source或重开终端。用echo $ANTHROPIC_BASE_URL确认输出是https://taotoken.net/api。报错二401 鉴权失败。多半是 Key 没读到或写错。确认TAOTOKEN_API_KEY有值settings.json 里的${TAOTOKEN_API_KEY}引用格式正确。如果 Key 泄露过去 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 重新生成一个。报错三/opsx:propose无响应或提示命令不存在。插件没注册成功。重跑npx openspec init确认.claude/settings.json里plugins.openspec.enabled为 true命令前缀是opsx。重启 Claude Code。报错四Superpowers 没有读取 tasks.md。检查openspec/changes/下当前变更目录里 tasks.md 是否存在且非空。writing-plans 默认读最近一次 propose 的产出如果中间切过变更重新 propose 一次。报错五apply 命令还在实现被 Openspec 抢走。回到config.toml确认apply_tasks false或重跑openspec config profile取消勾选 Apply tasks。报错六subagent 执行时权限被拒。settings.json 的permissions.allow里补上对应 Bash 命令前缀别用通配符放开全部。报错七verify 报 Spec 不合规。这是正常拦截说明实现和规范对不上。看 verify 输出的具体条目回到 writing-plans 重新拆任务别手动改代码绕过验证。提示排查时优先看 Claude Code 的日志输出环境变量和插件注册问题都会在启动阶段打印。6. 把通道和流程固定下来整套工作流跑顺之后日常开发就是 explore → propose → writing-plans → subagent-driven → verify → archive 这个循环验证发现问题就再走一遍 plan → execute → verify。模型通道统一走 TaoTokenClaude Code 和 subagent 共用一个 Key换模型或调额度都在控制台一处搞定不用每个插件单独配。如果你主要做长期编码和 Agent 任务建议把 Coding Plan 用起来额度规划更清晰入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。想先验证模型对话效果可以直接在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 里试。接入细节和参数说明看文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite Claude Code 的 Anthropic 兼容接入方式在 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecodeutm_campaignrewrite 有专门说明。最后留一个实操建议先把apply_tasks false和ANTHROPIC_BASE_URL这两处配好再跑一遍完整流程比一上来就调任务粒度省事得多。
返回列表