Sandbox 是技术边界,限制能跑什么;Approval 是人类边界,决定越界时谁来批。两者必须配合使用。

Sandbox 与 Approval

Codex 的安全模型有两层:Sandbox 决定「默认能做什么」,Approval 决定「越界时怎么处理」。

对比

Sandbox

技术边界。文件系统、网络、命令的允许范围。

Approval

人类策略。越界时是否打断、找谁批准、能否自动放行。

内置 Sandbox 画像

  • :read-only:只读分析。
  • :workspace:允许在当前工作区写入。
  • :danger-full-access:取消本地沙箱限制,只用于明确受控环境。

Approval 策略

  • untrusted:默认拒绝,每次都问。
  • on-request:Codex 觉得需要时才问。
  • never:不打断(适合 CI 与一次性容器)。
提醒:on-failure 已被废弃。

常见组合

  • 初学者::read-only + untrusted
  • 日常开发::workspace + on-request
  • CI 自动化::workspace + never,附加 Rules 限制。
  • 临时容器跑长任务::danger-full-access + never