>_CODEX / FIELD NOTES
GitHub ↗
进阶工作流约 3 分钟核查于 2026-07-14

配置、模式与 Profiles

配置的目的不是追求“最强权限”,而是让不同类型的任务使用稳定、可解释的运行边界。先使用默认配置,只有在重复遇到明确问题时才增加自定义项。

配置从哪里来#

实际行为可能同时受到以下层次影响:

  1. 官方和组织级策略;
  2. 用户级 ~/.codex/config.toml
  3. 项目中的 AGENTS.md
  4. 当前启动参数;
  5. 当前对话中的明确指令。

遇到“为什么没有按预期执行”,应沿这条链排查,而不是反复改提示词。

执行模式的核心维度#

模式通常围绕三件事组合:

  • 文件系统:只读、只写工作区,或更宽范围;
  • 审批:何时必须由人确认;
  • 网络:是否允许访问外部地址。

官方的模式与字段会更新,使用前对照Modes配置参考

按任务选边界#

任务 文件权限 网络 审批
代码解释 / 审查 只读 通常不需要 最少
常规开发 工作区写入 依赖安装时按需 外部或高风险动作确认
资料研究 只读 指定来源 首次访问或敏感域确认
发布 / 运维 最小必要范围 指定服务 每个不可逆动作确认
CI 自动任务 隔离工作区 固定依赖源 预先定义,无交互

用 Profiles 切换场景#

如果当前版本支持 Profiles,可以把反复使用的配置组合命名,而不是频繁手改全局文件。示意:

[profiles.review]
sandbox_mode = "read-only"
approval_policy = "untrusted"

[profiles.development]
sandbox_mode = "workspace-write"
approval_policy = "on-request"

字段和值仅作结构示例,必须以你安装版本的官方参考为准。Profile 适合表达运行环境,不适合塞入项目业务规则。

高级配置的使用顺序#

每增加一项配置,都回答三个问题:

  1. 它解决了哪个可复现问题?
  2. 如何验证它真的生效?
  3. 如何恢复默认?

推荐顺序:

  • 先用默认设置复现;
  • 只改一个字段;
  • 重启会话验证;
  • 记录版本和结果;
  • 再决定是否长期保留。

CLI 临时参数与全局配置#

一次性实验优先使用启动参数或临时 Profile;长期一致性才写入用户配置。原因很简单:全局修改会影响所有仓库,容易把一个项目的特殊需求带到另一个项目。

不应该写进配置的内容#

  • API 密钥或可直接使用的生产凭证;
  • 项目业务约定;
  • 某次任务的临时验收标准;
  • 为绕过一次失败而永久开放的高权限;
  • 未理解含义、从他人配置复制来的字段。

项目约定写入 AGENTS.md,密钥使用系统或 CI 的秘密管理,临时需求放在任务提示中。

配置变更记录模板#

### 2026-07-13:开发模式允许工作区写入
- 原因:需要让 Codex 编辑仓库文件
- 影响:仅当前工作区可写
- 验证:能修改 tracked 文件,工作区外仍被阻止
- 回退:删除 sandbox_mode 自定义项

排查配置冲突#

  1. 记录 codex --version
  2. 暂存并移走自定义 config.toml
  3. 在全新会话重试最小任务;
  4. 检查仓库和父目录中的 AGENTS.md
  5. 逐项恢复配置;
  6. 对照官方设置页确认字段仍有效。

配置越少,行为越容易解释。稳定优先于花哨。

OPCspace · Codex Field Notes基于官方资料整理 · 非官方指南