OpenAI Codex CLI 深度拆解:从安装到沙箱隔离的完整指南

OpenAI Codex CLI 深度拆解:从安装到沙箱隔离的完整指南

OpenAI Codex CLI 深度拆解:从安装到沙箱隔离的完整指南

OpenAI 官方开源的编码 Agent,能自主读写代码、执行命令、创建 PR。本文从环境部署到沙箱架构,带你一文看懂 Codex CLI 的构造逻辑。


一、Codex CLI 是什么?

Codex CLI 是 OpenAI 官方开源的命令行 AI 编码助手。它不是一个聊天机器人,而是一个能自主读写代码、执行 shell 命令、创建 Pull Request 的完整编码 Agent。

核心特点:
– 自主执行:不仅能建议代码,还能直接执行命令、创建文件、提交代码
– 沙箱隔离:三种安全模式,从只读到完全访问
– 多模型支持:GPT-5.5 / GPT-5.4 / o4-mini 等
– 项目上下文:自动读取 AGENTS.md / CLAUDE.md 等项目规则
– 非交互模式:可嵌入 CI/CD 管道和自动化工作流

GitHub Stars:40k+(开源 MIT 协议)


二、环境部署

2.1 系统要求

组件 要求
Node.js 22+
OS macOS / Linux
OpenAI API Key 必需
Docker 可选(沙箱模式需要)

2.2 安装

# npm 全局安装
npm install -g @openai/codex

# 或 pnpm
pnpm add -g @openai/codex

# 验证
codex --version

2.3 配置 API Key

# 方式一:环境变量
export OPENAI_API_KEY="sk-..."

# 方式二:配置文件
# ~/.codex/config.toml
[models]
default = "gpt-5.5"

2.4 目录结构

~/.codex/
├── config.toml          # 主配置文件
├── instructions.md      # 全局指令(类似 AGENTS.md)
└── skills/              # 技能目录

项目目录/
├── AGENTS.md            # Codex 读取的项目规则
├── CLAUDE.md            # 兼容 Claude Code 规则
├── codex.json           # 项目级配置
└── src/                 # 代码

三、核心架构

3.1 架构图

┌─────────────────────────────────────────────────┐
│                  用户交互层                       │
│  ┌──────────────┐  ┌──────────────────────┐      │
│  │ 交互模式     │  │ 非交互模式 (-p)      │      │
│  │ codex chat   │  │ codex -p "fix bug"   │      │
│  └──────┬───────┘  └──────────┬───────────┘      │
│         └──────────┬──────────┘                   │
│                    ↓                              │
│  ┌─────────────────────────────────────────────┐ │
│  │              Agent Loop                      │ │
│  │  ┌─────────┐  ┌─────────┐  ┌─────────────┐ │ │
│  │  │ 上下文   │→│ LLM推理  │→│ 工具执行     │ │ │
│  │  │ 组装     │  │ (GPT-5) │  │ (读/写/执行) │ │ │
│  │  └─────────┘  └─────────┘  └─────────────┘ │ │
│  │       ↑                         │            │ │
│  │       └─────────────────────────┘            │ │
│  └─────────────────────────────────────────────┘ │
│                    ↓                              │
│  ┌─────────────────────────────────────────────┐ │
│  │              沙箱层                          │ │
│  │  ┌───────────┐  ┌────────────┐              │ │
│  │  │ read-only │  │ workspace  │  full-access │ │
│  │  └───────────┘  └────────────┘              │ │
│  └─────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘

3.2 Agent Loop

Codex 的核心是一个自主循环:

1. 读取用户指令 / 项目上下文
2. 组装 prompt(系统指令 + 项目规则 + 历史对话)
3. 调用 LLM(GPT-5.5 等)
4. 解析 LLM 输出的工具调用
5. 在沙箱中执行工具(读文件/写文件/执行命令)
6. 将执行结果反馈给 LLM
7. 重复 3-6 直到任务完成或用户中断

关键区别:Codex 的 Agent Loop 是完全自主的——用户给一个目标,Codex 自行规划步骤并执行,不需要逐步确认(取决于 approval-policy)。

3.3 交互模式 vs 非交互模式

模式 命令 用途
交互模式 codex 实时对话,逐步引导
非交互模式 codex -p "fix bug" 自动化,CI/CD 管道
Quiet 模式 codex -q 最少输出,仅最终结果

四、沙箱隔离(核心卖点)

Codex 的沙箱设计是其最大亮点,解决了”AI Agent 乱执行命令”的核心安全问题。

4.1 三种沙箱模式

模式 文件权限 命令权限 适用场景
read-only 只读 仅白名单命令 代码审查、分析
workspace-write 仅工作区可写 受限命令 日常开发(推荐)
danger-full-access 完全访问 无限制 信任环境、CI
# 只读模式(最安全)
codex --sandbox read-only "review this code"

# 工作区写入模式(推荐)
codex --sandbox workspace-write "fix the bug"

# 完全访问模式(危险!)
codex --sandbox danger-full-access "deploy to production"

4.2 沙箱实现

┌─────────────────────────────────────────┐
│            Codex Agent                   │
│                 │                        │
│         ┌───────┴───────┐               │
│         │  沙箱管理器    │               │
│         └───────┬───────┘               │
│     ┌───────────┼───────────┐           │
│     │           │           │           │
│  ┌──┴──┐   ┌───┴───┐   ┌──┴──────┐    │
│  │Docker│   │Rootless│   │ 无沙箱  │    │
│  │容器  │   │ 容器   │   │(danger) │    │
│  └──────┘   └───────┘   └─────────┘    │
│                                          │
│  Docker 不可用时的回退:                  │
│  → 使用文件系统权限限制                   │
│  → 限制可执行命令白名单                   │
└─────────────────────────────────────────┘

沙箱执行流程:
1. Agent 请求执行命令
2. 沙箱管理器检查当前策略
3. 根据策略决定:允许/拒绝/需审批
4. 在隔离环境中执行(Docker 容器或受限文件系统)
5. 返回执行结果

4.3 命令白名单

read-only 模式允许的命令:
– cat, head, tail, ls, find, grep, wc
– git status, git log, git diff, git show
– node -e, python -c(只读执行)

workspace-write 模式额外允许:
– git add, git commit, git push
– npm install, pip install
– 文件创建/修改(仅工作区内)


五、Approval Policy(审批策略)

审批策略控制 Agent 执行命令时是否需要用户确认:

策略 行为 适用场景
untrusted 所有命令都需确认 首次使用、不信任的代码
on-failure 仅失败时确认 日常开发
on-request 仅 Agent 请求确认 熟悉项目
never 从不确认 CI/CD 自动化
# 默认策略:untrusted(最安全)
codex --approval-policy untrusted "fix bug"

# 熟悉项目后可放宽
codex --approval-policy on-failure "add tests"

# CI/CD 中完全自动
codex --approval-policy never -p "run tests and fix failures"

六、项目上下文注入

Codex 会自动读取项目中的规则文件:

文件 作用 优先级
AGENTS.md Codex 原生规则 最高
CLAUDE.md 兼容 Claude Code 规则 次之
codex.json 项目级配置 配置
~/.codex/instructions.md 全局指令 全局

AGENTS.md 示例:

# Project Rules

## Testing
- Run tests with: `npm test`
- Test framework: Jest
- Always write tests before fixing bugs

## Code Style
- TypeScript strict mode
- Use async/await, no .then()
- No any types

七、工作流实战

7.1 Bug 修复

codex -p "Fix the TypeError in src/parser.ts line 42" 
  --sandbox workspace-write 
  --approval-policy on-failure

7.2 创建 PR

codex -p "Add input validation to the login form and create a PR" 
  --sandbox workspace-write 
  --approval-policy never

7.3 代码审查

codex -p "Review the last commit for security issues" 
  --sandbox read-only

7.4 批量重构

codex -p "Rename all 'user_id' to 'userId' across the codebase" 
  --sandbox workspace-write 
  --approval-policy on-request

7.5 CI/CD 集成

# GitHub Actions
- name: Auto-fix lint errors
  run: |
    codex -p "Fix all ESLint errors" 
      --sandbox workspace-write 
      --approval-policy never 
      --model o4-mini

八、与同类框架对比

特性 Codex CLI Claude Code Hermes OpenClaw
定位 编码 Agent 编码 Agent 通用 Agent 个人助手
开源 ✅ MIT ❌ ✅ ✅
沙箱 ✅ 三级隔离 ⚠️ 有限 ✅ ✅ Docker
通讯渠道 ❌ 终端 ❌ IDE ✅ Telegram/QQ ✅ 20+
模型 GPT 系列 Claude 系列 任意模型 任意模型
非交互 ✅ -p 模式 ✅ -p 模式 ✅ cron ✅
Cron ❌ ❌ ✅ ✅
技能系统 ✅ skills/ ❌ ✅ SKILL.md ✅ ClawHub
项目规则 AGENTS.md CLAUDE.md AGENTS.md AGENTS.md

九、总结

Codex CLI 的核心价值在于:

  1. 安全第一:三级沙箱 + 四级审批,从架构层面解决 AI Agent 安全问题
  2. 自主执行:不是建议工具,是执行工具——直接改代码、提交 PR
  3. CI 友好:-p 模式 + never 策略,完美嵌入自动化管道
  4. OpenAI 官方:模型+工具一体化,深度优化

适用场景:日常编码、批量重构、CI/CD 自动修复、代码审查。

不适用:通讯助手、多渠道交互、定时任务——这些是 Hermes/OpenClaw 的领地。


参考链接


本文基于 Codex CLI 源码和官方文档整理,如有更新请以官方文档为准。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注