跳到主要內容
maxstudioNews
AI 自動化DEV Community (Codex)約 9 分鐘

統一管理 Codex 與 Claude Code:單一閘道設定教學

許多工程團隊在程式碼生成代理工具的選擇上缺乏統一標準,導致成本分散且難以追蹤。本指南介紹如何透過 TokenRouter 單一閘道,整合 Claude Code 與 Codex 這兩種 AI 編碼工具,實現集中化的預算管理、金鑰分配與使用日誌記錄。

統一管理 Codex 與 Claude Code:單一閘道設定教學
圖片來源:DEV Community (Codex)

許多團隊並未統一使用單一的程式碼生成代理。有些工程師偏好 Claude Code,有些則選擇 Codex,還有些人會根據任務或誰的用量限制剛重置而切換工具。這種情況在有人詢問團隊上個月在程式碼生成代理上花了多少錢時,就會變得麻煩,因為答案會涉及兩個供應商、多個共享金鑰和一份試算表。

本指南將設定這兩種工具透過單一閘道運作。每位工程師都會獲得一個金鑰和一個預算,並且無論他們使用哪個代理,每次會話都會記錄在同一組日誌中。我們使用我們開發的 TokenRouter,但工具端的配置也展示了在任何閘道中需要注意的事項。

為什麼這行得通:兩個協定,一個閘道。Claude Code 使用 Anthropic Messages API(/v1/messages)。Codex CLI 則使用 OpenAI Responses API(/v1/responses),並支援自訂模型供應商。一個能原生支援這兩種協定的閘道,可以無縫地部署在這兩種工具之前,無需任何包裝器或分支。

TokenRouter 為 Anthropic 客戶原生提供 /v1/messages 服務,將請求直接傳遞給 Claude 模型。對於 OpenAI 格式的客戶,它則提供 /v1/responses,以及 /v1/chat/completions 和 /v1/embeddings。

步驟 1:連接供應商、設定預算、建立金鑰

在控制台中:連接供應商。開啟「供應商金鑰」→「新增供應商金鑰」,並新增您將使用的每個供應商,例如 Anthropic 和 OpenAI。免費方案可連接 2 個供應商,付費方案則可連接所有 13 個。

邀請工程師。在「成員」→「邀請成員」下,新增每位工程師並賦予「成員」角色,然後選擇他們的團隊。為每位工程師設定每日硬性上限。在「預算」→「建立預算」下,將「範圍」設為「成員」,「期間」設為「每日」,設定一個金額限制,並開啟硬性上限開關。預設會在達到 50%、80% 和 100% 時發出警報。每日預算會在 UTC 時間 00:00 重置。

讓每位工程師在「API 金鑰」→「建立金鑰」下建立自己的金鑰,並設定每分鐘請求數(RPM)和每分鐘代幣數(TPM)限制。成員建立的金鑰會與他們綁定,因此他們的成員預算會涵蓋他們擁有的所有金鑰。這表示一個預算可以涵蓋這兩種工具,無論他們是為兩種工具使用一個金鑰,還是每種工具一個金鑰。

為兩種工具使用一個金鑰(例如 agents-alice)是最簡單的。為每種工具使用一個金鑰(claude-code-alice、codex-alice)則可以在同一人的預算下,清晰地比較 Claude Code 與 Codex 的成本。

當預算硬性上限即將被突破時,請求會在到達供應商之前被拒絕,並返回 429 budget_exceeded 錯誤。超出速率限制則會返回 429 rate_limit_exceeded,並帶有 Retry-After 標頭。

步驟 2:Claude Code 設定

```bash

export ANTHROPIC_BASE_URL = https://api.tokenrouter.io

export ANTHROPIC_AUTH_TOKEN = tr_your_key_here

claude

```

這個基礎 URL 不包含 /v1。Anthropic 客戶端會自行附加 /v1/messages。ANTHROPIC_API_KEY=tr_... 也同樣有效。將這兩行新增到您的 shell 設定檔中。驗證:claude -p "Reply with exactly: routed via TokenRouter"

步驟 3:Codex CLI 設定

將供應商新增到 ~/.codex/config.toml。這個基礎 URL 包含 /v1,與 Claude Code 的設定相反:

```toml

model = "openai/gpt-5-mini"

model_provider = "tokenrouter"

[model_providers.tokenrouter]

name = "TokenRouter"

base_url = "https://api.tokenrouter.io/v1"

env_key = "TOKENROUTER_API_KEY"

wire_api = "responses"

```

然後:

```bash

export TOKENROUTER_API_KEY = tr_your_key_here

codex "explain what this repo does"

```

Codex 發送無狀態的 Responses 呼叫,並在每次輪次重新發送上下文。這與 TokenRouter 的 Responses 實作相符,因此不需要 previous_response_id。

步驟 4(可選):opencode 設定

opencode 支援任何與 OpenAI 相容的供應商。在 opencode.json 中:

```json

{

"$schema": "https://opencode.ai/config.json",

"provider": {

"tokenrouter": {

"npm": "@ai-sdk/openai-compatible",

"name": "TokenRouter",

"options": {

"baseURL": "https://api.tokenrouter.io/v1",

"apiKey": "{env:TOKENROUTER_API_KEY}"

},

"models": {

"openai/gpt-5-mini": {

"name": "GPT-5 mini"

},

"anthropic/claude-sonnet-4-5": {

"name": "Claude Sonnet 4.5"

},

"auto": {

"name": "TokenRouter Auto"

}

}

}

}

}

```

步驟 5:為每個工具選擇模型,或讓路由器選擇

模型在所有 13 個供應商中都以 供應商/模型 的格式定址,相同的 ID 適用於所有接受模型欄位的端點。任何路由的模型都可以在 Codex 的模型欄位中使用,包括 Anthropic 模型,例如 anthropic/claude-sonnet-4-5。

TokenRouter 會將 Responses 呼叫轉換為每個供應商的原生 API,因此 Codex 可以透過相同的金鑰對 Claude 模型執行:model = "anthropic/claude-sonnet-4-5"。

在付費方案中,您可以傳遞 auto 並帶有策略:auto:cost(成本優先)、auto:latency(延遲優先)、auto:quality(品質優先)或 auto:balanced(平衡)。路由器會從您擁有金鑰的供應商中選擇,並遵循團隊的模型允許清單。

選定的模型會在回應的模型欄位中返回,並顯示在分析中,因此歸因保持精確。在免費方案中,auto 會返回 403 auto_routing_unavailable,因此請傳遞明確的模型。一個合理的模式是:讓代理使用您已測試過的明確模型,並將 auto:cost 用於摘要日誌等次要任務。

步驟 6:在一個地方查看支出

來自任一工具的每個請求都與一個金鑰綁定,而成員建立的金鑰也會將其與該工程師及其團隊綁定。分析和 CSV 匯出會按團隊、成員、金鑰、模型和供應商細分支出。如果每個工具使用獨立的金鑰,這也是您團隊直接比較 Claude Code 與 Codex 成本的方式。這比單一代幣價格更有用,因為相同的模型根據其使用方式,每次任務的成本可能大不相同。

團隊推廣檢查清單

首先讓兩名志願者(每種工具各一人)試用一週。使用成員預算,並關閉硬性上限開關,這樣在您了解正常情況時,沒有人會被阻擋。在分析中找出每個人最繁忙的正常工作日,然後開啟硬性上限,並設定一個舒適地高於該值的限制。上限是為了阻止無限循環,而不是為了限制工作。

為每個金鑰設定 TPM 限制,這樣重試循環會在幾分鐘內被限制住,而不是在一天結束時才被發現。一旦您知道團隊實際使用了哪些模型,請新增團隊模型允許清單(模型存取)。將兩個環境變數和 Codex 供應商區塊寫入您的入職文件中,包括它們之間 /v1 的差異。離職變得簡單:撤銷該人員的金鑰並將其從成員中移除。

團隊推廣前需測試的已知問題

這兩種工具都變化很快,有些開放問題會影響任何閘道或自訂供應商:Claude Code:桌面應用程式的「程式碼」分頁會忽略 settings.json 中的 ANTHROPIC_BASE_URL(#97574)。任何非預設的基礎 URL 都會導致無頭執行中訊息線程丟失並減少並行工具呼叫(#98464)。在恢復的會話中,/model 可能不會顯示代理的模型(#98540)。

Codex:幾個開放問題報告自訂供應商會話歸檔失敗,或在更新後丟失供應商的模型目錄(openai/codex#48367、#48961、#49227、#50282)。對於團隊推廣,請固定版本,並在升級後重新檢查。

故障排除

  • Claude Code 返回 404:檢查 ANTHROPIC_BASE_URL 是否包含 /v1。
  • 403 model_not_allowed:該模型不在該團隊的允許清單中。
  • 429 budget_exceeded 與 rate_limit_exceeded:前者表示請求將超出當前期間的硬性上限。後者表示請放慢速度,並在 Retry-After 延遲後重試。
  • 502 upstream_error:閘道無法從供應商那裡獲得良好的回應,請檢查您的金鑰。

我們開發了 TokenRouter。免費方案無需信用卡。Claude Code、Codex、opencode 和 zcode 的設定指南可在文件網站 tokenrouter.io/docs/codex 上找到。

Share

覺得值得一看?分享給朋友。

以上為 AI 自動翻譯導讀。原文版權歸 DEV Community (Codex) 所有, 建議透過「閱讀原文」前往原始網站,以取得最完整資訊並支持原作者。

Newsletter

不用每天追,AI 重點每週寄給你

43 個來源、每 2 小時更新,太多看不完。電子報每週挑最值得看的幾則,附上 Max 的看法。

每週一封。Email 只用來寄電子報,每封信都能一鍵退訂。