Codex 的常用操作分为 CLI 命令和 Desktop 快捷入口两套:CLI 适合脚本、CI 和精细控制,Desktop 适合项目、文件、浏览器和长任务协作。高效使用的关键不是记住几十个参数,而是先确认工作区状态,再让 Codex 修改,最后用测试和 Git 差异验收。本文同时覆盖两种形态;CLI 参数以本机 codex --help 为准,Desktop 快捷键以“Settings > Keyboard Shortcuts”为准。
| 目标 | 命令 | 风险 |
|---|---|---|
| 查看版本和帮助 | codex --version、codex --help | 无 |
| 登录 | codex login | 需鉴权 |
| 启动交互会话 | codex | 可能改文件 |
| 只读分析 | codex --sandbox read-only | 低 |
| 自动执行 | codex --full-auto | 会改文件 |
| 恢复会话 | codex resume | 取决于任务 |
| 查看改动 | git status、git diff | 无 |
| 工作目标 | Codex CLI | Codex Desktop(macOS 默认快捷键) |
|---|---|---|
| 打开工作目录 | codex --cd /path/to/repository 或 codex -C /path/to/repository | ?O 打开文件夹,在项目菜单中添加或切换文件夹 |
| 新建任务 | codex 或会话内 /new | ?N 新建聊天;Codex 独立聊天可用 ??O |
| 选择模型 | 配置文件或启动参数 | ??M 打开模型选择器 |
| 查看文件 | 终端工具和仓库命令 | ?P 搜索文件,??E 切换文件树 |
| 查看代码审查 | codex review | ??G 打开 Review 标签页,??B 切换 Review 面板 |
| 打开终端 | 当前 Shell | ?\`` 切换内置终端,?J` 切换底部面板 |
| 查看状态 | 终端输出、codex doctor | /status 查看聊天 ID、上下文用量和速率限制 |
| 恢复任务 | codex resume | 从侧边栏 Recent chats / 项目 Chats 重新打开 |
Desktop 的项目可以关联一个或多个本地文件夹;主文件夹决定默认工作目录和 AGENTS.md、Skills、config.toml 的自动发现位置。次级文件夹可读写,但不会自动发现这些项目级配置。
Desktop 没有 CLI 那样的终端子命令,主要通过命令菜单、斜杠命令和快捷键完成操作。按 ??P 或 ?K 打开命令菜单,按 / 打开斜杠命令列表。
常用斜杠命令包括:
macOS 高频快捷键:?O 打开文件夹,?P 搜索文件,??E 切换文件树,??G 打开 Review,?T 打开内置浏览器,??B 切换浏览器面板,??A 跳到下一个需要处理的 Codex 聊天,??C 复制会话 ID,??C 复制工作目录。
Windows/Linux 将 ? 换成 Ctrl 或 Super 的对应组合;可在“Settings > Keyboard Shortcuts”搜索命令并自定义按键。
--full-auto 只是减少确认步骤,并不代表模型更准确。真实仓库应优先使用默认确认模式或临时分支。
|
1 2 3 |
codex --version codex --help codex login |
进入仓库后先保存初始状态:
|
1 2 3 |
cd /path/to/your-repository git status --short codex |
/path/to/your-repository 是占位路径。不要把 API Key 写入 Shell 历史、项目文件或公开日志。
只读分析适合陌生仓库和安全审计:
|
1 |
codex --sandbox read-only |
默认模式会在执行命令或写文件前请求确认:
|
1 |
codex |
批量测试或临时分支可使用全自动模式:
|
1 2 |
git switch -c codex/task-name codex --full-auto |
执行高风险命令前检查 pwd、目标文件和影响范围;不要在生产目录直接使用 --full-auto。
任务提示应包含目标文件、约束、验证命令和完成标准:
|
1 |
请修复 src/parser.ts 的空输入异常,只修改 parser 和对应测试;完成后运行 npm test -- parser,并总结 git diff。 |
要求 Codex 修改后运行最小相关测试,而不是只回复“已完成”。如果任务涉及多个模块,先让它输出计划,再分阶段执行。
终端断开或任务需要稍后继续时:
|
1 |
codex resume |
恢复前查看工作区:
|
1 2 |
git status --short git diff --stat |
恢复后先让 Codex总结已完成步骤、剩余步骤和失败命令,再继续。无法恢复时,把 git diff、日志和剩余目标交给新会话。
|
1 2 3 |
git status --short git diff --stat git diff -- src/ tests/ |
常见项目验证命令:
|
1 2 3 |
npm test npm run lint npm run build |
这些是 Node 项目示例;Python、Rust 等项目应使用仓库已有的 pytest、cargo test 或其他脚本。绿色测试只证明已覆盖的断言通过,不代表需求完整实现。
遇到模型、Provider 或配置不生效,检查常见配置文件:
|
1 2 3 |
ls -l ~/.codex/config.toml sed -n '1,220p' ~/.codex/config.toml codex --help |
分享日志前脱敏 API Key。若命令失败,先确认目录和运行时:
|
1 2 3 4 5 |
pwd which node node --version which python3 python3 --version |
不要只复制最后一行错误,完整上下文通常包含真正原因。
|
1 2 3 |
git status --short git diff --stat git diff --name-only |
停止会话,确认文件清单,再要求只保留直接相关改动。不要直接运行 git clean -fd,它可能删除未跟踪文件。
|
1 2 3 |
git status --short git diff --stat codex resume |
恢复后先输出状态摘要和下一步计划。
|
1 2 3 |
git diff npm test npm run lint |
补充能复现真实用户流程的测试,并人工检查关键页面或接口。
先用 pwd、which 和版本命令确认环境,再把完整日志交给 Codex。不要让模型通过盲目升级依赖来“修复”环境错误。
Desktop 的优势是把项目、聊天、文件、浏览器和 Review 放在同一个工作区;CLI 的优势是可脚本化、可在 CI 中运行。两者可以使用同一个 Git 仓库,但不要把“聊天恢复”和“Git 回滚”混为一谈:恢复聊天只找回上下文,不能自动撤销已经写入磁盘的改动。
Q1:codex --full-auto 可以用于生产仓库吗? 不建议。它适合可回滚的临时分支;生产仓库应使用默认确认模式并限制目录和命令范围。
Q2:为什么 codex resume 找不到任务? 可能是登录身份、工作目录或 CLI 版本变化。先运行 codex --help,确认用户和仓库路径;无法恢复时用 Git 差异和日志重建上下文。
Q3:修改后至少运行什么? 至少运行相关单元测试并检查 git diff;前端或构建项目再补充 lint、类型检查和 build。
Q4:Desktop 和 CLI 能共用一个项目吗? 可以共用同一个 Git 仓库和项目文件,但 Desktop 通过本地项目管理文件夹,CLI 以启动目录或 --cd 指定工作区;两边同时修改时应使用不同 worktree。
Q5:如何避免 Codex 读取密钥? 不把密钥放在任务目录或提示词中,使用环境变量和忽略文件,并在分享日志前脱敏。
Codex 常用命令的核心不是自动化程度越高越好,而是让任务在可观察、可回滚的边界内推进。CLI 用 codex --sandbox read-only、codex --full-auto 和 codex resume 处理脚本化任务;Desktop 用项目、斜杠命令、Review 和快捷键管理文件与长任务。两者都应与 git status、git diff 和测试命令配合,最终以本机帮助和官方文档为准。