1. Windows 上装 Superpowers,为什么总卡在 Key 和配置这两步
Codex CLI 是能在终端里直接对话的 AI 编程助手,Superpowers 则是给它加装的一套技能包,装上之后 Codex 会多出头脑风暴、写实施计划、测试驱动开发、系统性调试、代码审查这些能力。这篇是 Codex CLI 教程第四篇,专门讲 Windows 下 Superpowers 的安装与配置,适合已经在用 Codex CLI、想让它在 Windows 上真正跑起技能体系的人。
我在 Windows 上折腾这套东西时,真正耗时间的不是敲命令,而是两件事:一是 Codex CLI、Superpowers 里不同环节各自要 Key,散落在环境变量、配置文件、命令行参数里,改一处忘一处;二是配置文件位置和格式容易混,settings.json和config.toml各管一摊,写错一个字段技能就不触发。所以这篇除了给安装步骤,还会把 TaoToken 统一 Key 通道接进来,让 Codex CLI 在 Windows 上只认一个入口,配置集中、排障有方向。
下面按「先装 CLI → 再装 Superpowers → 接统一 Key → 验证 → 排错」的顺序走,命令都是 PowerShell 里可直接粘贴的。
2. 前置准备:Node、Codex CLI 与 TaoToken 统一 Key 通道
2.1 装 Node.js 并确认 PATH
Superpowers 和 Codex CLI 都走 npm 生态,Node 是地基。去 Node.js 官网下 LTS 版本,安装时务必勾选 “Add to PATH”,否则后面codex命令会提示找不到。
node -v npm -v两条都能打印版本号,说明 Node 和 npm 就绪。如果node -v报「不是内部或外部命令」,先别往下走,回到安装程序重装并勾选 PATH,或者手动把 npm 全局路径加进系统环境变量。
2.2 安装 Codex CLI
npm install -g @openai/codex --registry=https://registry.npmmirror.com codex --version-g是全局安装,保证任意目录都能调用codex;--registry指向国内镜像,下载会快很多。codex --version能打印版本号就说明 CLI 装好了。
2.3 为什么要在这一步就接 TaoToken
Codex CLI 本身、Superpowers 触发的子代理、以及后续你可能接的其他编码工具,如果各自配 Key,就会出现「这个工具能用、那个工具 401」的割裂状态。TaoToken 提供的是统一 Key 通道:你只维护一份 Key,把它写进 Codex 的配置里,模型调用就走同一个入口。官网入口在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 基址是 https://taotoken.net/api 。
先把 Key 拿到手:进控制台 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,在 API Keys 页面 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 创建一个 Key,复制出来先存到记事本,后面要写进配置文件。想先确认模型通不通,可以打开模型对话页 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite 发一句话试试。
注意:Key 只存在本地配置文件里,不要提交到 Git 仓库,也不要在截图里露出完整字符串。
3. 安装 Superpowers 并写对 settings.json / config.toml
3.1 克隆 Superpowers 仓库
git clone https://github.com/obra/superpowers.git "$env:USERPROFILE\.codex\superpowers"$env:USERPROFILE是 PowerShell 里指向用户主目录的环境变量,克隆目标固定在.codex\superpowers,方便后面统一管理。
3.2 建技能目录并做 junction 链接
Codex 启动时会扫描%USERPROFILE%\.agents\skills\这个目录来发现技能,而 Superpowers 的技能文件在它自己仓库的skills子目录里。Windows 上用目录 junction 把两者连起来,更新仓库后技能会自动同步,不用手动复制。
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.agents\skills" cmd /c mklink /J "$env:USERPROFILE\.agents\skills\superpowers" "$env:USERPROFILE\.codex\superpowers\skills"mklink /J创建的是目录 junction,第一个路径是链接位置(Codex 扫描目录),第二个是源目录(Superpowers 技能目录)。执行成功会提示「为 … 创建的联接」。
3.3 config.toml 骨架:开启多代理并接入统一 Key
Codex 的配置文件在%USERPROFILE%\.codex\config.toml。Superpowers 里的子代理类技能依赖多代理能力,先把开关打开,再把模型调用指向 TaoToken 的统一入口。
# %USERPROFILE%\.codex\config.toml [features] multi_agent = true [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY" [model] provider = "taotoken" model = "claude-sonnet-4-5"这里base_url用不带 UTM 的 API 地址,env_key表示 Key 从环境变量读取,不硬编码进文件,降低泄露风险。
3.4 settings.json 骨架:把 Key 集中到一处
部分工具链和脚本会读settings.json,把同一份 Key 放这里,避免每个工具各配一遍。
{ "apiKey": "${TAOTOKEN_API_KEY}", "baseUrl": "https://taotoken.net/api", "defaultModel": "claude-sonnet-4-5", "features": { "multiAgent": true } }${TAOTOKEN_API_KEY}是环境变量占位写法,实际值在系统环境变量里设一次即可。
3.5 设置环境变量
setx TAOTOKEN_API_KEY "你的Key"setx写入的是用户级持久环境变量,设置后需要重开一个 PowerShell 窗口才生效。验证:
echo $env:TAOTOKEN_API_KEY能打印出 Key 就说明环境变量就位。这样config.toml和settings.json都引用同一个变量,Key 只有一份,改的时候只改一处。
4. 验证请求:确认 Superpowers 技能真的被加载
4.1 检查 junction 状态
ls "$env:USERPROFILE\.agents\skills" ls "$env:USERPROFILE\.agents\skills\superpowers"第一条应列出superpowers链接,第二条应能看到SKILL.md等技能文件。如果第二条为空或报路径不存在,说明 junction 没建对,回到 3.2 重做。
4.2 重启 Codex 并触发技能
关闭当前 Codex 会话,重新启动,让它重新扫描技能目录。
codex进入交互后,用自然语言触发技能,比如:
Help me plan this feature预期结果是 Codex 启动对应技能,开始反问你需求细节,而不是直接甩一段代码。也可以直接点名技能:
do you have brainstorming?如果它确认拥有 brainstorming 等技能,说明技能发现机制工作正常。
4.3 验证统一 Key 通道是否生效
在 Codex 里发一条会真正调用模型的请求,比如让它解释一段代码。如果返回正常内容,说明config.toml里的 provider 指向和TAOTOKEN_API_KEY都读到了。想单独确认模型侧,可以打开模型对话页 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite 发同样的问题,两边结果一致就基本排除 Key 问题。
5. 本篇常见错排查
5.1 权限错误 access denied
mklink在部分环境下需要管理员权限。以管理员身份打开 PowerShell 再执行 3.2 的两条命令即可。如果公司电脑有策略限制,改用开发者模式或让 IT 放开目录链接权限。
5.2 codex 不是内部或外部命令
先查 npm 全局路径:
npm config get prefix把这个路径加进系统 PATH,重开终端。还不行就重装 Node 并确认勾选 “Add to PATH”。
5.3 技能不显示
按顺序查三件事:%USERPROFILE%\.agents\skills\superpowers是否存在;junction 是否指向%USERPROFILE%\.codex\superpowers\skills;Codex 是否重启过。三者都对还不显示,检查config.toml里multi_agent = true是否写在[features]段下,写错段落等于没开。
5.4 模型请求 401 或超时
401 基本是 Key 没读到:确认echo $env:TAOTOKEN_API_KEY有值,且设置后重开过终端。超时先确认base_url写的是https://taotoken.net/api,没有多余斜杠或路径。如果只有 Codex 里失败、模型对话页正常,问题在本地配置而非 Key 本身。
5.5 更新后技能没变化
cd "$env:USERPROFILE\.codex\superpowers"; git pull因为用的是 junction,拉取新代码后技能自动同步,不需要重新建链接。如果拉取后仍无变化,重启 Codex。
6. 把 Key 和配置收口,后面才省心
装 Superpowers 本身不复杂,真正决定你后面顺不顺的,是 Key 有没有收口、配置有没有集中。我实测下来,把TAOTOKEN_API_KEY设成环境变量、让config.toml和settings.json都引用它,是这套流程里最值的一步——以后换 Key 只改一处,排障时也只需要确认一个变量。
如果你后面要长期跑编码任务、接 Agent 工作流,可以看下 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite ,它更适合这种持续调用的场景。接入细节和字段说明在接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 里,遇到配置对不上的时候对着文档核一遍字段名,比反复试错快得多。