Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/guide/07-task-execution.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ redirectFrom:

# 2.如何并行

![Codex 任务并行示例](../images/codex-task-parallel-example.png)

实际上就是一个项目(Project)里面,我们同时去执行多个任务。

这个时候,我们只需要在左侧边栏点击“新建对话”就可以了。这样的话,它的几个任务就会并行执行,互不干扰。
112 changes: 94 additions & 18 deletions docs/guide/08-permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,109 @@ redirectFrom:

# 权限管理

这一节介绍 Codex 中常见的权限与审批模式。不同入口的界面文案可能会略有差异,但核心问题始终是一样的:Codex 能不能自动改文件、能不能自动执行命令、哪些操作需要你确认。
这一节介绍 Codex App 里的权限选项。包括:
1. 聊天框下方的权限选择
2. 设置里的“配置”项

权限管理和**沙盒**(Sandbox)本质上是同一个概念。想深入可以看 [OpenAI 官方文档](https://developers.openai.com/codex/concepts/sandboxing#how-you-control-it) 或者 [沙盒与审批](./16-sandbox-approvals.html) 以了解更多。

::: tip 最后核对
官方资料最后核对日期:2026-05-27。本文参考 [OpenAI Codex CLI – Getting Started](https://help.openai.com/en/articles/11096431-openai-codex-cli-getting-started) 与 [Using Codex with your ChatGPT plan](https://help.openai.com/en/articles/11369540-using-codex-with-your-chatgpt-plan)。具体名称、入口和可用选项请以你当前使用的客户端界面为准
官方资料最后核对日期:2026-06-15。本文参考 [Codex app settings](https://developers.openai.com/codex/app/settings)、[Sandboxing](https://developers.openai.com/codex/concepts/sandboxing#how-you-control-it)、[Permissions](https://developers.openai.com/codex/permissions) 与 [Agent approvals & security](https://developers.openai.com/codex/agent-approvals-security)。不同版本的界面具体名称、入口和可用选项会有所不同,请以你当前使用的客户端界面为准
:::

![image-20260511153154873](../images/image-20260511153154873.png)
## 聊天框里的权限选项

权限入口在聊天框下方,官方叫它 permissions selector。四个常见选项:
1. `Default permissions`(默认权限)
2. `Auto-review`(自动审核)
3. `Full access`(完全访问)
4. `Custom (config.toml)`(自定义配置)

![Codex App 权限选择器示例](../images/codex-app-permissions-selector-menu.png)

对于 CLI 而言,权限配置的细粒度和复杂度都会更高。这里不做展开。


### 默认权限

又称:请求批准。

默认权限是 Codex 的安全基线。Codex 运行在**沙盒**(Sandbox)内,只能读写当前工作区(即你打开的文件夹)里的文件、运行常规本地命令。一旦操作超出该文件夹范围、访问网络,或调用更敏感的能力(如读取系统环境变量、操作已登录的 CLI),Codex 会暂停并请求确认——通过对话询问,或弹出审批窗口。

这个“沙盒”本质上是一道围栏,将 Codex 的活动范围限制在当前项目内,防止误触外部文件。

官方文档里,这套默认配置对应:
- `sandbox_mode = "workspace-write"`
- `approval_policy = "on-request"`
- `approvals_reviewer = "user"`(即用户本人审批)。

**适用场景:**
- 修改文档、样式、测试或小范围代码。
- 安全性敏感的任务。

若任务步骤较多,频繁弹窗可能影响效率,此时可考虑切换至**自动审核**。

### 自动审核

又称:替我审批。

自动审核适合希望减少手动审批打断、但又不愿完全放开权限的场景。执行命令时,Codex 会将请求转给 **reviewer agent**(一个专门负责风险评估的助手)判断。低风险或中风险直接放行;高风险仍需要用户明确同意。

这是最**推荐**的权限机制。保证安全性的同时也能兼顾用户体验和工作效率。

![Codex App 自动审核拒绝高风险操作示例](../images/codex-app-auto-review-rejection.png)

**适用场景:**
- 项目经常需要访问当前文件夹以外的资源,如调用本机 CLI、联网查询,且风险可控。
- 本地开发任务步骤较多,不希望被频繁弹窗打断。
- 已信任当前项目目录,但仍希望拦截危险操作(如删除文件、修改配置、泄露凭据)。

### 完全访问权限

只在明确需要时**临时开启**。官方将 Full access 对应到 `sandbox_mode = "danger-full-access"` 和 `approval_policy = "never"`:沙盒限制被完全移除,Codex 不再触发审批弹窗,直接执行任何它打算执行的命令。

这是**最高权限机制**,务必考虑可能带来的风险。

**适用场景:**
- 调试特殊本机环境、Computer Use 或系统级操作。
- 任务必须高频访问工作区外的本机资源。
- 操作范围清晰,且项目有 Git 或备份机制可回滚。

### 自定义配置

选择 `Custom (config.toml)`,Codex 会按本地 `config.toml` 中的设置工作。例如同时开放多个可写目录、给特定网络域名放行、将审批交给自动审核,或通过 rules 对某些命令前缀设置“允许 / 询问 / 禁止”标识。

属于进阶配置,适合已熟悉沙盒和权限机制、希望按个人习惯定制权限边界的用户。

| 选项 | 大致含义 | App 里怎么理解 |
| --- | --- | --- |
| `sandbox_mode = "read-only"` | 只读。可以检查文件,但编辑文件或运行命令需要审批 | 适合只看代码、做审查、先问方案 |
| `sandbox_mode = "workspace-write"` | 允许在当前工作区内读写并运行常规本地命令 | 默认权限的主要工作边界 |
| `sandbox_mode = "danger-full-access"` | 移除本地沙盒限制 | 完全访问权限,高风险 |
| `approval_policy = "on-request"` | 默认在沙盒内工作,越过边界时请求审批 | 默认权限下常见的审批方式 |
| `approval_policy = "never"` | 不请求审批 | 完全访问权限的一部分,风险最高 |
| `approvals_reviewer = "user"` | 审批提示交给用户 | 默认权限 |
| `approvals_reviewer = "auto_review"` | 符合条件的审批请求交给 reviewer agent | 自动审核 / 替我审批 |
| `sandbox_workspace_write.writable_roots` | 给 `workspace-write` 增加可写目录 | 需要跨目录时,优先考虑 |

## 三种常见模式
![Codex App config.toml 配置示例](../images/codex-app-config-toml-settings.png)

1. `Suggest`
这是最保守的模式。Codex 可以读取文件并提出修改建议,但真正改文件或执行命令前,通常仍需要你确认。它适合初次了解陌生仓库、做代码审查、或者你希望全程掌控关键操作的时候使用。
上表仅展示部分常见配置选项,更多请查看[OpenAI Premission](https://developers.openai.com/codex/permissions)。

2. `Auto Edit`
这个模式通常允许 Codex 自动写文件,但在执行 shell 命令时仍会保留人工确认。它适合你已经比较了解项目结构,想让 Codex 快速完成重构、批量改文档或局部实现,但又不想完全放开命令执行权限的场景。
## 推荐

3. `Full Auto`
这是自主性最高的模式。Codex 会在受限环境中自动读取、写入并执行命令,适合较长的连续任务,比如修复构建、跑一轮验证或完成一个边界明确的小功能。因为风险更高,最好只在版本可回退、任务范围清晰、并且你理解当前沙盒边界时使用。
1. **新项目建议先使用默认权限**,观察 Codex 在该模式下的行为。
2. **日常修文档、补测试、改小功能**,默认权限通常够用。
3. **任务步骤多、审批频繁时**,切换至自动审核。它是最通用的选项,也可以一开始就选。
4. **只有明确知道默认权限的卡点时**,再临时切换至完全访问权限。
5. **长期习惯固定后**,再用 `Custom (config.toml)` 将沙盒、审批、网络和 writable roots 固化为固定配置。
6. **不确定某个操作是否会执行?** 先让 Codex 说明其准备运行的命令、修改的文件,以及访问的外部资源,再决定是否继续。

## 怎么选更稳妥
最后提醒:删除文件、数据库迁移、发布、支付、修改权限、访问凭据、操作生产服务——这些场景必须由用户亲自把关。权限机制仅是约束,并非保险。特别是在“完全访问权限”下,Codex 一旦误判,可能产生预期外的破坏性操作。

- 第一次进入新项目,优先从 `Suggest` 开始。
- 需要批量修改文档、样式或测试时,可以考虑 `Auto Edit`。
- 只有在任务边界明确、仓库可回滚、并且你接受它连续执行命令时,再考虑 `Full Auto`。

## 使用时的提醒
## 注意

- 不同客户端可能不会把权限模式写成完全一样的中文名,建议优先认官方英文模式名
- 即使使用更自动化的模式,也要保留对高风险操作的复核,比如安装依赖、删除文件、访问网络、推送代码或处理敏感信息
- 如果你不确定当前模式会不会执行某个动作,先让 Codex 说明它准备运行哪些命令、会改哪些文件,再决定是否继续
- 权限越高,任务范围应越小
- 自动审核会消耗额外模型调用,也可能因超出额度限制、超时或失败而拒绝执行
- 浏览器、MCP、Computer Use、App 连接器和外部服务通常还有独立的权限控制,不完全由沙盒模式控制
Binary file added docs/images/codex-app-approval-prompt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/codex-app-auto-review-rejection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/codex-app-config-toml-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/codex-task-parallel-example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.