Codex 是 OpenAI 的 AI 程式設計代理人(coding agent)。最基本的用法,是安裝在終端機裡跑的 Codex CLI(npm install -g @openai/codex),在要處理的專案資料夾裡執行 codex,再用中文告訴它要做什麼。開始使用的方式有兩種:用 ChatGPT 方案(Plus、Pro、Business 等)登入、在方案額度內使用;或是用 API 金鑰執行,用多少 token 付多少。中文教學幾乎都只寫前者,這篇補後者 —— 不訂閱也能跑 Codex CLI 的設定、依任務挑模型,以及一件任務實際要花多少錢。
Codex 不是把程式碼貼進聊天視窗的工具,而是在專案裡讀檔、改檔、跑測試和指令的代理人。哪些動作可以不經確認直接做,啟動後用 /permissions 設定。
使用 Codex 的兩種方式
| 用 ChatGPT 方案登入 | API 金鑰(按量計費) | |
|---|---|---|
| 付費 | 月費(含在方案裡) | 用多少 token 付多少,沒有月費 |
| 上限 | 方案的用量額度 | 餘額,以及每把金鑰自訂的每月上限 |
| 模型 | OpenAI 放進方案的模型 | 從端點提供的模型中依任務挑選 |
| 開始方式 | codex login 在瀏覽器登入 | config.toml 一個區塊 + 環境變數 |
用 API 金鑰跑時,費用和 ChatGPT 方案的額度分開計算。也可以直接用 OpenAI 的 API 金鑰,但這篇講的是接到相容 Responses API 的端點:同一把金鑰可以在 GPT-6 Astra 到 GPT-5.6 Luna 之間切換。例如 GPT-5.6 Sol 的 OpenAI 官方定價是 $5.00 / $30.00,這裡是每 1M token $2.00 / $12.00(費率由本站型錄直接讀取,不是手打的)。
安裝 Codex CLI —— npm 或 Homebrew
# npm(有 Node.js 就能用,macOS / Linux / Windows 通用)
npm install -g @openai/codex
# Homebrew(macOS)
brew install --cask codex兩種都是 OpenAI 官方 README 上的安裝方式,Windows 也能用同一行 npm 指令安裝。裝好之後,在專案資料夾裡輸入 codex 就會啟動。如果打算用 ChatGPT 登入,到這裡就完成了,下面的設定可以跳過。
用 API 金鑰跑 —— config.toml 加一個區塊
先註冊帳號,儲值 $10 起,再到 API 金鑰頁面建立金鑰。金鑰只會顯示一次,請立刻存好。接著在 Codex 的設定檔加一個供應商區塊:
# ~/.codex/config.toml(沒有的話就新建一個)
model = "gpt-5-6-sol"
model_provider = "kunavo"
[model_providers.kunavo]
name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
env_key = "KUNAVO_API_KEY" # 填「環境變數的名稱」,不是金鑰本身
wire_api = "responses" # 唯一有效的值,省略也一樣最容易寫錯的是 env_key:這裡填的不是金鑰本身,而是存放金鑰的環境變數名稱。金鑰不會出現在設定檔裡,所以 config.toml 可以放心提交到 git,或貼到論壇問問題。
# 把金鑰放進 env_key 指定名稱的變數(金鑰以 sk-kn- 開頭)
export KUNAVO_API_KEY="sk-kn-..."
# 寫進 shell 的設定檔,就不必每次都 export
echo 'export KUNAVO_API_KEY="sk-kn-..."' >> ~/.zshrcWindows 的 PowerShell 可以執行 setx KUNAVO_API_KEY sk-kn-...,再重新開一個終端機;設定檔的位置是 %USERPROFILE%\.codex\config.toml。啟動 Codex 之前,先用一個請求確認金鑰和端點沒問題,之後出錯時比較好判斷是哪一段。
# 懷疑 Codex 之前,先用一個請求確認金鑰和端點
curl https://api.kunavo.com/v1/responses \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-5-6-sol", "input": "只回 OK"}'回傳 JSON 就代表金鑰和端點都正常,剩下的問題出在 config.toml。各個設定欄位的說明在 Codex CLI 整合文件(英文),連在 Codex 裡呼叫 Claude 模型的方法都寫在 Codex CLI API 金鑰指南(英文)。
第一個任務
# 1. 進到要處理的專案資料夾,啟動 Codex
cd ~/work/my-app
codex
# 2. 讓它產生 AGENTS.md 草稿(寫測試怎麼跑、專案規則的檔案)
> /init
# 3. 之後直接用中文交代。附上檔名,做得更快也更省
> src/utils/date.test.ts 一直失敗,找出原因修好,並確認測試通過/init 產生的 AGENTS.md 是用來寫「看程式碼也看不出來的規則」的檔案 —— 測試怎麼跑、用哪些函式庫、哪些路徑不能動 —— 之後每次工作階段都會自動讀取。產生出來的內容只是草稿,記得自己改過一遍。
下指令的訣竅和 Claude Code 一樣:附上檔名和路徑,大任務不要一次丟。探索用掉的 token 變少,結果更快、更準,帳單也跟著下降。
依任務挑模型 —— 一件任務的實際金額
用 API 金鑰跑最大的好處,是可以依工作的輕重挑模型。model 只是端點上的模型名稱,換模型不需要新的金鑰或額外設定。
# config.toml 的預設(gpt-5-6-sol)不動,只有這次啟動換模型
codex -m gpt-6-astra # 找不到原因的 bug、跨模組的修改
codex -m gpt-5-6-luna # 大量取代、整理日誌這類輕量工作| 工作 | 模型 | 輸入 / 輸出(每 1M token) | 一件任務約 |
|---|---|---|---|
| 找不到原因的 bug、跨模組的修改 | gpt-6-astra | $4.00 / $20.00 | $2.48 |
| 預設 —— 日常的實作與修改 | gpt-5-6-sol | $2.00 / $12.00 | $1.29 |
| 補測試、例行修改、解釋程式碼 | gpt-5-6-terra | $0.70 / $4.20 | $0.451 |
| 大量取代、整理日誌與錯誤訊息 | gpt-5-6-luna | $0.07 / $0.42 | $0.045 |
「一件任務」的算法,是把修好一個失敗的測試當成 20 步。每一步輸入 25,000 token(系統提示 + 對話紀錄 + 讀進來的檔案)、輸出 1,200 token(一次修改或說明),所以一件任務是輸入 500,000、輸出 24,000 token。用 GPT-5.6 Sol 約 $1.29;同樣的 token 數照 OpenAI 的 API 定價付,是 $3.22。越便宜的模型,越可能要多來回幾次才改對,所以實務上是一次沒解決就往上換一級。
這個算法沒有計入快取。Codex 每一步都會重送對話紀錄,命中快取的輸入以輸入單價的 0.10 倍計費(GPT-5.6 Sol 為每 1M token $0.20),新寫入快取的部分則是輸入單價的 1.25 倍。另外,GPT-5.6 系列與 GPT-6 Astra 在單一請求的提示超過 272K token 時,整個請求都以輸入 2 倍、輸出 1.5 倍計費,所以別把太多工作塞進同一個工作階段,一件任務重開一次比較保險。推理模型的思考 token 以輸出費率計費,題目越難,輸出越多。實際金額請看回應裡的 usage 和用量紀錄。模型規格在 GPT-5.6 Sol 模型頁,所有模型的費率在價目表。
常見錯誤
| 症狀 | 原因與處理 |
|---|---|
401(authentication_error) | 金鑰錯誤,或 env_key 指定的變數在啟動 Codex 的 shell 裡是空的。確認 export 之後有沒有重新啟動,以及 env_key 是不是誤填成金鑰本身。 |
設定檔讀不進去、wire_api 錯誤 | 舊文章裡的 wire_api = "chat" 在現在的 Codex 已經無效,改成 "responses" 或整行刪掉。 |
404「Model … is not available」 | 模型名稱要照型錄用連字號寫(gpt-5-6-sol);照 OpenAI 的寫法 gpt-5.6-sol 會找不到。已下架的模型名稱也是同樣的錯誤。 |
每個請求都 404 | base_url 要停在 /v1。/responses 由 Codex 自己加上,寫進去會重複。 |
402(insufficient_quota) | 餘額不足,或已達金鑰設定的每月上限;錯誤訊息會寫明是哪一種。 |
403(permission_error) | 目前連線的 IP 不在這把金鑰的 IP 允許清單裡。 |
老實說 —— 什麼時候 ChatGPT 方案比較划算
如果每天都花好幾個小時和 Codex 來回對話,固定月費的方案通常比較便宜。按量計費和 token 用量成正比,用得越多、越穩定,月費的優勢越大。分界點是「月費 ÷ 一件任務的單價」,和方案之間的損益平衡點在 Codex 費用那頁算好了。
還有兩件事要先知道。根據 OpenAI 的文件,依賴 ChatGPT 工作區或雲端服務的功能,用 API 金鑰時會受限或無法使用。另外,Kunavo 這條路是共享容量,沒有專屬配額,也沒有合約保障的 SLA;需要保證額度或 SLA 的話,直接和 OpenAI 簽約比較適合。
反過來,適合 API 金鑰的是:用量時多時少的人、想依任務挑模型的人、團隊裡想按金鑰分開上限和用量紀錄的人,以及只想在方案額度用完那天繼續工作的人。兩者可以並用:刪掉 config.toml 裡 model_provider 那一行,就回到 ChatGPT 登入;想在每次啟動時切換,可以用 Codex 的 --profile。
付款用國際信用卡(含 JCB)或 Apple Pay,台灣沒有本地支付通道 —— 街口、LINE Pay 都不在可用清單上。預付制只在儲值時刷一次卡,餘額不會過期,失敗的請求不計費。還在 Codex 和 Claude Code 之間猶豫的話,可以看 Claude Code vs Codex CLI(英文);Claude Code 這邊怎麼算錢,在 Claude Code 費用。
常見問題
Codex 怎麼用?
安裝 Codex CLI(npm install -g @openai/codex,macOS 也可以用 brew install --cask codex),在專案資料夾裡執行 codex,再用中文說明要做的事。登入方式有兩種:用 ChatGPT 方案登入、在方案額度內使用,或是用 API 金鑰按 token 計費。走 API 金鑰的話,要在 ~/.codex/config.toml 加一個供應商區塊,金鑰則放在環境變數裡。
Codex CLI 怎麼安裝?
npm install -g @openai/codex 是 macOS、Linux、Windows 通用的方式;macOS 也可以用 brew install --cask codex。裝好之後,在專案資料夾裡輸入 codex 就會啟動。
Codex 可以免費用嗎?
Codex CLI 本身免費,但呼叫模型要付費:不是用 ChatGPT 方案(Plus、Pro、Business 等)裡的用量額度,就是用 API 金鑰按 token 付費。按量計費沒有月費,沒用的月份是 $0。
沒有 ChatGPT Plus 也能用 Codex CLI 嗎?
可以。Codex CLI 也能用 API 金鑰執行,這時不是扣 ChatGPT 方案的額度,而是用多少 token 付多少。除了直接交給它 OpenAI 的 API 金鑰,也可以把相容 Responses API 的端點登記在 config.toml 的 model_providers;以 Kunavo 為例,base_url 是 https://api.kunavo.com/v1,預設模型是 gpt-5-6-sol。
VS Code 擴充功能也能用 API 金鑰嗎?
可以。Codex 的 IDE 擴充功能和 CLI 讀同一個 ~/.codex/config.toml,所以 model_providers 區塊一樣有效。改完設定之後,請重新啟動編輯器。
Codex CLI 該選哪個模型?
預設用 gpt-5-6-sol(每 1M token $2.00 / $12.00)就夠了。找不到原因的 bug 或跨模組的修改才換 gpt-6-astra($4.00 / $20.00);例行修改用 gpt-5-6-terra($0.70 / $4.20),取代、摘要這類輕量工作用 gpt-5-6-luna($0.07 / $0.42)。用 codex -m <模型名稱> 切換,只影響這一次啟動。
Codex CLI 出現 401 錯誤怎麼辦?
幾乎都是金鑰沒有傳到 Codex。config.toml 的 env_key 要填環境變數的名稱(例如 KUNAVO_API_KEY),不是金鑰本身,而且必須從 export 過這個變數的 shell 啟動 codex。在另一個分頁 export,或是 export 之前就已經開著 Codex,是最常見的兩種情況。
在台灣要怎麼付款?
用國際信用卡(Visa、Mastercard、American Express、JCB、UnionPay)或 Apple Pay;台灣沒有本地支付通道 —— 街口、LINE Pay 都不在可用清單上。Kunavo 是預付制,最低儲值 $10,只在儲值時刷一次卡,餘額不會過期,失敗的請求不計費。