Codex CLI: The Definitive Technical Reference
#
重點摘要: Codex 是一款多介面程式碼代理,能讀取您的程式庫、在作業系統層級沙箱中執行命令、修補檔案,並將任務委派至雲端。掌握五大核心系統(config.toml、沙箱/核准模型、AGENTS.md、MCP、以及 skills),Codex 便能成為您的效率倍增器。使用設定檔來切換情境、透過
/compact管理 272K token 額度,並利用 AGENTS.md 建立跨工具的專案指示,適用於 Codex、Cursor、Amp 等工具。
Codex 以多介面程式碼代理的形式運作,而非僅是能撰寫程式碼的聊天機器人。CLI 會讀取您的程式庫、在沙箱中執行命令、修補檔案、透過 MCP 連接外部服務,並將長時間執行的任務委派至雲端。它在本機執行,但具備全局思維;相同的智慧驅動四種不同的介面,依據您的工作方式而定。
隨意使用與有效使用 Codex 的差別,取決於五大核心系統。 掌握這些系統,Codex 便能成為您的效率倍增器:
- 設定系統:透過
config.toml控制行為 - 沙箱與核准模型:管控 Codex 的執行權限
- AGENTS.md:定義專案層級的運作契約
- MCP 協定:將功能擴展至外部服務
- Skills 系統:封裝可重複使用的領域專業知識
我花了數月時間在正式環境的程式庫、CI/CD 管線及團隊工作流程中,同時使用 Codex 與 Claude Code。本指南將這些經驗濃縮為一份完整的參考手冊——正是我剛開始使用時夢寐以求的那種。每項功能都包含實際語法、真實設定範例,以及容易讓資深使用者踩坑的邊界情況。
穩定性說明:標記為
[EXPERIMENTAL]的功能可能在不同版本間發生變更。截至 v0.107.0,Codex Cloud 和 MCP 命令群組均為實驗性質。核心 CLI、沙箱、AGENTS.md、config.toml 及 Skills 皆為穩定功能。
重點摘要
- 四個介面,同一個大腦:CLI、桌面應用程式、IDE擴充套件和雲端任務都共享相同的GPT-5.x-Codex智慧,選擇最適合您工作流程的介面即可。
- 作業系統層級沙箱:Codex在核心層級(macOS上使用Seatbelt,Linux上使用Landlock + seccomp)執行檔案系統和網路限制,而非在容器內部。
- AGENTS.md跨工具通用:您的專案指令可在Codex、Cursor、Copilot、Amp、Jules、Gemini CLI、Windsurf、Cline、Aider、Zed以及超過60,000個開源專案中使用。撰寫一次,到處適用。
- 設定檔省去上下文切換開銷:定義具名設定預設組合(
fast、careful、auto),並使用--profile在它們之間切換。 - 272K輸入上下文很快就會用完:使用
/compact、聚焦的提示詞和@file參照來主動管理token預算。
如何使用本指南
本指南超過2,500行——請從符合您經驗程度的位置開始閱讀:
| 經驗程度 | 從這裡開始 | 接著探索 |
|---|---|---|
| Codex新手 | 安裝 → 快速入門 → 心智模型 | 設定、沙箱 |
| 日常使用者 | AGENTS.md、Skills、計畫模式 | MCP、Hooks |
| 團隊主管/企業 | 企業部署 → 最佳實踐 | 決策框架、工作流程配方 |
| 從其他工具遷移 | 遷移指南 | 決策框架 |
末尾的快速參考卡提供所有主要指令的概覽摘要。
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.107.0,gpt-5.3-codex是預設模型,具有272K token的輸入上下文視窗(128K輸出,400K總預算)。35它讀取檔案、撰寫修補程式、執行shell指令,並對您的程式碼庫進行推理。當上下文填滿時,Codex會壓縮對話以釋放空間。此層會消耗token。
安全層:Codex執行的每個指令都會通過作業系統層級的沙箱。在macOS上,Apple的Seatbelt框架執行核心層級的限制。在Linux上,Landlock + seccomp過濾檔案系統和系統呼叫存取。沙箱在核心層級運作,而非在容器內部。核准政策接著決定何時要求人工確認。
擴充層:MCP連接外部服務(GitHub、Figma、Sentry)。Skills封裝可重複使用的工作流程,Codex按需載入。Apps連接至ChatGPT連接器。網路搜尋從網際網路新增即時上下文。
介面層:CLI適合終端機進階使用者和自動化。桌面應用程式適合多執行緒專案管理。IDE擴充套件適合編輯-編譯-測試迴圈。雲端適合獨立運行的非同步任務。
關鍵洞察:大多數使用者只使用一個介面。進階使用者四個都用:雲端處理長時間執行的任務,CLI處理確定性的版本庫操作,IDE擴充套件處理緊湊的程式撰寫迴圈,桌面應用程式處理規劃和協調。
目錄
- 如何安裝Codex?
- 快速入門:您的第一次工作階段
- 核心互動介面
- 設定系統深入探討
- 該選擇哪個模型?
- Codex的費用是多少?
- 決策框架
- 沙箱與核准系統如何運作?
- AGENTS.md如何運作?
- Hooks
- 什麼是MCP(Model Context Protocol)?
- JavaScript REPL執行環境
- 什麼是Skills?
- 計畫模式與協作
- 記憶系統
- 工作階段管理
- 非互動模式(codex exec)
- Codex雲端與背景任務
- Codex桌面應用程式
- GitHub Action與CI/CD
- Codex SDK
- 效能最佳化
- 如何除錯問題?
- 企業部署
- 最佳實踐與反面模式
- 工作流程配方
- 遷移指南
- 快速參考卡
- 變更日誌
- 參考資料
如何安裝Codex?
套件管理工具
# npm (recommended)
npm install -g @openai/codex
# Homebrew (macOS)
brew install --cask codex
# Upgrade to latest
npm install -g @openai/codex@latest
直接安裝腳本(v0.106.0+)
macOS和Linux可使用單行安裝腳本,作為GitHub發布資產提供:62
curl -fsSL https://github.com/openai/codex/releases/latest/download/install.sh | sh
該腳本會自動偵測您的平台和架構,下載正確的二進位檔案,並將其放置在您的PATH上。
二進位檔案下載
對於沒有npm或Homebrew的環境,請從GitHub Releases下載平台專用的二進位檔案1:
| 平台 | 二進位檔案 |
|---|---|
| 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:使用受限token的原生沙箱(在v0.100.0中從實驗性升級為正式功能)。亦支援WSL2
驗證
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.104.0
快速入門:您的第一個工作階段
從零開始,5分鐘內即可上手。
1. 安裝並驗證身份:
npm i -g @openai/codex # Install
codex login # Log in with your OpenAI account
2. 導覽至專案目錄:
cd ~/my-project # Any git repo works
3. 啟動 Codex:
codex
您將看到互動式 TUI。Codex 會自動讀取您的專案結構。
4. 提出問題:
> What does this project do? Summarize the architecture.
Codex 會讀取關鍵檔案並解說程式碼庫。在預設的 suggest 模式下不會進行任何變更。
5. 進行變更:
> Add input validation to the login endpoint
Codex 會以 diff 形式提出編輯建議。按 y 核准,或按 n 拒絕。
6. 使用斜線命令:
> /plan Refactor the database layer to use connection pooling
Codex 會建立計畫但不執行。檢閱計畫後,核准即可開始執行。
7. 檢查您的成果:
> /diff
查看 Codex 在目前工作階段中所做的所有變更。
接下來的步驟:
- 設定 AGENTS.md 以提供專案指示(請參閱AGENTS.md 如何運作?)
- 為您的工作流程設定個人設定檔(請參閱設定檔)
- 嘗試 codex exec 進行非互動式自動化(請參閱非互動模式)
核心互動介面
Codex 提供四種不同的介面,背後由相同的智慧引擎驅動。每種介面都針對不同的工作流程模式進行最佳化。
1. 互動式 CLI(終端機 UI)
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
終端機 UI 是一個全螢幕應用程式,包含:
- 編輯器:輸入提示詞、使用
@附加檔案、使用!前綴執行 shell 命令 - 輸出面板:串流模型回應、工具呼叫及命令輸出
- 狀態列:顯示模型、token 使用量、git 分支、sandbox 模式
TUI 快捷鍵:
| 快捷鍵 | 動作 |
|---|---|
@ |
模糊檔案搜尋(附加至上下文) |
!command |
直接執行 shell 命令 |
Ctrl+G |
開啟外部編輯器($VISUAL / $EDITOR) |
Enter(執行中) |
在回合進行中插入新指示 |
Esc 按兩次 |
編輯先前的訊息 |
| 方向鍵 | 瀏覽草稿歷史記錄 |
TUI 中可用的斜線命令:
| 命令 | 說明 |
|---|---|
/quit 或 /exit |
退出 CLI |
/new |
在同一工作階段中開始新對話 |
/resume |
恢復已儲存的對話 |
/fork |
將目前對話分支至新執行緒 |
/model |
切換模型與推理力度 |
/compact |
摘要對話以釋放 token |
/diff |
顯示 git diff,包含未追蹤的檔案 |
/review |
對工作目錄進行程式碼審查 |
/plan |
進入計畫模式 |
/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)
桌面應用程式新增了 CLI 所沒有的功能:
- 多工處理:同時在不同專案上執行多個平行代理
- Git worktree 隔離:每個執行緒在您儲存庫的獨立副本上運作
- 內嵌 diff 審查:無需離開應用程式即可暫存、還原及提交變更
- 整合式終端機:每個執行緒專屬的終端機,可執行命令
- 對話分支:將對話分支以探索不同方案
- 浮動彈出視窗:將對話分離至可攜式視窗
- 自動化排程:排定週期性任務(議題分類、CI 監控、警報回應)
何時使用桌面應用程式 vs CLI:當您需要協調多個工作流程或需要視覺化 diff 審查時,請使用桌面應用程式。當您需要終端機的可組合性、腳本化或 CI/CD 整合時,請使用 CLI。
3. IDE 擴充功能(VS Code、Cursor、Windsurf)
Codex IDE 擴充功能直接整合至您的編輯器:
- 預設為代理模式:讀取檔案、進行編輯、執行命令
- 內嵌編輯:在您正在編輯的檔案中提供上下文感知建議
- 共享工作階段:工作階段在 CLI 與 IDE 擴充功能之間同步
- 相同驗證方式:使用 ChatGPT 帳號或 API 金鑰登入
可從 VS Code Marketplace 或 Cursor/Windsurf 擴充功能商店安裝。3
4. Codex 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
雲端任務也可從 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) - 內建預設值(最低)
requirements.toml作為策略約束層,在正常設定合併後限制使用者可以選擇的值。請參閱企業部署。
設定檔位置
| 範圍 | 路徑 | 用途 |
|---|---|---|
| 使用者 | ~/.codex/config.toml |
個人預設值 |
| 專案 | .codex/config.toml |
每個儲存庫的覆寫設定 |
| 系統 | /etc/codex/config.toml |
全機預設值 |
| 受管理 | /etc/codex/requirements.toml |
管理員強制執行的策略約束 |
進階技巧:
CODEX_HOME環境變數可覆寫預設的~/.codex目錄。適用於 CI/CD 或多帳號設定。
完整設定參考
# ~/.codex/config.toml — annotated reference
# ─── Model Selection ───────────────────────────────────
model = "gpt-5.3-codex" # Default model (272K input context)
model_provider = "openai" # Provider (openai, oss, or custom provider id)
model_context_window = 272000 # Token count available to active model (override)
model_auto_compact_token_limit = 200000 # Threshold triggering automatic history compaction
model_reasoning_effort = "medium" # minimal|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 ─────────────────────────────────
allow_login_shell = false # Allow login shell semantics (loads .profile/.zprofile)
[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
mcp_oauth_callback_port = 0 # Fixed port for MCP OAuth callback (0 = random)
mcp_oauth_credentials_store = "auto" # auto|file|keyring
# ─── 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)
command_attribution = true # Codex co-author in commits (v0.103.0+)
request_user_input = true # Allow agent to ask clarifying questions in Default mode (v0.106.0+)
multi_agent = false # Enable multi-agent collaboration tools (v0.102.0+)
apply_patch_freeform = false # Expose freeform apply_patch tool
apps = false # ChatGPT Apps/connectors (experimental)
child_agents_md = false # AGENTS.md guidance (experimental)
runtime_metrics = false # Runtime summary in turns
search_tool = false # Enable search_tool_bm25 for Apps discovery
# ─── Multi-Agent Roles (v0.102.0+) ───────────────────
[agents]
max_threads = 4 # Maximum concurrent agent threads
[agents.explorer]
description = "Read-only codebase navigator"
config_file = "~/.codex/profiles/explorer.toml"
# ─── Notifications ────────────────────────────────────
notify = ["terminal-notifier", "-title", "Codex"] # Command for notifications
# ─── Per-Project Overrides ────────────────────────────
[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"
警告:
chat/completionswire API(wire_api = "chat")已針對 OpenAI 託管模型棄用,OpenAI 宣布將於2026年2月移除。36 本地提供者(Ollama、LM Studio)可能仍接受此格式。對於 OpenAI 端點,請改用wire_api = "responses"。
使用 --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 / 400K | medium |
預設旗艦:程式碼撰寫與推理統一 |
| gpt-5.3-codex-spark | 128K / 128K | high |
即時配對、快速互動式迭代 |
| gpt-5.2-codex | 272K / 400K | medium |
長期重構、遷移、舊有程式碼 |
| gpt-5.1-codex-mini | 272K / 400K | medium |
快速任務、注重成本的工作、大量 CI |
確切的模型清單因帳戶和部署狀態而異。截至 v0.106.0,
gpt-5.3-codex已在 CLI 模型清單中對 API 金鑰使用者可見。62 檢查您的本機快取:~/.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
推理強度
控制模型在回應前「思考」的程度:
| 層級 | 行為 | 適用時機 |
|---|---|---|
minimal |
最少推理(僅限 GPT-5 模型) | 簡單任務、快速查詢 |
low |
簡短推理 | 標準程式碼撰寫任務、格式化 |
medium |
平衡(預設) | 大部分開發工作 |
high |
延伸推理 | 複雜錯誤、架構設計 |
xhigh |
最大推理 | 安全稽核、深度分析 |
支援的層級因模型而異。
minimal僅適用於 GPT-5 模型。並非所有模型都支援每個層級。
codex -c model_reasoning_effort="xhigh" "find the race condition"
進階提示:
xhigh推理對相同提示可能使用比medium多 3-5 倍的 token。請僅在真正困難且額外思考能帶來回報的問題上使用。
模型切換
使用 /model slash 指令在工作階段中切換模型,或透過 --model / -m 逐次執行設定:
codex -m gpt-5.3-codex-spark "pair with me on this component"
Codex 的費用是多少?
另請參閱模型選擇瞭解功能,以及決策框架選擇適合各任務的模型。
透過 ChatGPT 方案取得存取權
Codex 的可用性取決於您的 ChatGPT 方案和組織設定:53
| 方案 | 價格 | Codex 存取權 | 頻率限制(5小時窗口) |
|---|---|---|---|
| Free / Go | $0 / $5 | 限時推廣存取 | 低 |
| Plus | $20/月 | 本機 CLI + 雲端任務(2倍頻率限制) | 45-225 本機訊息,10-60 雲端任務 |
| Pro | $200/月 | 優先處理,GPT-5.3-Codex-Spark(2倍頻率限制) | 300-1500 本機訊息,50-400 雲端任務 |
| Business | $30/使用者/月 | 團隊配額、較大雲端 VM、SAML SSO(2倍頻率限制) | 45-225 本機訊息,10-60 雲端任務 |
| Enterprise / Edu | 聯繫銷售 | 自訂配額、管理員控制、稽核日誌 | 依點數彈性調整 |
| API Key | 依用量計費 | CLI、SDK、僅限 IDE(無雲端功能) | 依 Token 計費 |
推廣費率:Free/Go 存取及付費方案 2 倍頻率限制與 Codex Desktop App 上線同步(2026年2月)。這些較高限制適用於所有介面——應用程式、CLI、IDE 和雲端。OpenAI 尚未公布結束日期。17
點數費用
Codex 操作會消耗您方案配額中的點數:
| 操作 | 約略點數 | 備註 |
|---|---|---|
| 本機訊息(GPT-5.3-Codex) | ~5 | 標準旗艦模型 |
| 本機訊息(GPT-5.1-Codex-Mini) | ~1 | 每個點數預算可傳送 4 倍訊息 |
| 雲端任務 | ~25 | 在 OpenAI 代管環境中執行 |
| 程式碼審查(每個 PR) | ~25 | 透過 /review 或雲端審查 |
Enterprise 和 Edu 方案的點數依合約配額彈性調整。在 TUI 中輸入
/status檢查目前用量。
API 計費
透過 API 使用 Codex 時,OpenAI 依所選模型的標準 OpenAI API 定價按 token 計費(加上任何適用的提示快取折扣)。請查看官方 API 定價頁面瞭解目前費率。21
成本最佳化策略
- 使用設定檔:為日常任務建立
fast設定檔,搭配gpt-5.1-codex-mini和model_reasoning_effort = "low" - 保留高強度推理:僅在真正困難的問題上使用
xhigh,因為它消耗 3-5 倍的 token - 使用
--ephemeral:在 CI/CD 中跳過工作階段持久化以減少額外開銷 - 減少推理摘要:不需要說明時設定
model_reasoning_summary = "none" - 批次使用 exec 模式:
codex exec可避免自動化工作流程中的 TUI 額外開銷 - 監控用量:在 TUI 中檢查
/status以及您組織的帳單儀表板
實際成本範例
常見任務的代表性 API 成本(gpt-5.3-codex 標準定價,medium 推理):
| 任務 | 輸入 Token | 輸出 Token | 約略費用 |
|---|---|---|---|
| 說明一個 500 行的模組 | ~15K | ~2K | ~$0.25 |
| 修復失敗的測試(1-2 個檔案) | ~30K | ~5K | ~$0.50 |
| 新增 API 端點並附測試 | ~60K | ~15K | ~$1.10 |
| 重構驗證模組(10 個檔案) | ~120K | ~30K | ~$2.25 |
透過 codex exec 進行完整儲存庫稽核 |
~200K | ~20K | ~$3.00 |
| 雲端任務:分類 20 個未解決的 issue | ~250K | ~40K | ~$4.50 |
費用因推理強度、快取和對話長度而異。日常任務使用
gpt-5.1-codex-mini可降低約 40-60% 的成本。快取的輸入 token 享有折扣計費。
隱藏的 Token 額外開銷
每次工具呼叫都會在您可見的提示之外增加 token:
| 額外開銷來源 | 約略費用 |
|---|---|
| 系統提示 + AGENTS.md | 每回合約 2-5K token(載入一次,之後快取) |
| 工具定義 | 每個已註冊工具約 500 token |
檔案讀取(@file) |
完整檔案內容的 token |
| MCP 工具定義 | 每個已連接伺服器約 200-500 token |
| 推理軌跡 | 不定;xhigh 可增加 3-5 倍額外開銷 |
進階提示:在 TUI 中透過
/status監控您的實際用量。Token 計數包含所有額外開銷,不僅限於您可見的訊息。若費用超出預期,請檢查連接了多少 MCP 伺服器——每個伺服器都會在每次 API 呼叫中加入工具定義。
團隊成本管理
| 團隊規模 | 建議設定 | 預估月費 |
|---|---|---|
| 獨立開發者 | 預設模型,medium 推理 |
$20-80 |
| 小型團隊(3-5 人) | 設定檔(fast/careful),透過 codex exec 進行程式碼審查 |
$200-500 |
| 中型團隊(10-20 人) | Enterprise 方案,requirements.toml 限制,CI 整合 |
$1,000-3,000 |
| 大型組織(50 人以上) | Enterprise 搭配管理員控制、稽核日誌、分配預算 | 自訂定價 |
團隊成本控制策略:
- 設定 requirements.toml 以在整個組織強制執行模型和推理強度限制
- CI/CD 使用 gpt-5.1-codex-mini——自動化流程很少需要最大推理強度
- 依設定檔編列預算——定義 ci、review 和 dev 設定檔,搭配適當的成本上限
- 透過 OpenTelemetry 監控——企業部署可將用量遙測資料匯出至現有的可觀測性堆疊
決策框架
各介面的適用時機
| 情境 | 最佳介面 | 原因 |
|---|---|---|
| 快速修復錯誤 | CLI | 快速、專注、可編寫腳本 |
| 多檔案重構 | CLI 或 App | CLI 適用於確定性修補;App 適用於視覺化差異檢閱 |
| 探索不熟悉的程式碼 | CLI | 終端機可組合性,grep/find 整合 |
| 平行工作流程 | Desktop App | Worktree 隔離,多工管理 |
| 主動檔案編輯 | 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 |
預設 |
Plan Mode 與直接執行的比較
Will Codex need to change more than 3 files?
│
├── YES → Use Plan Mode (/plan)
│ Codex designs the approach BEFORE making changes.
│ You review and approve the plan.
│ Best for: refactors, new features, migrations
│
└── NO → Is the change well-defined?
│
├── YES → Direct execution
│ Just describe the task. Codex executes immediately.
│ Best for: bug fixes, small features, test additions
│
└── NO → Use Plan Mode (/plan)
Let Codex explore and propose an approach first.
Best for: unfamiliar codebases, ambiguous requirements
Steer Mode:Enter 與 Tab 的使用時機
| 情境 | 使用 Enter | 使用 Tab |
|---|---|---|
| Codex 即將犯錯 | 立即送出修正 | |
| 您有後續任務 | 排入佇列,等目前工作完成後執行 | |
| Codex 選錯了檔案 | 立即送出重新導向 | |
| 您想擴大範圍 | 排入佇列等待新增 | |
| 緊急優先順序變更 | 立即送出新的優先順序 | |
| 非關鍵性的上下文資訊 | 排入佇列——不急 |
經驗法則:Enter = 「停下來,現在聽我說。」Tab = 「等您完成後,也做這個。」
Desktop App 與 CLI 的比較
How do you prefer to work?
│
├── Terminal-first → Use CLI
│ │
│ ├── Single focused task → codex (interactive TUI)
│ ├── Scripted automation → codex exec (non-interactive)
│ └── Quick one-shot → codex exec "prompt" -o result.txt
│
└── Visual/multi-project → Use Desktop App
│
├── Multiple parallel tasks → Multi-thread with worktree isolation
├── Visual diff review → Built-in Git diff viewer
├── Scheduled automation → Automations tab
└── Voice-driven → Ctrl+M for voice dictation
| 功能 | CLI | Desktop App |
|---|---|---|
| 互動式工作階段 | 是 | 是 |
| 平行代理程式 | 手動(多個終端機) | 內建(worktree 隔離) |
| 差異檢閱 | /diff(純文字) |
視覺化行內差異 |
| 自動化 | Cron + codex exec |
GUI 排程器 |
| 語音輸入 | 否 | 是(Ctrl+M) |
| CI/CD 整合 | codex exec + GitHub Action |
否 |
| 工作階段同步 | 是 | 是(與 CLI 共用) |
如何選擇設定檔?
將您的任務對應到預先設定的設定檔:
| 任務類型 | 設定檔 | 關鍵設定 |
|---|---|---|
| 快速提問、格式化 | fast |
model = "gpt-5.1-codex-mini", model_reasoning_effort = "low" |
| 日常開發 | (預設) | model = "gpt-5.3-codex", model_reasoning_effort = "medium" |
| 架構設計、安全性 | careful |
model = "gpt-5.3-codex", model_reasoning_effort = "xhigh" |
| 即時配對程式設計 | pair |
model = "gpt-5.3-codex-spark", model_reasoning_effort = "high" |
| CI/CD 自動化 | ci |
model = "gpt-5.1-codex-mini", model_reasoning_effort = "low", sandbox_mode = "workspace-write" |
config.toml 設定:
# Default profile
profile = "default"
[profiles.fast]
model = "gpt-5.1-codex-mini"
model_reasoning_effort = "low"
[profiles.careful]
model = "gpt-5.3-codex"
model_reasoning_effort = "xhigh"
[profiles.pair]
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "high"
[profiles.ci]
model = "gpt-5.1-codex-mini"
model_reasoning_effort = "low"
sandbox_mode = "workspace-write"
按工作階段切換設定檔:codex --profile careful
沙箱與審批系統如何運作?
Codex 使用雙層安全模型,將技術上可行的操作與Codex 何時請求人工審批分開處理。此方法與Claude Code的權限系統有根本性差異——Codex 在作業系統核心層級強制執行限制。5 另請參閱企業部署以了解管理員在整個組織範圍內強制執行的 requirements.toml 約束。
第一層:沙箱(可執行的操作)
沙箱使用作業系統原生機制控制檔案系統和網路存取:
| 模式 | 檔案存取 | 網路 | 實作方式 |
|---|---|---|---|
read-only |
所有位置僅限讀取 | 封鎖 | 最嚴格;變更需要明確審批 |
workspace-write |
工作區 + /tmp 可讀寫 |
預設封鎖 | 一般開發用途;安全的預設值 |
danger-full-access |
完整機器存取權 | 啟用 | 最大能力;請謹慎使用 |
各平台的強制執行方式:
- macOS:透過
sandbox-exec使用 Apple 的 Seatbelt 框架,在執行時期編譯模式專屬設定檔,並由核心強制執行6 - Linux:使用 Landlock 進行檔案系統限制 + seccomp 進行系統呼叫過濾。獨立的輔助程序(
codex-linux-sandbox)提供縱深防禦隔離。5 Bubblewrap(bwrap)已內建並作為 Linux 建置的一部分進行編譯(自 v0.100.0 起從選用提升為必要)7 - Windows:使用受限權杖的原生沙箱(自 v0.100.0 起從實驗性提升為正式功能)。也支援 WSL(繼承 Linux Landlock + seccomp)
為何重要:與基於容器的沙箱(Docker)不同,作業系統層級的沙箱更快速、更輕量,且更難逃逸。核心在 Codex 看到系統呼叫之前就已強制執行限制。
安全性修正:
- zsh-fork 沙箱繞過(v0.106.0):修正了一個透過 zsh 分叉執行 shell 可繞過沙箱限制的漏洞。62 若您使用較早的版本,請立即升級。
- 輸入大小上限(v0.106.0):Codex 現在強制執行約 100 萬字元的輸入上限,以防止過大的載荷導致系統停滯。62
- Linux /dev 檔案系統(v0.105.0):Linux 上的沙箱化指令現在會接收一個最小的 /dev 檔案系統,改善了需要裝置節點的工具相容性。63
ReadOnlyAccess 政策(v0.100.0+):一種可設定的政策形式,用於細粒度的讀取存取控制。使用它來限制 Codex 可以從哪些目錄讀取,即使在 workspace-write 模式下:
[sandbox_workspace_write]
read_only_access = ["/etc", "/usr/local/share"] # Only these paths readable outside workspace
第二層:審批政策(何時詢問)
審批政策決定 Codex 何時暫停並請求人工確認:
| 政策 | 行為 | 使用情境 |
|---|---|---|
untrusted |
自動執行安全的讀取操作;其他所有操作皆需提示 | 最高信任門檻;不熟悉的儲存庫 |
on-failure |
自動執行直到出錯,然後詢問 | 半自動化;捕捉錯誤 |
on-request |
在沙箱內自動核准;邊界違規時提示 | 預設值;良好的平衡 |
never |
完全不提示 | CI/CD、受信任的自動化 |
獨立審批 ID(v0.104.0+)
Codex 現在為多步驟 shell 執行中的每個指令分配獨立的審批 ID。這意味著審批是細粒度的——核准序列中的一個指令不會自動核准同一 shell 呼叫中的後續指令。51
彈性審批控制(v0.105.0+)
審批流程現在支援額外的沙箱權限和細粒度拒絕:63
- 額外沙箱權限:當指令需要超出目前沙箱模式的存取權時,Codex 可以請求特定的額外權限,而非要求完整的模式變更
- 細粒度拒絕:拒絕個別工具呼叫並提供回饋,讓 Codex 可以調整方法,而非單純地重新嘗試相同的指令
--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"
啟用網路存取
Codex 在 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
WebSocket 代理伺服器支援(v0.104.0+)
對於透過代理伺服器路由WebSocket流量的企業環境,Codex 現在支援 WS_PROXY 和 WSS_PROXY 環境變數:51
export WSS_PROXY="https://proxy.corp.example.com:8443"
codex "update the README"
這些補充了現有的 HTTPS_PROXY 和 SOCKS5 代理伺服器支援(v0.93.0+),涵蓋所有傳輸層。
測試沙箱
在信任沙箱之前驗證其行為:
codex sandbox macos --full-auto -- ls /etc/passwd # macOS test
codex sandbox linux --full-auto -- cat /etc/shadow # Linux test
若沙箱運作正常,兩個指令都應該因權限被拒絕的錯誤而失敗——即使在 --full-auto 模式下,沙箱也會阻止讀取敏感的系統檔案。若任一指令成功執行,您的沙箱設定需要進一步調查。
AGENTS.md 如何運作?
AGENTS.md 是 Codex 的專案指示系統——一個開放標準10,現由 Linux Foundation 的 Agentic AI Foundation 管理。受到 Codex、Cursor、Copilot、Amp、Jules(Google)、Gemini CLI、Windsurf、Cline、Aider、Zed、Factory、RooCode 以及超過 60,000 個開源專案的支援。它定義了 Codex 在特定儲存庫或目錄中的行為方式。請參閱 Skills 以了解與 AGENTS.md 互補的可重複使用專業知識套件。
探索階層
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.
## 安全性
- 絕對不要提交機密資訊。使用 `.env` 儲存本地設定。
- 驗證所有外部 API 呼叫,並加入適當的錯誤處理。
覆寫機制
在任何目錄層級放置 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"
Hooks
Codex 在 v0.99.0(AfterAgent)和 v0.100.0(AfterToolUse)中新增了 hooks 功能。與 Claude Code 的 12 種以上生命週期事件相比,hook 系統仍處於早期階段,但為常見工作流程提供了自動化進入點。
可用的 Hook 事件
| 事件 | 觸發時機 | 新增版本 |
|---|---|---|
AfterAgent |
代理程式完成一個完整回合後 | v0.99.0 |
AfterToolUse |
每次個別工具呼叫完成後 | v0.100.0 |
Hook 設定
Hooks 設定於 .codex/config.toml 中:
[[hooks]]
event = "AfterToolUse"
command = "echo 'Tool completed' >> /tmp/codex-log.txt"
複製 Claude Code 的 Hook 模式
若您從 Claude Code 遷移過來,以下是在沒有完整 hook 事件集的情況下實現類似自動化的方法:
| Claude Code 模式 | Codex 替代方案 |
|---|---|
PreToolUse 檔案封鎖 |
AGENTS.md 指令 + sandbox read-only 模式 |
PostToolUse 程式碼檢查 |
AfterToolUse hook 執行您的程式碼檢查工具 |
SessionStart 情境注入 |
AGENTS.md(每次工作階段自動載入) |
SubagentStop 通知 |
AfterAgent hook 搭配通知腳本 |
| 非同步 hooks | 尚未支援;請使用 Cloud 任務進行背景工作 |
進階技巧:hook 系統正在積極擴展中。請查閱 Codex 更新日誌 以了解每個版本新增的 hook 事件。
什麼是 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():使用提示詞、sandbox、模型和核准參數啟動新工作階段
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 |
實用模式
模式 1:情境感知開發 — 將 Context7 與您的框架文件搭配使用,讓 Codex 隨時擁有最新的 API 參考資料:
[mcp_servers.context7]
enabled = true
required = true
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
模式 2:輸出限制 — MCP 工具回應預設在約 25K 字元處截斷。對於回傳大量資料的工具(資料庫查詢、日誌擷取),請使用 enabled_tools 限制特定工具並保持回應精簡。
模式 2a:多模態工具輸出(v0.107.0) — 自訂工具現在可以在文字之外回傳多模態輸出(圖片、豐富內容)。這使得產生視覺產物的工具——螢幕截圖、圖表、圖表渲染——能夠直接將它們傳遞給模型進行分析。64
模式 3:企業級 MCP 治理 — 透過 requirements.toml 鎖定開發人員可以使用的 MCP 伺服器:
# In /etc/codex/requirements.toml — only approved servers allowed
[mcp_servers.approved-internal]
identity = { command = "npx @company/internal-mcp" }
任何與 requirements.toml 中 identity 不匹配的伺服器將在啟動時被封鎖。完整的政策設定請參閱企業部署章節。
JavaScript REPL 執行環境 [EXPERIMENTAL]
Codex v0.100.0 新增了實驗性的 JavaScript REPL 執行環境(js_repl),可在工具呼叫之間保留狀態。在 v0.106.0 中,REPL 被提升至 /experimental 斜線命令,並加入啟動相容性檢查——需要 Node.js 22.22.0 或更新版本。62
啟用 JS REPL:
# In config.toml
[features]
js_repl = true
或在工作階段中透過 TUI 的 /experimental 啟用。
使用範例:啟用後,Codex 可以在工作階段中跨工具呼叫維持狀態:
// Codex can accumulate data across multiple tool calls
const results = await fetchTestResults();
const failures = results.filter(r => r.status === "failed");
console.log(`${failures.length} failures out of ${results.length} tests`);
// Variable 'failures' persists and is available in subsequent tool calls
需求條件:Node.js 22.22.0+(啟動檢查會驗證相容性)。v0.105.0 新增了改進的 REPL 錯誤回報和故障復原功能。63
此功能為實驗性質。介面可能會在不同版本間變更。
什麼是 Skills?
Skills 是可重複使用、針對特定任務的功能套件,Codex 可按需載入。它們遵循開放代理程式 skills 標準。14
Skill 結構
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)
探索位置
Codex 將使用者安裝的 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 thorough 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: "Full 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
Skills 與斜線命令的比較
| Skills | 斜線命令 | |
|---|---|---|
| 定義於 | SKILL.md 檔案及可選的中繼資料 |
內建於 Codex CLI 二進位檔 |
| 範圍 | 專案、使用者或管理員層級 | 全域(隨時可用) |
| 呼叫方式 | 在提示中使用 $skill-name、/skills 選單或隱式偵測 |
/command 語法 |
| 可自訂 | 完全可自訂——您撰寫指令內容 | 固定行為 |
| 相依性 | 可宣告 MCP 伺服器需求 | 無 |
| 分享 | 將 skill 資料夾複製到團隊儲存庫或 ~/.codex/skills/ |
無法分享 |
除錯 Skills
如果 skill 未啟動:
- 檢查探索:
/skills應在 TUI 中列出它 - 驗證路徑:確認 skill 資料夾位於可識別的位置(
~/.codex/skills/、專案根目錄或/etc/codex/skills/) - 檢查
enabled:在 config.toml 中設為enabled = false的 skills 不會載入 - 檢查隱式啟動:若依賴自動偵測,請確認
agents/openai.yaml中設定了allow_implicit_invocation: true - 使用關鍵字:在提示中包含 skill 的
description術語以改善隱式匹配
正式環境範例:部署 Skill
一個完整的多檔案 skill 範例,展示參考文件與腳本的協同運作:
deploy-skill/
SKILL.md
references/
runbook.md
rollback-checklist.md
scripts/
pre-deploy-check.sh
smoke-test.sh
agents/openai.yaml
SKILL.md:
---
name: deploy
description: Deploy the application to staging or production. Runs pre-flight checks, executes deployment, and verifies with smoke tests.
---
## Deployment Procedure
### Pre-flight
1. Run `scripts/pre-deploy-check.sh` to verify:
- All tests pass
- No uncommitted changes
- Branch is up to date with remote
2. Review the runbook at `references/runbook.md` for environment-specific steps.
### Deploy
3. Execute the deployment command for the target environment.
4. Monitor logs for errors during rollout.
### Verify
5. Run `scripts/smoke-test.sh <environment-url>` to confirm critical paths.
6. If smoke tests fail, follow `references/rollback-checklist.md`.
使用方式:$deploy to staging 或 $deploy production with canary rollout
計畫模式與協作
計畫模式讓 Codex 在執行變更前先設計方案。此功能自 v0.94.0 起預設啟用。15 請參閱決策框架中的「計畫模式與直接執行」決策樹。
進入計畫模式
/plan # Switch to plan mode
/plan "redesign the API layer" # Plan mode with initial prompt
在計畫模式中,Codex 會: - 讀取檔案並分析程式碼庫 - 提出實作計畫 - 在您核准之前不會進行任何變更 - 在專用的 TUI 檢視中串流顯示計畫
引導模式
引導模式(自 v0.98.0 起預設啟用)允許您在 Codex 正在工作時注入新指令,而不會中斷其當前任務。15
有兩種注入方式:
| 輸入 | 行為 | 使用時機 |
|---|---|---|
| Enter | 立即傳送指令;Codex 在當前回合中即可看到 | 緊急修正(「停止——不要修改那個檔案」)、釐清(「設定檔在 /etc/app.conf,不是預設路徑」)或優先順序變更(「先專注在測試上」) |
| Tab | 將指令排入下一回合的佇列;Codex 先完成當前工作 | 後續任務(「完成後也更新 changelog」)、範圍追加(「做完後執行 linter」)或非緊急的上下文(「部署目標是 staging,不是 prod」) |
實際範例:
# Codex is refactoring the auth module...
[Enter] "Use bcrypt instead of argon2 — we already have it as a dependency"
→ Codex adjusts immediately, mid-turn
[Tab] "Once auth is done, update the migration script too"
→ Codex finishes auth refactor, then starts the migration
引導模式在 TUI 中始終啟用。如果您希望等 Codex 完成後再給予指令,只需在回合結束後正常輸入即可——無需特殊模式。
TUI 增強功能(v0.105.0–v0.106.0)
語法高亮(v0.105.0): TUI 現在會對圍欄程式碼區塊和 diff 進行內嵌語法高亮。使用 /theme 選擇配色方案。63
新增 TUI 命令(v0.105.0+):63
| 命令/按鍵 | 說明 |
|---|---|
/copy |
將最後一則回應複製到剪貼簿 |
/clear |
清除 TUI 畫面 |
Ctrl+L |
清除畫面(鍵盤快捷鍵) |
/theme |
切換語法高亮配色方案 |
語音轉錄(v0.105.0,實驗性功能): 按空白鍵透過語音轉錄來口述提示。此功能為實驗性質,可能需要麥克風權限。63 自 v0.107.0 起,即時語音工作階段支援麥克風和喇叭裝置選擇,讓您可以選擇特定的音訊輸入/輸出硬體。64
其他改進:
- 長連結現在即使在 TUI 行間換行仍可點擊(v0.105.0)63
- 本地檔案連結以改善的格式呈現(v0.106.0)62
- 修正了子代理程式的 Ctrl+C 處理,能正確終止子行程(v0.106.0)62
記憶系統
Codex 具有持久化記憶系統(v0.100.0+),可跨工作階段儲存事實、偏好設定和專案上下文。25
記憶命令
| 命令 | 說明 |
|---|---|
/m_update <fact> |
儲存記憶(例如:/m_update always use pytest, never unittest) |
/m_drop <query> |
移除符合查詢的記憶 |
記憶儲存在 ~/.codex/memory/ 下的 markdown 檔案中。Codex 在工作階段啟動時載入這些記憶,並在所有未來的工作階段中用來指導行為。
適合儲存的內容
記憶最適合用於持久性偏好設定和專案事實:
- 專案慣例:「此專案使用 tab 而非空格」或「API 回應總是包含
meta欄位」 - 工具偏好:「使用
pnpm而非npm」或「以pytest -x --tb=short執行測試」 - 架構決策:「認證模組在
src/core/auth/,不在src/middleware/」 - 工作流程偏好:「在顯示 diff 之前總是先執行 linter」
管線中的記憶
執行 codex exec 時,記憶會自動載入。這表示 CI/CD 管線和腳本可享有與互動式工作階段相同的上下文——無需在每次呼叫時重複指令。
記憶優化(v0.101.0–v0.107.0)
- 機密資訊清理:記憶在寫入磁碟前會自動掃描機密資訊
- 工作目錄感知:記憶檔案現在包含工作目錄上下文,用於專案特定的回憶
- 排除開發者訊息:開發者/系統訊息從第一階段記憶輸入中排除,透過專注於使用者互動來改善記憶品質
- 基於差異的遺忘(v0.106.0):記憶現在使用基於差異的遺忘機制來移除過時的事實,使記憶儲存保持精簡且相關62
- 使用感知選擇(v0.106.0):記憶擷取現在具有使用感知功能,優先選擇經常存取和近期相關的記憶62
- 可設定的記憶(v0.107.0):記憶現在完全可設定。使用
codex debug clear-memories重設所有已儲存的記憶以獲得全新狀態——在不相關的專案之間切換或記憶狀態已偏移時特別有用64
記憶與 AGENTS.md 的比較
| 使用情境 | 記憶(/m_update) |
AGENTS.md |
|---|---|---|
| 個人偏好 | 使用記憶(跨所有專案持久化) | 不適用 |
| 專案慣例 | 兩者皆可(記憶用於個人回憶,AGENTS.md 用於團隊分享) | AGENTS.md 用於團隊 |
| 架構決策 | AGENTS.md(共享上下文) | 主要選擇 |
| 工具命令 | 記憶(快速個人參考) | AGENTS.md 用於團隊 |
提示:使用
/m_update儲存應永久保留的事實。對於工作階段特定的上下文,直接在對話中告訴 Codex 即可。對於共享的團隊上下文,請使用 AGENTS.md。
工作階段管理
Codex 將工作階段持久化儲存於 ~/.codex/sessions/,支援恢復、分支及跨 CLI 與桌面應用的多執行緒工作流程。
恢復
從上次中斷處繼續:
codex resume # Interactive picker (sorted by recency)
codex resume <SESSION_ID> # Resume a specific session
codex exec resume --last "continue" # Non-interactive: resume most recent
TUI 內的 /resume 斜線命令會開啟相同的互動式選擇器並支援搜尋。
分支
將對話分支以探索不同方案,同時不會遺失目前的進度:
/fork # Fork current conversation
/fork "try a different approach" # Fork with new prompt
分支會建立獨立的執行緒,共享分支點之前的相同歷史紀錄。一個分支中的變更不會影響另一個分支。這對於比較不同方案(例如「分支並嘗試用 Redis 取代 Memcached」)或安全地探索風險性變更非常實用。
執行緒分支為子代理(v0.107.0): 執行緒現在可以分支為獨立的子代理,讓對話能夠產生平行工作流並自主執行。這延伸了現有的分支模型——不僅僅是分支對話,被分支的執行緒會成為擁有自己執行環境的子代理。64
執行緒列表
檢視及管理進行中的工作階段:
/status # Current session info and token usage
/ps # Show background terminals in session
在桌面應用程式中,執行緒會顯示在側邊欄,並提供完整的歷史紀錄與差異預覽。
工作階段生命週期
| 操作 | CLI | 桌面應用程式 |
|---|---|---|
| 開始新工作階段 | codex 或 /new |
新增執行緒按鈕 |
| 恢復 | codex resume 或 /resume |
點擊側邊欄中的執行緒 |
| 分支 | /fork |
右鍵點擊執行緒 → 分支 |
| 結束 | /quit 或 Ctrl+C |
關閉執行緒分頁 |
| 刪除 | 從 ~/.codex/sessions/ 移除 |
右鍵點擊 → 刪除 |
工作階段會在 CLI 與桌面應用程式之間同步——在一端開始,在另一端繼續。
非互動模式(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 串流輸出
搭配 --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 另請參閱 GitHub Action 與 CI/CD 以了解如何將 Codex 整合至您的 CI 管線。
運作方式
- 提交任務(透過 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 會回覆任務連結,並在完成時發布結果。
雲端 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桌面應用程式(僅限macOS,Apple Silicon)提供了針對多專案管理最佳化的圖形介面。[^17]
### 安裝
```bash
codex app # Auto-downloads and installs on first run
或直接下載:Codex.dmg
主要功能
| 功能 | 說明 |
|---|---|
| 平行執行緒 | 跨多個專案同時執行多項任務 |
| 執行緒模式 | 以Local、Worktree或Cloud模式啟動執行緒 |
| 內建Git工具 | 檢視差異、新增評論、暫存/還原區塊、提交/推送、建立PR |
| 整合式終端機 | 每個執行緒獨立的終端機(Cmd+J) |
| 語音聽寫 | 透過語音輸入提示(Ctrl+M) |
| 自動化 | 排程週期性任務 |
| 通知 | 應用程式在背景執行時的完成/核准通知 |
| 防止休眠 | 可選設定,在任務執行期間保持機器喚醒 |
| Skills + MCP | 跨應用程式、CLI及IDE擴充功能的共享設定 |
| MCP捷徑 | 在編輯器中快速存取MCP工具捷徑(App v26.226)65 |
| 審查@提及 | 在程式碼審查評論中@提及協作者(App v26.226)65 |
執行緒模式
每個執行緒以三種模式之一運行,在建立時選擇:
| 模式 | 隔離性 | 檔案存取 | 最適合 |
|---|---|---|---|
| Local | 無隔離——直接在您的專案目錄中運作 | 完整讀寫 | 快速任務、探索、非破壞性工作 |
| Worktree | Git worktree——您的儲存庫的隔離分支副本 | 隔離副本 | 功能開發、高風險重構、平行實驗 |
| Cloud | 遠端伺服器——在OpenAI基礎設施上運行 | 無本地存取 | 長時間執行的任務、類CI工作流程、非同步委派 |
Worktree隔離機制:
當您啟動Worktree執行緒時,桌面應用程式會:
1. 在暫存目錄中建立新的git worktree(git worktree add)
2. 從您目前的HEAD檢出全新分支
3. 在worktree內部執行代理程式——所有檔案變更皆被隔離
4. 完成後呈現差異審查——由您選擇要合併回哪些變更
這代表多個Worktree執行緒可以在同一個儲存庫上同時運行而不會產生衝突。每個執行緒都有自己的分支和工作目錄。
自動化
自動化在應用程式本地端執行,因此應用程式必須處於運行狀態且專案可在磁碟上存取:
- 在Git儲存庫中,自動化使用專用的背景worktree(與您的工作目錄隔離)
- 在非Git專案中,直接在專案目錄中執行
- 自動化使用您的預設沙箱設定
設定自動化: 1. 在桌面應用程式中開啟專案 2. 點擊側邊欄中的「Automations」分頁 3. 定義觸發條件(排程、webhook或手動) 4. 撰寫提示並選擇執行緒模式 5. 自動化依排程執行,並將結果排入佇列等待審查
範例使用情境: - Issue分類:自動分類並排定新issue的優先順序 - CI監控:監視建置失敗並建議修正方案 - 告警回應:對監控告警進行診斷分析 - 相依性更新:檢查並套用安全性修補
結果會出現在審查佇列中,等待人工核准。
Windows支援
Windows支援已在規劃中。請查看Codex Desktop App頁面或GitHub版本發布以獲取可用性更新。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 |
唯讀沙箱(runner/使用者權限風險仍存在) |
unsafe |
不進行權限降級;Windows runner必須使用 |
存取控制
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+。
效能最佳化
上下文管理
旗艦模型具有272K token的輸入視窗(128K輸出,400K總預算),但填滿的速度比您想像的更快。請主動管理:
- 定期使用
/compact:摘要對話歷史以釋放token - 提供本地文件:高品質的
AGENTS.md和本地文件可減少探索開銷(這會消耗上下文) - 使用
@附加特定檔案:直接參照檔案,而非要求Codex自行尋找 - 保持提示聚焦:指定確切檔案的範圍化提示比開放式探索消耗更少的上下文
Token效率
| 技巧 | 影響 |
|---|---|
設定model_reasoning_summary = "none" |
減少約20%的輸出token |
使用model_verbosity = "low" |
更少解釋,更多行動 |
| 簡單任務使用mini模型 | 每則訊息成本顯著降低 |
| 將複雜任務拆分為聚焦的工作階段 | 每個工作階段的token效率更佳 |
| 使用profiles依任務切換設定 | 避免在例行工作上支付高推理成本 |
速度最佳化
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 檢查生效的設定及其來源 |
| 計畫模式允許變更操作 | 已知錯誤 | Issue #11115 |
| 忘記 AGENTS.md 指示 | 上下文限制 | 保持指示簡潔;使用 skill 檔案存放詳細流程 |
| 在唯讀模式中停滯 | 已知問題 | Discussion #7380 |
錯誤訊息參考
| 錯誤訊息 | 含義 | 修復方式 |
|---|---|---|
Error: EACCES permission denied |
沙箱封鎖了檔案操作 | 檢查沙箱模式;如果 Codex 需要編輯檔案,請使用 workspace-write |
Error: rate limit exceeded |
達到 API 速率限制 | 等待後重試;降低 model_reasoning_effort 或切換至較輕量的模型 |
Error: context length exceeded |
對話超過 272K 輸入 token 上限 | 使用 /compact 進行摘要,或使用 /new 開始新的工作階段 |
Error: MCP server failed to start |
MCP 伺服器程序崩潰或逾時 | 使用 codex mcp get <name> 檢查設定;增加 startup_timeout_sec |
Error: authentication required |
沒有有效的 API 金鑰或工作階段 | 執行 codex login 或設定 CODEX_API_KEY |
Error: sandbox execution failed |
指令在沙箱內執行失敗 | 檢查指令語法;確認沙箱環境中有所需的工具 |
WARN: skill not found |
參照的 skill 不存在於預期路徑 | 檢查 /skills 列表;確認 skill 資料夾位置 |
Error: wire format mismatch |
提供者的 wire_api 設定錯誤 |
OpenAI 端點請使用 wire_api = "responses"(參見自訂模型提供者) |
診斷工具
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不是有效的頂層旗標。請使用上述的 debug 子指令和 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
企業部署
管理員控制(requirements.toml)
管理員透過 requirements.toml 執行企業政策,這是一個管理員強制執行的設定檔,用於限制使用者無法覆寫的安全敏感設定:22
# /etc/codex/requirements.toml
# Restrict which approval policies users can select
allowed_approval_policies = ["untrusted", "on-request", "on-failure"]
# Limit available sandbox modes
allowed_sandbox_modes = ["read-only", "workspace-write"]
# Control web search capabilities
allowed_web_search_modes = ["cached"]
# Allowlist MCP servers by identity (both name and identity must match)
[mcp_servers.approved-server]
identity = { command = "npx approved-mcp-server" }
# Admin-enforced command restrictions
[[rules.prefix_rules]]
pattern = [{ token = "rm" }, { any_of = ["-rf", "-fr"] }]
decision = "forbidden"
justification = "Recursive force-delete is prohibited by IT policy"
[[rules.prefix_rules]]
pattern = [{ token = "sudo" }]
decision = "prompt"
justification = "Elevated commands require explicit approval"
與設定偏好的使用者層級
config.toml不同,requirements.toml是一個硬性限制層,用於限制使用者可選擇的值,使用者無法覆寫。管理員需求規則只能提示或禁止(永遠不會靜默允許)。
macOS MDM 設定
透過 MDM 使用 com.openai.codex 偏好設定網域進行分發。22 Codex 支援標準的 macOS MDM 負載(Jamf Pro、Fleet、Kandji 等)。將 TOML 編碼為不換行的 base64:
| 金鑰 | 用途 |
|---|---|
config_toml_base64 |
Base64 編碼的受管理預設值(使用者可變更的起始值) |
requirements_toml_base64 |
Base64 編碼的管理員強制需求(使用者無法覆寫) |
優先順序(由高至低):
- macOS 受管理偏好設定(MDM)
- 雲端擷取的需求(ChatGPT Business / Enterprise)
/etc/codex/requirements.toml(本機檔案系統)
雲端需求僅填補未設定的需求欄位,因此較高優先順序的受管理層級始終優先。雲端需求為盡力而為;若擷取失敗或逾時,Codex 將在無雲端層級的情況下繼續運作。
OpenTelemetry 整合
Codex 支援透過標準 OTel 環境變數將 OpenTelemetry 追蹤上下文傳播至 OpenAI API 呼叫。在啟動 Codex 之前設定標準環境變數:
# Point Codex at your OTel collector
export OTEL_EXPORTER_OTLP_ENDPOINT="https://otel-collector.internal:4318"
export OTEL_SERVICE_NAME="codex-cli"
export OTEL_RESOURCE_ATTRIBUTES="team=platform,env=production"
# Launch Codex — trace context propagates to all OpenAI API calls
codex
- 支援標準
OTEL_*環境變數(端點、服務名稱、資源屬性) - 追蹤上下文透過 Codex 傳播至 API 呼叫,實現端到端的可觀測性
- 使用資源屬性按團隊、環境或專案標記追蹤
- 啟用提示詞/工具記錄時請注意隱私要求——追蹤可能包含程式碼片段
企業存取
- ChatGPT Business / Enterprise / Edu:由組織管理員控制存取,自動套用雲端擷取的需求。透過您的身份提供者(Okta、Entra ID 等)支援 SAML/OIDC 單一登入
- API:標準 API 驗證、計費及組織/專案控制。OpenAI 發布 SOC 2 Type II 和 SOC 3 報告;Enterprise 層級提供 HIPAA BAA
- Codex SDK:嵌入內部工具與工作流程
- 大規模政策執行:使用 MDM 分發的
requirements_toml_base64或檔案系統層級的/etc/codex/requirements.toml
資料處理與合規: - 根據 OpenAI 的 Business/Enterprise/API 條款,API 的輸入/輸出不會用於訓練 - 關於資料駐留,OpenAI API 流量預設透過美國基礎設施路由;如有歐盟資料駐留需求,請洽詢 OpenAI 企業銷售團隊 - 工作階段記錄儲存於本機;僅 API 呼叫會離開裝置 - ChatGPT Enterprise 支援合規框架,包括 SOC 2、GDPR 和 CCPA
推行策略
建議組織採用分階段推行:
- 試點(第1-2週):部署給3-5位資深工程師,
requirements.toml強制使用untrusted沙箱模式和cached網頁搜尋。收集 AGENTS.md 模式和 MCP 伺服器需求的回饋。 - 團隊擴展(第3-4週):推行至完整團隊。透過 MDM 或儲存庫分發團隊標準
config.toml。為受信任的儲存庫啟用workspace-write沙箱。 - CI 整合(第5-6週):將
codex-action加入 CI/CD 流水線,用於自動化 PR 審查和測試生成。使用--ephemeral以維持可預測的成本。 - 全組織(第2個月起):透過 MDM 部署,
requirements.toml強制核准的 MCP 伺服器、沙箱政策和模型允許清單。
稽核模式
追蹤 Codex 使用情況並確保合規:
- OpenTelemetry 追蹤:按團隊監控 API 呼叫量、token 使用量和延遲
- 工作階段持久化:稽核
~/.codex/sessions/以進行合規審查(在敏感環境中使用--ephemeral停用) - MCP 身份驗證強制:
requirements.toml記錄被封鎖的伺服器嘗試——審查是否有未授權的工具使用 - Git 稽核軌跡:所有 Codex 檔案變更都經由標準 git——透過分支歷史和 PR 差異進行審查
最佳實踐與反模式
提示詞模式
- 約束導向的提示詞:以限制條件開頭。「Do NOT change the API contracts. Only refactor internal implementation.」
- 結構化的重現步驟:編號步驟比模糊描述更能產生優質的錯誤修復
- 驗證請求:以「Run lint + the smallest relevant test suite. Report commands and results.」結尾
- 檔案參考:使用
@filename將特定檔案附加到上下文中 - 結果導向的循環:「Implement, run tests, fix failures, stop only when all tests pass.」Codex 會持續迭代直到完成
測試理念
社群在測試驅動的 AI 協作方面逐漸形成共識:23
- 預先定義測試作為完成訊號
- 讓 Codex 持續迭代直到測試通過(紅燈 → 綠燈 → 重構)
- 採用 Tiger Style 程式設計模式
- 請求修補時提供精確的檔案內容。Codex 使用嚴格匹配,而非模糊的 AST 修補方式
上下文管理最佳實踐
- 提供高品質的本地文件,而非依賴網路搜尋
- 維護結構化的 Markdown 文件,包含目錄和進度檔案(「漸進式揭露」)
- 統一追蹤檔案的換行符號(LF 與 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]:系統化的錯誤分析與 PR 建立
- github-pr-reviewer [pr-number]:程式碼審查工作流程
- ui-engineer [requirements]:生產級前端開發
社群 skills:
- claude-skill:以權限模式將任務交接給 Claude Code
- autonomous-skill:多工作階段任務自動化,附帶進度追蹤
- deep-research:平行子任務協調
- kiro-skill:需求 → 設計 → 任務 → 執行的流水線
反模式
浪費 token、產生低品質結果或造成令人沮喪的工作流程的常見錯誤。
成本反模式
| 反模式 | 失敗原因 | 修正方式 |
|---|---|---|
所有任務都使用 xhigh 推理 |
簡單任務的 token 成本增加 3-5 倍,收益遞減 | 預設使用 medium;僅在多檔案架構決策時使用 xhigh |
從不使用 /compact |
上下文填滿至 272K,回應品質下降 | 每完成一個重要里程碑或當 /status 顯示使用率超過 60% 時進行壓縮 |
| 在 CI 中執行旗艦模型 | 例行檢查成本過高 | 建立 ci 設定檔,使用 gpt-5.1-codex-mini 和 low 推理 |
上下文反模式
| 反模式 | 失敗原因 | 修正方式 |
|---|---|---|
| 開放式的「探索所有內容」提示詞 | Codex 讀取數十個檔案,在無關程式碼上消耗上下文 | 指定具體檔案來限定範圍:「Review src/auth/login.py and tests/test_auth.py」 |
專案中沒有 AGENTS.md |
Codex 浪費輪次探索專案結構 | 新增一個 20 行的 AGENTS.md,包含關鍵路徑、慣例和測試指令 |
| 附加整個目錄 | 大量無關檔案淹沒上下文 | 使用 @filename 僅附加 Codex 需要的檔案 |
工作流程反模式
| 反模式 | 失敗原因 | 修正方式 |
|---|---|---|
直接在 main 上工作 |
沒有安全網;高風險的編輯難以還原 | 啟動 Codex 之前務必建立功能分支 |
提交前跳過 /diff |
Codex 可能做了非預期的變更 | 每次任務完成後、提交前檢視 /diff |
| 忽略測試輸出 | 如果您不標記失敗,Codex 會跳過繼續迭代 | 在提示詞中使用「run tests and stop only when all pass」 |
| 從不分叉對話 | 一個錯誤的方向會汙染整個上下文 | 在進行高風險探索前使用 /fork;捨棄不佳的分支 |
提示詞反模式
| 反模式 | 失敗原因 | 修正方式 |
|---|---|---|
| 「Fix the bug」(無上下文) | Codex 猜測是哪個錯誤,讀取所有內容 | 「Fix the TypeError in src/api/handler.py:42 — user.name is None when unauthenticated」 |
| 在一則訊息中包含多個任務 | Codex 混淆任務,遺漏部分內容 | 每則訊息一個任務;使用導引模式(Tab)排列後續任務 |
| 每則訊息重複上下文 | 在重複資訊上浪費 token | 使用 /m_update 儲存持久性資訊;引用先前的上下文 |
工作流程範例
常見開發場景的端到端模式。
範例 1:新專案設定
mkdir my-app && cd my-app && git init
codex
> Create a FastAPI project with: main.py, requirements.txt, Dockerfile,
basic health endpoint, and a README. Use async throughout.
> /init
檢視產生的 AGENTS.md,根據您的慣例進行編輯,然後:
> Run the health endpoint test and confirm it passes
範例 2:日常開發流程
cd ~/project && git checkout -b feature/user-auth
codex
> @src/models/user.py @src/api/auth.py
Add password reset functionality. Requirements:
1. POST /api/auth/reset-request (email → sends token)
2. POST /api/auth/reset-confirm (token + new password)
3. Tests for both endpoints
Run tests when done.
使用 /diff 檢視後提交。
範例 3:使用計劃模式進行複雜重構
codex
> /plan Migrate the database layer from raw SQL to SQLAlchemy ORM.
Constraints: don't change any API contracts, keep all existing tests passing.
檢視計劃。批准或引導:
[Tab] Also add a migration script using Alembic
Codex 執行完成後,驗證:
> Run the full test suite and report results
> /diff
範例 4:使用 codex exec 進行 PR 審查
codex exec --model gpt-5.1-codex-mini \
"Review the changes in this branch against main. \
Flag security issues, missed edge cases, and style violations. \
Format as a markdown checklist." \
-o review.md
範例 5:使用雲端任務除錯 [EXPERIMENTAL]
codex cloud exec --env my-env "Diagnose why the /api/orders endpoint returns 500 \
for orders with > 100 line items. Check the serializer, database query, \
and pagination logic. Propose a fix with tests."
稍後檢查進度:
codex cloud status <TASK_ID>
codex cloud diff <TASK_ID>
完成後在本地套用修復:
codex apply <TASK_ID>
遷移指南
從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(12+事件) | Hooks(AfterAgent、AfterToolUse——初期階段;v0.99.0+) |
| 子代理(Task工具) | Sub-agents(內部機制,最多6個;無對應使用者端Task工具) |
/compact |
/compact(完全相同) |
/cost |
/status(顯示token用量) |
| 模型:Opus/Sonnet/Haiku | 模型:gpt-5.3-codex / gpt-5.3-codex-spark / gpt-5.2-codex / gpt-5.1-codex-mini(Codex專用OpenAI的GPT-5.x模型系列) |
claude --resume |
codex resume |
| 權限規則 | Sandbox模式+核准政策 |
| MCP設定於settings.json | MCP設定於config.toml |
需要理解的關鍵差異:
- Sandbox為作業系統層級:Codex使用Seatbelt/Landlock,而非容器。限制在核心層級運作,位於應用程式層之下。
- Hooks處於初期階段:Codex於v0.99.0新增hooks(AfterAgent)和v0.100.0新增(AfterToolUse),但與Claude Code的12+生命週期事件相比,此系統仍處於早期階段。對於尚未涵蓋的自動化模式,請使用AGENTS.md指令或skills。
- Sub-agents為內部機制但現已可設定:Codex具備sub-agent機制(最多6個並行,從v0.91.0的12個減少)。自v0.104.0起,多代理角色可透過設定自訂,允許具有不同設定檔的命名代理角色。49 v0.105.0新增
spawn_agents_on_csv,支援跨列展開處理,附帶進度追蹤和預估完成時間。63 Codex仍缺少Claude Code的明確Task工具UX供使用者導向委派——請使用雲端任務或SDK編排來實現委派模式。 - AGENTS.md為跨工具標準:您的AGENTS.md可在Cursor、Copilot、Amp、Jules、Gemini CLI及60,000+開源專案中使用。CLAUDE.md僅限Claude。
- 設定檔取代手動切換:無需每次執行時更改旗標,直接在config.toml中定義設定檔即可。
從GitHub Copilot遷移
| Copilot概念 | Codex對應功能 |
|---|---|
| Copilot CLI(代理式終端機) | 互動式CLI或桌面應用程式 |
| 專業化代理(Explore、Plan) | Skills+規劃模式+引導模式 |
copilot-instructions.md / AGENTS.md |
AGENTS.md(相同標準) |
| MCP支援 | MCP支援(STDIO + HTTP) |
| ACP(Agent Client Protocol) | Hooks(AfterAgent、AfterToolUse) |
| Copilot SDK | Codex SDK(TypeScript) |
| 程式編寫代理工作流程 | Codex代理搭配sandbox/核准控制+雲端任務 |
您將獲得的優勢:
- 作業系統層級沙箱(Seatbelt/Landlock——核心層級強制執行vs容器式)
- 透過codex apply委派雲端任務
- 設定檔用於工作流程切換
- 桌面應用程式搭配worktree隔離
從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 ║
║ /copy Copy last response to clipboard ║
║ /clear Clear screen /theme Syntax highlighting ║
║ /experimental Toggle experimental features (js_repl) ║
║ ║
║ TUI SHORTCUTS ║
║ @ Fuzzy file search ║
║ !command Run shell command ║
║ Ctrl+G External editor ║
║ Ctrl+L Clear screen ║
║ 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 ║
║ requirements.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, v0.106.0) ║
║ gpt-5.3-codex Default flagship (272K in / 400K) ║
║ gpt-5.3-codex-spark Interactive, lower latency (128K) ║
║ gpt-5.2-codex Long-horizon refactors (272K / 400K) ║
║ gpt-5.1-codex-mini Quick tasks, cost-efficient (272K/400K)║
║ ║
╚═══════════════════════════════════════════════════════════════╝
更新日誌
| 日期 | 版本 | 變更內容 | 來源 |
|---|---|---|---|
| 2026-03-02 | 指南 v2.9 | 更新至 CLI v0.107.0:執行緒分支至子代理、即時語音裝置選擇、可設定的記憶功能搭配 codex debug clear-memories、多模態自訂工具輸出。新增 App v26.226:作曲器中的 MCP 快捷鍵、審查評論中的 @提及。 |
64 65 |
| 2026-03-02 | CLI 0.107.0 | 執行緒分支至子代理、即時語音會話搭配麥克風/喇叭裝置選擇、自訂工具多模態輸出、可設定的記憶功能 + codex debug clear-memories、錯誤修復 |
64 |
| 2026-02-28 | 指南 v2.8 | 更新至 CLI v0.106.0:新增直接安裝腳本、zsh-fork 沙箱繞過修復、約 1M 字元輸入上限、Linux /dev 檔案系統、彈性核准控制、JS REPL 升級至 /experimental(需 Node 22.22.0+)、基於 diff 的記憶遺忘、TUI 語法高亮 + /theme、/copy、/clear、Ctrl-L、語音轉錄、spawn_agents_on_csv、Default 模式中的 request_user_input。新增 v0.105.0 和 v0.106.0 更新日誌條目。 | 62 63 |
| 2026-02-26 | CLI 0.106.0 | 直接安裝腳本、js_repl 升級至 /experimental(最低需 Node 22.22.0)、Default 模式中的 request_user_input、5.3-codex 在 CLI 模型列表中對 API 使用者可見、基於 diff 的記憶遺忘搭配使用感知選擇、zsh-fork 沙箱繞過修復、約 1M 字元輸入上限、改善 TUI 檔案連結渲染、修復子代理的 Ctrl-C 處理 | 62 |
| 2026-02-25 | CLI 0.105.0 | TUI 語法高亮圍欄程式碼區塊和差異檔搭配 /theme 選擇器、語音轉錄(空白鍵聽寫,實驗性)、spawn_agents_on_csv 支援多代理扇出搭配進度/預估完成時間、/copy /clear Ctrl-L 指令、彈性核准控制(額外沙箱權限、細粒度拒絕)、可點擊的換行連結、Linux /dev 檔案系統供沙箱指令使用、js_repl 錯誤回報改善 | 63 |
| 2026-02-24 | 指南 v2.7 | 擴充存取/定價章節:新增 Free/Go 推廣方案、付費方案 2 倍速率限制、各方案用量限制(5 小時窗口)、點數費用表。新增 allow_login_shell 設定鍵。 |
53 |
| 2026-02-22 | 指南 v2.6 | 新增遺漏的設定鍵:features.multi_agent、features.apply_patch_freeform、features.search_tool、agents.*(多代理角色)、model_context_window、model_auto_compact_token_limit、mcp_oauth_callback_port、mcp_oauth_credentials_store、notify。新增 App v26.217 更新日誌條目。 |
52 |
| 2026-02-19 | 指南 v2.5 | 更新版本參照至 CLI 0.104.0,新增 v0.103.0 和 v0.104.0 更新日誌條目,新增 WS_PROXY/WSS_PROXY 代理支援、區分核准 ID、提交共同作者署名、以 command_attribution 取代已移除的 remote_models 功能旗標。 |
— |
| 2026-02-18 | CLI 0.104.0 | WS_PROXY/WSS_PROXY WebSocket 代理支援、多步驟指令的區分核准 ID、執行緒封存/取消封存通知 | 51 |
| 2026-02-17 | App v26.217 | 拖放重新排序佇列訊息、模型降級警告、改善模糊檔案搜尋搭配重啟後附件恢復 | 52 |
| 2026-02-17 | CLI 0.103.0 | 透過 prepare-commit-msg hook 實現提交共同作者署名(可透過 command_attribution 設定)、更豐富的應用程式列表中繼資料/品牌化、移除 remote_models 功能旗標 |
50 |
| 2026-02-17 | 指南 v2.4 | 更新所有 CLI 0.102.0 版本參照,新增 v0.102.0 更新日誌條目和註腳,更新子代理說明搭配可設定的多代理角色。 | — |
| 2026-02-17 | CLI 0.102.0 | 統一權限流程、結構化網路核准、可自訂的多代理角色、模型重新路由通知、js_repl 穩定性修復 | 49 |
| 2026-02-16 | 指南 v2.3 | 修正遷移表:hooks 現已存在(v0.99.0+)、子代理已確認(最多 6 個)、模型列表完整。新增專屬 Hooks 章節(AfterAgent、AfterToolUse、遷移模式)。修正 Recipe 5 幽靈指令(cloud start→cloud exec、cloud pull→apply)。修正 codex auth→codex login。Windows 沙箱從實驗性升級。Linux Bubblewrap 現已內建/綑綁。新增 minimal 推理努力層級。擴充記憶章節(v0.101.0 改進、記憶與 AGENTS.md 對比)。更新 AGENTS.md 採用者列表(60,000+ 專案、Linux Foundation 治理)。更新 Copilot 遷移表。修正 [EXPERIMENTAL] 大小寫一致性。新增 ReadOnlyAccess 政策文件、JS REPL 執行環境章節、生產環境 Deploy 技能範例、擴充費用章節(隱藏 token 開銷、團隊費用管理)。為 20 個未標記的程式碼區塊加上標記。驗證所有 30 個目錄錨點。評估後修復:/permissions 術語修正(approval mode→approval policy)、重複的「Project Trust」標題重新命名、chat/completions 棄用語言調整、OpenTelemetry 章節擴充搭配設定範例、遷移「harder to escape」用語精確化。 |
審議稽核 |
| 2026-02-16 | 指南 v2.2 | 在更新日誌中新增 19 個歷史 CLI 里程碑版本(v0.2.0–v0.91.0)。以 20 個獨立版本註腳(37–61)取代批量 25 引用。新增 61 Apache 2.0 授權引用。新增 5 引用至 codex-linux-sandbox 參照。新增 22 引用至 MDM 偏好設定網域。更新 6 Seatbelt 關於機器人封鎖的說明。新增無法驗證的 OpenAI 部落格 URL 備註。總註腳數:56(原為 36)。 | 審議稽核 |
| 2026-02-15 | 指南 v2.1 | 企業章節修正(managed-admin-config.toml → requirements.toml 搭配已驗證的 TOML 鍵)、272K 上下文限定為輸入視窗搭配引用、新增 6 Seatbelt 引用 URL、新增重點摘要區塊、修正風格違規、精簡 meta 描述、擴充 AGENTS.md 採用者列表。 | 部落格評估器稽核 |
| 2026-02-14 | 指南 v2 | 重大修訂:經 Codex 驗證的模型修正(272K 上下文)、設定鍵、功能旗標、定價、企業設定、CI/CD action、SDK API、MCP 選項、codex exec 旗標、桌面應用程式功能、遷移比較。移除無法驗證的聲明。 | 自我審查 |
| 2026-02-12 | CLI 0.101.0 | 模型解析改善、記憶改進、穩定性 | 37 |
| 2026-02-12 | CLI 0.100.0 | 實驗性 JS REPL、多重速率限制、WebSocket 傳輸、記憶指令、增強沙箱 | 38 |
| 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 快照 |
39 |
| 2026-02-06 | CLI 0.98.0 | GPT-5.3-Codex 支援、steer 模式穩定並設為預設、模型切換修復 | 40 |
| 2026-02-06 | CLI 0.97.0 | 「允許並記住」MCP 核准、即時技能偵測、/config 診斷、記憶管道 |
41 |
| 2026-02-06 | CLI 0.96.0 | 非同步執行緒/壓縮 v2、WebSocket 速率限制、非 Windows 的 unified_exec、設定來源追溯 | 42 |
| 2026-02-06 | CLI 0.95.0 | codex app 指令、個人技能、並行 shell 工具、git 強化 |
43 |
| 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 的技能、執行階段指標 |
44 |
| 2026-01-29 | CLI 0.93.0 | SOCKS5 代理、plan 模式串流、/apps、smart approvals 設為預設、SQLite 日誌 |
45 |
| 2026-01-29 | CLI 0.92.0 | API v2 執行緒、執行緒篩選、MCP OAuth 範圍、多代理協作 | 46 |
| 2026-01-25 | CLI 0.91.0 | 將最大子代理數從 12 降至 6 以加強資源防護 | 47 |
| 2026-01-21 | CLI 0.88.0 | 裝置碼認證後備方案、協作模式、/fork、遠端模型、model_personality 設定 |
48 |
| 2026-01-06 | CLI 0.78.0 | Ctrl+G 外部編輯器、專案感知設定分層、macOS MDM 設定、TUI2 逐字稿導覽、.dmg 安裝程式 |
54 |
| 2025-12-18 | – | GPT-5.2-Codex 發布 — 上下文壓縮、重構/遷移、網路安全 | 28 |
| 2025-12-09 | CLI 0.66.0 | 執行政策系統(TUI 白名單、沙箱拒絕修正)、CRLF 保留、Linux Sigstore 簽署 | 55 |
| 2025-11-19 | – | GPT-5.1-Codex-Max — 多視窗壓縮、Windows 訓練、思考 token 減少 30% | 29 |
| 2025-11-19 | CLI 0.59.0 | 原生壓縮、工具輸出限制提升至 10K tokens、Windows Agent 模式沙箱、/status 中的點數 |
56 |
| 2025-10-25 | CLI 0.50.0 | /feedback 診斷、沙箱違規風險評估、MCP 啟動改善、環境變數遮蔽 |
57 |
| 2025-10-06 | – | Codex 在 DevDay 正式發布 — Slack 整合、SDK、管理工具 | 30 |
| 2025-10-06 | CLI 0.45.0 | 重大變更: codex login --api-key → --with-api-key(stdin)。OAuth MCP 認證、並行工具呼叫、脈動圓點 UI |
58 |
| 2025-09-23 | – | GPT-5-Codex + IDE 擴充功能 + CLI 改版 — 圖片、網路搜尋、程式碼審查 | 31 |
| 2025-09-23 | CLI 0.40.0 | 預設模型 → gpt-5-codex、220K tokens 時自動壓縮、/review 指令、git 復原、Windows 二進位檔支援 |
59 |
| 2025-06-30 | CLI 0.2.0 | 首次 Rust 二進位發布 — macOS(aarch64/x86_64)和 Linux(gnu/musl)預建二進位檔、codex-exec 和 codex-linux-sandbox 工具 |
60 |
| 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)61 | 1 |
參考資料
關於 OpenAI 部落格網址的說明:參考資料 17、26–31 與 34 連結至
openai.com/index/部落格文章,由於 Cloudflare 機器人防護,自動化存取會收到 HTTP 403 回應。這些網址透過標準網頁瀏覽器存取時皆有效。
-
GitHub — openai/codex — 開源儲存庫、版本發布與討論區。 ↩↩↩
-
Codex CLI Windows 支援 — Windows 安裝與 WSL 指南。 ↩
-
Codex IDE 擴充功能 — VS Code、Cursor 與 Windsurf 整合。 ↩
-
Codex Cloud — 雲端任務文件與網路存取控制。 ↩↩
-
macOS Seatbelt 沙箱 — Apple sandbox-exec 框架的社群文件(Apple 未發布官方開發者文件)。注意:此 wiki 可能阻擋自動化存取(HTTP 403);另請參閱 macOS 上的
man sandbox-exec。 ↩↩↩ -
Linux Landlock LSM — 核心檔案系統存取控制。 ↩
-
Codex CLI 旗標的實際運作方式 — 社群對旗標互動的分析。 ↩
-
AGENTS.md 開放標準 — Linux Foundation 下的跨工具指令標準。 ↩
-
使用 AGENTS.md 自訂指令 — 官方指南。 ↩
-
Codex MCP 整合 — MCP 伺服器設定與管理。 ↩
-
使用 Agents SDK 建構工作流程 — Codex 作為 MCP 伺服器進行多代理協作。 ↩
-
Agent Skills — Skills 系統文件。 ↩
-
Codex CLI 功能 — Plan 模式、steer 模式與協作功能。 ↩↩
-
Codex App 介紹 — 桌面應用程式發布公告。 ↩↩↩
-
Codex App 文件 — 桌面應用程式功能與疑難排解。 ↩↩
-
Codex GitHub Action — CI/CD 整合。 ↩
-
Codex 設定參考 — 企業 requirements.toml 結構描述與 MDM 部署。 ↩↩↩
-
使用 Codex 的最佳實踐 — 社群論壇討論串。 ↩
-
feiskyer/codex-settings — 社群維護的設定、skills 與提示詞。 ↩
-
Codex CLI 版本發布 — GitHub 版本說明。 ↩↩
-
GPT-5.3-Codex-Spark 介紹 — Cerebras 合作,1000+ tok/s。 ↩↩
-
GPT-5.3-Codex 介紹 — 統一模型發布。 ↩
-
GPT-5.2-Codex 介紹 — 上下文壓縮與大規模變更。 ↩
-
GPT-5.1-Codex-Max 更多功能 — 多視窗壓縮。 ↩
-
Codex 正式全面上線 — DevDay 2025 公告。 ↩
-
Codex 升級介紹 — GPT-5-Codex + IDE 擴充功能。 ↩↩
-
Codex CLI 將轉為原生開發 — Rust 重寫討論。 ↩
-
Codex 更新:網路存取與 Plus 方案推廣 — 2025年6月擴展。 ↩
-
Codex 上下文視窗討論 — 272K 輸入 token + 128K 輸出 token = 400K 總預算,經原始碼確認。 ↩
-
Codex 中棄用 chat/completions 支援 — OpenAI 宣布移除 Codex 的 chat/completions API,於2026年2月完成。 ↩
-
Codex CLI v0.101.0 — 模型解析改進、記憶體優化、穩定性提升。2026年2月12日。 ↩↩
-
Codex CLI v0.100.0 — 實驗性 JS REPL、多重速率限制、WebSocket 傳輸、記憶體指令、增強沙箱。2026年2月12日。 ↩
-
Codex CLI v0.99.0 — 並行 shell 指令、
/statusline、可排序的恢復選擇器、GIF/WebP 支援、shell 快照。2026年2月11日。 ↩ -
Codex CLI v0.98.0 — GPT-5.3-Codex 支援、steer 模式穩定並設為預設、模型切換修正。2026年2月6日。 ↩
-
Codex CLI v0.97.0 — 「允許並記住」MCP 核准、即時 skill 偵測、
/config診斷、記憶體管線。2026年2月6日。 ↩ -
Codex CLI v0.96.0 — 非同步 thread/compact v2、WebSocket 速率限制、非 Windows unified_exec、設定來源追溯。2026年2月6日。 ↩
-
Codex CLI v0.95.0 —
codex app指令、個人 skills、並行 shell 工具、git 強化。2026年2月6日。 ↩ -
Codex CLI v0.94.0 — Plan 模式設為預設、personality 穩定、
.agents/skills中的 skills、執行時期指標。2026年1月30日。 ↩ -
Codex CLI v0.93.0 — SOCKS5 代理、plan 模式串流、
/apps、智慧核准設為預設、SQLite 日誌。2026年1月29日。 ↩ -
Codex CLI v0.92.0 — API v2 threads、thread 篩選、MCP OAuth 範圍、多代理協作。2026年1月29日。 ↩
-
Codex CLI v0.91.0 — 將最大子代理數從12降至6,以加強資源管控。2026年1月25日。 ↩
-
Codex CLI v0.88.0 — 裝置碼認證備援、協作模式、
/fork、遠端模型、model_personality設定。2026年1月21日。 ↩ -
Codex CLI v0.102.0 — 統一權限流程、結構化網路核准、可自訂多代理角色、模型重新路由通知。2026年2月17日。 ↩↩
-
Codex CLI v0.103.0 — 透過 prepare-commit-msg hook 進行 commit 共同作者歸屬、更豐富的應用程式列表中繼資料/品牌化、移除
remote_models功能旗標。2026年2月17日。 ↩ -
Codex CLI v0.104.0 — WS_PROXY/WSS_PROXY WebSocket 代理支援、指令的獨立核准 ID、thread 封存/取消封存通知。2026年2月18日。 ↩↩↩
-
Codex 變更日誌 — Codex App v26.217:拖放重新排序、模型降級警告、模糊檔案搜尋改進。Codex 設定參考 — 完整設定金鑰參考。2026年2月。 ↩↩
-
Codex 定價 — 方案層級、每5小時視窗使用限制、點數費用,以及 Free/Go 推廣方案存取。2026年2月。 ↩↩
-
Codex CLI v0.78.0 —
Ctrl+G外部編輯器、專案感知設定分層、macOS MDM 設定、TUI2 對話紀錄導覽、.dmg安裝程式。2026年1月6日。 ↩ -
Codex CLI v0.66.0 — Exec 策略系統、Windows 上 CRLF 保留、雲端 exec
--branch、Linux Sigstore 簽署。2025年12月9日。 ↩ -
Codex CLI v0.59.0 — 原生壓縮、工具輸出限制提升至10K token、Windows Agent 模式沙箱、
/status中的點數資訊。2025年11月19日。 ↩ -
Codex CLI v0.50.0 —
/feedback診斷、沙箱違規風險評估、MCP 啟動改進、環境變數遮蔽。2025年10月25日。 ↩ -
Codex CLI v0.45.0 — 重大變更:
codex login --api-key→--with-api-key(stdin)。OAuth MCP 認證、並行工具呼叫。2025年10月6日。 ↩ -
Codex CLI v0.40.0 — 預設模型 →
gpt-5-codex、220K token 時自動壓縮、/review指令、git 復原、Windows 二進位檔。2025年9月23日。 ↩ -
Codex CLI v0.2.0 — 首個 Rust 二進位版本發布。提供 macOS(aarch64/x86_64)與 Linux(gnu/musl)預建二進位檔、
codex-exec與codex-linux-sandbox工具。2025年6月30日。 ↩ -
GitHub — openai/codex LICENSE — Apache License 2.0。2025年4月原始開源發布。 ↩↩↩
-
Codex CLI v0.106.0 — 直接安裝指令碼、js_repl 升級至 /experimental(Node 22.22.0+)、Default 模式中的 request_user_input、基於 diff 的記憶體遺忘、zsh-fork 沙箱繞過修正、約1M 字元輸入上限、Ctrl-C 子代理修正。2026年2月26日。 ↩↩↩↩↩↩↩↩↩↩↩
-
Codex CLI v0.105.0 — 透過 /theme 的 TUI 語法高亮、語音轉錄、spawn_agents_on_csv、/copy /clear Ctrl-L、彈性核准控制、Linux /dev 檔案系統、js_repl 錯誤復原。2026年2月25日。 ↩↩↩↩↩↩↩↩↩↩
-
Codex CLI v0.107.0 — Thread 分叉至子代理、即時語音裝置選擇、自訂工具多模態輸出、透過
codex debug clear-memories設定可配置記憶體。2026年3月2日。 ↩↩↩↩↩↩ -
Codex 變更日誌 — App v26.226 — 編輯器中的 MCP 捷徑、審閱留言中的 @mentions、Mermaid 圖表錯誤處理。2026年2月26日。 ↩↩↩