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 連接器。網路搜尋則從網際網路加入即時脈絡。
介面層:CLI 適合終端進階使用者和自動化。桌面應用程式適合多執行緒的專案管理。IDE 擴充功能適合編輯-編譯-測試的迴圈。Cloud 適合獨立執行的非同步任務。
關鍵洞察:大多數使用者只使用一個介面。進階使用者則四個都用——Cloud 處理長時間執行的任務、CLI 處理確定性的儲存庫操作、IDE 擴充功能處理緊密的編碼迴圈,桌面應用程式則用於規劃和協調。
目錄
- 如何安裝 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 訂閱登入。可存取所有功能,包括 Cloud 任務。
- API Key:透過
CODEX_API_KEY環境變數或codex login --with-api-key設定。部分功能(Cloud 執行緒)可能無法使用。
進階技巧:憑證儲存方式可透過
config.toml中的cli_auth_credentials_store設定。選項有:file(預設)、keyring(作業系統鑰匙圈)或auto(若鑰匙圈可用則使用,否則退回檔案)。
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(Terminal 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 分支、沙箱模式
TUI 快捷鍵:
| 快捷鍵 | 動作 |
|---|---|
@ |
模糊檔案搜尋(附加到上下文) |
!command |
直接執行 shell 命令 |
Ctrl+G |
開啟外部編輯器($VISUAL / $EDITOR) |
Enter(執行中) |
在回合進行中插入新指令 |
Esc 按兩次 |
編輯先前的訊息 |
| 方向鍵 | 瀏覽草稿歷史記錄 |
TUI 中可用的 Slash 命令:
| 命令 | 說明 |
|---|---|
/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)
桌面應用程式具備 CLI 所沒有的功能:
- 多工處理:同時跨不同專案執行多個平行代理
- Git worktree 隔離:每個執行緒在儲存庫的獨立副本上工作
- 內嵌差異檢視:不離開應用程式即可暫存、還原和提交變更
- 整合終端機:每個執行緒都有專屬終端機可執行命令
- 對話分支:分支對話以探索不同方案
- 浮動彈出視窗:將對話分離為可攜式視窗
- 自動化:排程定期任務(議題分類、CI 監控、警報回應)
何時使用桌面應用程式或 CLI:當您在協調多個工作流程或需要視覺化差異檢視時,使用桌面應用程式。當您需要終端機的可組合性、腳本撰寫或 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 [EXPERIMENTAL]
Cloud 任務在 OpenAI 管理的環境中非同步執行:
- 設定即忘:排入佇列的任務獨立於您的本機執行
- 平行執行:同時執行多個 Cloud 任務
- 建立 PR:Codex 從完成的工作中建立 Pull Request
- 本機套用:使用
codex apply <TASK_ID>將 Cloud 結果拉取到本機儲存庫
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) - 內建預設值(最低)
Managed admin config 作為策略約束層運作,可在一般合併完成後強制執行或禁止特定值。請參閱企業部署。
設定檔位置
| 範圍 | 路徑 | 用途 |
|---|---|---|
| 使用者 | ~/.codex/config.toml |
個人預設值 |
| 專案 | .codex/config.toml |
每個儲存庫的覆寫設定 |
| 系統 | /etc/codex/config.toml |
全機預設值 |
| 受管理 | Managed admin config(系統層級) | 管理者強制執行的策略約束 |
進階提示:
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 slash commands 切換模型,或透過 --model / -m 在每次執行時設定:
codex -m gpt-5.3-codex-spark "pair with me on this component"
決策框架
何時使用各個介面
| 情境 | 最佳介面 | 原因 |
|---|---|---|
| 快速修復錯誤 | 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 | 視覺化、引導式、需要較少終端機知識 |
何時使用各個 Sandbox 模式
| 情境 | 模式 | 核准方式 | 原因 |
|---|---|---|---|
| 探索未知程式碼 | 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 |
預設 |
Sandbox與核准系統如何運作?
Codex採用雙層安全模型,將技術上可執行的操作與何時需要人工核准分離。這與Claude Code的權限系統有根本性的不同——Codex在作業系統核心層級強制執行限制。5
第一層:Sandbox(可執行的操作)
Sandbox使用作業系統原生機制控制檔案系統與網路存取:
| 模式 | 檔案存取 | 網路 | 實作方式 |
|---|---|---|---|
read-only |
所有位置僅可讀取 | 封鎖 | 最嚴格——變更需明確核准 |
workspace-write |
工作區 + /tmp 可讀寫 |
預設封鎖 | 一般開發——安全的預設值 |
danger-full-access |
完整機器存取權 | 啟用 | 最大權限——請謹慎使用 |
各平台的強制執行方式:
- macOS:Apple的Seatbelt框架透過
sandbox-exec執行,使用在執行時期編譯的模式專屬設定檔,由核心強制執行6 - Linux:使用Landlock進行檔案系統限制,加上seccomp進行系統呼叫過濾。獨立的輔助程序(
codex-linux-sandbox)提供縱深防禦隔離。另有可選的Bubblewrap(bwrap)管線作為替代方案7 - Windows:實驗性的原生sandbox,使用受限權杖。建議使用WSL以取得完整的sandbox支援(繼承Linux的Landlock + seccomp)
為何重要:與基於容器的sandbox(Docker)不同,作業系統層級的sandbox更快速、更輕量,也更難以逃脫。核心在Codex看到系統呼叫之前就已強制執行限制。
第二層:核准策略(何時詢問)
核准策略決定Codex何時暫停並要求人工確認:
| 策略 | 行為 | 使用情境 |
|---|---|---|
untrusted |
自動執行安全的讀取操作;其餘皆需提示 | 最高信任門檻——不熟悉的儲存庫 |
on-failure |
自動執行直到出錯,然後詢問 | 半自動化——捕捉錯誤 |
on-request |
在sandbox內自動核准;邊界違規時提示 | 預設值——良好的平衡 |
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
測試Sandbox
在信任之前先驗證sandbox的行為:
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():以提示、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 |
什麼是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 與背景任務 [EXPERIMENTAL]
狀態: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 會回覆任務連結,並在完成時發佈結果。
雲端 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 的結構化輸出 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: "..." })
Thread 與 Client 設定
// 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 模式允許修改 | 已知錯誤 | 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不是有效的頂層旗標。請使用上述的 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
企業部署
管理員控制(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 trace-context 傳播。請在您的執行環境/收集器堆疊中設定 OTel:
- 標準
OTEL_*環境變數會被採用 - 追蹤上下文會透過 Codex 傳播至 API 呼叫
- 啟用提示/工具記錄時,請注意隱私需求
企業存取
- ChatGPT Business / Enterprise / Edu:由組織管理員控制存取
- API:標準 API 驗證、計費及組織/專案控制
- Codex SDK:嵌入內部工具與工作流程
- Managed config:使用 managed config + managed admin config 進行大規模政策執行
社群技巧與技術
提示模式
- 限制驅動提示:以邊界條件開頭——「不要更改 API 契約。僅重構內部實作。」
- 結構化重現步驟:編號步驟比模糊描述能產生更好的錯誤修復
- 驗證請求:以「執行 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]:系統化錯誤分析與 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(顯示 token 用量) |
| 模型: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 | Guide 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 | 非同步 thread/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 threads、thread 篩選、MCP OAuth 範圍、多代理協作 | 25 |
| 2025-12-18 | – | GPT-5.2-Codex 發布——上下文壓縮、重構/遷移、資安 | 28 |
| 2025-11-19 | – | GPT-5.1-Codex-Max——多視窗壓縮、Windows 訓練、減少 30% 推理 token | 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 — 社群維護的設定、技能與提示詞。 ↩
-
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 — 雲端代理發布。 ↩