CLI 适合真实工程、科研脚本、日志排查、批量任务和自动化。Codex CLI 可以在当前目录读取、修改和运行代码;交互模式通常通过codex启动。(S1)
1 最推荐的安全启动方式
在项目根目录下使用:
codex --sandbox workspace-write --ask-for-approval on-request
含义:
workspace-write:允许 Codex 在当前工作区读写和运行常规项目命令;on-request:需要越界、联网或高风险动作时,让它先问你。
OpenAI 官方将这一组合称为适合本地工作的 Auto 预设思路:工作区内可自动读、改、运行;工作区外写入或网络访问需批准。(S6)
第一次读项目,更保守的启动方式
codex --sandbox read-only --ask-for-approval untrusted
适合陌生仓库、只想分析、项目含有重要代码,或你还不信任当前配置时。
2 CLI 最常用的启动方式
进入交互界面
codex
带着一句任务直接启动
codex "只读分析当前代码库,解释项目结构和启动方式,不修改文件。"
指定项目目录
codex --cd /path/to/project "检查当前项目的测试命令和 CI 配置,不修改文件。"
用图片作为上下文
codex --image ./design.png "根据这张设计图分析当前前端页面需要修改的地方,先不要改代码。"
CLI 官方参考支持使用--image向初始提示添加一个或多个图像文件。(S7)
3 CLI 里最值得记住的斜杠命令
| 命令 | 用途 | 什么时候用 |
|---|---|---|
| /plan | 先规划,不直接实施 | 跨文件、复杂、模糊任务 |
| /init | 生成 AGENTS.md 起始草稿 | 新项目第一次接入 Codex |
| /review | 触发代码审查 | 提交前、PR 前、改动后 |
| /permissions | 调整权限模式 | 想从只读切换到可写、或收紧权限 |
| /goal | 设置长任务的明确完成目标 | 多步骤、耗时、可量化任务 |
| /compact | 压缩长会话上下文 | 对话太长、上下文杂乱 |
| /resume | 恢复会话 | 中断后继续 |
| /fork | 从当前讨论分叉出新思路 | 比较两个方案,不想污染主线程 |
官方文档说明,Goal mode 可通过/goal开启;它把目标描述作为任务起点和完成标准,并可在 App、IDE、CLI 中使用。(S8)
4 一套完整的 CLI 实战演示
目标:修复 Python 项目训练时找不到数据文件
第一步:只读定位。
请先只读分析当前项目,不要修改文件,也不要下载任何数据。
运行报错:
FileNotFoundError: data/train.csv not found
请:
查找所有引用
data/train.csv的代码;查找配置文件中是否定义数据路径;
判断这是路径、工作目录、配置还是数据缺失问题;
给出最小修复方案;
明确说明是否会影响实验结果。
第二步:要求计划。
请把修复分成最小改动方案。
每一步都说明:
改哪个文件;
为什么;
是否改变训练逻辑;
如何验证。
先不要执行。
第三步:执行。
按方案执行。
限制:
不要修改模型、损失函数、随机种子或数据内容;
只允许修改路径解析和配置读取逻辑;
如果发现需要生成数据,请停止并告诉我;
修改后运行最小可验证命令。
第四步:验收。
请输出最终交付报告:
根因;
修改文件和具体改动;
执行过的命令;
通过的验证;
未验证项;
对可复现性的影响;
如何回滚。
5codex exec:把 Codex 放进脚本或 CI
codex exec用于非交互运行,也就是从脚本、CI 任务或批处理流程中调用 Codex。(S9)
codex exec --sandbox workspace-write \ "审查当前分支相对 main 的改动,输出高、中、低风险问题,并列出建议补充的测试。"注意:
非交互模式不适合需要频繁人工确认的高风险任务;
不要在没有隔离环境的情况下加
--yolo;适合放进 CI 的任务应该是稳定、重复、可验证的;
最好让输出格式固定,方便后续处理。