⚠️ 重要前置风险
自动运行 = 允许AI无确认读写文件、执行shell、删除代码、运行危险命令;建议只在Git干净备份、容器/临时环境、不重要项目使用,不要直接在主力工程裸跑 YOLO。
一、两种方案(优先选安全版)
方案1:安全全自动(推荐:workspace-write + never)
只允许修改当前工作目录,不破坏系统全局;超出边界才会拦截。
codex --sandbox workspace-write --ask-for-approval never如果你需要一次性执行任务(不进交互式会话):
codex exec --sandbox workspace-write --ask-for-approval never "完成需求并运行测试"--sandbox workspace-write:只能读写当前项目目录--ask-for-approval never:沙盒内操作不再弹窗确认- 如需网络:在config里开启
[sandbox_workspace_write].network_access = true
方案2:完全无沙盒无确认(YOLO,高危)
codex --yolo
# 等价完整参数
codex --dangerously-bypass-approvals-and-sandbox作用:绕过沙盒边界、所有权限不再确认,可访问全盘、运行sudo、删文件;只适合隔离容器/一次性沙箱环境。
二、永久配置(不用每次敲参数)
编辑 ~/.codex/config.toml
# 安全自动模式(推荐)
sandbox_mode = "workspace-write"
approval_policy = "never"
# 如需网络
[sandbox_workspace_write]
network_access = true不要直接全局写
danger-full-access;尽量用 profile 按需加载:
[profiles.auto_safe]
sandbox_mode = "workspace-write"
approval_policy = "never"启动时加载 profile:
codex --profile auto_safe三、桌面端/VSCode扩展怎么设置
桌面 App / VSCode 没有简单的一键 YOLO 开关:
- 优先使用 CLI 跑自动化任务(上面参数生效更稳定)
- 桌面端只能逐个批准;新版本不支持会话内一键永久自动放行
- VSCode 内想少弹窗:在设置里把审批策略改为自动评审,但依然受沙盒边界限制;不能完全等同于 CLI —yolo
四、容易踩坑的关键点
approval_policy=never不会覆盖沙盒边界:即使设never,越出 workspace-write 目录、网络等边界依然会暂停;想要完全不拦才需要yolo- 版本差异:v0.130+ 不再支持会话内
/approvals临时切换,权限策略必须在启动时指定,不能中途改 - 模型提问 ≠ 权限确认:Codex问你设计/架构选择,是业务决策,不是权限弹窗;
--ask-for-approval never不能消除这类对话 - 最小权限原则:能
workspace-write + never就不要上danger-full-access
五、自动化最佳实践(防止翻车)
- 先
git status确认干净;最好先提交/备份 - 长任务用
codex exec而非交互式会话 - 任务指令里强制加校验:
执行完成后运行测试、lint,出现异常立即停止 - 不要在带密钥、数据库连接的环境开 YOLO
如果你想要,我给一条可直接复制的长期自动化命令模板,附带标准提示词(包含Done when、测试自检)。