Codex 是 OpenAI 的终端 agent,形态和 Claude Code 是一类。 这一篇讲装和配,外加一个更实际的问题:两个都装了,什么活给谁?
本文写什么安装、登录、配置结构、分工判据。 本文不做排名、不做横评——理由见第四节。 本文也不写我们自己的配置内容。
| 方式 | 命令 |
|---|---|
| npm | npm install -g @openai/codex |
| Homebrew | brew install --cask codex |
| 二进制 | 从 GitHub Releases 下对应平台的包(Mac 分 Apple Silicon 与 Intel 两版,别下错) |
它是 Rust 写的,所以是个自带的可执行文件,不拖 Python/Node 运行时。
| 方式 | 怎么走 | 适合 |
|---|---|---|
| ChatGPT 登录 | 跑 codex,选「Sign in with ChatGPT」,用 Plus/Pro/Business/Edu/Enterprise 套餐 | 已经有订阅、不想管额度 |
| API key | 另配,要多几步 | 要走自建或第三方端点的人 —— 这条是第 8 篇的入口 |
官方把订阅登录列为推荐路径。但要注意:这两条路的计费与额度是两套东西, 不要以为登录了订阅就能顺手改端点——改端点走的是下面这套配置。
~/.codex/config.toml配置目录由 CODEX_HOME 决定,默认 ~/.codex,
主配置是里面的 config.toml。
结构是两段:顶层选用哪个供应商,然后单独一张表定义那个供应商。
这张表能写的键:
| 键 | 必填 | 作用 |
|---|---|---|
name | ✓ | 显示名,随便起 |
base_url | ✓ | 端点地址——整条线的主心骨,见第 7 篇 |
env_key | 去哪个环境变量里取 key | |
wire_api | 走哪套协议:responses 或 chat-completions | |
query_params | 附加在 URL 上的查询参数(某些云端点要求带版本号) | |
http_headers / env_http_headers | 自定义请求头,后者从环境变量取 |
openai、ollama、lmstudio
是内置供应商 ID,自定义供应商不能重名。起名叫 myproxy 之类的就好,
撞了保留字的表现是配置被忽略而不是报错——很难查。
wire_api 选错,症状像「模型不支持」
同一个端点,走 responses 还是 chat-completions
是两套请求格式。选错了通常不是干净的报错,而是一堆看不懂的字段错误或空回复。
接任何非官方端点时,先确认对方支持哪套协议,这比调别的参数都重要。
「哪个更强」这个问题,答案随版本和任务类型变,写下来的当天就开始过期。 更耐用的是判据——按你手上这件活的性质来挑:
| 看这件活 | 倾向 |
|---|---|
| 要不要长时间保持大量上下文 | 选上下文管理更合你意的那个——自己各跑一天就知道 |
| 要不要深度接编辑器 | 看第 4 篇,两边的编辑器路径不一样 |
| 要不要接第三方端点 | 两边都能接,但配置形态不同(一个 JSON 一个 TOML),见第 8 篇 |
| 团队要不要共享配置 | 看哪个的配置文件更适合进你们的 git |
本站对工具不做横评,理由写在主心骨那篇的末尾: 凡是自己在用其中一家的人做的横评,都该被当成有利益的意见看—— 包括我们的。所以我们干脆只给判据,让你自己排。
openai/codex,Rust,110,216 ★ / 16,857 fork,
建于 2025-04-13,最新 release rust-v0.149.0(2026-08-20)。数字取自 GitHub API,2026-08-21 核。npm install -g @openai/codex ·
brew install --cask codex · GitHub Releases 二进制;
登录二选一:ChatGPT 订阅登录(官方标为推荐)或 API key。CODEX_HOME 默认 ~/.codex,主配置
config.toml;顶层 model / model_provider,
供应商表 [model_providers.ID] 含
name·base_url·env_key·wire_api·query_params·http_headers·env_http_headers;
保留 ID:openai、ollama、lmstudio。官方配置文档,2026-08-21 核。