CODEX 系统教程2026.08 · ISSUE 02

装完只会敲 codex?

十分钟装好,再收下55 个斜杠命令

安装 · 登录 · TUI · exec

三条安装路径 · 双认证 · backtrack 撤销 · 旧命令避坑

OpenAI Codex 系统教程 · 公众号系列

第02篇安装与交互

本文看点 · READ MAP

01

三条安装路径 + 双认证

02

55 个斜杠命令 + backtrack

03

codex exec 与旧命令避坑

上一篇把 Codex 是什么聊完了,这篇动手。我第一次装的时候卡在登录那步,ChatGPT 订阅和 API key 两条路没分清,绕了半小时。所以这篇我按自己踩过的顺序来,先装,再登录,最后把终端里那些命令和快捷键摸熟。

01

PART

三条安装路径,挑一条就够

INSTALL · npm / brew / 脚本

Codex CLI 装起来有三条路。说实话大多数人第一条就够了,下面那两条是给没装 npm、或者就是想看它到底怎么跑的人准备的。

npm 最省事。

bash

npm install -g @openai/codex

国内网络慢的话,挂个镜像源。

bash

npm install -g @openai/codex –registry=https://registry.npmmirror.com

macOS 上习惯 brew 的注意,这里是 --cask,不是普通 formula。漏了 --cask 会装到别的东西上去。

bash

brew install –cask codex

第三条不依赖 npm。macOS 和 Linux 用 curl,Windows 用 PowerShell。

bash

# macOS / Linux

curl -fsSL https://chatgpt.com/codex/install.sh | sh

# Windows(PowerShell)

powershell -ExecutionPolicy ByPass -c “irm https://chatgpt.com/codex/install.ps1 | iex”

还有个备选,直接去 GitHub Release 下载平台二进制。macOS Apple Silicon 用 codex-aarch64-apple-darwin.tar.gz,Intel 用 codex-x86_64-apple-darwin.tar.gz,Linux x86_64 用 codex-x86_64-unknown-linux-musl.tar.gz。解压后把二进制重命名成 codex,扔进 /usr/local/bin。

有个细节挺反直觉。npm 装下来的 @openai/codex 只是 11KB 的薄壳,真正干活的是它去拉的平台原生 Rust 二进制。所以 npm 这条路对 Node 卡得不严,>=16 就行;但你要从源码编译,门槛一下子上去了,Node>=22、pnpm>=10.33,还拖一整套 Rust 工具链。普通用 npm/brew/脚本的根本碰不到这层。

再说系统要求。官方说 macOS 12+、Ubuntu 20.04+/Debian 10+ 完整支持,Windows 是实验性、建议走 WSL2。内存最低 4GB、推荐 8GB。Git 2.23+ 可选,给内置的 PR helper 用。

02

PART

登录,ChatGPT 账号还是 API Key

AUTH · 两条计费路径

装完敲 codex,它先问你怎么登录。两条路,差在钱怎么算。

第一条,拿你的 ChatGPT 账号登。选「Sign in with ChatGPT」,浏览器弹出来走个 OAuth,搞定。有 Plus / Pro / Business / Edu / Enterprise 任一订阅的,Codex 的用量都算在订阅里,不用另掏。大多数人走这条

如果是远程服务器、没有浏览器的无头环境,OAuth 走不通,用设备码流程。

bash

codex login –device-auth

它会给你一串码,你去另一台能上网的设备上完成授权。设备码不可用时它会自动回退到浏览器登录。

第二条是 API Key。走 OpenAI API 按量计费,和订阅是两本账。它有个设计我挺欣赏,key 从 stdin 读、不进命令行参数,就是为了别让它留在 shell history 里。

bash

printenv OPENAI_API_KEY | codex login –with-api-key

也可以设环境变量。Codex 认两个名字,OPENAI_API_KEY 和 CODEX_API_KEY。

bash

# macOS / Linux,临时

export OPENAI_API_KEY=“sk-你的key”

# 永久

echo ’export OPENAI_API_KEY=“sk-你的key”’ » ~/.zshrc

source ~/.zshrc

再原始一点,直接往 ~/.codex/auth.json 里写。日常不推荐,明文落盘这事儿,能免则免。

想看当前登的啥,codex login 不带参数就行,它会回你一句「Logged in using ChatGPT」或者「using an API key」。登出走 codex logout,顺手把令牌撤销。

凭据默认存在 ~/.codex/auth.json,也可以在 config.toml 里设 cli_auth_credentials_store = keyring 用系统钥匙串,或者 auto 能用 keyring 就用。

03

PART

跑通第一个任务

FIRST RUN · 十分钟内

登录完,进个项目目录,敲 codex 就进入交互界面了。

bash

cd my-project

codex

随便问它一句,比如「分析下当前的项目结构」。它扫一遍代码库,回你一段说明。头一次会让你确认,Yes 回车,开干。

装好、登录、跑通,到这一步不花十分钟。但说实话,Codex 真正的好东西,得进交互界面才看得到。

04

PART

交互式 TUI 与 55 个斜杠命令

TUI · 内置命令清单

敲 codex 进的是个全屏 TUI。Codex 源码里数下来大约 55 个斜杠命令,下面是常用的那批。记不全没关系,TUI 里敲个 / 就弹列表。

| 命令

|

干什么

/model

切模型和推理强度

| | /permissions |

管 Codex 能做什么

| | /diff |

看 git diff,含未跟踪文件

| | /init |

生成 AGENTS.md

| | /compact |

压缩上下文,防溢出

| | /plan |

切到 Plan 模式,先规划再动手

| | /goal |

设长期任务目标

| | /fork |

分叉当前对话

| | /resume |

恢复之前的会话

| | /review |

审查当前改动

|

挑几个展开。

/init 是新手第一刀。它在项目里生成一份 AGENTS.md,也就是 Codex 版的 CLAUDE.md,把项目规范喂给它。怎么写下一篇专门讲。

/diff 不只是看改了什么。Codex 改文件前会给你看 diff,你审批弹窗里过一眼再决定。

/compact 上下文快满了压一下。跟 Claude Code 的 /compact 同一个道理,区别是 Codex 更得你自己盯着,别等它自动收。

/plan 和 /goal 是两个长任务利器。/plan 让它先收集上下文、出计划,你点头它才动手;/goal 给一个持久目标,比如「Migrate JS to TS, strict mode」,它会一直盯着这个目标不跑偏。

另外几个偏管理但顺手会用。/import 能把 Claude Code 或 Cursor 的设置、项目、最近会话直接搬过来,迁移成本低得吓人;/mcp 列你配的 MCP 工具;/skills 用 skills;/logout 登出。

05

PART

backtrack,Codex 的撤销

BACKTRACK · 源保留分支

backtrack 是 Codex 交互里我最想让你记住的东西。名字听着玄,其实就一件事,撤销上一轮,退回你说过某句话的地方,重新来。

Esc · Esc · Enter,三下回到分叉点

源保留分支,原来的对话不会丢。

在 TUI 里按一次 Esc,进 backtrack 模式;再按一次 Esc,历史消息列表弹出来,能回退的点给你高亮;方向键选中你说过哪句,Enter,它就在那儿分叉,把那条 prompt 重新打开让你改,改完重跑。

妙就妙在源保留分支。你退回的那条线还在,新跑的是一条新分支,原来的对话不会被抹掉。这比硬清空上下文温柔多了。

没几个人知道这个。我自己也是用了半个月才发现,之前方向跑错了就 /clear 重来,前面攒的上下文一把清空。Esc Esc Enter 三下,省事得多。

06

PART

救命的几个快捷键

KEYMAP · 肌肉记忆

Esc 之外,再记几个。

| 键

|

干什么

Enter

提交草稿

| | Tab |

任务跑着时排队下一条

| | Ctrl+T |

打开 transcript overlay

| | Ctrl+O |

复制最后回复成 markdown

| | Alt+. |

提高推理强度

| | Alt+, |

降低推理强度

|

Enter 提交草稿。任务跑着时按 Tab 能把下一条排队进去,不打断当前。Ctrl+T 打开 transcript overlay 翻完整历史;Ctrl+O 把最后一条回复复制成 markdown。推理强度两个键,Alt+. 调高、Alt+, 调低,临时啃硬骨头加一档很顺手。

审批弹窗那几个键更得记。Y 批准一次,A 整个会话都批,D 拒绝,N 拒绝顺便告诉它怎么改。Ctrl+A 把审批详情撑到全屏看。我最开始只会回车,后来才意识到,连它要改啥都没看清就放行了,吓出一身汗。

所有键位都能在 config.toml 的 [tui.keymap] 里重映射,还支持两键 chord(比如 ctrl-x ctrl-t)。不想自定义就 /keymap 看默认。

07

PART

codex exec,另一条入口

EXEC · 给脚本和 CI

codex 进 TUI 是给你坐下来一行行调的。但脚本、CI 那种场景要的是一次跑完、不交互,这时换 codex exec,别名 codex e。

图片

图 1 — Codex 两个入口一套配置。左路交互式 TUI,右路 codex exec,底部共享 config.toml · AGENTS.md · 账号。

bash

# 直接给 prompt

codex exec “数一下 src 目录有多少行代码”

# 从 stdin 读

echo “修复这个 bug” | codex exec -

# 输出 JSONL 事件流,给脚本解析

codex exec –json “分析代码” | head -20

# 把最后一条消息写进文件

codex exec -o review.md “审查 src/”

注意,codex exec 默认只读、不碰文件,跟交互式默认不一样。要它动手改,得显式给权限。

bash

codex exec –sandbox workspace-write “修 lint”

codex exec –sandbox danger-full-access “跑完测试并修”

exec 几个专属 flag 也值得收一下。--json 输出结构化事件流,-o/--output-last-message 把结果写文件,--output-schema 用 JSON Schema 约束输出结构,--ephemeral 不存会话,--skip-git-repo-check 在非 Git 仓库也能跑。

exec 还有两个子命令。codex exec resume –last 恢复最近一次非交互会话,codex exec review 对当前仓库跑代码审查。

两套入口共享一套 flag,--model、--sandbox、--profile 这些都通用。会话也能打通,交互式跑的能 resume,exec 跑的也能 fork。

08

PART

那些已经被改掉的旧命令

LEGACY · 别照抄老资料

旧的 --auto-edit 和 --full-auto 两个 flag 已经没了。它们当年表达的是「自治程度」,现在 Codex 把这件事拆成了两条正交的轴,审批和沙箱各管各的。新的写法是 --ask-for-approval 配 --sandbox。

bash

# 旧(已废弃)

codex –auto-edit

codex –full-auto

# 新

codex –ask-for-approval on-request –sandbox workspace-write

旧的审批三档 suggest / auto-edit / full-auto 也被 approval_policy(untrusted / on-request / never)加 sandbox_mode(read-only / workspace-write / danger-full-access)取代了。现在你只要记住,看到老资料里的旧名,心里翻译一下就行,别照抄进新配置。

!最大的坑 🕳

还有个 codex –upgrade 自更新命令,早期版本有,现在官方 README 不再文档化它。更新就走包管理器。npm 用 npm install -g @openai/codex@latest,brew 用 brew upgrade –cask codex,脚本就重跑安装脚本。codex –version 看版本还是好使的。

codex login 这个写法现在还在,没变。但 –device-auth 和 –with-api-key 俩子命令是后加的,老页面不写,远程机器和 API key 用户得自己知道。

09

PART

镜像和代理

PROXY · 国内绕不开

国内用户绕不开的事,网络。装的时候慢,npm 挂镜像源;跑起来连不上 OpenAI,又分两种情况。

装的时候,安装器默认从 releases.openai.com 下,连不上可以强制走 GitHub Releases。

bash

curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh

运行期,API 请求走代理。最简单的是设环境变量 HTTPS_PROXY / HTTP_PROXY / ALL_PROXY。想要更细的控制,在 config.toml 里配 [permissions..network] 段,能设 proxy_url、SOCKS5、域名黑白名单。

要是想走自建的 OpenAI 兼容镜像,config.toml 里加 [model_providers.my-proxy],设 base_url 指向你的端点,配 env_key 读 key。有个细节,wire_api 现在只支持 responses,老的 chat 已经不支持了。

装好只是起点,用顺才算入门

backtrack 和斜杠命令,是 Codex 交互里最该练的肌肉。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞

在看

转发

THANKS FOR READING