Codex CLI: The Definitive Technical Reference
#
Codex 是一个多界面编码智能体,而非简单编写代码的聊天机器人。CLI 会读取您的代码库、在沙箱中执行命令、修补文件、通过 MCP 连接外部服务,并将长时间运行的任务委托至云端。它在本地运行,却拥有全局视野——同一套智能驱动着四个不同的界面,适应您的工作方式。
随意使用与高效使用 Codex 的差距,归结于五个核心系统。 掌握它们,Codex 将成为您的效率倍增器:
- 配置系统 — 通过
config.toml控制行为 - 沙箱与审批模型 — 管控 Codex 的操作权限
- AGENTS.md — 定义项目级别的运行契约
- MCP 协议 — 将能力扩展至外部服务
- Skills 系统 — 封装可复用的领域专业知识
我花了数月时间在生产代码库、CI/CD 流水线和团队工作流中同时使用 Codex 和 Claude Code。本指南将这些经验提炼为一份全面的参考文档——正是我刚开始使用时希望能拥有的那种。每个功能都包含实际语法、真实配置示例,以及那些即便是经验丰富的用户也容易踩到的边界情况。
稳定性说明:标记为
[EXPERIMENTAL]的功能可能会在版本更新间发生变化。截至 v0.101.0,Codex Cloud 和 MCP 命令组均为实验性功能。核心 CLI、沙箱、AGENTS.md、config.toml和 Skills 均已稳定。
Codex 工作原理:心智模型
在深入了解各项功能之前,首先需要理解 Codex 的架构如何影响您与它的每一次交互。该系统在四个交互界面上运行,并共享同一智能层:
┌─────────────────────────────────────────────────────────┐
│ CODEX SURFACES │
├─────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │ CLI │ │ Desktop │ │ IDE │ │ Cloud │ │
│ │ Terminal │ │ App │ │Extension │ │ Tasks │ │
│ └──────────┘ └──────────┘ └──────────┘ └────────┘ │
│ Local exec Multi-task Editor-native Async │
│ + scripting + worktrees + inline edits detached │
├─────────────────────────────────────────────────────────┤
│ EXTENSION LAYER │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ MCP │ │ Skills │ │ Apps │ │ Search │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ External tools, reusable expertise, ChatGPT │
│ connectors, web search (cached + live) │
├─────────────────────────────────────────────────────────┤
│ SECURITY LAYER │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Sandbox (Seatbelt / Landlock / seccomp) │ │
│ │ + Approval Policy (untrusted → never) │ │
│ └─────────────────────────────────────────────────┘ │
│ OS-level filesystem + network restrictions │
├─────────────────────────────────────────────────────────┤
│ CORE LAYER │
│ ┌─────────────────────────────────────────────────┐ │
│ │ GPT-5.x-Codex Intelligence │ │
│ │ Tools: Shell, Patch, Read, Web Search │ │
│ └─────────────────────────────────────────────────┘ │
│ Shared model across all surfaces; costs tokens │
└─────────────────────────────────────────────────────────┘
核心层:GPT-5.x-Codex 模型家族驱动一切。截至 v0.101.0,gpt-5.3-codex 是默认模型,拥有 272K token 的上下文窗口。它能读取文件、编写补丁、执行 shell 命令,并对您的代码库进行推理分析。当上下文满载时,Codex 会压缩对话以释放空间。此层消耗 token。
安全层:Codex 执行的每条命令都经过操作系统级沙箱过滤。在 macOS 上,Apple 的 Seatbelt 框架实施内核级限制。在 Linux 上,Landlock + seccomp 过滤文件系统和系统调用访问。这不是基于容器的方案——而是内置于操作系统中的安全机制。审批策略随后决定何时需要人工确认。
扩展层:MCP 连接外部服务(GitHub、Figma、Sentry)。Skills 将可复用的工作流打包,供 Codex 按需加载。Apps 连接 ChatGPT 连接器。Web search 从互联网获取实时上下文信息。
界面层:CLI 面向终端高级用户和自动化场景。Codex Desktop App 用于多线程项目管理。IDE 扩展支持编辑-编译-测试的紧密循环。Cloud 用于独立运行的异步任务。
核心要点:大多数用户只使用一个界面。高级用户会同时使用全部四个——Cloud 处理长时间运行的任务,CLI 执行确定性的仓库操作,IDE 扩展用于紧凑的编码循环,Codex Desktop App 则用于规划和协调。
目录
- 如何安装 Codex?
- 核心交互界面
- 配置系统深入解析
- 如何选择模型?
- 决策框架
- 沙箱与审批系统如何运作?
- AGENTS.md 如何运作?
- 什么是 MCP(Model Context Protocol)?
- 什么是 Skills?
- Plan Mode 与协作
- 非交互模式(codex exec)
- Codex Cloud 与后台任务
- Codex Desktop App
- GitHub Action 与 CI/CD
- Codex SDK
- Codex 的费用是多少?
- 性能优化
- 如何调试问题?
- 企业部署
- 社区技巧与实践
- 迁移指南
- 快速参考卡
- 更新日志
- 参考资料
如何安装 Codex?
包管理器
# npm (recommended)
npm install -g @openai/codex
# Homebrew (macOS)
brew install --cask codex
# Upgrade to latest
npm install -g @openai/codex@latest
二进制下载
对于没有 npm 或 Homebrew 的环境,可以从 GitHub Releases1 下载特定平台的二进制文件:
| 平台 | 二进制文件 |
|---|---|
| macOS Apple Silicon | codex-aarch64-apple-darwin.tar.gz |
| macOS x86_64 | codex-x86_64-apple-darwin.tar.gz |
| Linux x86_64 | codex-x86_64-unknown-linux-musl.tar.gz |
| Linux arm64 | codex-aarch64-unknown-linux-musl.tar.gz |
系统要求
- macOS:Apple Silicon 或 Intel(通过 Seatbelt 提供完整沙箱支持)
- Linux:x86_64 或 arm64(通过 Landlock + seccomp 提供沙箱支持)
- Windows:实验性支持(建议使用 WSL 以获得完整沙箱支持)2
身份验证
codex login # Interactive OAuth (recommended)
codex login --device-auth # OAuth device code flow (headless)
codex login --with-api-key # API key from stdin
codex login status # Check auth state (exit 0 = logged in)
codex logout # Clear stored credentials
两种身份验证方式:
- ChatGPT 账户(推荐):使用您现有的 Plus、Pro、Team、Business、Edu 或 Enterprise 订阅登录。可访问全部功能,包括云端任务。
- API Key:通过
CODEX_API_KEY环境变量设置,或使用codex login --with-api-key。部分功能(如云端线程)可能不可用。
高级技巧:凭证存储方式可通过
config.toml中的cli_auth_credentials_store进行配置。选项包括:file(默认)、keyring(操作系统钥匙链)或auto(优先使用 keyring,不可用时回退到 file)。
Shell 自动补全
# Generate completions for your shell
codex completion bash > /etc/bash_completion.d/codex
codex completion zsh > ~/.zsh/completions/_codex
codex completion fish > ~/.config/fish/completions/codex.fish
验证安装
codex --version
# Codex CLI v0.101.0
核心交互界面
Codex 提供四种不同的界面,均由相同的智能引擎驱动。每种界面针对不同的工作流模式进行了优化。
1. 交互式 CLI(TUI 终端界面)
codex # Launch TUI
codex "fix the failing tests" # Launch with initial prompt
codex -m gpt-5.3-codex # Specify model
codex --full-auto # Workspace-write sandbox + on-request approval
TUI 终端界面是一个全屏应用程序,包含:
- 编辑器:输入提示词,使用
@附加文件,使用!前缀运行 shell 命令 - 输出面板:流式显示模型响应、工具调用和命令输出
- 状态栏:显示模型、token 用量、git 分支和 sandbox_mode
关键 TUI 快捷键:
| 快捷键 | 操作 |
|---|---|
@ |
模糊文件搜索(附加到上下文) |
!command |
直接运行 shell 命令 |
Ctrl+G |
打开外部编辑器($VISUAL / $EDITOR) |
Enter(运行中) |
在回合中途注入新指令 |
Esc 连按两次 |
编辑之前的消息 |
| 方向键 | 浏览草稿历史记录 |
TUI 中可用的 Slash commands:
| 命令 | 描述 |
|---|---|
/quit 或 /exit |
退出 CLI |
/new |
在同一会话中开始新对话 |
/resume |
恢复已保存的对话 |
/fork |
将当前对话分叉为新线程 |
/model |
切换模型和推理强度 |
/compact |
压缩对话以释放 token |
/diff |
显示 git diff,包括未跟踪文件 |
/review |
对工作目录进行代码审查 |
/plan |
进入 plan mode |
/mention |
将文件附加到对话 |
/init |
生成 AGENTS.md 脚手架 |
/status |
查看会话配置和 token 用量 |
/permissions |
设置审批模式 |
/personality |
沟通风格(friendly/pragmatic/none) |
/mcp |
列出已配置的 MCP 工具 |
/apps |
浏览 ChatGPT 连接器 |
/ps |
显示后台终端 |
/skills |
访问和调用 skills |
/config |
打印生效的配置值及其来源 |
/statusline |
配置 TUI 页脚 |
/feedback |
向 Codex 维护者发送日志 |
/logout |
退出登录 |
2. Codex Desktop App(macOS)
codex app # Launch desktop app (auto-installs if missing)
Codex Desktop App 提供了 CLI 所不具备的功能:
- 多任务处理:同时在不同项目上运行多个并行代理
- Git worktree 隔离:每个线程在仓库的独立副本上工作
- 内联 diff 审查:无需离开应用即可暂存、回退和提交更改
- 集成终端:每个线程拥有独立终端,可运行命令
- 对话分叉:分支对话以探索不同方案
- 浮动弹出窗口:将对话分离为可移动的独立窗口
- 自动化:安排定期任务(issue 分类、CI 监控、告警响应)
何时使用 Codex Desktop App 与 CLI:当您需要协调多个工作流或需要可视化 diff 审查时,使用 Codex Desktop App。当您需要终端组合能力、脚本编写或 CI/CD 集成时,使用 CLI。
3. IDE 扩展(VS Code、Cursor、Windsurf)
Codex IDE 扩展直接集成到您的编辑器中:
- 默认代理模式:读取文件、进行编辑、运行命令
- 内联编辑:在活动文件中提供上下文感知的建议
- 共享会话:会话在 CLI 和 IDE 扩展之间同步
- 统一身份验证:使用 ChatGPT 账户或 API key 登录
可从 VS Code Marketplace 或 Cursor/Windsurf 扩展商店安装。3
4. Codex Cloud [实验性]
Cloud 任务在 OpenAI 管理的环境中异步运行:
- 即发即忘:将任务加入队列,独立于本地机器运行
- 并行执行:同时运行多个云端任务
- 创建 PR:Codex 从已完成的工作中自动创建 pull request
- 本地应用:使用
codex apply <TASK_ID>将云端结果拉取到本地仓库
codex cloud list # List recent cloud tasks
codex apply <TASK_ID> # Apply diff from a specific cloud task
Cloud 任务也可通过 chatgpt.com/codex 访问。4
配置系统深度解析
Codex 使用 TOML 进行配置。理解优先级层次结构至关重要——它决定了设置冲突时哪个配置生效。
优先级(从高到低)
- 会话覆盖(最高优先级):CLI 标志(
--model、--sandbox、--ask-for-approval、--search、--enable/--disable、--profile)和-c key=value覆盖 - 项目配置(
.codex/config.toml,从当前工作目录向上查找至项目根目录——最近的目录优先) - 用户配置(
$CODEX_HOME/config.toml,默认为~/.codex/config.toml) - 系统配置(Unix 上为
/etc/codex/config.toml) - 内置默认值(最低优先级)
托管管理员配置作为策略约束层运行,可以在常规合并后强制或禁止特定值。请参阅企业部署。
配置文件位置
| 范围 | 路径 | 用途 |
|---|---|---|
| 用户 | ~/.codex/config.toml |
个人默认配置 |
| 项目 | .codex/config.toml |
按仓库覆盖 |
| 系统 | /etc/codex/config.toml |
机器级默认配置 |
| 托管 | 托管管理员配置(系统级) | 管理员强制执行的策略约束 |
专家提示:
CODEX_HOME环境变量可覆盖默认的~/.codex目录。适用于 CI/CD 或多账户设置场景。
完整配置参考
# ~/.codex/config.toml — annotated reference
# ─── Model Selection ───────────────────────────────────
model = "gpt-5.3-codex" # Default model (272K context)
model_provider = "openai" # Provider (openai, oss, or custom provider id)
model_reasoning_effort = "medium" # low|medium|high|xhigh (model-dependent)
model_reasoning_summary = "auto" # auto|concise|detailed|none
model_verbosity = "medium" # low|medium|high
personality = "pragmatic" # none|friendly|pragmatic
review_model = "gpt-5.2-codex" # Model for /review command
oss_provider = "lmstudio" # lmstudio|ollama (used with --oss)
# ─── Sandbox & Approval ───────────────────────────────
sandbox_mode = "workspace-write" # read-only|workspace-write|danger-full-access
approval_policy = "on-request" # untrusted|on-failure|on-request|never
[sandbox_workspace_write]
writable_roots = [] # Additional writable paths
network_access = false # Allow outbound network
exclude_tmpdir_env_var = false # Exclude $TMPDIR from sandbox
exclude_slash_tmp = false # Exclude /tmp from sandbox
# ─── Web Search ────────────────────────────────────────
web_search = "live" # Web search mode (constrained by allowed modes)
# ─── Instructions ──────────────────────────────────────
developer_instructions = "" # Additional injected instructions
model_instructions_file = "" # Custom instructions file path
compact_prompt = "" # Custom history compaction prompt
# ─── Shell Environment ─────────────────────────────────
[shell_environment_policy]
inherit = "all" # all|core|none
ignore_default_excludes = false # Set true to keep KEY/SECRET/TOKEN vars
exclude = [] # Glob patterns to exclude
set = {} # Explicit overrides
include_only = [] # Whitelist patterns
# ─── Authentication ────────────────────────────────────
cli_auth_credentials_store = "file" # file|keyring|auto
forced_login_method = "chatgpt" # chatgpt|api
# ─── History & Storage ─────────────────────────────────
[history]
persistence = "save-all" # save-all|none
max_bytes = 0 # Cap size (0 = unlimited)
tool_output_token_limit = 10000 # Max tokens per tool output
log_dir = "" # Custom log directory
# ─── UI & Display ──────────────────────────────────────
file_opener = "vscode" # vscode|vscode-insiders|windsurf|cursor|none
hide_agent_reasoning = false
show_raw_agent_reasoning = false
check_for_update_on_startup = true
[tui]
notifications = false # Enable notifications
notification_method = "auto" # auto|osc9|bel
animations = true
show_tooltips = true
alternate_screen = "auto" # auto|always|never
status_line = ["model", "context-remaining", "git-branch"]
# ─── Project Trust ─────────────────────────────────────
project_doc_max_bytes = 32768 # Max AGENTS.md size (32 KiB)
project_doc_fallback_filenames = [] # Alternative instruction filenames
project_root_markers = [".git"] # Project root detection
# ─── Feature Flags ─────────────────────────────────────
# Use `codex features list` for current names/stages/defaults.
[features]
shell_tool = true # Shell command execution (stable)
collaboration_modes = true # Plan mode (stable)
personality = true # Personality selection (stable)
request_rule = true # Smart approvals (stable)
unified_exec = true # PTY-backed exec (stable)
shell_snapshot = true # Shell env snapshots (stable)
remote_models = true # Refresh remote model list (stable)
apps = false # ChatGPT Apps/connectors (experimental)
child_agents_md = false # AGENTS.md guidance (experimental)
runtime_metrics = false # Runtime summary in turns
# ─── Project Trust ─────────────────────────────────────
[projects."/absolute/path/to/repo"]
trust_level = "trusted" # Per-project trust override
配置文件
用于不同工作模式的命名配置预设:
# Define profiles in ~/.codex/config.toml
[profiles.fast]
model = "gpt-5.1-codex-mini"
model_reasoning_effort = "low"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
personality = "pragmatic"
[profiles.careful]
model = "gpt-5.3-codex"
model_reasoning_effort = "xhigh"
approval_policy = "untrusted"
sandbox_mode = "read-only"
[profiles.auto]
model = "gpt-5.3-codex"
model_reasoning_effort = "medium"
approval_policy = "never"
sandbox_mode = "workspace-write"
激活配置文件:
codex --profile fast "quick refactor"
codex --profile careful "security audit"
codex -p auto "fix CI"
专家提示:在配置文件顶层设置
profile = "fast"可指定默认配置文件。使用--profile可按会话覆盖。
自定义模型提供商
连接 Azure、本地模型或代理服务:
[model_providers.azure]
name = "Azure OpenAI"
base_url = "https://YOUR_PROJECT.openai.azure.com/openai"
wire_api = "responses"
query_params = { api-version = "2025-04-01-preview" }
env_key = "AZURE_OPENAI_API_KEY"
[model_providers.ollama]
name = "Ollama (Local)"
base_url = "http://localhost:11434/v1"
wire_api = "chat"
使用 --oss 标志来使用本地模型:
codex --oss "explain this function" # Uses default OSS provider
codex --oss --local-provider lmstudio "explain" # Explicit LM Studio
codex --oss --local-provider ollama "explain" # Explicit Ollama
或在配置中设置:
model_provider = "oss"
oss_provider = "lmstudio" # or "ollama"
内联配置覆盖
从命令行覆盖任意配置值:
codex -c model="gpt-5.2-codex" "refactor the API"
codex -c 'sandbox_workspace_write.network_access=true' "install dependencies"
codex -c model_reasoning_effort="xhigh" "debug the race condition"
如何选择合适的模型?
可用模型(2026年2月)
| 模型 | 上下文长度 | 默认推理级别 | 最佳用途 |
|---|---|---|---|
| gpt-5.3-codex | 272K | medium |
默认旗舰模型——编码与推理一体化 |
| gpt-5.3-codex-spark | 128K | high |
实时结对编程,快速交互迭代 |
| gpt-5.2-codex | 272K | medium |
长周期重构、迁移、遗留代码处理 |
| gpt-5.1-codex-mini | 272K | medium |
快速任务、成本敏感场景、大规模 CI |
具体的模型列表因账户和发布阶段而异。请查看本地缓存:
~/.codex/models_cache.json。
模型选择流程图
Is this a quick fix or simple question?
├─ Yes → gpt-5.1-codex-mini (fastest, cheapest)
└─ No
├─ Do you need real-time pairing speed?
│ ├─ Yes → gpt-5.3-codex-spark (interactive, lower latency)
│ └─ No
│ ├─ Is this a multi-file refactor or migration?
│ │ ├─ Yes → gpt-5.2-codex (272K context, strong at long tasks)
│ │ └─ No → gpt-5.3-codex (default, best overall)
└─ Still unsure? → gpt-5.3-codex
推理级别
控制模型在响应前”思考”的深度:
| 级别 | 行为 | 适用场景 |
|---|---|---|
low |
简短推理 | 标准编码任务、格式化 |
medium |
均衡(默认) | 大多数开发工作 |
high |
扩展推理 | 复杂调试、架构设计 |
xhigh |
最大推理 | 安全审计、深度分析 |
支持的级别取决于模型。并非所有模型都支持每个级别。
codex -c model_reasoning_effort="xhigh" "find the race condition"
专家提示:
xhigh推理级别对于相同提示可能消耗比medium多 3-5 倍的 token。请将其保留用于额外思考确实有价值的高难度问题。
模型切换
在会话中使用 /model 斜杠命令切换模型,或通过 --model / -m 按次运行指定:
codex -m gpt-5.3-codex-spark "pair with me on this component"
决策框架
各场景最佳工具选择
| 场景 | 最佳工具 | 原因 |
|---|---|---|
| 快速修复 bug | CLI | 快速、专注、可脚本化 |
| 多文件重构 | CLI 或 App | CLI 适合确定性补丁;App 适合可视化差异审查 |
| 探索不熟悉的代码 | CLI | 终端可组合性,集成 grep/find |
| 并行工作流 | Desktop App | 工作树隔离,多任务管理 |
| 活跃文件编辑 | IDE Extension | 内联编辑,紧密的编译-测试循环 |
| 长时间运行的迁移 | Cloud | 独立运行,完成后创建 PR |
| CI/CD 自动化 | codex exec |
非交互式,JSON 输出,可脚本化 |
| 代码审查 | CLI 或 App | /review 命令与预设 |
| 团队入职培训 | Desktop App | 可视化、引导式,无需深厚终端知识 |
各场景沙箱模式选择
| 场景 | 模式 | 审批策略 | 原因 |
|---|---|---|---|
| 探索未知代码 | read-only |
untrusted |
最高安全性,不会破坏任何内容 |
| 日常开发 | workspace-write |
on-request |
速度与安全性的良好平衡 |
| 受信任的自动化 | workspace-write |
never |
快速、无中断、沙箱隔离 |
| 系统管理 | danger-full-access |
on-request |
需要完全访问权限但需人工审批 |
| CI/CD 流水线 | workspace-write |
never |
自动化,沙箱限制在工作区内 |
各场景推理级别选择
| 任务类型 | 推理级别 | 模型 | 配置文件 |
|---|---|---|---|
| 格式化、代码检查 | low |
gpt-5.1-codex-mini |
fast |
| 标准编码 | low-medium |
gpt-5.3-codex |
默认 |
| 复杂调试 | high |
gpt-5.3-codex |
careful |
| 安全审计 | xhigh |
gpt-5.3-codex |
careful |
| 快速原型开发 | low |
gpt-5.3-codex-spark |
fast |
| 迁移/重构 | medium-high |
gpt-5.2-codex |
默认 |
沙箱与审批系统的工作原理
Codex 使用双层安全模型,将技术上可行的操作与需要人工审批的时机分离开来。这与 Claude Code 的权限系统有本质区别——Codex 在操作系统内核层面强制执行限制。5
第一层:沙箱(可执行的操作范围)
沙箱通过操作系统原生机制控制文件系统和网络访问:
| 模式 | 文件访问 | 网络 | 实现方式 |
|---|---|---|---|
read-only |
所有位置只读 | 阻断 | 最严格——修改操作需要明确审批 |
workspace-write |
工作区 + /tmp 可读写 |
默认阻断 | 常规开发——安全的默认选项 |
danger-full-access |
完整的机器访问权限 | 启用 | 最大能力——谨慎使用 |
平台特定的执行机制:
- macOS:通过
sandbox-exec使用 Apple 的 Seatbelt 框架,运行时编译模式特定的配置文件并由内核强制执行6 - Linux:使用 Landlock 实现文件系统限制 + seccomp 实现系统调用过滤。独立的辅助进程(
codex-linux-sandbox)提供纵深防御隔离。可选的 Bubblewrap(bwrap)管道作为替代方案7 - Windows:实验性的原生沙箱,使用受限令牌。推荐使用 WSL 以获得完整的沙箱支持(继承 Linux 的 Landlock + seccomp)
为什么这很重要:与基于容器的沙箱(Docker)不同,操作系统级别的沙箱更快、更轻量,也更难被突破。内核在 Codex 看到系统调用之前就已经强制执行了限制。
第二层:审批策略(何时询问)
审批策略决定 Codex 何时暂停并请求人工确认:
| 策略 | 行为 | 适用场景 |
|---|---|---|
untrusted |
自动运行安全的读取操作;其他所有操作均需提示 | 最高信任门槛——不熟悉的代码仓库 |
on-failure |
自动运行直到出现失败,然后询问 | 半自动化——捕获错误 |
on-request |
在沙箱范围内自动审批;越界操作时提示 | 默认——良好的平衡 |
never |
完全无提示 | CI/CD、受信任的自动化 |
--full-auto 标志
--full-auto 是以下配置的便捷别名:
codex --sandbox workspace-write --ask-for-approval on-request
关键注意事项:--full-auto 会覆盖任何显式的 --sandbox 值。如果您传入 --full-auto --sandbox read-only,实际生效的是 workspace-write,因为 --full-auto 具有更高的优先级。8
推荐配置
日常开发(安全默认值):
sandbox_mode = "workspace-write"
approval_policy = "on-request"
高级用户(完全访问,人工参与决策):
sandbox_mode = "danger-full-access"
approval_policy = "untrusted"
这是社区推荐的”最佳平衡点”——最大化能力但每个命令都需要审批。9
CI/CD 自动化:
sandbox_mode = "workspace-write"
approval_policy = "never"
启用网络访问
在 workspace-write 模式下,网络默认被阻断。需要时可以启用:
# Per-run
codex -c 'sandbox_workspace_write.network_access=true' "install the packages"
# In config.toml
[sandbox_workspace_write]
network_access = true
writable_roots = ["/path/to/extra/dir"] # Additional writable directories
exclude_slash_tmp = false # Prevent /tmp from being writable
exclude_tmpdir_env_var = false # Prevent $TMPDIR from being writable
测试沙箱
在信任沙箱之前验证其行为:
codex sandbox macos --full-auto -- ls /etc/passwd # macOS test
codex sandbox linux --full-auto -- cat /etc/shadow # Linux test
AGENTS.md 的工作原理
AGENTS.md 是 Codex 的项目指令系统——一项开放标准10,被 Codex、Cursor、Amp、Jules(Google)和 Factory 所支持。它定义了 Codex 在特定代码仓库或目录中应如何运作。
发现层级
Codex 在会话启动时通过遍历目录树构建指令链:
- 全局(
~/.codex/):AGENTS.override.md>AGENTS.md - 项目(从 git 根目录到当前目录):每一层都检查
AGENTS.override.md>AGENTS.md> 备选文件名 - 合并:文件从根目录向下拼接;距离越近的文件在提示词中出现越靠后,因此会覆盖之前的指导
~/.codex/AGENTS.md ← Global defaults
└─ /repo/AGENTS.md ← Project-wide rules
└─ /repo/services/AGENTS.md ← Service-specific rules
└─ /repo/services/payments/
AGENTS.override.md ← Overrides everything above for this dir
优秀 AGENTS.md 的编写要点
基于 Codex 自身的直接指导和社区实践模式11:
推荐做法:
- 具体明确:"Use rg --files for discovery" 优于 "search efficiently"
- 定义完成标准:什么才算”完成”?(测试通过、lint 清洁等)
- 包含命令:构建、测试、lint、格式化——精确的调用方式
- 按任务组织:代码编写、审查、发布、事件/调试等章节
- 定义升级路径:遇到阻塞或意外状态时该怎么做
避免做法: - 堆砌整个风格指南却不附带执行规则 - 使用模糊的指令(”小心处理”、”优化”) - 混合矛盾的优先级(速度 + 详尽验证 + 无运行时预算) - 编写散文式文档——AGENTS.md 是操作策略,不是 README
示例:生产环境 AGENTS.md
# Repository Guidelines
## Build, Test, and Development Commands
- Run API (dev): `python3 -m uvicorn main:app --reload`
- Install deps: `pip install -r requirements.txt`
- Lint: `python3 -m ruff check .` (auto-fix: `--fix`)
- Format: `python3 -m ruff format .`
- Tests: `python3 -m pytest -v`
- Coverage: `python3 -m pytest --cov=app --cov-report=term-missing`
## Coding Style & Naming Conventions
- Python 3.11+. Type hints on all functions.
- Ruff enforced: 88-char lines, double quotes, spaces for indent.
- Naming: modules `snake_case.py`, classes `PascalCase`, functions `snake_case`.
## Commit & Pull Request Guidelines
- Conventional Commits: `feat:`, `fix:`, `docs:`, `refactor:`, `chore:`, `test:`
- Commits should be small and focused.
- PRs must include: description, test plan, and screenshots for UI changes.
## Security
- Never commit secrets. Use `.env` for local config.
- Validate all external API calls with proper error handling.
覆盖机制
任何目录层级的 AGENTS.override.md 会替换该范围内的常规 AGENTS.md。适用于:
- 发布冻结:”不接受新功能,仅修复”
- 事件响应模式:”所有变更必须经值班人员审查”
- 临时加固:”本迭代不更新依赖”
配置
# Custom fallback filenames (in addition to AGENTS.md)
project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"]
# Increase max size for large instruction files
project_doc_max_bytes = 65536 # 64 KiB (default: 32 KiB)
脚手架生成
codex # Launch TUI
/init # Generate AGENTS.md scaffold
或验证您的指令链:
codex --ask-for-approval never "Summarize your current instructions"
什么是 MCP(Model Context Protocol)? [experimental]
MCP 通过连接外部工具和服务来扩展 Codex 的能力。codex mcp 命令组目前标记为实验性——命令和配置格式可能在不同版本之间发生变化。Codex 支持两种传输类型:STDIO(本地进程)和 Streamable HTTP(远程服务器)。12
配置 MCP 服务器
STDIO 服务器(本地进程):
# In ~/.codex/config.toml or .codex/config.toml
[mcp_servers.context7]
enabled = true
required = true # Fail startup if unavailable
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env = { "MY_VAR" = "value" } # Static env vars
env_vars = ["PATH", "HOME"] # Forward host env vars
cwd = "/path/to/project" # Optional working directory
startup_timeout_sec = 10
tool_timeout_sec = 60
enabled_tools = ["search", "summarize"] # Tool allowlist
disabled_tools = ["slow-tool"] # Tool denylist
HTTP 服务器(远程):
[mcp_servers.figma]
enabled = true
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
http_headers = { "X-Figma-Region" = "us-east-1" }
env_http_headers = { "X-Org-Id" = "FIGMA_ORG_ID" } # Headers from env vars
startup_timeout_sec = 10
tool_timeout_sec = 60
CLI 管理
codex mcp add context7 -- npx -y @upstash/context7-mcp
codex mcp add context7 --env API_KEY=... -- npx -y @upstash/context7-mcp # With env vars
codex mcp add figma --url https://mcp.figma.com/mcp --bearer-token-env-var FIGMA_OAUTH_TOKEN
codex mcp list # List all configured servers
codex mcp list --json # JSON output
codex mcp get context7 # Show server config
codex mcp get context7 --json # JSON output
codex mcp login <server> # OAuth flow for HTTP servers
codex mcp logout <server> # Remove OAuth credentials
codex mcp remove <server> # Delete server definition
会话中使用 /mcp 可查看活跃的服务器和可用工具。
将 Codex 作为 MCP 服务器运行
Codex 可以将自身暴露为 MCP 服务器,用于多智能体编排:13
codex mcp-server # Start as MCP server (stdio transport)
这会暴露两个工具:
1. codex():使用提示词、沙箱、模型和审批参数启动新会话
2. codex-reply():使用 threadId 和提示词继续现有会话
与 Agents SDK(Python)配合使用:
from agents import Agent, Runner
from agents.mcp import MCPServerStdio
async with MCPServerStdio(
name="Codex CLI",
params={"command": "npx", "args": ["-y", "codex", "mcp-server"]},
client_session_timeout_seconds=360000,
) as codex_mcp_server:
agent = Agent(name="Developer", mcp_servers=[codex_mcp_server])
result = await Runner.run(agent, "Fix the failing tests")
知名 MCP 服务器
| 服务器 | 用途 | 安装方式 |
|---|---|---|
| Context7 | 最新的库文档 | npx -y @upstash/context7-mcp |
| Figma | 设计文件访问 | HTTP: https://mcp.figma.com/mcp |
| Playwright | 浏览器自动化 | npx -y @anthropic/mcp-playwright |
| Sentry | 错误监控 | HTTP: https://mcp.sentry.dev/mcp |
| GitHub | 代码仓库操作 | npx -y @anthropic/mcp-github |
什么是 Skills?
Skills 是可复用的、针对特定任务的能力包,Codex 按需加载。它们遵循开放智能体技能标准。14
Skills 结构
my-skill/
SKILL.md (required — instructions)
scripts/ (optional — executable scripts)
references/ (optional — reference docs)
assets/ (optional — images, icons)
agents/openai.yaml (optional — metadata, UI, dependencies)
发现位置
用户安装的 skills 在 $CODEX_HOME/skills(默认:~/.codex/skills)中管理,包括 .system/ 下的内置系统 skills。Codex 支持符号链接的 skill 文件夹。
| 范围 | 路径 |
|---|---|
| 项目/团队 | 代码仓库中的 skill 文件夹(布局可能因版本而异) |
| 用户 | ~/.codex/skills/(或 $CODEX_HOME/skills/) |
| 管理员 | /etc/codex/skills/ |
| 系统 | 由 OpenAI 内置(位于 ~/.codex/skills/.system/) |
创建 Skill
SKILL.md 格式:
---
name: security-audit
description: Run a comprehensive security audit on the codebase.
---
## 安全审计流程
1. 使用 `rg -i "(api_key|password|secret|token)\s*=" --type py` 扫描硬编码的密钥
2. 检查 SQL 注入:查找查询中的字符串插值
3. 验证所有 API 端点的输入校验
4. 检查依赖项漏洞:`pip audit` 或 `npm audit`
5. 审查身份验证和授权模式
6. 按严重程度(Critical/High/Medium/Low)报告发现的问题
元数据(agents/openai.yaml):
interface:
display_name: "Security Audit"
short_description: "Comprehensive codebase security review"
icon_small: "./assets/shield.svg"
brand_color: "#DC2626"
default_prompt: "Run a security audit on this repository"
policy:
allow_implicit_invocation: false # Require explicit $skill
dependencies:
tools:
- type: "mcp"
value: "snyk"
transport: "streamable_http"
url: "https://mcp.snyk.io/mcp"
调用 Skills
- 显式调用:通过
/skills菜单或在提示词中使用$skill-name提及 - 隐式调用:Codex 根据任务描述自动检测匹配的 skills(如果
allow_implicit_invocation: true) - 创建:使用
$skill-creator交互式构建新的 skill - 安装:使用
$skill-installer install <name>安装社区 skills
启用/禁用
[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false
Plan Mode 与协作
Plan mode 允许 Codex 在执行更改之前先设计方案。该功能自 v0.94.0 起默认启用。15
进入 Plan Mode
/plan # Switch to plan mode
/plan "redesign the API layer" # Plan mode with initial prompt
在 Plan mode 下,Codex 会: - 读取文件并分析代码库 - 提出实施方案 - 在您批准之前不会进行任何更改 - 在专用的 TUI 视图中流式展示方案
Steer Mode
Steer mode(自 v0.98.0 起默认启用)允许您在 Codex 工作时注入新的指令:
- Enter:在当前运行的回合中立即发送指令
- Tab:将后续指令排队,等当前回合完成后执行
这使您能够实时修正方向,而无需停止代理。
会话分叉
分叉会话以探索替代方案,同时不丢失当前进度:
/fork # Fork current conversation
/fork "try a different approach" # Fork with new prompt
分叉会创建独立的线程——一个分叉中的更改不会影响另一个。
非交互模式(codex exec)
codex exec 以非交互方式运行 Codex,适用于脚本编写、CI/CD 和自动化场景。16
基本用法
codex exec "summarize the repository structure"
codex exec --full-auto "fix the CI failure"
codex exec --json "triage open bugs" -o result.txt
默认情况下,codex exec 将进度/事件写入 stderr,最终代理消息写入 stdout。这使其可以与标准 Unix 管道组合使用。
JSON Lines 输出
使用 --json 时,stdout 变为 JSONL 事件流:
codex exec --json "fix the tests" | jq
事件类型:thread.started、turn.started/completed/failed、item.started/completed、error
{"type":"thread.started","thread_id":"019c5c94-..."}
{"type":"turn.started"}
{"type":"item.started","item":{"id":"item_1","type":"command_execution","status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_3","type":"agent_message","text":"..."}}
{"type":"turn.completed","usage":{"input_tokens":24763,"cached_input_tokens":24448,"output_tokens":122}}
结构化输出
使用 JSON Schema 强制指定响应格式:
codex exec "Extract project metadata" \
--output-schema ./schema.json \
-o ./project-metadata.json
-o / --output-last-message 将最终消息写入文件。
会话恢复与审查
codex exec resume --last "continue where you left off"
codex exec resume <SESSION_ID> "fix the remaining issues"
codex exec review --base main # Code review against a branch
关键标志
| 标志 | 说明 |
|---|---|
--full-auto |
workspace-write 沙箱 + on-request 审批 |
--json |
JSONL 事件流输出至 stdout |
-o, --output-last-message <file> |
将最终消息保存到文件 |
--output-schema <file> |
根据 JSON Schema 验证响应 |
--ephemeral |
不持久化会话文件 |
-C, --cd <dir> |
设置工作目录 |
--add-dir <dir> |
额外的可写目录 |
--skip-git-repo-check |
允许在 git 仓库外运行 |
--dangerously-bypass-approvals-and-sandbox |
无沙箱、无审批(仅限 CI 使用) |
CI 身份验证
codex exec 支持 CODEX_API_KEY,用于自动化环境中的非交互式身份验证。
Codex Cloud 与后台任务 [实验性]
状态:Codex Cloud 是一项实验性功能。接口、定价和可用性可能会发生变化。云环境由 OpenAI 管理——您无法控制基础设施。
Codex Cloud 在 OpenAI 管理的环境中异步运行任务。4
工作原理
- 提交任务(通过 chatgpt.com/codex、Slack 集成或 CLI)
- Codex 将您的仓库克隆到隔离的云沙箱中
- 代理独立工作——读取代码、运行测试、进行更改
- 完成后,Codex 创建 PR 或提供差异对比供审查
- 使用
codex apply <TASK_ID>将结果应用到本地
云端互联网访问
代理的互联网访问默认关闭,可按环境配置:
- 关闭:代理无互联网访问(默认)
- 开启:可选的域名白名单 + HTTP 方法限制
Allowed domains: pypi.org, npmjs.com, github.com
Allowed methods: GET, HEAD, OPTIONS
即使代理的互联网访问关闭,安装脚本仍可使用互联网来安装依赖项。
Slack 集成
在 Slack 频道或对话线程中提及 @Codex 即可启动云任务。
前提条件: 1. 符合条件的 ChatGPT 计划(Plus、Pro、Business、Enterprise 或 Edu) 2. 已关联 GitHub 账户 3. 至少配置了一个云环境 4. 已为您的工作区安装 Slack 应用
Codex 会回复任务链接,并在完成时发布结果。
Cloud CLI
codex cloud exec --env <ENV_ID> "Fix failing tests" # Start a cloud task
codex cloud status <TASK_ID> # Check task progress
codex cloud diff <TASK_ID> # View task diff
codex cloud list # List recent tasks
codex cloud list --json # JSON output
codex cloud apply <TASK_ID> # Apply from cloud subcommand
codex apply <TASK_ID> # Apply diff (top-level shortcut)
Codex Desktop App
Codex Desktop App(仅限 macOS,Apple Silicon)提供了针对多项目管理优化的图形界面。17
安装
codex app # Auto-downloads and installs on first run
或直接下载:Codex.dmg
核心功能
| 功能 | 说明 |
|---|---|
| 并行线程 | 跨项目同时运行多个任务 |
| 线程模式 | 以 Local、Worktree 或 Cloud 模式启动线程 |
| 内置 Git 工具 | 审查差异、添加评论、暂存/还原代码块、提交/推送、创建 PR |
| 集成终端 | 每个线程独立的终端(Cmd+J) |
| 语音听写 | 通过语音输入提示词(Ctrl+M) |
| 自动化任务 | 安排定期执行的任务 |
| 通知 | 应用在后台时发送完成/审批通知 |
| 防止休眠 | 可选设置,在任务运行时保持设备唤醒 |
| Skills + MCP | 在应用、CLI 和 IDE 扩展之间共享配置 |
自动化任务
自动化任务在应用本地运行——应用必须正在运行且项目在磁盘上可用:
- 在 Git 仓库中,自动化任务使用专用的后台 worktrees
- 在非 Git 项目中,任务直接在项目目录中执行
- 自动化任务使用您的默认沙箱设置
示例用途: - Issue 分类:自动分类和排列新 issue 的优先级 - CI 监控:监控构建失败并建议修复方案 - 告警响应:对监控告警进行诊断分析 - 依赖更新:检查并应用安全补丁
结果会出现在审查队列中,等待人工批准。
Windows 支持
Windows Alpha 测试已于2026年2月开放。请访问 openai.com 注册获取早期访问权限。18
GitHub Action 与 CI/CD
官方 GitHub Action 将 Codex 集成到您的 CI/CD 流水线中。19
基本用法
# .github/workflows/codex.yml
name: Codex
on:
pull_request:
types: [opened]
jobs:
codex:
runs-on: ubuntu-latest
outputs:
final_message: ${{ steps.run_codex.outputs.final-message }}
steps:
- uses: actions/checkout@v5
- name: Run Codex
id: run_codex
uses: openai/codex-action@v1
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
prompt-file: .github/codex/prompts/review.md
sandbox: workspace-write
safety-strategy: drop-sudo
配置选项
| 输入项 | 用途 |
|---|---|
openai-api-key |
用于代理/身份验证设置的 API 密钥 |
responses-api-endpoint |
覆盖端点(例如 Azure Responses URL) |
prompt / prompt-file |
任务指令(必须提供其一) |
working-directory |
传递给 codex exec --cd 的目录 |
sandbox |
workspace-write / read-only / danger-full-access |
codex-args |
额外的 CLI 标志(JSON 数组或 shell 字符串) |
output-schema / output-schema-file |
用于 --output-schema 的结构化输出模式 |
model / effort |
代理配置 |
output-file |
将最终消息保存到磁盘 |
codex-version |
固定 CLI 版本 |
codex-home |
自定义 Codex 主目录 |
allow-users / allow-bots |
触发白名单控制 |
safety-strategy / codex-user |
权限降级行为和用户选择 |
输出:final-message——最终 Codex 响应文本,供下游步骤/作业使用。
安全策略
| 策略 | 说明 |
|---|---|
drop-sudo(默认) |
Linux/macOS;在 action 步骤后移除 sudo 权限 |
unprivileged-user |
以预创建的低权限用户运行 Codex |
read-only |
read-only 沙箱(runner/用户权限风险仍然存在) |
unsafe |
不进行权限降级;Windows runners 上必须使用 |
访问控制
with:
allow-users: "admin,maintainer" # Limit who can trigger
allow-bots: false # Block bot-triggered runs
默认:只有具有写入权限的协作者才能触发 Codex 工作流。
Codex SDK
TypeScript SDK 将 Codex 的智能体能力嵌入到自定义应用程序中。20
安装
npm install @openai/codex-sdk
基本用法
import { Codex } from "@openai/codex-sdk";
const codex = new Codex();
const thread = codex.startThread();
// Multi-turn conversation
const turn1 = await thread.run("Diagnose CI failures and propose a fix");
console.log(turn1.finalResponse);
const turn2 = await thread.run("Implement the fix and add tests");
console.log(turn2.items);
// Resume a previous session
const resumed = codex.resumeThread("<thread-id>");
await resumed.run("Continue from previous work");
高级 SDK 功能
runStreamed(...):用于中间状态更新的异步事件流outputSchema:强制最终输出为 JSON 结构- 多模态输入:传入文本和本地图片(
{ type: "local_image", path: "..." })
线程与客户端配置
// Custom working directory, skip git check
const thread = codex.startThread({
workingDirectory: "/path/to/project",
skipGitRepoCheck: true,
});
// Custom environment and config overrides
const codex = new Codex({
env: { CODEX_API_KEY: process.env.MY_KEY },
config: { model: "gpt-5.2-codex" },
});
会话持久化存储在 ~/.codex/sessions 目录下。
运行环境:Node.js 18+。
Codex 的费用是多少?
通过 ChatGPT 计划获取访问权限
Codex 的可用性取决于您的 ChatGPT 计划和组织设置:
| 计划 | Codex 访问权限 |
|---|---|
| Plus | 已包含——本地 CLI + 云端任务 |
| Pro | 已包含——更高吞吐量 |
| Business | 已包含——团队配额分配 |
| Enterprise | 已包含——自定义配额分配 + 管理员控制 |
| Edu | 已包含——教育访问权限 |
计划限制和吞吐量可能会发生变化。请在 ChatGPT 和管理员设置中查看当前的使用权限。
API 计费
通过 API 使用 Codex 时,按照所选模型的标准 OpenAI API 定价按 token 计费(加上适用的提示缓存折扣)。请查看官方 API 定价页面了解当前费率。
成本优化策略
- 使用配置文件:创建一个
fast配置文件,设置gpt-5.1-codex-mini和model_reasoning_effort = "low",用于日常任务 - 保留高推理能力:仅在真正困难的问题上使用
xhigh——它的 token 消耗是普通模式的 3-5 倍 - 使用
--ephemeral:在 CI/CD 中跳过会话持久化以减少开销 - 最小化推理摘要:当不需要解释时,设置
model_reasoning_summary = "none" - 批量使用 exec 模式:
codex exec可避免 TUI 开销,适用于自动化工作流 - 监控用量:在 TUI 中查看
/status以及组织的计费仪表板
性能优化
上下文管理
旗舰模型拥有 272K 的上下文窗口,但填满速度比您想象的要快。需要主动管理:
- 定期使用
/compact:总结对话历史以释放 token - 提供本地文档:高质量的
AGENTS.md和本地文档可以减少探索开销(探索会消耗上下文) - 使用
@附加特定文件:直接引用文件,而不是让 Codex 自行查找 - 保持提示聚焦:指定具体文件的精确提示比开放式探索消耗更少的上下文
Token 效率
| 技巧 | 影响 |
|---|---|
设置 model_reasoning_summary = "none" |
减少约 20% 的输出 token |
使用 model_verbosity = "low" |
更简短的解释,更多实际操作 |
| 简单任务使用 mini 模型 | 每条消息的成本显著降低 |
| 将复杂任务拆分为聚焦的会话 | 每个会话的 token 效率更高 |
| 使用配置文件按任务切换设置 | 避免在日常工作上为高推理付费 |
速度优化
gpt-5.3-codex-spark:低延迟变体,适用于交互式结对编程--profile fast:预配置的 mini 模型,搭配低推理能力- 并行工具执行:Codex 会并发运行独立的读取/检查操作——构建提示时应充分利用这一特性
- 结果驱动循环:使用”实现、测试、修复、全部通过后停止”的方式,而非逐步指令
如何调试问题?
常见问题与解决方案
| 问题 | 原因 | 解决方案 |
|---|---|---|
| “Re-connecting”循环 | 运行了多个 Codex 实例 | 终止所有进程,等待 60 秒,重启单个实例 |
| 401 认证错误 | 凭证过期 | rm ~/.codex/auth.json && codex login |
| 沙盒中网络被阻止 | 默认行为 | -c 'sandbox_workspace_write.network_access=true' |
| WSL2 断连 | WSL 状态损坏 | 在 PowerShell 中执行 wsl --shutdown,等待 1 分钟后重启 |
| 补丁应用失败 | 行尾符不匹配 | 统一为 LF,提供精确的文件内容 |
| 上下文压缩失败 | 上下文过多 | 降低推理级别,拆分为更小的任务 |
| 模型意外切换 | config.toml 覆盖 | 运行 /config 检查生效的设置及其来源 |
| Plan 模式允许修改操作 | 已知 bug | Issue #11115 |
| 忘记 AGENTS.md 中的指令 | 上下文限制 | 保持指令简洁;使用 skill 文件存放详细流程 |
| Read Only 模式下停滞 | 已知问题 | Discussion #7380 |
诊断工具
codex --version # Check CLI version
codex login status # Verify authentication
codex mcp list # Check MCP server status
codex debug app-server --help # Debug app server issues
会话内 TUI 诊断命令:
/status # Token/session overview
/config # Inspect effective config values and sources
/compact # Summarize history to reclaim context
注意:
codex --verbose不是有效的顶级标志。请使用上述调试子命令和 TUI 诊断工具。
全新重装
npm uninstall -g @openai/codex && npm install -g @openai/codex@latest
调试模式
codex debug app-server send-message-v2 # Test app-server client
报告问题
/feedback # Send logs to Codex maintainers (in TUI)
或在 github.com/openai/codex/issues 提交问题。1
企业部署
管理员控制(managed-admin-config)
企业策略通过 managed admin config(系统级别)强制执行,可以要求安全执行模式并约束用户设置:22
# /etc/codex/managed-admin-config.toml
model_reasoning_effort = "high"
model_reasoning_summary = "auto"
model = "gpt-5.3-codex"
require_approval = "untrusted"
require_sandbox = "workspace-write"
managed admin config 充当约束层——它在常规配置合并之后强制或禁止特定值,而不仅仅是另一个覆盖层级。
macOS MDM 配置
通过 MDM 使用 com.openai.codex 偏好设置域进行分发:
| 键 | 用途 |
|---|---|
managed_config_base64 |
Base64 编码的托管用户配置 |
managed_admin_config_base64 |
Base64 编码的托管管理员策略配置 |
OpenTelemetry 集成
Codex 支持从标准 OTel 环境变量到 OpenAI API 调用的 OpenTelemetry 追踪上下文传播。在您的运行时/收集器栈中配置 OTel:
- 支持标准
OTEL_*环境变量 - 追踪上下文通过 Codex 传播到 API 调用
- 启用提示/工具日志记录时请注意隐私要求
企业访问
- ChatGPT Business / Enterprise / Edu:由组织管理员控制访问权限
- API:标准 API 认证、计费和组织/项目控制
- Codex SDK:嵌入到内部工具和工作流中
- 托管配置:使用 managed config + managed admin config 进行大规模策略执行
社区技巧与方法
提示模式
- 约束驱动提示:以边界条件开头——“不要修改 API 接口。只重构内部实现。”
- 结构化复现步骤:编号步骤比模糊描述更能产出高质量的 bug 修复
- 验证请求:以”运行 lint 和最小相关测试套件。报告命令和结果。”结尾
- 文件引用:使用
@filename将特定文件附加到上下文中 - 结果驱动循环:”实现、运行测试、修复失败、仅在所有测试通过后停止”——Codex 会持续迭代直到完成
测试理念
社区逐渐趋向于测试驱动的 AI 协作方式:23
- 预先定义测试作为完成信号
- 让 Codex 持续迭代直到测试通过(红 → 绿 → 重构)
- 采用 Tiger Style 编程模式
- 请求补丁时提供精确的文件内容——Codex 使用严格匹配,而非模糊的 AST 补丁
上下文管理最佳实践
- 提供高质量的本地文档,而非依赖网络搜索
- 维护带有目录和进度文件的结构化 markdown(”渐进式披露”)
- 在所有跟踪文件中统一行尾符(LF vs CRLF)以防止补丁失败
- 保持
AGENTS.md简洁——过长的指令会被挤出上下文
Git 工作流
- 在不熟悉的仓库上运行 Codex 之前,始终创建新分支
- 使用基于补丁的工作流(
git diff/git apply)而非直接编辑 - 像审查 PR 一样审查 Codex 的建议
- 使用
/diff在提交前验证变更
社区 Skills 和提示
feiskyer/codex-settings 仓库提供了经过实战验证的配置:24
可复用提示(位于 ~/.codex/prompts/):
- deep-reflector:从开发会话中提取经验教训
- github-issue-fixer [issue-number]:系统化的 bug 分析和 PR 创建
- github-pr-reviewer [pr-number]:代码审查工作流
- ui-engineer [requirements]:生产级前端开发
社区 skills:
- claude-skill:将任务交给 Claude Code 处理,支持权限模式
- autonomous-skill:多会话任务自动化,带进度追踪
- deep-research:并行子任务编排
- kiro-skill:需求 → 设计 → 任务 → 执行流水线
迁移指南
从 Claude Code 迁移
| Claude Code 概念 | Codex 对应功能 |
|---|---|
CLAUDE.md |
AGENTS.md(开放标准) |
.claude/settings.json |
.codex/config.toml(TOML 格式) |
--print 标志 |
codex exec 子命令 |
--dangerously-skip-permissions |
--dangerously-bypass-approvals-and-sandbox |
| Hooks(SessionStart 等) | 无对应功能——请改用 AGENTS.md 和 skills |
| 子代理(Task 工具) | 无直接对应功能——请使用 skills、云任务或 SDK 编排 |
/compact |
/compact(完全相同) |
/cost |
/status(显示令牌用量) |
| 模型:Opus/Sonnet/Haiku | 模型:gpt-5.3-codex / gpt-5.1-codex-mini |
claude --resume |
codex resume |
| 权限规则 | Sandbox 模式 + 审批策略 |
| settings.json 中的 MCP 配置 | config.toml 中的 MCP 配置 |
需要理解的关键区别:
- Sandbox 是操作系统级别的:Codex 使用 Seatbelt/Landlock,而非容器。限制更难被绕过。
- 无 hooks:Codex 没有与 Claude Code hooks 直接一一对应的功能。请改用 AGENTS.md 指令或 skills。
- 无子代理:Codex 没有直接的本地子代理模型。请使用云任务或 SDK 编排来进行任务委派。
- AGENTS.md 跨工具通用:您的 AGENTS.md 同样适用于 Cursor、Amp 和 Jules。CLAUDE.md 仅限 Claude 使用。
- 配置文件替代手动切换:无需每次运行时更改标志,只需在 config.toml 中定义配置文件即可。
从 GitHub Copilot 迁移
| Copilot 概念 | Codex 对应功能 |
|---|---|
| 内联补全 | Codex IDE 集成 + 代理工作流 |
| 聊天/代理体验 | 交互式 CLI 或桌面应用 |
copilot-instructions.md |
AGENTS.md |
| 编码代理工作流 | 带有 sandbox/审批控制的 Codex 代理 + 云任务 |
您将获得: - 完整的代理能力(文件编辑、命令执行、git 操作) - 云任务委派 - 操作系统级别的沙箱隔离 - MCP 集成
从 Cursor 迁移
| Cursor 概念 | Codex 对应功能 |
|---|---|
项目规则(.cursor/rules)/ AGENTS.md |
AGENTS.md + 配置文件/配置 |
| 代理聊天/编排工作流 | 交互式 CLI 或桌面应用 |
@ 文件引用 |
@ 文件引用(完全相同) |
| 应用/编辑 + 审查 | 内置补丁和差异审查 |
快速参考卡
╔═══════════════════════════════════════════════════════════════╗
║ CODEX CLI QUICK REFERENCE ║
╠═══════════════════════════════════════════════════════════════╣
║ ║
║ LAUNCH ║
║ codex Interactive TUI ║
║ codex "prompt" TUI with initial prompt ║
║ codex exec "prompt" Non-interactive mode ║
║ codex app Desktop app ║
║ codex resume Resume previous session ║
║ codex fork Fork a session ║
║ ║
║ FLAGS ║
║ -m, --model <model> Select model ║
║ -p, --profile <name> Load config profile ║
║ -s, --sandbox <mode> Sandbox mode ║
║ -C, --cd <dir> Working directory ║
║ -i, --image <file> Attach image(s) ║
║ -c, --config <key=value> Override config ║
║ --full-auto workspace-write + on-request ║
║ --oss Use local models (Ollama) ║
║ --search Enable live web search ║
║ ║
║ SLASH COMMANDS (in TUI) ║
║ /compact Free tokens /diff Git diff ║
║ /review Code review /plan Plan mode ║
║ /model Switch model /status Session info ║
║ /fork Fork thread /init AGENTS.md scaffold ║
║ /mcp MCP tools /skills Invoke skills ║
║ /ps Background /personality Style ║
║ /permissions Approval mode /statusline Footer config ║
║ ║
║ TUI SHORTCUTS ║
║ @ Fuzzy file search ║
║ !command Run shell command ║
║ Ctrl+G External editor ║
║ Enter Inject instructions (while running) ║
║ Esc Esc Edit previous messages ║
║ ║
║ EXEC MODE (CI/CD) ║
║ codex exec --full-auto "task" Sandboxed auto ║
║ codex exec --json -o out.txt "task" JSON + file output ║
║ codex exec --output-schema s.json Structured output ║
║ codex exec resume --last "continue" Resume session ║
║ ║
║ MCP MANAGEMENT [experimental] ║
║ codex mcp add <name> -- <cmd> Add STDIO server ║
║ codex mcp add <name> --url <u> Add HTTP server ║
║ codex mcp list List servers ║
║ codex mcp login <name> OAuth flow ║
║ codex mcp remove <name> Delete server ║
║ ║
║ CLOUD [EXPERIMENTAL] ║
║ codex cloud exec --env <ID> Start cloud task ║
║ codex cloud status <ID> Check task progress ║
║ codex cloud diff <ID> View task diff ║
║ codex cloud list List tasks ║
║ codex apply <TASK_ID> Apply cloud diff locally ║
║ ║
║ CONFIG FILES ║
║ ~/.codex/config.toml User config ║
║ .codex/config.toml Project config ║
║ ~/.codex/AGENTS.md Global instructions ║
║ AGENTS.md Project instructions ║
║ managed-admin-config.toml Enterprise policy constraints ║
║ ║
║ SANDBOX MODES ║
║ read-only Read files only, no mutations ║
║ workspace-write Read/write in workspace + /tmp ║
║ danger-full-access Full machine access ║
║ ║
║ APPROVAL POLICIES ║
║ untrusted Prompt for all mutations ║
║ on-failure Auto-run until failure ║
║ on-request Prompt for boundary violations ║
║ never No prompts ║
║ ║
║ MODELS (Feb 2026) ║
║ gpt-5.3-codex Default flagship (272K) ║
║ gpt-5.3-codex-spark Interactive, lower latency (128K) ║
║ gpt-5.2-codex Long-horizon refactors (272K) ║
║ gpt-5.1-codex-mini Quick tasks, cost-efficient (272K) ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
更新日志
| 日期 | 版本 | 变更内容 | 来源 |
|---|---|---|---|
| 2026-02-14 | 指南 v2 | 重大修订:经 Codex 验证的模型修正(272K 上下文)、配置键、功能标志、定价、企业配置、CI/CD action、SDK API、MCP 选项、codex exec 标志、桌面应用功能、迁移对比。移除了无法验证的内容。 | 自审 |
| 2026-02-12 | CLI 0.101.0 | 模型解析改进、记忆优化、稳定性提升 | 25 |
| 2026-02-12 | CLI 0.100.0 | 实验性 JS REPL、多重速率限制、WebSocket 传输、记忆命令、增强沙箱 | 25 |
| 2026-02-12 | App v260212 | 会话分叉、浮动弹出窗口、Windows alpha 版 | 18 |
| 2026-02-12 | – | GPT-5.3-Codex-Spark 发布(低延迟交互式变体) | 26 |
| 2026-02-11 | CLI 0.99.0 | 并发 shell 命令、/statusline、可排序的恢复选择器、GIF/WebP 支持、shell 快照 |
25 |
| 2026-02-06 | CLI 0.98.0 | GPT-5.3-Codex 支持、steer 模式稳定并设为默认、模型切换修复 | 25 |
| 2026-02-06 | CLI 0.97.0 | “允许并记住”MCP 审批、实时 skill 检测、/config 诊断、记忆管道 |
25 |
| 2026-02-06 | CLI 0.96.0 | 异步线程/compact v2、WebSocket 速率限制、非 Windows unified_exec、配置来源追溯 | 25 |
| 2026-02-06 | CLI 0.95.0 | codex app 命令、个人 skills、并行 shell 工具、git 安全加固 |
25 |
| 2026-02-05 | – | GPT-5.3-Codex 发布——统一模型、速度提升25%、端到端计算机操作 | 27 |
| 2026-02-02 | – | Codex Desktop App 发布(macOS)——多任务、worktrees、自动化 | 17 |
| 2026-01-30 | CLI 0.94.0 | Plan 模式默认开启、personality 稳定、来自 .agents/skills 的 skills、运行时指标 |
25 |
| 2026-01-29 | CLI 0.93.0 | SOCKS5 代理、plan 模式流式传输、/apps、智能审批默认开启、SQLite 日志 |
25 |
| 2026-01-29 | CLI 0.92.0 | API v2 线程、线程过滤、MCP OAuth 作用域、多代理协作 | 25 |
| 2025-12-18 | – | GPT-5.2-Codex 发布——上下文压缩、重构/迁移、网络安全 | 28 |
| 2025-11-19 | – | GPT-5.1-Codex-Max——多窗口压缩、Windows 训练、思考令牌减少30% | 29 |
| 2025-10-06 | – | Codex 在 DevDay 正式发布——Slack 集成、SDK、管理工具 | 30 |
| 2025-09-23 | – | GPT-5-Codex + IDE 扩展 + CLI 改版——图像、网络搜索、代码审查 | 31 |
| 2025-06 | – | Rust 重写宣布(”Codex CLI is Going Native”) | 32 |
| 2025-06-03 | – | Plus 用户扩展、云端互联网访问、PR 更新、语音听写 | 33 |
| 2025-05-16 | – | Codex Cloud 发布——使用 codex-1 模型的云代理、GitHub PR 创建 | 34 |
| 2025-04-16 | – | Codex CLI 开源发布(Apache 2.0、TypeScript、codex-mini-latest) | 1 |
参考文献
-
GitHub — openai/codex — 开源代码仓库、版本发布与讨论。 ↩↩↩
-
Codex CLI Windows Support — Windows 安装与 WSL 指南。 ↩
-
Codex IDE Extension — VS Code、Cursor 和 Windsurf 集成。 ↩
-
Codex Cloud — 云端任务文档与互联网访问控制。 ↩↩
-
Codex Security — 沙箱架构与安全模型。 ↩
-
Apple Seatbelt 文档 — macOS sandbox-exec 框架。 ↩
-
Linux Landlock LSM — 内核文件系统访问控制。 ↩
-
How Codex CLI Flags Actually Work — 社区对标志交互行为的分析。 ↩
-
Breaking Out of the Sandbox — 社区沙箱配置模式。 ↩
-
AGENTS.md Open Standard — Linux Foundation 下的跨工具指令标准。 ↩
-
Custom Instructions with AGENTS.md — 官方指南。 ↩
-
Codex MCP Integration — MCP 服务器配置与管理。 ↩
-
Building Workflows with Agents SDK — 将 Codex 作为 MCP 服务器用于多智能体编排。 ↩
-
Agent Skills — Skills 系统文档。 ↩
-
Codex CLI Features — Plan 模式、Steer 模式及协作功能。 ↩
-
Non-Interactive Mode —
codex exec文档。 ↩ -
Introducing the Codex App — 桌面应用发布公告。 ↩↩
-
Codex App Documentation — 桌面应用功能与故障排除。 ↩↩
-
Codex GitHub Action — CI/CD 集成。 ↩
-
Codex Pricing — 订阅与 API 定价。 ↩
-
Codex Configuration Reference — 企业托管管理员配置与 MDM。 ↩
-
Best Practices for Using Codex — 社区论坛讨论帖。 ↩
-
feiskyer/codex-settings — 社区维护的配置、Skills 和提示词集合。 ↩
-
Introducing GPT-5.3-Codex-Spark — 与 Cerebras 合作,1000+ tok/s。 ↩
-
Introducing GPT-5.3-Codex — 统一模型发布。 ↩
-
Introducing GPT-5.2-Codex — 上下文压缩与大规模代码变更。 ↩
-
Building More with GPT-5.1-Codex-Max — 多窗口压缩。 ↩
-
Codex is Now Generally Available — DevDay 2025 公告。 ↩
-
Introducing Upgrades to Codex — GPT-5-Codex + IDE 扩展。 ↩
-
Codex CLI is Going Native — Rust 重写讨论。 ↩
-
Codex Updates: Internet Access and Plus Rollout — 2025年6月扩展更新。 ↩
-
Introducing Codex — 云端智能体发布。 ↩