自从 ChatGPT 这类编程助手把“AI 写代码”变成日常操作之后,很多开发者开始被一个很现实的问题困扰:工具很好用,但钱包撑不住。OpenAI 的 Codex、Anthropic 的 Claude Code 确实是目前最受关注的 AI 编程工具,但它们的 API 按 token 计费、订阅方案也有使用上限,一旦项目规模上来,费用会很可观。
这篇文章想给的判断是:Codex 和 Claude Code 不是二选一的竞争品,而是一对可以组合使用、互相弥补短板的搭档。它们真正的价值不在于“谁比谁强”,而在于你能否用一套合理的配置,把已有订阅、已有模型额度用满,甚至通过切换模型供应商把单次调用成本压到很低。所以标题里说的“别再花钱了”,不是教你去走什么灰色通道,而是把这两个工具的资源位吃透。
读完这篇文章,你会掌握三件事:第一,Codex CLI 和 Claude Code 的安装方式与基本用法;第二,如何通过订阅额度、模型供应商配置把成本降下来,包括社区里很常见的接入第三方模型方案;第三,遇到“unable to locate the codex cli binary”“model is not supported”这类高频报错时,怎么快速定位和解决。
1. 为什么要把 Codex 和 Claude Code 放在一起用
先看两个工具各自的定位。
Codex 来自 OpenAI,最早是 ChatGPT 后台的代码生成模型,后来演变成 Codex CLI 这样的终端工具。它的特点是擅长“批量生成”,你给它一个需求,它可以一次性产出完整的代码文件、测试用例、修 bug 的补丁。Codex 还内置了沙箱执行环境,叫 Codex Harness,AI 写完代码后可以在受限环境里直接运行测试并自我修正,这让它很适合自动化程度高的任务。
Claude Code 来自 Anthropic,是一个交互式终端编程助手。它更像是坐在你旁边的结对程序员:你打开终端输入一条指令,它会读取你项目里的文件结构、分析上下文,然后一步步修改代码,每一步都会在你确认后再执行。Claude Code 的强项是处理大仓库、跨文件重构、理解复杂业务逻辑,它天然适合“对话式开发”。
很多人纠结“到底用哪一个”,其实没必要。真实项目里,这两个工具的能力边界是互补的:
- 用 Claude Code 做需求分析和代码理解,因为它的长上下文能力强,能在一个会话里装下足够多的项目背景。
- 用 Codex 做代码生成和批量修改,因为它可以一次产出大量代码,并通过沙箱快速跑测试。
- 用 Claude Code 做 Code Review,让 AI 站在“代码评审者”的视角找逻辑问题。
- 用 Codex 做自动化补丁,特别是“修一个 bug、补一个测试”这类目标明确的任务。
这种组合方式的效果,和只用一个工具相比,最大的差别在于:你不再担心某个单一工具的短板卡住整个流程。
2. Codex 与 Claude Code 的核心概念与差异对比
在进入安装前,先把基础概念理清。下面这几个词在后面的教程里会反复出现:
- CLI(Command Line Interface):命令行工具。Codex CLI 和 Claude Code 的核心都是 CLI 程序,你在终端里输入命令,它就会调用模型和你交互。
- Agent(智能体):指能够自主完成“读取代码、修改代码、运行命令、观察结果、继续修改”这一闭环的 AI 程序。Codex 和 Claude Code 都属于 Agent 形态的工具,而不是简单的“对话机器人”。
- Skill(技能):一种给 AI 预定义指令、知识库和工作流的配置。比如你可以给 Claude Code 写一个“Java Spring 项目开发 Skill”,它就会在生成代码时自动遵循你团队的规范。
- Model Provider(模型供应商):提供大模型 API 的服务方。OpenAI、Anthropic 以及国内的 DeepSeek 等都属于模型供应商。Codex 和 Claude Code 默认连接各自的官方模型,但通过配置可以切换。
两者核心差异可以用一个表格概括:
| 对比维度 | Codex CLI | Claude Code |
|---|---|---|
| 开发方 | OpenAI | Anthropic |
| 安装方式 | npm 全局包 @openai/codex | npm 全局包 @anthropic-ai/claude-code |
| 默认模型 | GPT 系列代码模型 | Claude 系列模型 |
| 交互风格 | 偏向自动化生成与批量执行 | 偏向交互式结对编程 |
| 执行环境 | 内置沙箱 Harness,可自动跑测试 | 本地终端执行,命令需用户确认 |
| 上下文能力 | 适合单文件/小范围任务 | 适合大仓库/跨文件重构 |
| 成本模式 | 可使用 ChatGPT 订阅额度,或按 API 计费 | 可使用 Claude 订阅额度,或按 API 计费 |
从开发流程看,一个更有价值的理解方式是:Codex 适合“让 AI 自己干活”,Claude Code 适合“和 AI 一起干活”。如果你的需求很明确、希望 AI 独立完成任务并给出可验证的结果,Codex 更顺手;如果你面对的是一个遗留项目、需要不断追问和调整,Claude Code 更合适。
3. 环境准备与前置条件
在开始安装之前,先确认你的机器满足以下条件。这里不写死版本号,因为官方更新节奏很快,建议以实际环境为准,但大版本方向可以参考。
3.1 操作系统与终端
Codex CLI 和 Claude Code 都支持 Windows、macOS、Linux 三大平台。推荐使用 Linux 或 macOS,因为终端生态更顺滑;Windows 用户建议使用 PowerShell 7 或 Windows Terminal,并保证 Node.js 相关的命令能在 PATH 中正常访问。
3.2 Node.js 环境
两个工具都是基于 Node.js 的 npm 包,所以 Node.js 是必须的。建议安装 Node.js 18 以上的 LTS 版本。安装完成后在终端验证:
node -v npm -v如果提示命令找不到,说明 Node.js 没有配置到 PATH,需要重新安装或手动配置环境变量。
3.3 Git 与代码仓库
AI 编程工具会频繁读写文件,最好在 Git 仓库中操作。原因很简单:AI 改出问题时,你能用git diff查看变更,用git checkout快速回滚。这不是可选步骤,而是必备保险。
git --version3.4 账号与密钥
两个工具都提供两种使用模式:
- 订阅登录模式:用 ChatGPT 账号登录 Codex,或用 Claude 账号登录 Claude Code。这种方式适合个人开发者,费用包含在订阅套餐中,但通常有周使用额度限制。
- API Key 模式:在模型供应商平台申请 API Key,按实际消耗计费。这种方式更灵活,适合项目组统一管理成本。
如果你打算后续配置第三方模型供应商,还需要到对应服务商申请 API Key。有关成本控制的具体做法,在第 5 节展开。
4. 安装与初始化:Codex CLI 和 Claude Code
这一节先完成两个工具的安装和基本登录。
4.1 安装 Codex CLI
在终端执行:
npm install -g @openai/codex安装完成后验证版本:
codex --version如果这一步提示找不到codex命令,大概率是 npm 全局包的安装目录没有加入系统 PATH。可以通过执行下面的命令定位安装路径:
npm root -g然后把该目录添加到 PATH。macOS/Linux 用户可以编辑~/.zshrc或~/.bashrc,Windows 用户可以在“系统环境变量”中修改 PATH。
接下来登录:
codex login执行后终端会打开浏览器,授权你的 ChatGPT 账号。登录成功后,可以看到会话信息,表示已经可以使用订阅额度。
4.2 安装 Claude Code
Claude Code 的安装方式类似:
npm install -g @anthropic-ai/claude-code验证版本:
claude --version安装后,在项目目录里首次启动:
claude首次运行会要求登录。如果你有 Claude 订阅账号,可以直接授权登录;如果使用 API Key,也可以在配置中填写。登录完成后,终端会进入一个交互式对话界面,输入/help可以查看可用命令。
Claude Code 安装后还会自动提供一个cc缩写命令,作用和claude相同,很多人因为终端里多敲了几个字符而没注意到它。
4.3 在 VSCode 中集成
很多开发者习惯在 VSCode 里写代码,这两个工具也都提供了插件。
Codex 官方插件在 VSCode 扩展市场可以安装。安装后需要注意一个问题:插件本身是一个桌面应用或 IDE 扩展,它需要调用命令行里的 Codex CLI。如果你遇到unable to locate the codex cli binary. set codex cli path or ensure the electron app is installed这样的报错,说明插件没有找到 Codex CLI 的可执行文件。解决方案有两个:
- 手动设置插件配置项
codex_cli_path,指向codex命令所在路径。 - 确保全局安装 Codex CLI,并让 PATH 环境变量在 VSCode 中也生效。
在 VSCode 中,你可以通过Ctrl + Shift + P打开命令面板,搜索 “Codex” 相关设置项,找到路径配置后填入完整路径。macOS/Linux 上可以用:
which codex查看完整路径。
Claude Code 在 VSCode 中通常不依赖专用插件,直接在 VSCode 的终端里运行claude即可。也有一些第三方插件提供了侧边栏界面,但核心还是终端里的交互。
4.4 安装后的最小验证
安装完成后,在一个空目录里分别执行:
codex "写一个 Python 脚本,打印当前时间"以及:
claude "列出当前目录下的所有文件"如果两条命令都能正常回应,说明两个工具的安装、登录、模型调用链路都没有问题。
5. 成本控制方案:从订阅额度到模型供应商切换
这是整篇文章的核心。先讲清楚成本从哪里来,再讲怎么控制。
5.1 成本来源分析
AI 编程工具的成本有两类:
- 订阅费用:按月支付固定费用,换取一定额度的使用量。比如 ChatGPT 的订阅方案中,Codex CLI 有周使用限制;Claude 订阅方案中,Claude Code 也有周限额。超出额度后需要等待额度刷新,或者切换到 API 计费。
- API 按量费用:按照输入和输出的 token 数量计费。代码任务通常涉及大量上下文输入,因此费用可能比普通对话更高。
所以,真正的“0 成本”思路有两层:
- 如果你已经有订阅,优先使用订阅额度,不要额外充值 API。
- 如果订阅额度不够用,把模型切换到单价更低的供应商,或者使用支持免费额度的模型。
5.2 用已有订阅“白嫖”官方额度
Codex CLI 使用 ChatGPT 订阅登录后,可以在订阅包含的范围内直接使用 GPT 系列代码模型,不需要额外绑定 API Key。Claude Code 也一样,Claude Pro/Max 订阅用户可以使用订阅额度运行 Claude Code。
这里唯一的坑是额度限制。如果你频繁使用,很快会撞到周限额。解决办法是:不要把两个工具的额度浪费在同一个任务上。简单任务用 Codex,复杂任务用 Claude Code,哪个都有各自免费额度覆盖;或者反过来。总之,认清每个工具的额度边界,合理分配任务,才能把订阅价值最大化。
5.3 通过模型供应商配置降低成本
很多开发者在订阅额度用完后,会选择给工具切换模型供应商。这个思路的原理是:Codex CLI 和 Claude Code 都支持通过配置项修改模型接口地址,让工具调用其他兼容接口。
需要注意,这种操作必须满足两个前提:第一,你使用的模型供应商允许通过 API 方式提供服务;第二,你的操作符合工具本身的服务条款。下面的示例只是技术层面的通用做法,是否适用请以你实际使用的工具和供应商的官方说明为准。
Codex CLI 配置第三方模型
Codex CLI 的配置文件位于用户目录下的~/.codex/config.toml(macOS/Linux)或实际安装目录对应的配置位置。通过编辑这个文件,可以新增一个模型供应商。
下面是一个社区常见的配置示例,将 Codex 指向 DeepSeek 的 API:
# 文件路径:~/.codex/config.toml model = "deepseek-chat" model_provider = "deepseek" [model_providers.deepseek] name = "DeepSeek" base_url = "https://api.deepseek.com" env_key = "DEEPSEEK_API_KEY" wire_api = "chat"配置字段说明:
model:指定默认使用的模型名。model_provider:指定使用哪个供应商配置。[model_providers.deepseek]:定义一个名为 deepseek 的供应商。base_url:供应商的 API 基础地址。env_key:Codex 会从该环境变量中读取 API Key。wire_api:接口协议类型,常见为chat或responses,需按供应商支持的协议填写。
配置完成后,还需要在终端里导入 API Key:
export DEEPSEEK_API_KEY="你的API Key"然后重新运行:
codex "用 Python 写一个快速排序"Codex 就会通过你配置的供应商调用模型。
Claude Code 通过环境变量配置模型端点
Claude Code 支持通过环境变量覆盖默认的模型接口。如果你的模型供应商提供了兼容 Anthropic 格式的接口,可以这样配置:
export ANTHROPIC_BASE_URL="https://你的模型供应商地址" export ANTHROPIC_AUTH_TOKEN="你的API Token"然后启动:
claude这里要注意,ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN是 Claude Code 官方文档中支持的配置项。当你使用官方 Anthropic 服务时,不需要设置这两个变量;当你需要切换到其他兼容端点时,才需要配置。更改配置后,如果遇到模型名称不识别的问题,通常是模型名不在当前 Claude Code 版本支持的列表中,需要检查模型名拼写或更新工具版本。
5.4 成本控制最佳实践
- 优先消耗订阅额度:登录官方账号,不要一上来就绑定 API Key。
- 按任务复杂度分流:简单代码生成用低单价通道,大型重构再使用官方高端模型。
- 监控 token 消耗:关注每次请求的输入输出 token 量,上下文塞太多无关文件会显著增加成本。
- 用本地缓存和 Git 隔离减少重复调用:不要让 AI 反复读取同一个大文件。
6. 实战:两个工具协作完成一个小项目
为了验证上面的配置,我们来做一个完整的实战。场景设定:在一个空目录中,用 Claude Code 生成一个“命令行 Todo 管理程序”,再用 Codex 审查代码并补测试。
6.1 创建项目目录并初始化 Git
mkdir ai-todo && cd ai-todo git init6.2 用 Claude Code 生成主程序
在目录中启动 Claude Code:
claude在交互界面输入:
请帮我用 Python 写一个命令行 Todo 管理程序,支持添加任务、列出任务、完成任务。使用本地的 JSON 文件存储数据,文件名 todos.json。代码要简洁,有 main 函数。Claude Code 会读取当前目录结构,生成代码文件。生成完成后,退出交互界面,查看生成的文件:
ls -la正常情况下,你会看到类似todo.py的文件,以及 Claude Code 可能顺带生成的说明文件。
6.3 用 Codex 审查代码并补齐测试
接下来用 Codex 做代码审查:
codex "审查当前目录下的 todo.py,找出明显的 bug 和代码规范问题,并输出修改建议"Codex 会读取当前目录下的代码文件,给出分析结果。如果它建议修改代码,可以在确认后让 Codex 直接修改:
codex "根据你的审查建议,修改 todo.py 并增加 pytest 测试文件 test_todo.py"6.4 查看变更与回滚
所有 AI 修改完成后,用 Git 查看变更:
git diff git status如果改动符合预期,提交代码:
git add . git commit -m "AI协作战:Claude Code生成 + Codex审查补测"这一步尤其重要。AI 工具改代码时,可能会多出一些你没预期的文件。提交前必须人工过一遍 diff。
6.5 运行与验证
如果 Codex 生成了测试文件,运行测试:
python -m pytest test_todo.py -v再手动执行主程序:
python todo.py add "学习 Codex" python todo.py list如果能看到任务被正确添加和列出,说明整个流程已经跑通。
7. 运行验证与效果检查
很多初学者在安装完工具后,不确定到底跑没跑通。这里给出几个判断标准:
- 版本命令有输出:
codex --version和claude --version能返回版本号。 - 登录状态有效:
codex login后,工具能调用模型。如果出现 401 或 403,说明登录状态失效或 API Key 不对。 - 代码生成有内容:生成的文件不是空文件,且内容基本符合需求。
- 测试通过:如果配置了测试,
pytest能全部通过。
如果失败,第一步是查看工具的日志。Codex CLI 和 Claude Code 都支持在启动时进入调试模式,例如在 Claude Code 中设置环境变量:
export CLAUDE_CODE_DEBUG=1 claude这样的输出信息会详细很多,能直接看到是模型调用失败、权限错误,还是网络问题。
8. 常见报错与排查方法
把开发者在社区里遇到的高频报错整理成一张表,方便快速对照:
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
unable to locate the codex cli binary. set codex cli path or ensure the electron app is installed | Codex 桌面端或 IDE 插件找不到codex可执行文件 | 检查codex --version是否可运行;检查 PATH 环境变量 | 安装 Codex CLI,并在插件设置中配置codex_cli_path指向完整路径 |
unable to locate the codex cli binary. set codex_cli_path... | 插件配置项名称写法不同,或路径配错 | 查看插件官方配置项名称 | 确认配置项名称为codex_cli_path,填入which codex的结果 |
the 'gpt-5.6-sol' model is not supported when using codex with a chatgpt account | 当前账号或工具版本不支持该模型名 | 查看 Codex 日志,确认模型名 | 更新 Codex 到最新版本,或更换为官方支持模型 |
your organization has disabled claude subscription access for claude code | 企业组织管理后台禁用了 Claude Code 订阅访问 | 联系组织管理员 | 由管理员开启订阅访问,或改用 API Key 模式 |
claude code 529 / overloaded | Anthropic API 服务过载,请求被拒绝 | 查看响应头中的 Retry-After | 稍后重试,或降低并发请求频率 |
deepseek-v4-pro is not a model this version of claude code recognizes | 当前 Claude Code 版本不支持该模型名称 | 检查模型名拼写,查看 Claude Code 支持列表 | 更新 Claude Code,或改用供应商提供的兼容模型名 |
cc switch local proxy failed while handling codex endpoint /responses | 切换本地代理或重定向接口时配置未生效 | 检查是否残留旧的代理变量 | 清理环境变量,重启会话,重新配置供应商地址 |
这里单独提一下“模型不受支持”的报错。很多人配置完第三方供应商后,直接复制了官网的模型名,结果工具不认。原因是 Claude Code 或 Codex CLI 内置了模型白名单,旧版本不认识新模型名。处理办法就是升级工具版本,或者把model字段改成供应商兼容接口明确支持的模型名。
9. 最佳实践与工程建议
工具本身只是起点,真正拉开差距的是使用方式。以下是几条经过实践检验的建议。
9.1 密钥管理要规范
不要直接把 API Key 写进config.toml或提交到 Git。推荐用环境变量方式注入,或者在本地准备一个.env文件并加入.gitignore。
echo "DEEPSEEK_API_KEY=你的Key" > .env echo ".env" >> .gitignore9.2 让 AI 工作在专属分支
每次让 AI 修改代码前,先创建新分支:
git checkout -b ai-feature/xxx这样 AI 产生的问题代码不会污染主分支。验证通过后,再合并回主干。
9.3 为 AI 划定文件范围
Codex 和 Claude Code 都支持在对话中指定文件。不要让 AI 遍历整个项目,尽量明确告诉它:“只修改src/main/java/下的文件”。这样既节省 token,又降低误改风险。
9.4 用 Skill 固化团队规范
如果团队里有统一的代码规范、目录结构或接口设计约定,可以把它写成 Skill 文件。例如 Claude Code 支持通过配置为特定项目加载定制指令,Codex 也有 Skill 概念。这样每次 AI 生成的代码天然符合团队风格,而不是事后花大量时间人工改。
一个简化的 Claude Code 项目指令文件示例,放在项目根目录(具体路径和加载方式需要按当前工具版本确认):
# 项目编码规范 - 使用 Python 3.10+ 类型注解 - 函数必须包含 docstring - 禁止直接操作数据库,必须通过 service 层9.5 生产环境操作必须人工确认
AI 工具不应该被直接授权操作生产环境。如果你打算让 AI 执行数据库迁移、删除文件、修改线上配置等高风险操作,务必先在其中间环节加入人工审批。记住:AI 生成的命令看起来再合理,也要由负责人检查后再执行。
9.6 关注工具版本更新
Codex 和 Claude Code 迭代非常快。遇到模型不识别、配置文件格式不兼容等问题,第一反应应该是检查版本:
npm update -g @openai/codex npm update -g @anthropic-ai/claude-code这里也能看出官方文档的重要性。新功能和配置项以官方发布说明为准,社区教程往往滞后于版本迭代。
10. 总结与后续学习方向
Codex 和 Claude Code 是目前 AI 编程工具里两条非常有代表性的路线:一个强调自动化 Agent 能力,一个强调交互式结对编程。把它们组合起来,本质是把“让 AI 干活”和“和 AI 干活”两种开发模式结合到同一条流水线里。这篇文章从安装、登录、配置模型供应商,到实战协作、报错排查和工程规范,已经跑通了一个完整闭环。
如果你的订阅额度还有余量,先用订阅额度;如果额度见底,再考虑通过配置模型供应商切换到低单价通道。不要把“0 成本”理解为完全不花钱,更准确的说法是:把每一分订阅费和每一次 API 调用花在刀刃上。
下一步值得深入实践的方向有三个:一是学习给 Claude Code 编写专属 Skill,把你自己项目的编码规范固化成 AI 的默认行为;二是研究 Codex 的沙箱 Harness 机制,让 AI 自动跑测试并自我修复;三是研究如何把这两个工具接入 CI/CD 流程,实现“提交代码后 AI 自动审查、自动补测试”的团队流水线。
建议收藏这篇文章,安装和配置时对照着操作。遇到报错先看第 8 节的排查表,大概率能省下不少时间。