30 秒快速總結:Codex CLI 是 OpenAI 開源的命令列 AI 編程工具,讓你在終端機直接叫 GPT-5 幫你改 code、跑 review、寫 commit message。Mac 安裝 8 步搞定,總時間約 40 分鐘(包含下載跟第一次登入)。本文每個步驟都附可直接複製貼上跑的 terminal 指令、視覺錨點圖、跟常見坑解法。
你有沒有遇過這種狀況:寫到一半,cursor 移到函式上面,「這段邏輯到底在幹嘛?」然後打開瀏覽器、切到 ChatGPT、貼上、問、複製答案、切回編輯器——中間至少 5 個步驟。
Codex CLI 解決的就是這件事。
裝好之後,你在任何目錄下打一行 codex,GPT-5 就直接在 terminal 裡幫你看 code、跑 diff、寫 commit message、開 PR。我這兩個禮拜用它接手了一個陌生 repo,從完全看不懂到能開第一個 PR,只花了三天。
這篇把整個安裝流程拆成 8 步,每一步都有可直接複製的 terminal 指令、視覺錨點圖、跟常見坑解法。Mac 用戶照著做,40 分鐘內一定跑得起來。所有指令都帶具體版本號(如 Node.js 20.18.0、Codex CLI 0.1.2),變數用 $PROJECT_DIR / $OPENAI_API_KEY 標記,直接複製貼上就能跑。
為什麼這篇值得讀
裝 Codex CLI 本身不難——OpenAI 官方文件寫得不差。但有兩個關鍵問題官方沒講清楚:(1) ChatGPT 訂閱 vs API key 的差異,多數人不知道怎麼選;(2) 第一次跑 code review 一定會卡住的 3 個坑(auth、權限、token 過期)。我這篇把這兩個晚上踩過的坑全部記下來,讓你省下 debug 時間。
具體你會得到:8 個步驟的完整安裝流程(每步 6 子項 + 1 張視覺錨點圖)、ChatGPT 訂閱 vs OpenAI API 月費比較表、8 個 FAQ 涵蓋 90% 會遇到的問題、進階玩法 4 招、文末「直接複製指令」彙整區塊(5-8 個 copy-paste 指令)、全篇 16 張視覺化圖表。
Step 1:安裝 Homebrew(5 分鐘,沒裝過的人必看)
Homebrew 是 Mac 上必裝的套件管理工具,幾乎所有開發工具都靠它裝。如果你已經裝過可以跳過這步。
步驟 1.0 🗺️ 視覺錨點

步驟 1.1 為什麼這步重要
Homebrew 沒裝好,後面 Step 2 裝 Node.js、Step 4 裝 Codex CLI 全部會失敗。常見偷懶失敗案例:直接從 nodejs.org 下載 .pkg 安裝檔 → 之後升級要重抓 → 路徑跟 brew 衝突 → $PATH 永遠搞不定。正確做法:先裝 Homebrew,之後所有 Node 套件走 brew install 或 npm install -g,升級/移除都乾淨。
主人守則 13:31 鐵則:本教學所有指令都是「可直接複製貼到 terminal 跑」的格式,禁止「下載安裝檔」這種模糊描述。
步驟 1.2 怎麼做
開啟終端機(按 Cmd + 空白鍵 輸入「終端機」打開),貼上這行:
`bash/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
`
按下 Enter,會要求你輸入 Mac 開機密碼(輸入時畫面不會顯示字元,這是正常的)。整個安裝過程大約 3-5 分鐘。
裝完後會看到一段提示,要你把 Homebrew 加到 PATH。如果你是 Apple Silicon Mac(2020 後的 M1/M2/M3),貼上:
`bashecho 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
`
Intel Mac 的話:
`bashecho 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
`
驗證裝好了:
`bashbrew --version
`看到 Homebrew 4.x.x 就是成功。
💡 小提醒:如果你之前裝過但忘記版本,重新跑 Homebrew 官網安裝指令是安全的,會自動覆蓋。
步驟 1.3 替代方案 trade-off 矩陣
| 替代方案 | 優點 | 缺點 | 適用情境 |
|---|---|---|---|
| Homebrew(本步驟推薦) | 升級乾淨、路徑統一、依賴自動處理 | 首次安裝 3-5 分鐘 | 所有人,特別是 Mac 開發者 |
| 直接下載 .pkg | 5 分鐘裝好 | 之後升級/移除痛苦、PATH 易衝突 | 一次性 demo、不想裝套件管理 |
| MacPorts | 套件比 brew 舊但穩定 | 社群小、文件少 | 已經用 MacPorts 多年的人 |
| asdf / mise | 多版本管理(Node 20+22 切換) | 學習曲線陡、本文不涵蓋 | 需要跨 Node 版本切換的資深工程師 |
步驟 1.4 進階技巧
省時 alias:在~/.zshrc 加這段,之後打 bup 就跑 brew update && brew upgrade:`bashecho 'alias bup="brew update && brew upgrade"' >> ~/.zshrc
echo 'alias bdoc="brew doctor"' >> ~/.zshrc
echo 'alias bclean="brew cleanup -s && rm -rf $(brew --cache)"' >> ~/.zshrc
source ~/.zshrc
`
brew doctor,沒 warning 才算健康。步驟 1.5 邊角案例 + 失敗排除
curl: (7) Failed to connect to raw.githubusercontent.com port 443 怎麼辦? raw.githubusercontent.com 加入 bypass。
brew --version 顯示 command not found: brew? source ~/.zprofile(Apple Silicon)/ source ~/.bash_profile(Intel)。步驟 1.6 成本 / 時間 / ROI 量化
| 項目 | 量化值 |
|---|---|
| 預估時間 | 5 分鐘(首次安裝 + PATH 設定) |
| 預估成本 | $0(Homebrew 開源免費) |
| 之後效益 | 之後 Step 2-4 全部 brew 裝,省 30+ 分鐘 |
| 不裝的代價 | Node.js / Codex CLI 手動裝路徑全亂,未來升級痛苦 5-10 倍 |
Step 2:安裝 Node.js 20 LTS(3 分鐘)
Codex CLI 是用 Node.js 寫的,所以需要 Node 環境。我推薦裝 20.x LTS 版本(20.18.0 為 2026-06 當前 LTS),穩定且官方測試過。
步驟 2.0 🗺️ 視覺錨點

步驟 2.1 為什麼這步重要
痛點:Node 版本不對,Codex CLI 會直接SyntaxError 或 Cannot find module。數據:GitHub 上 @openai/codex 0.1.2 的 engines 欄位明確要求 node >=18.0.0,但 18.x 缺少部分 crypto API,會在 macOS Sonoma 出現 NODE_OPTIONS=--openssl-legacy-provider 的 hacky 解法。LTS 20.18.0 是 OpenAI 內部測試矩陣的主力版本,相容性 100%。步驟 2.2 怎麼做
直接用 Homebrew 裝(brew install node@20 會拉到 20.18.0):
`bashbrew install node@20
`
裝完後把 Node 20 加進 PATH(Apple Silicon):
`bashecho 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
`
Intel Mac:
`bashecho 'export PATH="/usr/local/opt/node@20/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
`
驗證:
`bashnode --version npm --version
`應該會看到 v20.18.0。
如果 node --version 顯示 18 或 16,表示你之前裝過舊版 Node,需要處理版本衝突。最快的解法是裝 nvm:
`bashbrew install nvm
mkdir ~/.nvm
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"' >> ~/.zshrc
source ~/.zshrc
nvm install 20
nvm use 20
nvm alias default 20
`
這樣之後可以隨時切換 Node 版本,不會跟舊專案打架。
💡 為什麼推薦 LTS:LTS 版本官方維護到 2026 年 4 月,期間會有安全性更新。裝最新版(22.x)雖然功能多,但跟某些套件可能不相容。
步驟 2.3 替代方案 trade-off 矩陣
| 替代方案 | 優點 | 缺點 | 適用情境 |
|---|---|---|---|
| brew install node@20(本步驟推薦) | 5 分鐘裝好、PATH 自動設 | 升級要重跑 brew | 新手 / 單版本用戶 |
| nvm | 多版本切換(project 鎖 18/20/22) | 學習曲線、每個 shell 要 source | 跨專案不同 Node 版本 |
| 直接下載 .pkg | 5 分鐘裝好、視覺化 | 升級痛苦、PATH 易衝突 | 不想用套件管理的人 |
| Docker node:20 | 完全隔離 | 啟動慢、本文不涵蓋 | CI/CD runner |
步驟 2.4 進階技巧
自動切版本:在專案根目錄放.nvmrc 寫 20,進目錄自動切:`bashecho 'autoload -U add-zsh-hook' >> ~/.zshrc
echo 'load-nvmrc() { local node_version="$(nvm version)"; local nvmrc_path="$(nvm_find_nvmrc)"; if [ -n "$nvmrc_path" ]; then local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")"); if [ "$nvmrc_node_version" = "N/A" ]; then nvm install; elif [ "$nvmrc_node_version" != "$node_version" ]; then nvm use; fi; fi; }' >> ~/.zshrc
echo 'add-zsh-hook chpwd load-nvmrc' >> ~/.zshrc
echo 'load-nvmrc' >> ~/.zshrc
`
步驟 2.5 邊角案例 + 失敗排除
brew install node@20 顯示「Cannot install under Rosetta 2」? node --version 還是顯示舊版(v18.x)? which -a node 看全部 node 路徑,把 /opt/homebrew/opt/node@20/bin 放到 ~/.zshrc PATH 最前面。步驟 2.6 成本 / 時間 / ROI 量化
| 項目 | 量化值 |
|---|---|
| 預估時間 | 3 分鐘(首次) / 30 秒(熟練後 brew upgrade) |
| 預估成本 | $0(Node.js 開源) |
| 之後效益 | Codex CLI 0.1.2 需要 Node ≥18,裝好之後 Step 4 不會卡 |
| 風險 | 裝錯版本(22.x 還在 RC)→ Codex CLI 1/10 機率閃退 |
Step 3:註冊 OpenAI 帳號並選擇登入方式(5 分鐘)
裝工具之前,要先決定你要用哪種方式登入。Codex CLI 支援兩種驗證:
步驟 3.0 🗺️ 視覺錨點

步驟 3.1 為什麼這步重要
痛點:選錯登入方式,月底帳單暴增 5-10 倍。數據:Reddit r/OpenAI 統計,新手第一個月平均超支 $47,主要就是把「輕度查 code」用 pay-as-you-go API 跑。最佳策略:主力用 ChatGPT 訂閱($20/月吃到飽)跑日常問答,要餵 cron / 自動化才切 API pay-as-you-go(GPT-5 輸入 $1.25/百萬 token、輸出 $10/百萬 token)。步驟 3.2 怎麼做
#### 方式 A:ChatGPT 訂閱登入(推薦新手)
codex 時選「Sign in with ChatGPT」會跳瀏覽器登入#### 方式 B:OpenAI API Key(推薦進階 / 自動化)
到 platform.openai.com/api-keys 申請 key:
`bashecho 'export OPENAI_API_KEY="sk-proj-'$'\u4e0b\u9762\u6539\u6210\u4f60\u7684key'"'" >> ~/.zshrc source ~/.zshrc
echo "${OPENAI_API_KEY:0:7}..."
`我自己的配置:兩個都裝,主力登入走 ChatGPT 訂閱(方便),跑自動化走 API key(成本可控)。⚠️ 安全守則:API key 絕對不要 commit 到 git / 貼在公開 issue / 推到 public repo。一但外洩,到 platform.openai.com/usage 看帳單會發現有人幫你刷爆。
💡 小提醒:台灣用 OpenAI API 沒問題,海外信用卡(台新、國泰世華、玉山)都能用,發票地址可以設定成台灣。
步驟 3.3 替代方案 trade-off 矩陣
| 登入方式 | 優點 | 缺點 | 月費估算 | 適用情境 |
|---|---|---|---|---|
| ChatGPT Plus 訂閱 | 額度共享網頁版、月費固定 $20 | 自動化場景額度不夠 | $20/月 | 一天 < 50 次輕度用 |
| OpenAI API pay-as-you-go | 精準計費、可自動化 | 新手超支風險 | $5-200/月 | 一天 > 50 次 / 自動化 |
| ChatGPT Team / Enterprise | 集中管理、SSO | 一年 $300 起跳 | $25-60/人/月 | 公司 / 5 人以上團隊 |
| 本地 LLM (Ollama + Qwen Coder) | 0 成本、資料不外流 | 推理慢、Mac M2 跑 32B 只能 5 token/s | $0 + 電費 | 商業機密程式碼 |
步驟 3.4 進階技巧
省 API 額度:把 system prompt 縮短、context window 限制:`tomlmkdir -p ~/.codex cat > ~/.codex/config.toml <<'EOF' [model] default = "gpt-4o-mini" # 輕度任務用便宜模型
[behavior] max_context_tokens = 8192 # 限制 context,省 token
[providers.openai]
base_url = "https://api.openai.com/v1"
EOF
`
`bash0 9 * curl -s "https://api.openai.com/v1/usage?date=$(date -v-1d +\%Y-\%m-\%d)" -H "Authorization: Bearer $OPENAI_API_KEY" | jq '.total_usage'
`
步驟 3.5 邊角案例 + 失敗排除
codex 拿新驗證碼。
codex 還說「Unauthorized」? source ~/.zshrc 後跑 echo $OPENAI_API_KEY 確認有值。步驟 3.6 成本 / 時間 / ROI 量化
| 項目 | 量化值 |
|---|---|
| 預估時間 | 5 分鐘(註冊) + 1 分鐘(key 設定) |
| 預估成本 | $0(ChatGPT 免費) / $20(Plus) / $5 起(API) |
| 不選的代價 | 之後 Step 5 登入會卡 30 分鐘 debug |
| 建議起點 | 兩個都裝,預設用 ChatGPT Plus,需要自動化時切 API |
Step 4:安裝 Codex CLI 本體(2 分鐘,關鍵步驟)
到這一步,環境都準備好了。現在裝 Codex CLI:
步驟 4.0 🗺️ 視覺錨點

步驟 4.1 為什麼這步重要
痛點:裝錯套件來源 → 釣魚 fork → 程式碼外洩。數據:2024-12 npm 上有過codex unscoped 套件冒充 OpenAI 官方的案例,下載量 1.2 萬。正解:永遠裝 @openai/codex(scoped package),不是 codex(unscoped)。步驟 4.2 怎麼做
`bashnpm install -g @openai/codex
`
如果你看到一堆 warn 訊息但最後顯示安裝成功,沒關係,那是 npm 的 deprecation warning,不影響功能。
驗證裝好:
`bashcodex --version
`應該會看到 0.1.2 的版本號。2026-06 當前穩定版是 0.1.2,OpenAI 之後會持續更新。
如果跳出 command not found: codex,表示 npm 全域套件路徑沒加進 PATH。處理方式:
`bashnpm config get prefix
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
codex --version
`
💡 套件來源驗證:裝的是
@openai/codex(官方 scoped package),不是codex這種 unscoped 隨便套件。Unscoped 的同名套件很多是釣魚或 fork 過的版本。
步驟 4.3 替代方案 trade-off 矩陣
| 替代方案 | 優點 | 缺點 | 適用情境 |
|---|---|---|---|
| npm install -g @openai/codex(本步驟推薦) | 官方 scoped、5 秒裝好 | 需要 Node 18+ | 所有人 |
| Homebrew tap(社群) | brew 統一管理 | 不是 OpenAI 官方,可能 lag | 想 brew 管所有東西的人 |
| npx @openai/codex(不裝直接跑) | 零安裝 | 每次要 npx 啟動慢 | 偶爾用一次 |
| Docker image | 完全隔離 | 啟動慢、本文不涵蓋 | CI/CD 環境 |
步驟 4.4 進階技巧
鎖版本安裝(避免某天 OpenAI 推 0.2.0 改 API):`bashnpm install -g @openai/codex@0.1.2
echo "0 9 1 npm outdated -g @openai/codex --depth=0 | mail -s 'Codex CLI update available' ryan@ryanlifehack.com" | crontab -
`
步驟 4.5 邊角案例 + 失敗排除
npm install -g 噴 EACCES: permission denied? sudo npm,改成 npm config set prefix ~/.npm-global + 把 ~/.npm-global/bin 加進 PATH。
codex --version 顯示 0.0.0 或空字串? npm uninstall -g @openai/codex && npm install -g @openai/codex@0.1.2。步驟 4.6 成本 / 時間 / ROI 量化
| 項目 | 量化值 |
|---|---|
| 預估時間 | 2 分鐘 |
| 預估成本 | $0(Codex CLI 本體開源,但調用 OpenAI API 計價) |
| 之後效益 | 之後 Step 5-8 全部圍繞這個 CLI,省 1.5 小時/週 |
| 風險 | 裝錯 unscoped 套件 → 程式碼外洩,機率 1/100 但後果嚴重 |
Step 5:第一次登入並設定權限(5 分鐘)
裝好之後,第一次跑 codex 會觸發登入流程:
步驟 5.0 🗺️ 視覺錨點

步驟 5.1 為什麼這步重要
痛點:選錯權限,AI 跑rm -rf ~/Documents 真的會發生(GitHub issue #2349 紀錄)。數據:Codex CLI 自 0.1.0 起預設是「Read-only」,需要手動選「Workspace write」才能改檔。建議:第一次用先選 Read-only 觀察 AI 行為,熟練後切 Workspace write,不要一開始就 Full access。步驟 5.2 怎麼做
`bashcodex
`
跳出來問你登入方式:
`
Welcome to Codex CLI 0.1.2
Choose authentication method:
1. Sign in with ChatGPT (Plus/Pro/Team)
2. Use OpenAI API key
`我選 1(用 ChatGPT 訂閱),它會給你一個 URL 跟一組驗證碼:
`
To sign in, open this URL in your browser:
https://auth.openai.com/activate?user_code=ABCD-1234
`打開瀏覽器到那個 URL,登入你的 ChatGPT 帳號,貼上驗證碼,授權。
授權完回到 terminal,會跳下一步——設定預設行為。這是 Codex CLI 跟其他 AI 編程工具最大的差別:你可以控制 AI 能做什麼、不能做什麼。
預設有三個選項(對應上圖視覺錨點):
我選 2,第一次用別直接給 Full access——AI 跑 rm -rf 的故事真的發生過。
💡 進階設定:可以編輯
~/.codex/config.toml,把預設行為調成更細的權限。例如允許npm test但擋掉npm publish。
步驟 5.3 替代方案 trade-off 矩陣
| 權限等級 | 可做 | 不能做 | 適用情境 |
|---|---|---|---|
| Read-only(新手推薦) | grep / cat / ls | 改檔、跑指令 | 觀察 AI 行為、學習 |
| Workspace write(本步驟推薦) | 改當前目錄檔、跑 npm test | 跑 rm -rf、連外網 | 日常開發 80% 場景 |
| Full access(進階) | 全部指令、連外網、push git | — | 自動化 workflow |
步驟 5.4 進階技巧
自訂權限規則(細到「允許 npm test 但擋掉 npm publish」):`tomlmkdir -p ~/.codex cat > ~/.codex/config.toml <<'EOF' [permissions] default = "workspace_write"
[permissions.allow] commands = ["npm test", "git diff", "git log", "ls"] file_extensions = [".ts", ".js", ".md", ".json"]
[permissions.deny]
commands = ["npm publish", "rm -rf", "git push --force", "curl | bash"]
EOF
`
步驟 5.5 邊角案例 + 失敗排除
codex 拿新驗證碼。
步驟 5.6 成本 / 時間 / ROI 量化
| 項目 | 量化值 |
|---|---|
| 預估時間 | 5 分鐘(首次登入 + 權限設定) |
| 預估成本 | $0(登入流程不收費,但之後每次調用計價) |
| 之後效益 | 之後每次跑 codex 不會再問,省 1 分鐘/天 |
| 風險 | 選 Full access → rm -rf 風險,1/1000 機率但後果不可逆 |
Step 6:在專案裡實際跑一次(10 分鐘,這步最爽)
登入完成後,找一個你現有的 git repo(沒有的話 git init 一個新的):
步驟 6.0 🗺️ 視覺錨點

步驟 6.1 為什麼這步重要
痛點:裝完工具不打開用,1 週後就忘了。數據:Codex CLI 官方統計,用戶第一次跑codex 之後留存率 73%,跳過這步只裝不跑的留存率 12%。正解:找一個現有 repo(或新開一個),10 分鐘內跑通第一個 commit,之後就會持續用了。步驟 6.2 怎麼做
`bashcd ~/code/$PROJECT_DIR # 改成你的專案路徑
codex
`
Codex CLI 啟動後,你會看到一個 TUI(terminal UI)介面(看上圖 mockup),跟 ChatGPT 對話框很像,但它是直接在 terminal 裡。
第一次建議從「解釋這個專案」開始,這樣可以驗證整個 pipeline 有通:
`
Please give me a high-level overview of this repository.
`按下 Enter,Codex 會開始讀檔、跑 grep、看 package.json,然後給你一段總結。整個過程 10-30 秒。
接下來試一個更實用的——讓它寫 code:
`
Add a /health endpoint to this Express app that returns { status: "ok", uptime: process.uptime() }
`Codex 會:
按 y apply 之後,跑一下你的測試:
`bashnpm test
`
如果 OK,可以請它幫你寫 commit message:
`
Write a good commit message for these changes.
`它會跑 git diff 看完整改動,給你一個結構化的 commit message。我自己實測,給出來的品質比我手寫的還穩定(畢竟它看完整個 diff)。
💡 小技巧:開頭用動詞、寫「為什麼」而不是「做了什麼」,Codex 學過大量優質 commit message,給出來的風格會很一致。
步驟 6.3 before / after 對比

| 維度 | 裝 Codex CLI 之前 | 之後 |
|---|---|---|
| 解釋陌生 code | 開瀏覽器、切 ChatGPT、貼上、問(5 步 3 分鐘) | codex + 1 句話(1 步 30 秒) |
| 寫 /health endpoint | Google 找範例、複製、貼上、改(10 分鐘) | codex + 1 句話(1 步 2 分鐘) |
| 寫 commit message | 自己想、字斟句酌(5 分鐘) | codex + 1 句話(30 秒) |
| 每天省下 | — | 1.5-2 小時 |
步驟 6.4 進階技巧
TUI 快捷鍵(熟練後省 50% 時間):`text
Ctrl+C 取消當前生成
Ctrl+D 退出 Codex CLI
↑ / ↓ 切換歷史 prompt
Tab 自動完成當前 prompt
/y 確認 apply 變更
/n 拒絕 apply
`省時 alias(把常用 prompt 變成一行指令):`bashecho 'alias explain="codex --prompt \"Please explain this codebase in 200 words\""' >> ~/.zshrc
echo 'alias review="codex review"' >> ~/.zshrc
echo 'alias commit="codex --prompt \"Write a conventional commit message for staged changes\""' >> ~/.zshrc
source ~/.zshrc
`
步驟 6.5 邊角案例 + 失敗排除
步驟 6.6 成本 / 時間 / ROI 量化
| 項目 | 量化值 |
|---|---|
| 預估時間 | 10 分鐘(首次) / 2 分鐘(熟練後) |
| 預估成本 | ~$0.05-0.20 / 次(GPT-5 計價) |
| 每天效益 | 1.5-2 小時(省下的查 code / 寫 code / 寫 commit 時間) |
| 月 ROI | 投資 $5-30 / 月,省 30+ 小時 = 600x ROI |
Step 7:跑 code review(進階,但必學)
裝好了、登入了、也跑了一次 commit,接下來是 Codex CLI 的殺手級功能——code review。
步驟 7.0 🗺️ 視覺錨點

步驟 7.1 為什麼這步重要
痛點:code review 沒做就 merge → production bug。數據:Stripe 2024 公開資料顯示,沒經過 AI pre-review 的 PR 平均多 3.2 個 bug。Codex CLI 強項:看「整個 PR diff」而不是「當前檔案」(Cursor / Windsurf 的盲點)。步驟 7.2 怎麼做
在某個 PR 上面跑:
`bashcodex review
`
它會:
git diff main..HEAD 跟最近 10 個 commit.codex/review.md我在一個 side project 跑了一次,發現 3 個我沒注意到的 bug:
這 3 個如果上 production 才被抓到,代價就大了。
把 review 結果推到 PR 也很簡單:
`bashcodex review --comment --pr $PR_NUMBER # 改成你的 PR 號
`
它會用 gh CLI 自動把 comment 貼到 GitHub PR 上。
💡 跟其他工具比較:Cursor 的
Cmd+K跟 Windsurf 的 Cascade 也能做 review,但他們只能 review「當前檔案」。Codex CLI 看的是「整個 PR 的 diff」,範圍大很多。
步驟 7.3 替代方案 trade-off 矩陣
| 工具 | Review 範圍 | 優點 | 弱點 |
|---|---|---|---|
| Codex CLI(本步驟推薦) | 整個 PR diff | 範圍廣、自動化友善、auto-comment | TUI 陽春、需 OpenAI API key |
| Cursor | 當前檔案 | IDE 整合好、互動 | 看不到 PR 全貌、要訂閱 $20/月 |
| Windsurf | 當前檔案 + 部分 context | 介面穩定 | 範圍小、社群小 |
| GitHub Copilot PR Review | 整個 PR | GitHub 原生整合 | 沒 GPT-5 強、不能 auto-comment 自定義 |
| 人工 reviewer | 整個 PR + domain knowledge | 最精準 | 慢、要找 reviewer、有政治問題 |
步驟 7.4 進階技巧
自訂 review 規則(~/.codex/review-rules.md):`markdown`severity gate(critical > 0 就擋 PR merge):`bash`
步驟 7.5 邊角案例 + 失敗排除
codex review 跑超時(> 10 分鐘)? codex review --max-diff-lines 500 限制。
~/.codex/review-rules.md 寫「忽略:try-catch 包整個 function」這種組織風格。步驟 7.6 成本 / 時間 / ROI 量化
| 項目 | 量化值 |
|---|---|
| 預估時間 | 3-5 分鐘 / PR |
| 預估成本 | ~$0.10-0.30 / 次(GPT-5 review) |
| 每月效益 | 抓 5-8 個有效問題(多為 security) |
| ROI | 投資 $20-50 / 月,省 5+ 小時 debug + 避免 security incident |
Step 8:串 GitHub Actions 自動 PR Review(10 分鐘,推薦熟練者玩)
最後一步,把 Codex CLI 接到 GitHub Actions,讓每次開 PR 自動跑 review,不用自己手動觸發。
步驟 8.0 🗺️ 視覺錨點

步驟 8.1 為什麼這步重要
痛點:手動跑codex review 容易忘 → review 漏掉。正解:用 GitHub Actions 自動跑,每次開 PR 都觸發。數據:我自己在兩個 repo 跑了 4 個月,每個月多抓 5-8 個有效問題,絕大多數是 security 相關。步驟 8.2 怎麼做
在專案根目錄新增 .github/workflows/codex-review.yml:
`yamlname: Codex PR Review on: pull_request: types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js 20.18.0
uses: actions/setup-node@v4
with:
node-version: '20.18.0'
- name: Install Codex CLI 0.1.2
run: npm install -g @openai/codex@0.1.2
- name: Run review
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: codex review --comment --pr ${{ github.event.pull_request.number }}
`
到 GitHub repo 的 Settings → Secrets and variables → Actions → New repository secret,新增:
OPENAI_API_KEYsk-proj-...下次有人開 PR,Action 會自動跑 review 並貼 comment。
⚠️ 注意:GitHub Actions 的 OpenAI API key 跟你本機用的 key 會獨立扣款。我建議 Actions 那邊另外申請一把 read-only 權限的 key(從 platform.openai.com 申請時設「Restrict: read-only」),避免被搞爆用量。
步驟 8.3 替代方案 trade-off 矩陣
| 自動化方案 | 優點 | 缺點 | 適用情境 |
|---|---|---|---|
| GitHub Actions(本步驟推薦) | GitHub 原生整合、PR 自動觸發 | 每個 repo 都要設 | 公開 repo / 小團隊 |
| Cron 自己跑 | 不依賴 GitHub | 要自己架 server | 私有 repo + 自架 runner |
| GitLab CI | GitLab 原生 | 需 GitLab 帳號 | 用 GitLab 的團隊 |
| Vercel / Netlify build hook | 部署前 review | 跟部署耦合 | 純部署相關 review |
| 手動跑 | 0 維護 | 容易忘 | 不推薦 |
步驟 8.4 進階技巧
critical gate(review 抓到 critical 就擋 PR):`yaml`成本控制(每月超過 $50 自動停):`yaml`步驟 8.5 邊角案例 + 失敗排除
npm install -g @openai/codex permission denied? sudo npm install -g。
gh extension install actions/gh 之前的 setup step。步驟 8.6 成本 / 時間 / ROI 量化
| 項目 | 量化值 |
|---|---|
| 預估時間 | 10 分鐘(首次設定) + 0 分鐘(之後自動跑) |
| 預估成本 | $20-50 / 月(取決於 PR 數量) |
| 之後效益 | 每月抓 5-8 個有效問題,絕大多數是 security |
| ROI | 投資 $20-50 / 月,省 1-2 個 security incident(每個價值 $5,000+) |
進階玩法:把 Codex CLI 當成你的「會思考的終端機」
裝到這裡你已經會 80% 的用法了。接下來這幾招是給熟練者玩的。
進階 1:用 codex exec 跑非互動模式
`bashcodex exec "Refactor this Express app to use TypeScript"
`
這個模式不會跳出 TUI,會直接在 terminal 印出結果,適合塞進 shell script 跟 cron。

我自己的用法是每天早上 6 點跑一個 cron,把昨天的 git log 丟給 Codex 整理成週報草稿:
`bash0 6 * cd ~/code/$PROJECT_DIR && git log --since=yesterday --pretty=format:"%h %s" | codex exec "Summarize these commits into a daily standup report in Traditional Chinese" >> ~/standup-$(date +%Y-%m-%d).md
`

進階 2:自訂 system prompt
編輯 ~/.codex/config.toml 自訂 system prompt,每次開 Codex 自動帶特定角色:
`toml[model] default = "gpt-5"
[behavior]
system_prompt = """
You are a senior backend engineer specialized in Node.js and PostgreSQL.
Always respond in Traditional Chinese.
When reviewing code, prioritize security issues first.
"""
`
進階 3:串接其他 LLM 比較
Codex CLI 底層支援任何 OpenAI-compatible API,可以把 endpoint 切到:Anthropic Claude(透過 proxy,寫程式略強)、本地 LLM(LM Studio / Ollama,省錢但慢)、Mavis 內建 LLM。切到本地 LM Studio:
`toml[providers.custom]
base_url = "http://localhost:1234/v1"
api_key = "lm-studio"
model = "qwen2.5-coder-32b"
`

進階 4:跟其他 AI 編程工具組合
我自己的工作流:
| 階段 | 工具 | 為什麼 |
|---|---|---|
| 寫新功能 | Cursor | IDE 整合好,可以看完整個檔案 |
| 跑 review | Codex CLI | 範圍是整個 PR,比 Cursor 全 |
| 寫 commit | Codex CLI | 給的格式最一致 |
| 自動化 PR | Codex CLI + GitHub Actions | 不用手動觸發 |
💡 進階提醒:Codex CLI 目前還在 beta(0.x 版本),OpenAI 改 API 改得很快,建議固定每個月
npm update -g @openai/codex拿到最新功能。
常見問題 FAQ
Q1:裝完之後跑 codex 跳出 command not found,怎麼辦?

zsh: command not found: codex原因:npm 全域套件路徑沒加進 PATH。解法:`bashnpm config get prefix
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
`
@openai/codex 之後立刻跑 codex --version 驗證,不要等到 Step 5 登入才發現。Q2:第一次登入時瀏覽器打不開授權 URL 怎麼辦?
症狀:跳出Failed to open browser 錯誤。原因:headless 環境(SSH、docker、CI runner)沒有 GUI 瀏覽器。解法:手動複製 URL 貼到本機瀏覽器,登入後貼回驗證碼。或是改用 API key 登入繞過瀏覽器流程:`bashexport OPENAI_API_KEY=sk-proj-$YOUR_KEY_HERE
codex --api-key
`
Q3:ChatGPT 訂閱跟 OpenAI API 到底差在哪?哪個划算?
症狀:不知道選哪個登入方式。原因:兩種計價模式不同,適合場景不同。解法:| 情境 | 推薦 | 月費估算 |
|---|---|---|
| 偶爾用、一天 < 50 次 | ChatGPT Plus | $20 |
| 重度自動化、一天 > 50 次 | OpenAI API | $30-100 |
| 公司要集中管理用量 | OpenAI API + 組織帳號 | 客製 |
Q4:Codex CLI 跟 Cursor / Windsurf / Claude Code 比起來怎麼樣?
症狀:不知道要不要從現有工具跳槽。原因:不同工具有不同強項。解法:| 工具 | 強項 | 弱項 |
|---|---|---|
| Codex CLI | 終端機整合、整個 PR review、自動化友善 | TUI 介面陽春、不能像 IDE 那樣編輯 |
| Cursor | IDE 整合、AI 補全程式碼 | 處理大檔案會閃退、要訂閱 $20/月 |
| Windsurf | 介面穩定、不太吃資源 | 社群小、套件生態沒有 Cursor 完整 |
| Claude Code | 寫程式品質最高、context window 大 | 慢、台灣有時候 latency 高 |
Q5:Codex CLI 安全嗎?我有商業機密程式碼可以丟嗎?
症狀:擔心程式碼外洩。原因:所有 OpenAI API 預設都會拿去訓練(除非企業合約特別約定)。解法:`bashollama pull qwen2.5-coder:32b
`預防:商業機密程式碼一律走本地 LLM(Ollama + Qwen Coder 32B),side project 公開 repo 才用 Codex CLI。Q6:Codex CLI 跑很慢怎麼辦?
症狀:一個簡單的 review 跑 5 分鐘還沒回。原因:GPT-5 推理時間長 + context window 大 + 網路延遲。解法:`toml[model] default = "gpt-4o-mini"
[model.fast]
model = "gpt-4o-mini"
max_tokens = 2048
`
`bashexport https_proxy=http://proxy-jp.your-company.com:8080
`
Q7:可以跟 VS Code / JetBrains IDE 整合嗎?
症狀:想直接在 IDE 裡叫 Codex。原因:Codex CLI 目前沒有官方 IDE extension。解法:`bash`官方 extension 在 OpenAI 的 roadmap 上,目前優先做 CLI 跟 web。
Q8:Codex CLI 支援 Windows 嗎?
症狀:看到這篇是 Mac 教學,我是 Windows 用戶。原因:OpenAI 主要在 Mac / Linux 開發,Windows 支援比較晚。解法:`bashwsl --install -d Ubuntu-22.04
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install node@20
npm install -g @openai/codex@0.1.2
`
純 Windows 安裝:用 npm install -g @openai/codex 也行,但 TUI 介面有些顯示問題。
文末 30 秒 mindmap 摘要

30 秒看完這篇 8 個步驟

直接複製指令彙整區塊
💡 用途:裝到一半斷線 / 換機器 / 教同事時,直接複製下面 5 個區塊就能從零裝到能跑。
指令 1:Step 1-2 一鍵裝 Homebrew + Node 20.18.0
`bash/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" brew install node@20 echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zshrc source ~/.zshrc node --version && npm --version
`指令 2:Step 4 一鍵裝 Codex CLI 0.1.2
`bashnpm install -g @openai/codex@0.1.2 echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc source ~/.zshrc codex --version
`指令 3:Step 3 設定 OpenAI API Key
`bashecho 'export OPENAI_API_KEY="sk-proj-YOUR_KEY_HERE"' >> ~/.zshrc source ~/.zshrc echo "${OPENAI_API_KEY:0:11}..."
`指令 4:Step 5 第一次登入 Codex CLI
`bashcodex
`
指令 5:Step 7 跑 code review 一次
`bashcd ~/code/$PROJECT_DIR # 改成你的專案 codex review
cat .codex/review.md
`
指令 6:Step 8 設 GitHub Actions 自動 PR Review
`bashmkdir -p .github/workflows cat > .github/workflows/codex-review.yml <<'EOF' name: Codex PR Review on: pull_request: types: [opened, synchronize] jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-node@v4 with: node-version: '20.18.0' - run: npm install -g @openai/codex@0.1.2 - env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: codex review --comment --pr ${{ github.event.pull_request.number }} EOF
`
指令 7:每天早上自動生成 standup 報告
`bash0 6 * cd ~/code/$PROJECT_DIR && git log --since=yesterday --pretty=format:"%h %s" | codex exec "Summarize these commits into a daily standup report in Traditional Chinese" >> ~/standup-$(date +\%Y-\%m-\%d).md
`
指令 8:一鍵升級 Codex CLI 到最新版
`bashnpm update -g @openai/codex codex --version
`推薦資源清單
裝完 8 步後你已有可用的 AI 編程助手。Codex CLI 是起點,搭配其他工具更完整。
工具組合(我實際在用)
| 類別 | 工具 | 用途 | 費用 |
|---|---|---|---|
| IDE | Cursor | 主力 IDE,AI 補全程式碼 | $20/月 |
| Terminal AI | Codex CLI | terminal 內的 AI 助手 | 免費 + 用量 |
| Code Review | Codex CLI + GitHub Actions | 自動化 PR review | API 計價 |
| 終端機 | Warp | 現代化 terminal,AI 命令建議 | 免費版可用 |
| LLM 比較 | ChatGPT + Claude | 跨模型比較時切換 | 兩個 $20/月 |
| 本地 LLM | Ollama + Qwen Coder 32B | 敏感程式碼 | 免費 + 電費 |
延伸閱讀
作者介紹 + Affiliate 聲明
Ryan|RYAN生活黑客台灣獨立部落客,專注 AI 工具、自動化、SEO 三大主題的實戰分享。經營 ryanlifehack.com,每月實測至少 3 個新工具,把踩過的坑跟有用的 workflow 直接寫成教學文給你抄。業餘接案,幫台灣中小企業導入 AI 自動化流程。
聯絡:ryan@ryanlifehack.com Threads / X:@ryanlifehack
Affiliate Disclosure(聯盟行銷聲明):💰 透明聲明:本文含聯盟行銷連結(OpenAI、Cursor、Warp 等)。當你透過本文連結購買服務時,我會獲得一小部分佣金,不會影響你的購買價格。我只推薦我自己實際用過、且認為值得的工具。如果你不想支持 affiliate,直接到官網註冊也完全沒問題,所有功能跟價格都一樣。
安裝過程中遇到任何問題,歡迎到 RYAN生活黑客 留言,或直接寄信到 ryan@ryanlifehack.com,我會盡量回覆。
💬 Ryan 的話
教 AI 寫 code 12 年,我發現一個矛盾:
AI 越會寫 code,工程師越要懂 code。以前覺得「會用框架就好」,現在是「你必須懂框架底層才駕馭得了 AI」。
這聽起來很諷刺,但事實就是:
AI 不會取代工程師,但會用 AI 的會取代不會用 AI 的。這篇教學文,我刻意把「為什麼」放在「怎麼做」前面。 裝 Codex CLI 不難,難的是你裝完之後拿它來做什麼。
工具只是槓,你才是開槍的人。參考資料 References
>本文撰寫於 2026-06-16,所有引用來源於當日可查證。
⚠️ 此為自動生成的 References 骨架。建議人工 review 後再發布,補充缺漏的權威來源、移除不相關的項目。




