OpenAI Codex CLI 这页能帮你确认:怎么在交互式终端里使用 Codex、如何恢复旧会话、怎么连接远程 app server,以及哪些功能会写入本地配置。常见操作包括 codexcodex resumecodex --remotecodex features,并且可通过 /model/theme/review/permissions 等命令在会话中切换行为。

OpenAI Codex CLI 功能与用法

交互式模式怎么用

Codex 会启动一个全屏终端 UI,可以读取你的代码库、修改文件,并在你迭代时运行命令。适合你想一边看着它执行、一边确认每一步结果的交互式工作流。

codex

也可以在命令行里直接给一个初始提示词。

codex "Explain this codebase to me"

会话打开后,你可以:

  • 直接在输入框里发送提示词、代码片段或截图,详见下面的 图片输入
  • 先看 Codex 的计划,再让它改动;每一步都可以在界面里批准或拒绝。
  • 在 TUI 里阅读带语法高亮的 Markdown 代码块和 diff,然后用 /theme 预览并保存喜欢的主题。
  • /clear 清空终端并开始新的聊天;也可以按 Ctrl+L 只清屏,不开启新对话。
  • /copy 或按 Ctrl+O 复制最近一次完成的 Codex 输出。如果当前轮次还在运行,复制的是最近已完成的输出,而不是进行中的文本。
  • Codex 运行时按 Tab,可以把后续文本、slash 命令或 ! shell 命令排到下一轮。
  • 在输入框里用 Up/Down 浏览草稿历史,Codex 会恢复之前的草稿文本和图片占位符。
  • Ctrl+R 可以在输入框里搜索提示历史,再按 Enter 接受匹配结果,或按 Esc 取消。
  • 完成后按 Ctrl+C,或使用 /exit 关闭交互式会话。

怎么恢复以前的会话

Codex 会把对话记录保存在本地,这样你可以接着上次的上下文继续,不必重复说明背景。需要用 resume 子命令重新打开之前的线程,并保留相同的代码库状态和指令。

  • codex resume 会打开最近交互式会话的选择器。高亮某个运行记录后,可以先看摘要,再按 Enter 重新打开。
  • codex resume --all 会显示当前工作目录之外的会话,方便重新打开任意本地运行记录。
  • codex resume --last 会跳过选择器,直接进入当前工作目录下最近的一次会话;如果加上 --all,则不受当前工作目录过滤限制。
  • codex resume <SESSION_ID> 可以定位到某个具体运行记录。ID 可以从选择器、/status,或者 ~/.codex/sessions/ 下的文件里复制。

非交互式自动化运行也可以恢复:

codex exec resume --last "Fix the race conditions you found"
codex exec resume 7f9f9a2e-1b3c-4c7a-9b0e-.... "Implement the plan"

每次恢复后的运行都会保留原始对话、计划历史和审批记录,所以 Codex 能继续利用之前的上下文,同时你也可以补充新的指令。如果要在恢复前调整环境,可以用 --cd 覆盖工作目录,或者用 --add-dir 额外添加根目录。

怎么把 TUI 连接到远程 app server

远程 TUI 模式允许你在一台机器上运行 Codex app server,然后从另一台机器打开 Codex 终端 UI。先用 WebSocket 监听器启动 app server:

codex app-server --listen ws://127.0.0.1:4500

然后把 TUI 连接到这个地址:

codex --remote ws://127.0.0.1:4500

如果要从另一台机器访问,先把 app server 绑定到可达网卡,并在远程使用前配置 WebSocket 认证:

TOKEN_FILE="$HOME/.codex/app-server-token"
openssl rand -base64 32 > "$TOKEN_FILE"
chmod 600 "$TOKEN_FILE"
codex app-server --listen ws://0.0.0.0:4500 --ws-auth capability-token --ws-token-file "$TOKEN_FILE"

--remote 支持显式的 ws://host:portwss://host:port 地址。纯 WebSocket 适合 localhost 和 SSH 端口转发场景。非本地客户端建议启用 WebSocket 认证,并把连接放在 TLS 后面。

Codex 支持这些 WebSocket 认证方式:

  • Capability token:用 --ws-auth capability-token 启动服务端,并提供 --ws-token-file /absolute/path--ws-token-sha256 HEX
  • Signed bearer token:用 --ws-auth signed-bearer-token --ws-shared-secret-file /absolute/path 启动服务端,还可以加 --ws-issuer--ws-audience--ws-max-clock-skew-seconds

TUI 会在 WebSocket 握手期间,把远程认证 token 作为 Authorization: Bearer <token> 头发送出去。Codex 只接受通过 wss:// URL 或 loopback ws:// URL 传入的远程认证 token。

export CODEX_REMOTE_TOKEN="$(cat "$TOKEN_FILE")"
codex --remote wss://remote-host:4500 --remote-auth-token-env CODEX_REMOTE_TOKEN

如果你在 Codex app 里连接 SSH 远程项目,请使用 Remote connections。如果你在管理远程控制客户端,可以用 codex remote-control 启动带 remote-control 支持的 app-server 进程。

模型和推理

在大多数 Codex 任务中,推荐使用 gpt-5.5。它是 OpenAI 面向复杂编程、computer use、知识工作和研究流程的最新前沿模型,适合需要更强规划、工具调用和多步骤执行的任务。对于更快的任务,ChatGPT Pro 订阅用户可以使用研究预览中的 GPT-5.3-Codex-Spark 模型。

可以在会话中用 /model 切换模型,也可以在启动 CLI 时直接指定。

codex --model gpt-5.5

了解 Codex 可用模型

功能开关

Codex 内置了一小组 feature flags。你可以用 features 子命令查看可用项,并把变更持久化到配置里。

codex features list
codex features enable unified_exec
codex features disable shell_snapshot

codex features enable <feature>codex features disable <feature> 会写入 ~/.codex/config.toml。如果你用 --profile 启动 Codex,变更会写进该 profile,而不是根配置。

子代理

Codex 支持 subagent 工作流,适合把大任务拆开并行处理。关于初始化、角色配置(config.toml 里的 [agents]),以及示例,请看 Subagents

Codex 只会在你明确要求时才启动 subagent。由于每个 subagent 都会单独进行模型和工具调用,subagent 工作流消耗的 token 通常比同等单代理运行更多。

图片输入

你可以附加截图或设计稿,让 Codex 在理解提示词的同时读取图片细节。图片可以直接粘贴到交互式输入框,也可以在命令行里提供文件。

codex -i screenshot.png "Explain this error"
codex --image img1.png,img2.jpg "Summarize these diagrams"

Codex 支持常见格式,比如 PNG 和 JPEG。两个或更多图片时,可以用逗号分隔文件名,并配合文字指令补充上下文。

图片生成

你可以直接在 CLI 里让 Codex 生成或编辑图片。适合图标、横幅、插画、sprite sheet 和占位图这类素材。如果要让 Codex 修改或扩展已有素材,请在提示词里附带参考图片。

你可以用自然语言描述,也可以在提示词中显式加入 $imagegen 来调用图片生成技能。

内置图片生成使用 gpt-image-2,计入你的 Codex 总使用额度;按包含额度计算时,通常比不使用图片生成的相似轮次快 3–5 倍,具体取决于图片质量和尺寸。详细信息见 Pricing。提示词技巧和模型细节见 image generation guide

如果要批量生成更多图片,可以在环境变量里设置 OPENAI_API_KEY,然后让 Codex 通过 API 生成图片,这样会按 API 定价计费。

语法高亮和主题

TUI 会对 fenced markdown 代码块和文件 diff 做语法高亮,方便你在代码审查和调试时快速扫描内容。

/theme 可以打开主题选择器,实时预览主题,并把选择保存到 ~/.codex/config.toml 里的 tui.theme。你也可以把自定义 .tmTheme 文件放到 $CODEX_HOME/themes 下,然后在选择器里选用。

怎么做本地代码审查

在 CLI 里输入 /review 可以打开 Codex 的审查预设。CLI 会启动专门的 reviewer,读取你选中的 diff,并输出按优先级排序、可直接执行的发现项,不会改动你的工作树。默认使用当前会话模型;如果在 config.toml 里设置了 review_model,则会覆盖默认值。

  • Review against a base branch:选择一个本地分支,Codex 会找到它相对上游的 merge base,比较你的改动,并在你发起 pull request 前标出最大风险。
  • Review uncommitted changes:检查所有已暂存、未暂存和未跟踪的内容,方便你在提交前修正问题。
  • Review a commit:列出最近的提交,让 Codex 读取你选择的 SHA 对应的精确变更集。
  • Custom review instructions:接受你自己的审查要求,比如 “Focus on accessibility regressions”,然后用同一个 reviewer 按该提示运行。

每次审查都会作为 transcript 里的独立轮次出现,所以你可以随着代码演进反复重跑审查,并对比反馈差异。

Web 搜索

Codex 自带第一方 web search 工具。对于 Codex CLI 里的本地任务,Codex 默认启用 web search,并从 web search cache 提供结果。这个缓存是 OpenAI 维护的网页结果索引,因此缓存模式返回的是预先编入索引的结果,而不是实时抓取页面。这样可以降低来自任意实时内容的 prompt injection 风险,但你仍然要把 web 结果视为不可信内容。如果你使用 --yolo 或其他 full access sandbox setting,web search 默认会返回实时结果。要获取最新数据,可以对单次运行传 --search,或者在 Config basics 里把 web_search = "live"。你也可以设置 web_search = "disabled" 来关闭这个工具。

每当 Codex 查找信息时,你会在 transcript 或 codex exec --json 输出里看到 web_search 项。

怎么用单个提示词运行

如果你只需要快速答案,可以让 Codex 直接跑一个提示词,跳过交互式 UI。

codex "explain this codebase"

Codex 会读取工作目录,生成计划,并在退出前把回复流式输出到终端。可以配合 --path 之类的标志锁定特定目录,或者用 --model 提前固定行为。

Shell 自动补全

安装为 shell 生成的补全脚本,可以加快日常使用:

codex completion bash
codex completion zsh
codex completion fish

把补全脚本写入 shell 配置文件,就能在新会话里自动启用补全。比如使用 zsh 时,可以把下面内容加到 ~/.zshrc 末尾:

# ~/.zshrc
eval "$(codex completion zsh)"

重新打开一个会话,输入 codex,然后按 Tab 就能看到补全项。如果出现 command not found: compdef 错误,请先在 eval "$(codex completion zsh)" 之前向 ~/.zshrc 添加 autoload -Uz compinit && compinit,然后重启 shell。

许可模式

许可模式决定了 Codex 在不停止确认的情况下能做多少事情。你可以在交互式会话中用 /permissions 随时切换。

  • Auto(默认)允许 Codex 在工作目录内读文件、编辑和运行命令;但在触碰工作目录外内容或使用网络之前,仍会先询问。
  • Read-only 让 Codex 进入咨询模式。它可以浏览文件,但在你批准计划之前不会修改文件或运行命令。
  • Full Access 允许 Codex 在整台机器上工作,包括网络访问,而且不会询问。这个模式要谨慎使用,只适合你信任仓库和任务的场景。

Codex 会始终展示自己的操作记录,所以你可以像平常一样用 git 工作流来审查或回滚改动。

怎么脚本化 Codex

要自动化工作流,或者把 Codex 接入现有脚本,可以使用 exec 子命令。它会非交互式运行 Codex,并把最终计划和结果输出到 stdout

codex exec "fix the CI failure"

你可以把 exec 和 shell 脚本结合起来,构建自定义流程,例如自动更新 changelog、整理 issue,或者在 PR 发布前做编辑检查。

怎么使用 Codex cloud

codex cloud 命令可以让你在终端里直接筛选和启动 Codex cloud tasks,不用离开命令行。直接运行不带参数的命令,会打开交互式选择器,你可以浏览进行中或已完成的任务,并把变更应用到本地项目。

你也可以直接在终端启动任务:

codex cloud exec --env ENV_ID "Summarize open bugs"

需要多方案时,可以加 --attempts(1–4)请求 best-of-N 运行。比如:

codex cloud exec --env ENV_ID --attempts 3 "Summarize open bugs"

Environment ID 来自你的 Codex cloud 配置。你可以运行 codex cloud,然后按 Ctrl+O 选择 environment,也可以去 web dashboard 确认准确值。认证会沿用你现有的 CLI 登录;如果提交失败,命令会以非零状态退出,方便你接到脚本或 CI 里。

slash commands

slash commands 可以让你快速调用专门流程,比如 /review/fork/side,或者你自己复用的提示词。Codex 自带一组精选的内置命令,你也可以为团队任务或个人快捷方式创建自定义命令。

查看 slash commands guide,了解内置命令目录、如何编写自定义命令,以及它们在磁盘上的位置。

提示词编辑器

当你要写较长的提示词时,切到完整编辑器里编辑,再把结果发回 composer 会更方便。

在提示词输入框里按 Ctrl+G,会打开 VISUAL 环境变量指定的编辑器;如果没有设置 VISUAL,则使用 EDITOR

Model Context Protocol(MCP)

你可以通过配置 Model Context Protocol 服务器,让 Codex 连接更多工具。可以在 ~/.codex/config.toml 中添加 STDIO 或 streaming HTTP 服务器,也可以用 codex mcp CLI 命令管理;会话启动时 Codex 会自动拉起这些服务器,并把它们的工具和内置工具放在一起。必要时,你甚至可以把 Codex 自己作为 MCP server 运行,在另一个 agent 里使用。

示例配置、支持的认证流程和更详细的说明,见 Model Context Protocol

小技巧和快捷键

  • 在输入框里按 @,会在 workspace root 上打开模糊文件搜索;按 TabEnter 可以把高亮路径插入消息。
  • Codex 运行时按 Enter,可以把新指令注入当前轮次;按 Tab 可以把后续输入排到下一轮。排队输入可以是普通提示词、像 /review 这样的 slash 命令,或 ! shell 命令。Codex 在执行时会解析排队的 slash 命令。
  • 在行首加 ! 可以运行本地 shell 命令,比如 !ls。Codex 会把输出当成用户提供的命令结果处理,同时仍然应用你的审批和 sandbox 设置。
  • 当输入框为空时连按两次 Esc,可以编辑上一条用户消息。继续按 Esc 可以往更早的对话记录回退,然后按 Enter 从那个位置分叉。
  • codex --cd <path> 可以从任意目录启动 Codex,不必先 cd。当前路径会显示在 TUI 头部。
  • 当你需要同时协调多个项目时,可以用 --add-dir 暴露更多可写根目录,例如 codex --cd apps/frontend --add-dir ../backend --add-dir ../shared
  • 启动 Codex 之前,先把环境准备好,避免它花 token 去探测该激活什么。例如先 source 你的 Python 虚拟环境或其他语言环境,启动必要的 daemon,并提前导出要用的环境变量。

常见问题

OpenAI Codex CLI 怎么恢复上一次会话

codex resume 可以重新打开最近的交互式会话;codex resume --last 会直接进入最近一次记录。你也可以通过 codex resume <SESSION_ID> 精确恢复某个线程。

OpenAI Codex 怎么连接远程 TUI

先在一台机器上运行 codex app-server --listen ws://...,再在另一台机器上用 codex --remote ws://... 连接。非本地连接建议启用 --ws-auth,并优先使用 wss://

Codex CLI 怎么切换模型

在会话中输入 /model,或者启动时加 --model gpt-5.5。大多数任务推荐 gpt-5.5,而 ChatGPT Pro 订阅用户还可以使用 GPT-5.3-Codex-Spark 研究预览模型。