Skip to content

工作模式

Codex 提供多种工作模式以适应不同的使用场景。理解这些模式的特点和适用场景,可以帮助你更高效地使用 Codex。

模式概览

模式说明适用场景
标准模式直接执行操作日常开发、快速修改
计划模式先规划后执行复杂任务、架构设计
沙箱模式受限执行环境不受信任的代码、安全敏感场景

标准模式

标准模式是 Codex 的默认工作模式。在该模式下,Codex 会直接执行你请求的操作。

特点

  • 直接修改文件
  • 自动执行命令
  • 实时反馈结果

使用方式

bash
# 默认即为标准模式
codex "重构这个模块"

适用场景

  • 简单的代码修改
  • 文件创建和编辑
  • 运行测试和构建
  • 日常开发辅助

计划模式

计划模式(Plan Mode)让 Codex 先制定执行计划,经用户确认后再执行操作。

进入计划模式

bash
# 通过 CLI 标志进入
codex --plan

# 在交互模式中切换
> /plan

退出计划模式

bash
# 在计划模式中退出
> /plan

# 或使用快捷键
# Ctrl+D 退出会话

计划模式工作流

用户请求 → Codex 分析 → 制定计划 → 用户确认 → 执行操作 → 结果反馈

最佳实践

  1. 复杂任务使用计划模式

    > 重构整个认证系统
    > 设计新的 API 架构
    > 迁移数据库模式
  2. 审查执行计划

    • 确认步骤是否完整
    • 检查是否有遗漏的依赖
    • 验证操作顺序是否合理
  3. 分阶段执行

    • 大型任务拆分为多个计划
    • 每个计划完成后验证结果
    • 根据实际情况调整后续计划

适用场景

  • 多文件重构
  • 架构设计决策
  • 数据库迁移
  • 新功能开发

沙箱模式

沙箱模式限制了 Codex 的操作能力,提供安全的执行环境。

沙箱限制

能力沙箱模式信任模式
文件读取✅ 允许✅ 允许
文件写入⚠️ 需审批✅ 允许
命令执行⚠️ 受限✅ 允许
网络访问⚠️ 受限✅ 允许

进入沙箱模式

bash
# 强制沙箱模式
codex --sandbox

# 项目级别配置(在 config.toml 中)
[projects."/path/to/project"]
trust_level = "untrusted"

退出沙箱模式

bash
# 禁用沙箱
codex --no-sandbox

# 或设置项目为受信任
[projects."/path/to/project"]
trust_level = "trusted"

适用场景

  • 处理不受信任的代码
  • 安全审查
  • 第三方代码分析
  • 学习探索

权限系统

信任级别

Codex 通过项目路径管理信任级别:

toml
# ~/.codex/config.toml

[projects."/home/haha/codes/my-project"]
trust_level = "trusted"

[projects."/tmp/downloads"]
trust_level = "untrusted"

权限矩阵

操作trusteduntrusted
读取文件✅ 自动✅ 自动
写入文件✅ 自动⚠️ 需审批
删除文件✅ 自动⚠️ 需审批
执行命令✅ 自动⚠️ 需审批
网络请求✅ 自动⚠️ 需审批
安装依赖✅ 自动⚠️ 需审批

审批流程

当操作需要审批时,Codex 会显示:

⚠️  需要审批:写入文件 /path/to/file.ts
   操作:修改文件内容
   原因:项目信任级别为 untrusted

   是否允许? [y/N]

自动审批规则

可以为不同来源的操作设置自动审批:

MCP 工具自动审批

toml
[mcp_servers.filesystem.tools.read_text_file]
approval_mode = "approve"

项目信任级别自动审批

项目标记为 trusted 后,文件写入和命令执行自动批准:

toml
[projects."/home/haha/codes/my-app"]
trust_level = "trusted"

注意:信任级别和工具审批是信任控制的两个层次。信任级别控制 Codex 自身行为(文件/命令),MCP 工具审批控制外部工具访问。

模式对比

标准模式 vs 计划模式

方面标准模式计划模式
执行方式直接执行先规划后执行
用户控制事后审查事前确认
适用复杂度简单任务复杂任务
执行速度较慢(需确认)
可预测性较低较高

沙箱模式 vs 信任模式

方面沙箱模式信任模式
安全性较低
效率较低(需审批)高(自动执行)
适用场景不受信任代码自己的项目
文件写入需审批自动允许
命令执行需审批自动允许

实际使用建议

1. 根据任务选择模式

bash
# 简单修改 → 标准模式
codex "修复这个 typo"

# 复杂重构 → 计划模式
codex --plan "重构认证系统"

# 第三方代码 → 沙箱模式
codex --sandbox "分析这个下载的脚本"

2. 项目信任配置

toml
# 自己的项目设为 trusted
[projects."/home/haha/codes/my-app"]
trust_level = "trusted"

# 临时/下载目录设为 untrusted
[projects."/tmp"]
trust_level = "untrusted"

3. 工具审批策略

toml
# 低风险工具自动批准
[mcp_servers.filesystem.tools.read_text_file]
approval_mode = "approve"

# 高风险操作保持询问
# write_file 不设置 approval_mode → 每次询问

快捷键参考

快捷键功能适用模式
Ctrl+C取消当前操作所有模式
Ctrl+D退出会话所有模式
Esc中断 AI 输出所有模式
/plan切换计划模式交互模式

常见问题

Q: 如何知道当前处于哪种模式?

A: Codex 会在会话开始时显示当前模式。你也可以通过状态栏查看。

Q: 计划模式中如何修改计划?

A: 直接告诉 Codex 你的修改意见,它会更新计划。

Q: 沙箱模式下被拒绝的操作怎么办?

A: 你可以选择手动执行该操作,或者将项目信任级别提升为 trusted

Q: 可以临时覆盖信任级别吗?

A: 可以,使用 --sandbox--no-sandbox 标志临时覆盖。

下一步

基于 Codex CLI v0.142.5