文件

文件

CC Switch

CC Switch 是一款桌面應用程式,可讓 Claude Code 和 Codex 在不同供應商之間切換。Kunavo 應以自訂設定方式加入:服務根網址、Bearer 驗證、原生 Anthropic Messages,且不使用本機路由。

三個欄位和兩個下拉選單。端點填入 https://api.kunavo.com,使用您的 sk-kn-… 金鑰,然後——多數指南會遺漏的部分——將 API Format 保持為 Anthropic Messages (Native),並將 Auth Field 保持為 ANTHROPIC_AUTH_TOKEN。Kunavo 原生支援 Messages API,因此 Claude Code 端不需要本機路由。

CC Switch → Claude Code 分頁 → Add provider
Provider Name   Kunavo
API Key         sk-kn-...
API Endpoint    https://api.kunavo.com      <- service root, no /v1, no trailing slash

Advanced Options
  API Format    Anthropic Messages (Native) <- the default; do NOT switch
  Auth Field    ANTHROPIC_AUTH_TOKEN (Default)
端點應填入服務根網址:不含 /v1,也不加結尾斜線。Anthropic 風格的用戶端會自行附加 /v1/messages——這就是此欄位看起來與所有 OpenAI 範例不同的原因;在 OpenAI 範例中,/v1 應包含在 Base URL 裡。完整說明請見ANTHROPIC_BASE_URL 頁面。

逐步設定(Claude Code 分頁)

  1. 在 /app/keys 建立金鑰並複製——金鑰只會顯示一次。
  2. 在 CC Switch 中開啟頂層的 Claude Code 分頁,然後按一下加號按鈕。保留預設的 Custom Configuration,不要改用預設範本。
  3. 填入 Provider Name、API Key,並將 API Endpoint 設為 https://api.kunavo.com。
  4. 展開 Advanced Options,確認 API Format 為 Anthropic Messages (Native),且 Auth Field 為 ANTHROPIC_AUTH_TOKEN (Default)。兩者都是預設值;此處的重點是確認設定,而不是變更它們。
  5. 儲存後,按一下 Activate。卡片不應顯示 Needs Routing 標記——只有需要轉換協定的供應商才會出現該標記。

為什麼不會出現「需要路由」標記

CC Switch 的本機路由用於橋接不同協定。Claude Code 會將 Anthropic Messages 請求傳送至 /v1/messages;只提供 OpenAI Chat Completions 或 Responses API 的閘道無法處理這類請求,因此路由會在送出時轉換請求,並在返回時轉換回應。轉換過程會重新塑造串流事件、工具呼叫和思考設定的格式——這種做法可行,但會在編輯器和模型之間多出一個環節。

Kunavo 直接提供 POST /v1/messages,因此 Claude Code 端無須轉換:供應商維持 Anthropic Messages (Native),路由完全不會介入。Kunavo 也在同一把金鑰下提供 POST /v1/chat/completions 和 POST /v1/responses,因此才能使用下方的 Codex 設定方式。

CC Switch 分頁將格式設為本機路由
Claude CodeAnthropic Messages (Native)不需要
CodexAnthropic Messages (routing required)必須啟用——路由會將 /responses 改寫為 /v1/messages

在 Codex 中執行 Claude 模型

這是其他供應商指南沒有涵蓋的設定方式。Codex 使用 OpenAI Responses API,因此直接指向 /v1/messages 端點會收到 404——CC Switch 的解法是讓 Codex 維持使用本機路由並進行轉換。在 Codex 分頁中沒有 Anthropic 預設範本,因此同樣需要使用 Custom Configuration:

CC Switch → Codex 分頁 → Add provider
Provider Name      Kunavo
API Key            sk-kn-...
API Request URL    https://api.kunavo.com
Default Model      claude-sonnet-5

Advanced Options
  Upstream Format  Anthropic Messages (routing required)
CC Switch 自己的指南還特別提醒了一點,值得再次強調:有些供應商會限制其 Claude API 只能由 Claude Code 用戶端使用,因此這類金鑰透過 Codex 使用時可能會報錯。Kunavo 沒有這項限制——同一個 sk-kn-… 金鑰可用於 Messages 介面和 Responses 介面,兩者都沒有用戶端允許清單。如果您想完全略過翻譯,Codex CLI 也可以直接連到 Kunavo 原生的 /v1/responses 介面;相關設定請參閱Codex CLI 頁面。

模型對應

CC Switch 會將 Claude Code 的三個層級對應至實際模型 ID。請填入全部三個欄位及 Default fallback model——否則,未對應的請求會沿用原本的 Claude 名稱傳送,並在上游報錯。費率以美元/1M 個 token 計,依序為輸入/輸出,並即時從型錄讀取。

方案層級模型 IDKunavo 輸入/輸出原因
Haikuclaude-haiku-4-5$0.70 / $3.50Claude Code 會將背景子任務導向此處——最便宜的層級最適合
Sonnetclaude-sonnet-5$1.40 / $7.00日常工作的預設選擇
Opusclaude-opus-5-5$2.80 / $14.00架構層級的變更
除非該層級確實支援一百萬 token 的上下文視窗,否則請勿勾選 1M。宣告上游不支援的上下文長度不會擴大任何限制——只會讓對話進行到一半時才出錯。

先確認,再除錯應用程式

一組成對請求就能確認故障出在金鑰、端點還是 CC Switch。如果兩個請求都回傳 200,其他仍有問題的部分就是表單中的欄位——幾乎總是 Auth Field,或是不該出現在端點中的 /v1。

# Settles whether a failure is the key, the endpoint, or CC Switch.
# 200 + a JSON list of model ids means the same key works in the app.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

# The Anthropic face, which is the one the Claude Code tab actually calls.
curl -sS https://api.kunavo.com/v1/messages \
  -H "Authorization: Bearer sk-kn-..." \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-haiku-4-5","max_tokens":16,
       "messages":[{"role":"user","content":"ping"}]}'

參考資料

CC Switch 是開源軟體,位於 github.com/farion1231/cc-switch。上述欄位名稱和行為取自其自有指南——Claude Code 路由指南和Codex 路由指南,兩份指南都註明適用於 3.17.0 及更新版本。較舊版本的表單有所不同;如果找不到此處提及的欄位,請查看應用程式的「關於」面板。Kunavo 端的文件請參閱Messages API、聊天完成和整合中心。

常見問題

如何在 CC Switch 中新增自訂供應商?

在 Claude Code 分頁中,按一下加號按鈕,保留預設的 Custom Configuration,然後填入 Provider Name、API Key 和 API Endpoint。API Endpoint 應填寫閘道的服務根網址,不含結尾斜線——Kunavo 的網址是 https://api.kunavo.com,不含 /v1。接著開啟 Advanced Options,確認兩個欄位:API Format 和 Auth Field。這兩者決定供應商能否運作,也是大多數設定指南會遺漏的欄位。

Kunavo 需要開啟 CC Switch 的本機路由嗎?

不需要。本機路由用來轉換協定——當上游只支援 OpenAI Responses 或 Chat Completions 時,它會將 Claude Code 的 /v1/messages 請求轉換成相應格式。Kunavo 原生支援 Anthropic Messages API,端點為 https://api.kunavo.com/v1/messages,因此 API Format 維持預設的 Anthropic Messages (Native),供應商卡片不會顯示 Needs Routing 標記,請求也會直接送至上游。只提供 Chat Completions 的閘道則必須為每個請求啟用本機路由。

為什麼 API 端點沒有 /v1,而 OpenAI 範例卻有?

因為這兩種慣例是刻意設計得不同的。Anthropic 風格的用戶端會自行附加 /v1/messages,因此只需要來源網址——https://api.kunavo.com。OpenAI SDK 預期 base_url 已包含 /v1,因此需要 https://api.kunavo.com/v1。CC Switch 的 Claude Code 分頁採用 Anthropic 慣例,因此不加 /v1。把這兩種格式弄反,是所有用戶端中最常見的設定錯誤;ANTHROPIC_BASE_URL 頁面會說明這兩種格式。

驗證欄位應設為 ANTHROPIC_API_KEY 嗎?

不需要——保留預設值 ANTHROPIC_AUTH_TOKEN。這個預設值會讓 CC Switch 傳送 Authorization: Bearer <key>。若選擇 ANTHROPIC_API_KEY,它會改為傳送 x-api-key 標頭,而 Kunavo 同樣能讀取,因此問題不在標頭,而在核准程序。Claude Code 在互動式工作階段中使用 ANTHROPIC_API_KEY 前,會要求一次性核准;若當時拒絕,之後就會忽略該金鑰——這種驗證失敗看起來像是金鑰錯誤,實際上金鑰並沒有問題。

可以透過 CC Switch 在 Codex 中執行 Claude 模型嗎?

可以,這正是大多數供應商指南略過的部分。在 Codex 分頁中,新增一個 Custom Configuration,將 API Request URL 設為 https://api.kunavo.com,並指定 Default Model,例如 claude-sonnet-5;接著在 Advanced Options 中將 Upstream Format 設為 Anthropic Messages (routing required)。此方向必須開啟本機路由,因為 Codex 使用 Responses API,而路由會將 /responses 改寫為 /v1/messages。CC Switch 自己的指南提醒,有些供應商會限制其 Claude API 只能由 Claude Code 用戶端使用,這類金鑰透過 Codex 會失敗——Kunavo 沒有此限制:同一把 sk-kn- 金鑰可用於兩種用戶端。

CC Switch 的模型對應應填入哪些模型 ID?

使用 Kunavo 的目錄 ID。建議的預設分配是:在 Haiku 層級使用 claude-haiku-4-5(每 1M 個 token $0.70 / $3.50),因為 Claude Code 會將背景子任務傳送至此;在 Sonnet 層級使用 claude-sonnet-5($1.40 / $7.00);在 Opus 層級使用 claude-opus-5-5($2.80 / $14.00)。也請務必填寫 Default fallback model——如果留空,CC Switch 會以原始 Claude 名稱轉送未符合的請求,而這些請求會在上游發生錯誤。即時清單位於 GET /v1/models。

CC Switch 將我的 API 金鑰存放在哪裡?

存放在 CC Switch 自己的儲存區,而非用戶端設定中。CC Switch 將供應商資料保存在 ~/.cc-switch/cc-switch.db;當本機路由接管用戶端時,只會將本機路由位址寫入 ~/.claude/settings.json,並在驗證項目中放入佔位值——真正的金鑰會在轉送請求時由路由注入。這是 CC Switch 本身的特性,與 Kunavo 無關;值得了解這點,因為您貼上的金鑰不會出現在您可能準備提交的檔案中。