Codex CLI 权限怎么设置?沙箱、审批模式和安全自动化实战

Codex CLI 沙箱权限和审批模式安全工作流示意图
内容摘要

这篇 Codex CLI 权限设置教程,讲清沙箱模式、审批策略、workspace-write 与 full access 的区别,帮你在 AI 编程自动化中减少打断,同时守住代码和密钥安全。

很多人刚开始用 Codex CLI,最烦的不是模型不会写代码,而是权限弹窗太多:读文件要不要确认,跑测试要不要确认,装依赖要不要确认,访问网络要不要确认。为了省事直接开 full access,又会把风险一下子放大。

这篇文章不讲“怎么安装 Codex CLI”,而是专门讲一个更容易影响日常效率的问题:Codex CLI 权限怎么设置,才能既让它连续干活,又不把本机和项目完全放开?如果你还没看过基础用法,可以先读 Codex CLI 0.128.0 怎么用,再回来看这篇会更顺。

先分清两个概念:沙箱和审批不是一回事

OpenAI 的 Codex 文档把这件事拆成两层:沙箱决定 Codex 能碰到哪里,审批策略决定什么时候必须停下来问你。也就是说,沙箱是技术边界,审批是交互规则。

你可以把它理解成:

  • 沙箱模式:限制命令能读写哪些目录、能不能联网、能不能越过当前工作区。
  • 审批策略:当 Codex 想做某件事时,是自动执行、按需询问,还是更频繁地请你确认。
  • 审批 reviewer:审批请求由用户自己看,还是交给自动审查流程辅助判断。

这也是为什么有些人明明已经“允许编辑文件”,但 Codex 访问网络或写到工作区外时仍会停下来。它不是坏了,而是越过了当前权限边界。

日常最推荐:workspace-write + on-request

对个人开发者、内容站维护者和小团队来说,最稳的默认组合通常是:

sandbox_mode = "workspace-write"
approval_policy = "on-request"

对应命令行思路是:

codex --sandbox workspace-write --ask-for-approval on-request

这个组合的好处很明确:Codex 可以在当前项目里读文件、改代码、跑常规本地命令;但当它需要联网、写到工作区外、做更高风险操作时,会停下来让你确认。

如果你经常用 Codex 维护博客、脚本、前端页面或自动化流程,这个模式比“每一步都问”顺滑,也比“完全放开”更适合长期使用。比如老达维护本站时,通常会让 Codex 在项目目录内完成草稿、图片、脚本检查和发布流程,但涉及服务器、凭据、远程操作时必须额外确认。相关的内容运营流程可以参考 AI 自动发布 WordPress 文章怎么做

三种常见沙箱模式怎么选

read-only:适合审计和方案评估

read-only 适合让 Codex 看代码、解释结构、找问题、做方案,不适合让它直接改。它的优点是风险低,缺点是很容易被审批打断。

适合这些场景:

  • 第一次接手陌生仓库,只想让 Codex 读代码和做总结。
  • 让 Codex 做代码审查,不希望它自动改文件。
  • 项目里有大量敏感配置,暂时不想开放写权限。

workspace-write:适合绝大多数本地开发

workspace-write 是最适合日常 AI 编程的模式。它允许 Codex 在当前工作区内编辑文件和执行常规命令,适合修 bug、补测试、改页面、写脚本、维护文档。

如果你正在比较 Cursor、Claude Code、Codex、Windsurf 这类工具,可以把这篇和 2026 年 AI 编程工具推荐 一起看:工具能力重要,但权限边界决定你能不能放心把任务交给 Agent 连续执行。

danger-full-access:只给隔离环境,不给日常主力机

danger-full-access 会取消沙箱边界。它适合容器、临时虚拟机、CI 测试环境,或者你已经把项目隔离得很干净的场景。

不建议在装着个人资料、浏览器 Cookie、SSH Key、生产配置的主力电脑上长期默认使用。哪怕你信任 Codex,也要考虑依赖脚本、构建命令、第三方包安装过程里的外部风险。

把权限写进 config.toml,而不是每次手动选

如果你希望每次启动 Codex 都使用相同策略,可以把默认配置写到本机的 Codex 配置文件中。一个偏稳妥的个人开发模板可以这样设计:

sandbox_mode = "workspace-write"
approval_policy = "on-request"
approvals_reviewer = "user"

这个配置适合大多数内容站、插件、前端项目、脚本工具项目。它不会完全消除审批,但会把审批集中在真正越界的动作上。

如果你的工作流需要 Codex 同时写多个目录,不要一上来开 full access。更好的做法是明确增加可写根目录,只开放必要范围。比如项目源码在一个目录,生成图片或构建产物在另一个目录,就只把这两个目录加入可写范围。

哪些操作一定要保留人工确认

我不建议把所有审批都关掉,尤其是下面这些操作:

  • 读取或改写凭据文件:例如 .env、SSH Key、云服务配置、生产数据库配置。
  • 联网下载和执行脚本:例如一行 curl 管道、陌生安装脚本、未锁版本的依赖安装。
  • 删除、迁移、覆盖大量文件:尤其是构建目录和内容目录混在一起的项目。
  • 操作生产服务:包括远程服务器、WordPress 后台、数据库、对象存储。
  • 提交、推送、发布:可以让 Codex 准备,但最终动作最好经过你确认。

如果你正在做 Agent 工作流或自动化发布,可以把权限设计和 AI 智能体与自动化专题 一起看。Agent 真正难的不是“让它做事”,而是把可做、不可做、需要问你的边界提前写清楚。

适合内容站和小团队的权限分层

我更推荐把 Codex 任务分成三层,而不是全都用一个权限模式。

第一层:只读分析

适合 SEO 审计、代码审查、旧文盘点、依赖风险评估。用 read-only 或默认较严格模式,让 Codex 先看清楚项目。

第二层:工作区内自动执行

适合改草稿、修样式、补脚本、跑本地检查。用 workspace-write + on-request,让 Codex 在当前仓库内持续推进。

第三层:高风险操作单独确认

适合发文章、连服务器、改数据库、清理生产文件。即使你用的是 Codex 自动化,也应该把这些动作从普通开发权限里拆出来。本站的实践文章会持续放在 老达 AI 实践专题,后续我也会继续记录哪些自动化适合放开,哪些必须保留人工卡点。

一个实用检查清单

在你把 Codex CLI 交给日常项目之前,建议按这张清单过一遍:

  1. 项目是否已经放在独立工作区,而不是用户主目录?
  2. .env、密钥、服务器凭据是否有明确规则保护?
  3. 默认是否使用 workspace-write,而不是直接 full access?
  4. 联网、安装依赖、远程发布是否仍需要审批?
  5. 是否在 AGENTS.md 写清测试、构建、发布和禁止事项?
  6. 是否能通过 git diff 快速审查 Codex 改了什么?

如果你已经在用 Claude Code,也可以参考 Claude Code Hooks 工作流。两类工具的权限模型不完全相同,但核心思路一致:把重复、低风险的动作自动化,把越界、高风险的动作留给审查。

老达点评

Codex CLI 的权限设置,不是越少审批越高级。真正好用的状态是:它能在一个清楚的工作区里连续完成任务,但一旦要访问网络、碰密钥、越过目录、操作生产环境,就会停下来。

我的建议很简单:日常默认用 workspace-write + on-request,把 full access 留给隔离容器和一次性实验环境。AI 编程工具正在从“代码补全”变成“替你跑完整任务”的 Agent,权限边界会越来越重要。谁先把这套边界设计好,谁就能更放心地把 Codex 用进真实工作流。

参考资料:OpenAI Codex Sandbox 文档OpenAI Codex CLI 文档

发表评论

您的电子邮箱地址不会被公开,必填项已标注 *