Codex CLI 的“命令”实际分为三类:在 shell 中运行的子命令、启动时附加的全局参数,以及终端交互界面中的斜杠命令。把三者混在一起,最常见的结果就是在错误位置输入命令,或误以为一次性参数会永久修改配置。
本文按真实任务整理常用入口,并把权限与危险参数单独说明。命令和可用功能会随版本变化;本文已在 2026-08-27 对照 OpenAI 官方 Codex CLI 页面和开发者命令参考核验,实际使用时仍应以当前 codex --help 与官方页面为准。
先区分三类命令
| 类型 | 输入位置 | 示例 | 适合用途 |
|---|---|---|---|
| CLI 子命令 | 普通 shell | codex login status | 登录、恢复会话、审查、自动化与诊断 |
| 全局参数 | codex 或子命令之后 | codex --cd apps/site | 为本次运行选择目录、沙盒、审批或模型 |
| 斜杠命令 | Codex 交互界面 | /status | 在当前会话中查看或调整状态 |
如果不确定当前版本支持什么,先执行:
codex --help
codex exec --help
帮助输出比旧文章或截图更可靠。不要仅凭记忆使用危险参数,也不要把其他 OpenAI 命令行工具的语法套到 Codex CLI。
启动交互界面并限定工作目录
在项目目录中运行 codex 会启动终端交互界面:
cd /path/to/project
codex
也可以通过 --cd(短参数为 -C)显式设置工作目录:
codex --cd /path/to/project
路径只是示例,执行前应确认它指向预期仓库。OpenAI 当前参考还列出 --add-dir,用于在主工作区之外增加可写目录。只有任务确实需要时才应扩大范围,不要为了减少提示直接授予整个上级目录。
对于普通本地工作,官方参考给出的低摩擦组合是:
codex --sandbox workspace-write --ask-for-approval on-request
这组参数只影响本次启动。要保存长期默认值,应单独审查 config.toml;不要把一次性命令误认为永久配置。
登录、检查状态与退出登录
常用认证入口如下:
codex login
codex login status
codex logout
codex login 启动登录流程,codex login status 输出当前认证模式,并在存在凭证时以成功状态结束;codex logout 移除已保存的 ChatGPT 与 API key 认证凭证。
官方参考也提供从标准输入读取 API key 或 access token 的方式。凭证不应直接出现在命令历史、脚本参数、截图或文章示例中。自动化环境应使用受控的秘密管理和最小权限,而不是把密钥写进仓库中的 .env 范例。
恢复、分叉和整理会话
要继续历史会话,可使用:
codex resume
codex resume --last
resume 适合延续原任务和上下文。如果你需要从某个已有会话探索另一种方案,同时保留原来的对话线索,可使用 codex fork。恢复和分叉不是同一件事:前者继续,后者创建新分支。
在交互界面里,/rename 可以给当前会话命名,/archive 会归档并退出,/delete 则永久删除当前会话及其后代。归档与删除的恢复能力不同,删除前要确认目标和影响范围。
在会话中检查状态和权限
进入终端交互界面后,最值得先记住的是:
/status
/permissions
/status 用来查看当前会话配置,例如活动模型、审批策略、可写范围和令牌使用情况。/permissions 用来调整 Codex 无需再次询问即可执行的操作。开始新仓库、切换目录或发现命令行为与预期不一致时,先检查状态,再决定是否扩大权限。
/model 用于切换当前会话模型,/compact 会压缩较长的对话以释放上下文空间。模型、推理选项和功能可用性可能因版本、账号或环境而不同,应从当前斜杠菜单选择,而不是依赖文章中的固定默认值。
审查改动与查看差异
在交互界面中使用:
/review
/diff
/review 可引导工作树审查,/diff 便于查看精确文件差异。shell 中的 codex review 则可非交互审查未提交改动、基础分支差异、某个提交或自定义审查要求。
自动审查结果仍需与真实 Git 差异、测试输出和项目规则核对。尤其要确认没有覆盖任务前的用户改动,没有把凭证或生成文件纳入提交,也没有把未执行的检查写成“已通过”。
使用 codex exec 运行非交互任务
codex exec(短形式 codex e)适合脚本或 CI 中需要执行完即退出的任务:
codex exec --cd /path/to/project "Read the repository instructions and report the validation commands. Do not modify files."
提示也可以从标准输入读取。当前官方参考提供 --json 输出逐行 JSON 事件,以及 --output-last-message 把最终回答写入指定文件。需要让下游程序消费结果时,可配合 --output-schema 约束最终输出结构。
非交互不等于无需边界。应显式选择合适的 --sandbox,在 CI 中使用最小凭证,并让失败状态阻止后续发布。官方参考标记 --dangerously-bypass-approvals-and-sandbox(别名 --yolo)为危险选项,只适用于已由外部环境隔离的运行器;它不应成为本地或共享构建机的默认命令。
常用交互快捷方式
除了斜杠命令,当前官方参考记录了几种高频操作:
- 输入
@搜索工作区文件并把路径加入提示; - 使用
Ctrl+R搜索提示历史; - 使用
Ctrl+O或/copy复制最近一次已完成的输出; - 在一行开头输入
!,按当前沙盒与审批设置运行本地 shell 命令; - Codex 工作时按
Tab,把跟进提示或命令排到下一轮; - 工作时按
Enter,把新说明注入当前轮; - 使用
/exit或Ctrl+C退出会话。
! 并不会绕过权限。它只是从交互界面发起本地命令,仍应先核对工作目录、参数和影响范围。
诊断、更新和功能状态
当前官方命令参考把以下命令列为稳定入口:
codex doctor
codex features list
codex update
codex doctor 生成安装、配置、认证、运行时、Git、终端和会话等诊断报告;使用 --json 时会输出经过处理的机器可读支持报告。即使如此,分享诊断文件前仍应检查本地路径和项目上下文。
codex features list 展示已知功能、成熟度和当前有效状态。codex update 仅在当前安装版本支持自更新时检查并应用更新。安装渠道不同,更新方式也可能不同,因此出错时应回到官方 CLI 页面确认。
按任务选择命令
| 目标 | 建议入口 | 先检查什么 |
|---|---|---|
| 第一次进入项目 | codex --cd <path> | 目录、Git 状态、AGENTS.md |
| 确认登录 | codex login status | 认证模式,不输出凭证 |
| 查看当前边界 | /status、/permissions | 可写目录、审批、沙盒 |
| 继续上次任务 | codex resume --last | 是否确实是同一项目与目标 |
| 分支探索方案 | codex fork | 是否需要保留原会话 |
| 审查工作树 | /review、/diff | 真实差异和测试结果 |
| 脚本化只读任务 | codex exec --sandbox read-only | 输入、退出状态、输出格式 |
| 排查环境问题 | codex doctor | 报告中是否有敏感信息 |
如果项目需要固定的构建和验收规则,先阅读 AGENTS.md 指南;若尚未完成安装和首次登录,请从 Codex CLI 安装教程 开始。
常见问题
/status 和 codex login status 有什么区别?
/status 在交互会话中查看模型、权限与工作区等运行状态;codex login status 在 shell 中检查认证模式。两者解决的问题不同。
全局参数会永久修改 config.toml 吗?
通常不会。--cd、--sandbox、--ask-for-approval 和 -c key=value 用于当前调用。需要持久化时,应使用官方配置机制并审查改动。
可以在 CI 中直接使用 —yolo 吗?
不应默认使用。官方参考只建议在已经隔离的运行器中考虑危险绕过选项。更安全的做法是选择合适沙盒、限制写入目录和网络、使用最小权限凭证,并保留人工发布门禁。
斜杠命令在所有版本中都一样吗?
不一定。命令可能受版本、平台、账号或功能成熟度影响。进入当前终端界面输入 /,以实际菜单和官方命令参考为准。