Codex 安装与多模型切换
预计阅读 12 分钟
Codex 安装与多模型切换#
5 分钟跑通 Codex,理解它跟 Claude Code 的差异化价值。
0. 为什么用 Codex(而不是只用 Claude Code)#
Claude Code 和 Codex 不是替代,是互补。我自己同时跑两个,原因:
| 维度 | Claude Code | Codex |
|---|---|---|
| 模型 | Claude 系列 |
| GPT-5 系列(gpt-5.x / gpt-5.x-codex / o3 / o4 等) |
| 长上下文 | 1M context(Sonnet/Opus 4.6+) | 截至本节官方未公开统一上限,按模型而定 |
| 风格偏向 | 稳重、TS/React 友好 | 推理更强、Python/Rust 优秀 |
| 工具生态 | MCP / Skills / Hooks 原生 | MCP / Plugin / app-server / Sandbox / Review subcommand |
| 价格 | 订阅制 | ChatGPT 订阅 或 API key |
实战中我同时跑两个的场景:
review 二次校验:互相挑错,单 Agent 翻车率明显下降或走 npm:
最新版本以 npm view @openai/codex version 为准(version 经常更新)。
WSL / SSH 等无浏览器环境登录走 --device-auth,见下节。
官方支持 winget / scoop 安装,命令请看 openai.com/codex 最新仓库 README。Windows 下避开带空格的目录(C:\Users\Your Name\... 这种),有概率让 Codex 路径解析失败。
codex login 默认会弹浏览器走 OAuth。订阅 ChatGPT Plus / Pro / Team / Enterprise 的话,按订阅 quota 用,不消耗 API 余额。
无浏览器环境用:
适合按 token 计费、要精细成本控制的场景。
坑:订阅 quota 和 API quota 完全独立。订阅打满要等月度刷新;API 超量直接收费。同一台机器只能登一种。
-m / --model 接模型 ID。具体当前可用的 ID 跟订阅档位 / API key 权限有关,跑 codex 进入交互后按 /model 看真实可选清单(最稳的方式)。
编辑 ~/.codex/config.toml,最简单的写法是顶层字段:
坑:很多老教程写
[default]section 包起来——实测当前 codex(v0.124+)用顶层字段就行,不需要也不要[default]。
然后:
实测可选值:
批准策略:
坑:
--dangerously-bypass-approvals-and-sandbox比 Claude Code 的--dangerously-skip-permissions更激进——它同时关 sandbox。只在容器 / 隔离 VM 里用。
codex review 是 Vincent 自己最常用的——Claude Code 写完代码,一行 cxr 让 Codex 第二意见,发现 typo / 逻辑漏洞 / spec 不一致。
| 任务 | 推荐 |
|---|---|
| TS / React / 前端 | Claude Code |
| Python / Rust / 算法 | Codex |
| 大代码库整体重构(>200K context) | Claude Code(Opus 1M) |
| 数学证明 / 复杂推理 | Codex(o3 / o4 系列) |
| Code review / fact-check | Codex review |
| 长跑 / 整夜自跑 | Claude Code (--dangerously-skip-permissions) 或 Codex (-s workspace-write -a never) |
| ChatGPT 订阅打通 | Codex |
| Anthropic 订阅打通 | Claude Code |
主写用 Claude Code、关键节点 Codex 复核——这是单人开发最稳的双 Agent 配置。
brew install --cask codexnpm i -g @openai/codex# 装 Node 20+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
npm i -g @openai/codexcodex login # 进入交互式登录管理菜单
codex login status # 查看当前登录状态codex login --device-auth
# 终端给一个 URL + 一次性 code,到任意能上网的设备打开输入printenv OPENAI_API_KEY | codex login --with-api-key
# 从 stdin 读 key(避免出现在 history)codex -m gpt-5.5
codex -m o3-minimodel = "gpt-5.5"
model_reasoning_effort = "xhigh"
service_tier = "fast"# ~/.codex/config.toml
model = "gpt-5.5" # 默认
[profiles.review]
model = "o3-mini"
model_reasoning_effort = "xhigh"
[profiles.long-doc]
model = "gpt-4.1"codex --profile review
codex -p long-doc # -p 简写# ~/.zshrc 或 ~/.bashrc
alias cx='codex'
alias cxr='codex --profile review' # 跑 review 默认参
alias cxl='codex --profile long-doc' # 跑长文档默认参codex -s read-only # 默认;只读
codex -s workspace-write # 写当前工作目录、禁网(推荐日常)
codex -s danger-full-access # 完整系统 + 网络(长跑 / 自动化)codex -a untrusted # 只白名单命令免确认
codex -a on-request # 模型决定何时问
codex -a never # 永不问(自动化)
codex -s workspace-write -a never # workspace-write sandbox + 自动批准
codex --dangerously-bypass-approvals-and-sandbox # 完全跳过(仅在外部隔离环境用)codex exec "<prompt>" # 非交互模式(脚本 / cron 用)
codex review # 一键 code review(自动跑当前仓库)
codex resume # 续接最近会话
codex resume --last "继续" # 续接 + 直接发新 prompt
codex mcp # 管理 MCP server(list / add / remove)
codex plugin # 管理 plugin(list / enable / install)
codex sandbox <cmd> # 在 codex sandbox 里跑任意命令(验证 sandbox 行为)
codex apply # 把 Codex 上次产出的 diff git apply