Hub Codex CLI 完整教學

附錄 A

指令與旗標速查

這份附錄是你的「隨手翻」小抄——把整本書教過的指令、旗標、設定鍵、slash 指令,全部濃縮成一張張表格,讓你不用翻前面十三章就能查到。

想像它是一本料理書最後面的「食材對照表」:平常做菜你看正文步驟,但臨時忘了「鹽一茶匙是幾克」,翻到最後一頁掃一眼就找到。這附錄就是 Codex CLI 的那一頁——不講原理、不講比喻,只給你「我想做 X → 該打什麼」。

最重要的一句話(每張表都適用)

Codex CLI 數天就出一版,逐字的旗標與模型名稱會變。任何一張表,最終真相都是你電腦上的 codex --helpcodex <子命令> --help、TUI 裡的 /model/help 本書對照版本是 0.140.0(2026-06-15 釋出)。表裡標 ⚠️ 的格子尤其要實機核對,別當鐵律背。

怎麼用這份附錄

先看 A.1 找你要的「主指令」(例如自動化用 codex exec),再到 A.2 查它能配哪些旗標,A.3 查 TUI 裡能打哪些 / 指令,A.4 查設定檔 config.toml 的鍵。每段最後標了「詳見第 X 章」,想懂原理就回正文。

A.1 子命令總表(codex 後面接什麼)

下面是 codex 這個主程式底下的子命令。最常用的就前五個,其他多半是進階或自動化才碰。

子命令一句話作用詳見
codex啟動互動式 TUI(不接子命令時的預設)第 4 章
codex "你的需求"帶一句初始 prompt 啟動第 4 章
codex exec(別名 codex e非互動跑完即退出,結果印到 stdout、可接 CI第 10 章
codex login / codex logout登入 / 登出(ChatGPT 帳號或 API key)第 3 章
codex resume續接先前的對話(picker 選 / --last 續最近)第 7 章
codex fork從先前 session 分叉成新 thread(目前僅 TUI)第 7 章
codex archive / codex unarchive封存 / 還原 session(不刪檔第 7 章
codex delete永久刪除 session(0.140.0 新增 ⚠️)第 7 章
codex mcp管理 MCP 外部工具(add/list/get/remove/login/logout第 9 章
codex mcp-server把本機 Codex 自己當成 MCP server(實驗性,連字號第 9 章
codex features列 / 開 / 關 feature flag(list/enable/disable第 13 章
codex cloud / codex apply委派 / 套用雲端任務(cloud 功能;⚠️ 子命令名以實機 codex --help 為準)第 11 章
codex doctor環境健檢——任何怪問題的第一步第 13 章
codex completion產 shell 補全腳本(bash/zsh/fish/powershell第 13 章
codex update檢查並套用 Codex CLI 更新第 2 章
codex app啟動桌面 app(這是桌面 app,不是 CLI 主題)第 0 章

進階 / 實驗性子命令(高手除錯、自動化才碰,多數官方標 Experimental):

子命令狀態一句話作用
codex debug modelsExperimental印出 Codex 實際看到的模型 catalog(JSON)——排查「/model 沒有某模型」
codex execpolicyExperimental評估 execpolicy 規則檔(驗你的 exec 政策寫對沒)
codex sandboxExperimental直接在 Codex 沙箱政策下跑指令(不啟 agent,純測沙箱)
codex app-serverExperimental本地起 app-server(搭 --remote 前端)
codex remote-controlExperimental確保 app-server daemon 跑著並開遠端

以下子命令請實機 codex --help 核對

codex delete(0.140.0 release notes 已證,但官方 reference 頁可能尚未同步收錄);codex continue 官方 reference 未列(要續接請用 codex resume --last);codex cloud / codex apply 的「CLI 子命令」形式官方文件未逐字坐實——cloud 任務官方主路徑是瀏覽器 chatgpt.com/codex,從 CLI 觸發的確切子命令名以實機 codex --help 為準。

標 Experimental 的子命令行為隨時會變

別寫死進自動化腳本。它們是除錯/開發用,確切旗標以 codex <子命令> --help 為準。

別搞混「本機 vs 雲端」

codex cloud / codex apply 雖然是你在終端機打的,但實際工作跑在 OpenAI 雲端容器,不是你的電腦。本書主軸的「本機跑」指的是 codexcodex exec

A.2 全域旗標總表(指令後面加 --什麼

這些旗標多數可加在 codexcodex exec 後面,用來「這一次」臨時改設定(不用動 config 檔)。

A.2.1 最常用的核心旗標

旗標短旗標作用
--model-m模型字串指定這次用哪個模型(例 codex -m gpt-5.5
--sandbox-sread-only | workspace-write | danger-full-access選沙箱(能碰什麼)
--ask-for-approval-auntrusted | on-request | never選核可政策(何時停下來問你)
--cd-C路徑設工作目錄(帶 AI 進哪個資料夾)
--config-c鍵=值一次性覆寫任一 config 鍵(可重複用)
--image-i路徑[,路徑…]附加一或多張圖片(逗號分隔或重複此旗標)
--profile(見下方 ⚠️)profile 名套用某個 profile 設定組合(疊 ~/.codex/<名稱>.config.toml
--add-dir路徑額外授權某目錄可寫(可重複;比升級到 full-access 更安全)
--coloralways | never | auto控制 stdout 的 ANSI 顏色

--profile 有沒有 -p 短旗標,兩份官方頁說法打架

config 基礎頁明說「沒有 -p 短旗標,請用完整的 --profile」;但 CLI reference 的旗標表又列了 -p請用完整的 --profile <名稱> 最保險-p 能不能用以你實機 codex --help 為準。

A.2.2 安全 / 危險旗標

旗標作用狀態
--dangerously-bypass-approvals-and-sandbox(別名 --yoloboolean拆掉所有沙箱與核可保護⚠️ 只在隔離環境用
--full-autoboolean舊的「全自動」相容旗標已棄用,改用 --sandbox + --ask-for-approval
--dangerously-bypass-hook-trustboolean只繞過 hook 信任(不繞沙箱/核可)進階

--yolo = 把安全網全拆光

它讓 Codex 不問你、也不關進沙箱,直接在你電腦上跑任何指令。只在「就算搞砸也沒差」的隔離環境(乾淨容器、拋棄式 VM)用,絕不在你的主力工作電腦對重要專案用。

A.2.3 設定 / 重現 / 模型來源旗標

旗標作用
--strict-configboolean遇到不認識的 config 欄位就報錯(抓設定拼錯)
--ignore-user-configboolean跳過 $CODEX_HOME/config.toml(乾淨重現問題用)
--ossboolean改用本機開源 provider(會驗證 Ollama 是否在跑)
--search(見備註)把 web 搜尋設成 live(抓即時網路,非快取)

抓「設定改了沒效」用 --strict-config

多數「config 改了沒反應」其實是鍵名打錯或放錯層級。加上 --strict-config,Codex 會直接告訴你哪個欄位不認識。

A.2.4 codex exec 專屬旗標(自動化 / CI 才用)

旗標短旗標作用
--json(別名 --experimental-json印 newline-delimited JSON 事件(JSONL 事件流)
--output-last-message-o把最終訊息寫到檔案(同時也印 stdout)
--output-schema給一個 JSON Schema 檔,讓最終訊息符合該結構
--ephemeral不寫 session rollout 檔(⚠️ 之後不能 resume)
--skip-git-repo-check允許在非 Git 目錄執行
--ignore-rules跳過 .rules execpolicy

codex exec 也能續接先前 session(自動化兩段式:先唯讀分析、再實作):

子命令 / 旗標作用
codex exec resume <SESSION_ID>續指定 session
codex exec resume --last當前工作目錄最近一個 session
codex exec resume --all其他目錄的 session 一起納入再挑最近
codex exec resume --image-i續接時附加一或多張圖片

--jsonjq 是 CI 解析的地基

例如抽最終訊息:codex exec --json "…" | jq -r 'select(.type=="item.completed" and .item.type=="agent_message") | .item.text'。事件型別含 thread.started / turn.started / turn.completed / turn.failed / item.* / error(型別名官方確認;item 內部欄位細節未凍結,parser 要容錯、未知型別略過)。詳見第 10 章

--json + --output-schema + MCP/tools 同開有靜默降級坑(社群 issue #15451)

嚴格 JSON 可能被默默丟棄退回純文字。拿到輸出檔後務必 jq empty <檔> 機械驗合法性,別盲信。以實機當前版本實測為準。

CI 裡別用 --ask-for-approval on-failure——這個值已棄用

互動跑用 on-request,非互動(CI/腳本)用 neveron-failure 別再寫了。

要結構化輸出(給後續程式解析)就用 --output-schema

--jsoncodex exec 失敗會以非零退出碼結束,方便接腳本判斷成敗。

A.2.5 冷門進階旗標(高手 / 遠端 / feature flag)

旗標作用
--no-alt-screenbooleanTUI 不進 alternate screen,輸出留主捲動緩衝(tmux / 螢幕錄製 / 事後 scrollback 友善)
--remotews://… | wss://… | unix://…把本機 TUI 接到遠端 app-server endpoint
--remote-auth-token-envENV_VAR--remote,從環境變數讀 bearer token(不寫在命令列,避免 ps/history 洩漏)
--enablefeature 名單次強開某 feature flag(= -c features.<名>=true,可重複)
--disablefeature 名單次強關某 feature flag(= -c features.<名>=false,可重複)

--enable / --disable 是切 feature flag 的「單次」路徑(不寫檔)

要持久開關用 codex features enable/disable <名>(寫進 config.toml),要看現況用 codex features list。⚠️ 入門教學常誤寫成 --enable-feature / --disable-feature——官方逐字是單字 --enable / --disable,以 codex --help 為準。

/undo 為什麼選單裡找不到?

它由 undo feature flag 控制,預設關。先 codex features enable undo(或 codex --enable undo 單次)才會出現。⚠️ 此 flag 名與預設值以實機 codex features list 為準。

A.3 三大安全預設速查(Read Only / Auto / Full Access)

新手只要先記這三檔。跑 codex 不加任何旗標,預設就是 Auto

預設等效旗標Codex 能做什麼
Read Only(唯讀)--sandbox read-only --ask-for-approval on-request只能讀檔、回答問題;要改檔 / 跑指令 / 連網都要先問你
Auto預設--sandbox workspace-write --ask-for-approval on-request工作區內可讀、可改、可跑指令;要改工作區外或連網才問你
Full Access(危險)--dangerously-bypass-approvals-and-sandbox--yolo沒有沙箱、不問核可(不建議)

Auto 模式下網路預設是關的

workspace-write 沙箱不會讓它直接 npm install / pip install 連外網。要連網得開 network_access(見 A.4)或臨時核可。別期待它預設能上網裝套件。

互動中想當場調權限,在 TUI 打 /permissions

就能改「哪些事不用問就做」。詳見第 6 章

A.4 config.toml 鍵速查

設定檔放在 ~/.codex/config.toml$CODEX_HOME 預設就是 ~/.codex;Windows 是 %USERPROFILE%\.codex)。下面是最常調的鍵。

A.4.1 模型與推理

值 / 範例說明
model"gpt-5.5"永久指定模型(⚠️ 模型名以 /model 實機清單為準)
model_providerprovider id預設 openai
model_reasoning_effortminimal|low|medium|high|xhigh推理深度(僅 Responses API 生效;xhigh 視模型而定)
plan_mode_reasoning_effortnone|minimal|low|medium|high|xhighPlan mode 專用推理深度(可「規劃深、執行淺」省錢)
model_reasoning_summaryauto|concise|detailed|none推理摘要詳略
model_verbositylow|medium|high回答詳略(GPT-5 Responses API;Chat Completions 靜默忽略)
model_auto_compact_token_limit數字觸發自動壓縮歷史的 token 門檻
service_tierflex(較省)| fast(較快,映射 priority走 API 排隊優先級的成本/速度旋鈕
review_model模型字串/review 專用模型覆寫(可讓審查走更強模型,不必整段切 profile)

A.4.2 安全與權限

說明
sandbox_moderead-only|workspace-write|danger-full-access對應 --sandbox
approval_policyuntrusted|on-request|never對應 --ask-for-approval
[sandbox_workspace_write] network_accessboolean(預設 falseworkspace-write 下是否允許連網
[sandbox_workspace_write] writable_roots路徑陣列額外可寫的目錄

進階的 [permissions] 命名 profile 是更細粒度的權限模型(domain 級網路 allowlist + glob 級檔案 deny):

說明
default_permissions:read-only|:workspace|:danger-full-access| 自訂名預設套哪個 permission profile
[permissions.<名>] extends:read-only|:workspace| 具名繼承(不可繼承 :danger-full-access
[permissions.<名>.filesystem]path→read|write|deny逐路徑讀寫 ACL(denywriteread
[permissions.<名>.network] enabledboolean該 profile 是否開外連
[permissions.<名>.network.domains]host→allow|deny網域白/黑名單

[permissions] 與舊 sandbox_mode 不可混用

官方明文:同一 session 擇一——要嘛 default_permissions + [permissions],要嘛 sandbox_mode + [sandbox_workspace_write],不能各設一半。詳見第 6 章 / 第 8 章

企業託管機另有 requirements.toml 強制層(凌駕一切)

它由 admin 設、使用者不可改,衝突時 Codex 自動退回相容值並通知你。若在公司機上「approval_policy=never 不生效」,先查這層。一般個人使用者不碰。

A.4.3 搜尋 / 風格 / 其他常用

預設說明
web_searchdisabled|cached|livecachedweb 搜尋模式(對應 --search
file_openervscode|vscode-insiders|windsurf|cursor|nonevscode點檔案路徑用哪個編輯器開
personalitynone|friendly|pragmatic⚠️ 列舉值,不是任意字串
project_doc_max_bytes數字32768(32 KiB)AGENTS.md 組合上限
project_doc_fallback_filenames字串陣列[]["CLAUDE.md"],沿用 Claude Code 記憶檔
project_root_markers字串陣列[".git"]判定專案根目錄的標記
cli_auth_credentials_storefile|keyring|auto憑證存哪(file=auth.json / keyring=OS 憑證庫)
log_dir路徑$CODEX_HOME/log日誌目錄

A.4.4 一次性覆寫(不想動檔案時)

codex --config model='"gpt-5.4"'                       # 字串值要雙重引號(TOML 解析)
codex --config 'sandbox_workspace_write.network_access=true'
codex -c log_dir=./.codex-log

這些鍵放「專案層」會被忽略並警告

model_provider / model_providers / notify / otel / profile / profiles 等(provider、認證、通知、telemetry、profile)。它們屬「機器本地擁有」,只能放使用者層 ~/.codex/config.toml。詳見第 8 章

Profile = 情境設定組合包

官方現行做法是獨立檔案 ~/.codex/<名稱>.config.toml,用 codex --profile <名稱> 套用(它會先載 config.toml 再疊上 profile 檔)。⚠️ 0.134.0 起內嵌 [profiles.<名>] 與頂層 profile = "名" selector 已棄用、靜默不生效——舊 dotfiles 要遷成獨立檔。詳見第 8 章

A.4.5 進階區段鍵(MCP / 並行 agent / 環境隔離 / feature)

值 / 範例說明
[mcp_servers.<名>] command / args / env字串 / 陣列 / map註冊 stdio MCP server(段名必須底線 mcp_servers,寫成連字號會靜默忽略)
[mcp_servers.<名>] urlURL註冊 streamable HTTP MCP server(與 command 互斥)
[mcp_servers.<名>] enabledboolean開關該 server(可用 -c mcp_servers.<名>.enabled=false 臨時關)
[mcp_servers.<名>] startup_timeout_sec數字(預設 10)啟動逾時(npx -y / Windows 冷啟動可調 15–60)
[mcp_servers.<名>] enabled_tools / disabled_tools陣列工具白 / 黑名單(黑名單於白名單套用)
[agents] max_threads數字(預設 6)同時開的 agent thread 上限
[agents] max_depth數字(預設 1)子 agent 巢狀深度(防 fan-out 爆炸,非必要別調高)
[agents] job_max_runtime_seconds數字(未設→1800s)批次 job 每 worker 逾時
[shell_environment_policy] inheritnone(乾淨)| core(精簡)子程序繼承哪些環境變數
[shell_environment_policy] include_only / exclude字串陣列(glob)白 / 黑名單環境變數
[shell_environment_policy] ignore_default_excludesboolean(預設 false⚠️ 設 true關掉 KEY/SECRET/TOKEN 自動過濾,把金鑰餵給子程序
[features] <名>booleanfeature flag 持久開關(等同 codex features enable/disable

[features].hooks 開了才有 lifecycle hooks

Hook 共 10 個事件:SessionStart / SubagentStart / PreToolUse / PermissionRequest / PostToolUse / PreCompact / PostCompact / UserPromptSubmit / SubagentStop / Stop。寫法見 hooks.json 或 config 內 [[hooks.<事件>]],TUI 用 /hooks 檢視與信任。⚠️ features.hooks 預設值兩官方頁說法不一,以實機為準。詳見第 6 章

環境隔離 inherit = "none"all 值別亂用

官方只逐字佐證 none / core;有些舊文寫的 all 無官方依據,以實機 config-reference 為準。

A.5 Slash 指令速查(TUI 裡打 /

在互動模式的輸入框打 / 會跳出選單。下面照用途分組。

A.5.1 對話 / Session 管理

指令作用
/clear清終端、開新 chat
/new同一 CLI session 內開新對話
/compact摘要壓縮上下文、釋放 token
/resume從清單續接先前對話
/fork把目前對話分叉成新 thread
/side(別名 /btw開臨時 side 對話
/archive封存目前 session 並離開
/quit(=/exit離開
/logout登出

A.5.2 模型 / 行為

指令作用
/model設定使用中的模型(以及推理強度,若該模型支援)
/fast切到 Fast service tier
/plan切到 plan 模式(先規劃再實作)
/goal設定 / 暫停 / 恢復 / 檢視 / 清除任務目標
/personality設定回應的溝通風格
/memories設定記憶的使用與生成(需開啟 features)

A.5.3 權限 / 審查 / 改動檢視

指令作用
/permissions設定哪些事不用問就能做
/diff顯示 Git diff(含 Git 還沒追蹤的新檔)
/review請 Codex 審查你目前的工作樹
/approve核可一次最近被拒的 auto review 重試
/sandbox-add-read-dir額外授權某目錄唯讀(⚠️ 僅 Windows

A.5.4 工具 / 上下文 / 診斷

指令作用
/mention附加檔案
/mcp列出 MCP 工具
/skills列出 / 呼叫 skills
/init在當前目錄生成 AGENTS.md 骨架
/ideIDE 上下文(開啟的檔 / 選取內容)
/hooks檢視 lifecycle hooks
/status顯示 session 設定與 token 用量
/copy(或 Ctrl+O複製最近一次輸出
/debug-config印出 config 各層與需求診斷

這幾個常被叫錯名

沒有 /approvals(用 /permissions + /approve);沒有 /app(是 /apps,作用是瀏覽 connectors,不是交棒桌面 app)。

以下實機 /help 為準

/usage(每日/每週/累計 token 活動)與 /import(從 Claude Code 選擇性匯入設定與近期對話)由 0.140.0 release notes 證實,但官方 slash 文件表可能尚未同步收錄。

官方參考

Slash commands

A.6 鍵盤快捷速查(TUI)

作用
@開「統一 mentions 選單」(0.140.0 起涵蓋 files / plugins / skills)
Ctrl+R搜尋 prompt 歷史
Ctrl+G用外部編輯器(VISUAL/EDITOR)寫長 prompt
Esc Esc(輸入框空時)編輯前一則訊息,可往回走再 Enter fork
Tab(執行中)把 follow-up 排佇到下一回合
Ctrl+O複製最近完成的輸出(同 /copy
Ctrl+L清螢幕(不開新對話)
!<指令>跑一條本機 shell 指令

貼圖在 macOS 用 Ctrl+V,不是 Cmd+V

而且部分終端機(Ghostty / Alacritty)只能貼文字、貼不進原始影像;iTerm2 / Warp 較可靠,最穩的做法是用 --image 旗標。詳見第 4 章

Alt+, / Alt+. 調推理深度

這類 Alt 綁定官方未逐字確認,確切按鍵以 TUI 內 /keymap 實測為準。

A.7 環境變數速查

變數用途
CODEX_HOME狀態根目錄,預設 ~/.codex
CODEX_SQLITE_HOMESQLite 狀態位置,預設等於 CODEX_HOME
CODEX_NON_INTERACTIVE1/true/yes 跳過安裝器互動(CI 安裝用)
CODEX_API_KEYcodex exec 用的 API key
CODEX_ACCESS_TOKEN信任自動化用的 ChatGPT/Codex access token
CODEX_CA_CERTIFICATE企業 TLS / 私有 root CA 的 PEM bundle
SSL_CERT_FILECODEX_CA_CERTIFICATE 未設時的 CA 後備
RUST_LOG日誌等級 + 模組過濾(error/warn/info/debug/trace,例 RUST_LOG=info,codex_core=debug codex
RUST_LOG_FORMAT⚠️ 日誌格式(社群實證 json/compact,官方環境變數頁未列,以實機為準)

OPENAI_API_KEYHTTPS_PROXYHTTP_PROXYNO_PROXY 不是 Codex 專屬變數

官方環境變數頁未列它們(屬作業系統 / HTTP client 通用慣例)。Codex 自己的 provider key 是用 config 的 env_key 來參照。詳見第 13 章

除錯三段式,順序別顛倒

codex doctor --summary(已自動遮敏感、最安全)→ 有紅燈再 codex doctor --json 取細節 → 仍不明朗才開 RUST_LOG=debug。⚠️ codex exec 非互動模式預設 RUST_LOG=error,要 debug 自動化得在 exec 前明示。trace 很吵、會拖慢、且把 prompt/環境變數寫進 log——log 檔等同機密,勿外傳、勿進 git。

官方參考

Environment variables

A.8 「已棄用 / 別再用」黑名單

新手最容易被舊教學帶歪。下面這些現在都別用了

已棄用 / 寫錯改用說明
--ask-for-approval on-failureon-request(互動)/ never(非互動)on-failure 已棄用
--full-auto--sandbox + --ask-for-approval舊相容旗標,會印 warning
--enable-feature / --disable-feature--enable / --disable(單字)官方逐字是單字形,長形是社群誤寫
內嵌 [profiles.<名>] / 頂層 profile = "名"獨立檔 ~/.codex/<名>.config.toml + --profile <名>0.134.0 起內嵌寫法靜默不生效
codex login --api-key <key>(直接帶值)printenv OPENAI_API_KEY | codex login --with-api-key從 stdin 餵,別讓金鑰進 shell 歷史
自訂 prompt(~/.codex/prompts/*.mdSkills.agents/skills/0.117.0 起自訂 prompt 不再出現在選單,官方已棄用
brew install codexbrew install --cask codexHomebrew 一定要 --cask
unscoped npm install -g codexnpm install -g @openai/codex一定要帶 @openai/ 前綴

A.9 小結

這份附錄把全書的指令濃縮成九張速查表:子命令(含進階 / 實驗性)、全域旗標(含遠端 / feature flag / exec 自動化)、三大安全預設、config 鍵(含 [permissions] / [agents] / MCP / 環境隔離)、slash 指令、鍵盤快捷、環境變數,加上「別再用」黑名單。

大師篇新增的進階項都收進來了——codex exec --json/--ephemeral/resume --all[permissions] profile、--add-dir--profile--strict-config-ccodex mcp 家族、[agents] max_threads、hooks 十事件、RUST_LOGcodex doctorCODEX_* 環境變數;棄用項(--full-auto、內嵌 profiles、自訂 prompt)也標清楚了。

把它當隨身小抄——但永遠記得最上面那句 ⚠️:Codex CLI 更新很快,逐字旗標與模型名以你電腦上的 codex --help/model 為最終真相。 標 ⚠️ 與「實驗性」的格子尤其要實機核對,別當鐵律背。

本附錄官方文件參考