🎯 本文目标
搞懂 Codex CLI 的三种安全模式,学会根据场景选择合适的模式。
🤔 为什么需要安全模式?
AI 改代码,你不害怕吗?如果它:
- 误删了你的重要文件?
- 执行了危险的 Shell 命令?
- 在生产环境搞出大事故?
Codex CLI 用三层安全网解决这个问题。
🔐 三种模式详解
模式一:Suggest(建议模式)—— 最安全
这是默认模式,也是最安全的。
行为特点:
- ✅ AI 分析代码,生成修改建议
- ✅ 以 diff 形式展示每个文件的变更
- ✅你确认后才会应用修改
- ✅ 执行任何命令都需要你批准
你 → "帮我重构这个函数" AI → [展示 diff] "我计划做以下修改..." 你 → [按 Y 确认] 或 [按 N 拒绝]适用场景:生产环境、敏感项目、学习阶段
模式二:Auto-Edit(自动编辑模式)—— 效率优先
行为特点:
- ✅ AI自动修改文件,不需逐个确认
- ✅ 执行 Shell 命令仍需你批准
- ✅ 修改限制在当前项目目录内
你 → "把所有 var 改成 const" AI → [自动修改所有文件] ✅ 完成! AI → "需要运行 npm test 验证吗?" 你 → [按 Y 确认执行]适用场景:日常开发、代码重构
模式三:Full-Auto(全自动模式)—— 完全放手
行为特点:
- ✅ AI自动修改文件 + 自动执行命令
- ✅ 完全不需要你的干预
- ⚠️ 建议仅在沙箱或隔离环境中使用
你 → "帮我创建一个完整的 TODO 应用" AI → [自动创建项目、安装依赖、编写代码、运行测试] 全部完成!适用场景:沙箱实验、一次性项目、Docker 容器内
⚙️ 如何配置安全模式
方式一:配置文件(永久生效)
编辑~/.codex/config.toml:
# 沙箱模式:restricted / workspace-write / danger-full-access sandbox_mode = "workspace-write" # 审批策略:untrusted(每步确认) / on-request / never approval_policy = "on-request"方式二:命令行参数(临时生效)
# 建议模式codex --approval-policy untrusted# 自动编辑模式codex --sandbox-mode workspace-write --approval-policy on-request# 全自动模式(危险!)codex --sandbox-mode danger-full-access --approval-policy never方式三:会话中动态切换
/permissions # 查看/修改当前权限 /approvals # 切换审批策略🛡️ 沙箱机制详解
| 沙箱级别 | 文件访问 | 网络访问 | 说明 |
|---|---|---|---|
| restricted | 只读 | 禁止 | 最安全,只能看不能改 |
| workspace-write | 项目内可写 | 受限 | 推荐日常使用 |
| danger-full-access | 全部可写 | 允许 | 仅限隔离环境 |
💡 最佳实践
- 新手阶段:始终用 Suggest 模式
- 日常开发:用 Auto-Edit 模式,命令审批开启
- 实验项目:可以尝试 Full-Auto,但建议在 Docker 内
- 任何模式下:确保 Git 仓库干净,随时可以 revert
- 生产环境:永远用 Suggest + restricted
✅ 本文总结
| 模式 | 文件修改 | 命令执行 | 安全级别 |
|---|---|---|---|
| Suggest | 需确认 | 需确认 | ⭐⭐⭐⭐⭐ |
| Auto-Edit | 自动 | 需确认 | ⭐⭐⭐⭐ |
| Full-Auto | 自动 | 自动 | ⭐⭐ |
📢 下一篇预告
Codex入门03 — 提示词技巧:怎么跟Codex说话,让它精准理解你的需求!