返回指南
設定·2026年7月26日·更新於 2026年9月30日·閱讀約 9 分鐘

Codex CLI API 金鑰 — 可運作的自訂供應商設定

Codex CLI 只接受透過 Responses API 的自訂供應商。以下是可運作的設定區塊、各欄位的作用,以及一次工作階段的費用。

最後審核於 。

Codex API 金鑰是任何可讓 Codex CLI 按 token 計費,而非使用 ChatGPT 方案的金鑰:可以是來自 platform.openai.com 的 OpenAI API 金鑰,也可以是供應商金鑰,例如 Kunavo 的 sk-kn-;Codex 會從環境變數讀取該金鑰,變數名稱由 env_key 在 model_providers 區塊中指定。 供應商必須提供 Responses API,這就是下文的那項必要條件。

Codex CLI 是 OpenAI 的開源終端機程式設計代理,可透過 ChatGPT 登入或使用 API 金鑰執行。API 金鑰這條途徑值得了解:它按 token 計費,沒有月費,也是唯一能讓你將 CLI 指向其他供應商,甚至完全不同模型系列的途徑。本指南介紹可實際運作的設定、讓大多數閘道遇到困難的那項必要條件,以及一次工作階段的實際費用。

唯一重要的要求

Codex CLI 對自訂端點的要求比大多數工具更嚴格。它的 model_providers 區塊包含一個 wire_api 鍵,而且只接受一個值:responses。這表示自訂供應商必須提供 OpenAI 的 Responses API,端點為 POST /v1/responses,而非更常見的 /v1/chat/completions。大多數相容於 OpenAI 的閘道只提供後者,因此無論你提供什麼 base_url,其中許多都完全無法讓 Codex CLI 運作。

Kunavo 同時提供兩種介面,因此下面的設定可以直接使用。

配置

Codex 會讀取 ~/.codex/config.toml。兩個最上層的鍵用於選擇模型和 provider;provider 區塊描述如何存取它:

~/.codex/config.toml
# ~/.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 指定一個環境變數,Codex 會在啟動時從該變數讀取金鑰,因此設定檔可以安全地提交或分享。

shell
# Codex reads the key from the variable named by env_key.
export KUNAVO_API_KEY="sk-kn-..."     # create at kunavo.com/app/keys

# Persist it (pick the file your shell actually loads):
echo 'export KUNAVO_API_KEY="sk-kn-..."' >> ~/.zshrc

codex "explain the structure of this repository"

請在控制台建立金鑰,事先需完成註冊並儲值 $10。金鑰只會顯示一次,請立即妥善保存。如果 codex 已在另一個 shell 中執行,請重新啟動它——它會在啟動時讀取變數,而不是在每次請求時讀取。

除錯前先驗證

如果出現問題,請確認問題出在金鑰、端點還是 CLI。一個請求即可確定:

verify.sh
# Confirm the key and the endpoint before blaming 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": "Say OK and nothing else."
  }'

收到 JSON 回應表示金鑰和端點正常,任何剩餘問題都出在 config.toml。收到 401 表示金鑰錯誤,或該變數在目前的 shell 中為空。若收到 404 且問題出在 model,表示 slug 與目錄不符。

應設定哪個模型

model 的值只是同一端點上的一個 slug,因此切換模型只需改一個詞,無需新金鑰,也無需新的 provider 區塊。

工作模型Kunavo 輸入/輸出(每 1M)
程式設計專用的預設模型gpt-5-6-sol$2.00 / $12.00
最困難的重構與除錯claude-opus-5$3.50 / $17.50
日常 agentic 程式設計claude-sonnet-5$1.40 / $7.00
快速修改與問答claude-haiku-4-5$0.70 / $3.50

gpt-5-6-sol 是針對程式設計調校的 GPT,也是此 CLI 的自然預設選擇,價格為每 100 萬 token $2.00 / $12.00,而 OpenAI 的牌價為 $5.00 / $30.00 ——但 OpenAI 目前收取促銷價格 $4.00 / $20.00,至少提供至 2026年11月21日。所有模型的完整費率請參閱價格頁面。

在 Codex CLI 中執行 Claude 模型

這一點會讓人意外:Codex CLI 受協定約束,而非受模型約束。它使用 Responses 傳輸格式,端點背後的任何聊天模型都能回應。將它指向 claude-opus-5,就能完整執行整個流程,包括工具呼叫,因此代理仍會照常讀取檔案、提出修改建議並執行命令。

~/.codex/config.toml
# Same provider block, different model — no new key, no new config.
model          = "claude-opus-5"
model_provider = "kunavo"

[model_providers.kunavo]
name     = "kunavo"
base_url = "https://api.kunavo.com/v1"
env_key  = "KUNAVO_API_KEY"
wire_api = "responses"

閘道會將 Responses 請求轉換為Anthropic Messages API,再將回覆轉換回 Responses 格式。有一點需要坦白說明:Codex 會傳送只有原生支援 Responses 的模型才能處理的不透明 reasoning 項目,這些項目在傳送給非 GPT 上游模型時會被捨棄。模型會失去上一輪的私有草稿,但它所依據的可見對話紀錄仍保持完整。實際上,這會讓長推理鏈的連貫性略有下降,但對一般的編輯—執行—修正循環完全沒有影響。

這是否是個好主意,與它是否可行是兩個問題。如果你明確想用 Claude,Claude Code 就是為它打造的,並會原樣傳遞 cache_control,不做轉換。但如果你偏好 Codex CLI 的沙箱機制,也希望由 Claude 作為背後的模型,這種組合是可行的。

工作階段的成本

Agentic CLI 會在每一步重新傳送系統提示詞、任務歷史和最新的檔案上下文,因此 token 的累積速度比步數所暗示的更快。典型的一步大約包含 25,000 個輸入 token 和 1,200 個輸出 token:

單位Token(輸入 / 輸出)gpt-5-6-sol按 OpenAI 官方价
一次代理式步驟25,000 / 1,200$0.024$0.061
一項 20 步驟的任務~500k / ~24k~$0.48~$1.21
繁忙的一天(5 項此類任務)—~$2.42~$6.05

由於不同模型系列的輸出費率差異遠大於輸入費率,輸出占比較高的工作會改變排序——請將自己的數據輸入成本計算器,不要只憑單一計算範例做判斷。失敗的請求不收費。

API 金鑰路徑何時優於訂閱

ChatGPT 方案以固定月費包含 Codex 使用量;API 金鑰則只針對實際執行的用量計費。當你只偶爾集中寫程式,而非每天使用、希望為每個金鑰設定支出上限並查看用量,而非使用不透明的額度,或想使用訂閱方案未提供的模型時,金鑰這條途徑更有優勢。如果你每天都大量使用,它就不占優勢——在這種用量下,固定費率很難被超越。這兩條途徑並不互斥:Codex 設定檔可讓你同時保留兩者,並依任務切換。

疑難排解

症狀原因
每個請求中的 404Provider 不提供 /v1/responses,或者 base_url 已經包含該路徑——它應以 /v1 結尾。
401 Unauthorizedenv_key 指定的變數在啟動 Codex 的 shell 中為空。匯出該變數後,請重新啟動 shell。
找不到模型Slug 與目錄不符。Slug 使用連字號:gpt-5-6-sol,而不是 gpt-5.3-codex。
wire_api 已拒絕只接受 "responses"。使用 "chat" 的設定將無法載入。
配額不足錢包餘額低於請求估算金額。請前往帳單儲值。

常見問題

如何將 API 金鑰與 Codex CLI 搭配使用?

在 ~/.codex/config.toml 中新增一個 [model_providers.NAME] 區塊,其中包含 base_url、env_key 和 wire_api = "responses",然後將 model_provider 設為該名稱。Codex 會從 env_key 指定的環境變數中讀取金鑰,不會將金鑰儲存在設定檔中。使用 Kunavo 時,基底 URL 為 https://api.kunavo.com/v1,金鑰是在 kunavo.com/app/keys 建立的 sk-kn- 金鑰。

Codex CLI 可以使用自訂 API 端點而不是 OpenAI 嗎?

可以,但提供者必須在 POST /v1/responses 提供 OpenAI Responses API。Codex CLI 的 model_providers 區塊只接受 wire_api = "responses",因此僅提供 /v1/chat/completions 的閘道無法設定。Kunavo 同時提供兩者,因此可以使用上面的設定區塊。

執行 Codex CLI 需要 ChatGPT Plus 或 Pro 訂閱嗎?

不需要。Codex CLI 可以透過 ChatGPT 方案登入,也可以使用 API 金鑰執行。API 金鑰這條途徑按 token 計費,沒有月費;如果你只偶爾集中寫程式,而非每天使用,這種計費方式更便宜,也是唯一能讓你將 CLI 指向其他供應商或模型系列的途徑。

Codex CLI 能執行 Claude 模型嗎?

可以,透過提供 Responses API 的閘道即可。Codex CLI 受通訊協定約束,而不受模型約束:它使用 Responses 傳輸格式,該端點背後的任何聊天模型都能回應。將其指向 Kunavo 並設定 model = claude-opus-5 後,Codex CLI 即可完整執行,包括工具呼叫——閘道會在 Responses 和 Anthropic Messages API 之間進行雙向轉換。

為什麼 Codex CLI 使用我的自訂 provider 時回傳 404?

幾乎總是因為供應商未實作 POST /v1/responses,或 base_url 已包含 /responses 路徑。Codex 會自行附加該路徑,因此 base_url 應以 /v1 結尾。若回傳 401,則表示 env_key 指定的環境變數在啟動 Codex 的 shell 中為空。

Codex CLI 將 API 金鑰儲存在哪裡?

它不會儲存金鑰。env_key 指定一個環境變數,Codex 會在啟動時從環境中讀取金鑰,因此 config.toml 不含任何機密,可以安全地提交。

需要 ChatGPT 訂閱嗎?

不需要。金鑰是登入的完整替代方案,也是唯一支援自訂 provider 或非 GPT 模型的路徑。

這適用於 IDE 擴充功能中的 Codex 嗎?

擴充功能與 CLI 共用 ~/.codex/config.toml,因此相同的 provider 區塊也適用。編輯該檔案後請重新啟動編輯器。

我可以讓 OpenAI 和閘道並存嗎?

可以——定義多個 [model_providers.*] 區塊,並使用 model_provider 切換;或者將每個區塊包裝在 Codex profile 中,每次執行時選擇。

這與 Claude Code 相比如何?

Claude Code 會讀取 ANTHROPIC_BASE_URL 並使用 Messages API,因此將它指向閘道只需設定三個環境變數,不需要設定檔。完整比較涵蓋擴充功能、沙箱機制與成本結構,請參閱 Claude Code 與 Codex CLI。由於 Codex 受協定約束,而非受模型約束,只需修改一行,就能改用同一端點背後的 Claude 模型;Anthropic Claude API 價格表列出了切換後使用 Claude 的每 token 費率。