Appearance
这篇文章是 Codex CLI 的功能手册,覆盖日常开发中用得上的所有能力:如何恢复之前的会话、用远程 TUI 连接到另一台机器的工作环境、用 /review 做本地 Code Review、图片粘贴、Web Search 配置、exec 脚本化工作流,以及几十个提升效率的快捷键和技巧。
Codex CLI 功能详解
Codex CLI 不只是一个聊天窗口,它是一个完整的终端 AI 工作环境。本文覆盖所有值得知道的功能。
交互式 TUI
执行 codex 进入全屏终端界面,也可以带初始 Prompt:
bash
codex "Explain this codebase to me"TUI 里的操作
| 操作 | 效果 |
|---|---|
| 输入 Prompt 后 Enter | 发送 |
| 在 Codex 运行时 Enter | 注入新指令到当前 turn |
| Tab(运行时) | 排队到下一个 turn 后执行 |
Ctrl+C 或 /exit | 退出会话 |
| Ctrl+L | 清屏但不重置对话 |
/clear | 清屏并开始新对话 |
| Up/Down | 浏览草稿历史 |
@ + 字符 | 模糊搜索工作区文件,Tab/Enter 插入路径 |
!命令 | 直接执行本地 shell 命令 |
| Esc Esc(空输入框时) | 编辑上一条用户消息 |
| Ctrl+G | 用 $VISUAL 编辑器写长 Prompt |
恢复会话
Codex 把对话记录存在本地,可以随时重新打开:
bash
codex resume # 选择最近的会话
codex resume --last # 直接打开上一个会话
codex resume --all # 显示所有会话(不只是当前目录)
codex resume <SESSION_ID> # 指定会话 ID非交互脚本里也支持恢复:
bash
codex exec resume --last "Fix the race conditions you found"
codex exec resume 7f9f9a2e-... "Implement the plan"恢复的会话保留原始记录、计划历史和审批状态,提供新指令的同时 Codex 能用之前的上下文。
远程 TUI(连接到远程 App Server)
代码和执行环境在远程机器,但想用本地的 TUI 界面时:
在远程机器(代码所在处)启动 App Server:
bash
codex app-server --listen ws://127.0.0.1:4500在本地机器连接:
bash
codex --remote ws://127.0.0.1:4500认证方式(非本机连接时必须配置):
- Capability Token(推荐):
bash
# 远程机器生成 token
TOKEN_FILE="$HOME/.codex/codex-app-server-token"
openssl rand -base64 32 > "$TOKEN_FILE"
chmod 600 "$TOKEN_FILE"
# 启动 App Server
codex app-server --listen ws://0.0.0.0:4500 \
--ws-auth capability-token \
--ws-token-file "$TOKEN_FILE"
# 本地机器连接
export CODEX_REMOTE_AUTH_TOKEN="$(ssh devbox 'cat ~/.codex/codex-app-server-token')"
codex --remote wss://codex-devbox.example.com:4500 \
--remote-auth-token-env CODEX_REMOTE_AUTH_TOKEN- Signed Bearer Token(HMAC HS256):用于更严格的安全场景
安全提示:非本机连接必须通过 TLS(
wss://)或 SSH 端口转发;token 文件权限设为 600。
模型切换
会话里用 /model 切换,或者启动时指定:
bash
codex --model gpt-5.4关于各模型的适用场景和性价比,参考:模型选择
图片输入
给 Prompt 附上截图或设计稿:
bash
# 单张图片
codex -i screenshot.png "Explain this error"
# 多张图片(逗号分隔)
codex --image img1.png,img2.jpg "Summarize these diagrams"在 TUI 里也可以直接粘贴图片。
本地 Code Review
输入 /review 打开 Review 预设,会启动一个专用 Reviewer(只读,不改代码):
| 预设 | 功能 |
|---|---|
| Review against a base branch | 对比基础分支,找 PR 前的风险 |
| Review uncommitted changes | 检查 staged/unstaged/untracked 的所有改动 |
| Review a commit | 选择特定 commit SHA 审查 |
| Custom review instructions | 自定义 Review 焦点(如"检查无障碍回归") |
每次 Review 作为独立 turn 出现在记录里,可以在代码演进时反复跑对比。
Web Search
Codex CLI 内置 Web Search,默认使用缓存模式(OpenAI 预索引结果,减少 prompt injection 风险):
bash
# 单次实时搜索
codex --search "Fix the fetch error with the new API"config.toml 里全局配置:
toml
web_search = "cached" # 默认,预索引结果
# web_search = "live" # 实时抓取最新内容
# web_search = "disabled" # 关闭使用
--yolo(full-access 模式)时,Web Search 自动切换为 live 模式。
Codex Cloud 集成
在 CLI 里也能管理 Cloud 任务:
bash
codex cloud # 打开交互选择器,浏览/应用云端任务结果
codex cloud exec --env ENV_ID "Summarize open bugs" # 直接启动 Cloud 任务
codex cloud exec --env ENV_ID --attempts 3 "..." # 生成多个方案(best-of-N)Shell 补全
bash
# 生成补全脚本
codex completion bash
codex completion zsh
codex completion fish
# 以 zsh 为例,加到 ~/.zshrc
eval "$(codex completion zsh)"特性开关(Feature Flags)
bash
codex features list # 查看所有 feature flags
codex features enable unified_exec # 开启
codex features disable shell_snapshot # 关闭修改写入 ~/.codex/config.toml,用 --profile 时写入对应 profile。
快捷技巧
codex --cd <path>:指定工作目录,不需要先cdcodex --add-dir ../backend --add-dir ../shared:同时开放多个可写目录(跨仓库协调改动)- 启动 Codex 前先激活 Python venv/Conda 等环境,避免 Codex 浪费 token 探测环境
/status:查看当前会话状态(workspace 目录、权限模式等)- 脚本化示例:
codex exec "fix the CI failure"非交互执行,输出结果到 stdout
常见问题
Q: 如何不进入 TUI,直接得到一个答案?
A: codex "你的问题" 不带其他 flag 时,Codex 会读取目录、制定计划,然后流式输出答案到终端后退出。加 --path <dir> 可以指定目标目录。
Q: 会话记录存在哪里,如何清理?
A: 存在 ~/.codex/sessions/。在 config.toml 里通过 history.persistence 和 history.max_bytes 控制保留策略。
Q: /review 和直接问 Codex "review my code" 有什么区别?
A: /review 启动一个专用的 Reviewer 角色,以 read-only 模式运行,专注于找问题不做修改,输出格式化的 Review 报告。直接问 Codex 则在当前对话上下文里回答,更灵活但没有专用的 Reviewer 模式。