Claude Code原生僅支援Anthropic官方模型,若要調用第三方AI模型(本例為Gemini API),可利用「路由代理工具」,目前主流的開源專案有LiteLLM或claude-code-proxy 專案,這類路由工具會在本機啟動路由伺服器,將Claude Code發出的Anthropic式請求,翻譯成第三方模型的請求格式。本篇將採用LiteLLM執行路由代理。
d:\ 安裝於D: 槽 mkdir LiteLLM_proxy 建立安裝目錄 cd LiteLLM_proxy 切換到安裝目錄 python -m venv myenv 建立虛擬環境 myenv\Scripts\activate.bat 啟動虛擬環境(Linux用 source myenv/bin/activate python -m pip install --upgrade pip 更新 pip pip install "litellm[proxy]" 安裝 litellm_proxy litellm --version 檢查版本,並確認litellm可正常執行
建立CONFIG.yaml檔案(檔名可自定),定義如何將Claude模型名稱對應到Google Gemini:
model_list: # 當 Claude Code 呼叫 claude-3-5-sonnet 時,實際走 gemini-2.5-pro - model_name: claude-sonnet-5 # 到https://platform.claude.com/docs/en/about-claude/models/overview # 查詢精確模型名稱 litellm_params: model: gemini/gemini-3.1-flash-lite # 有關gemini api key能用的模型之真正名稱,請到 # https://aistudio.google.com/app/rate-limit 的Tools區段 # 尋找RPD欄位不是 0/0 的模型,如果模型名稱右邊有(i)符號者, # 請點此符號查看個別模型的名稱。調用模式時需用:[模型主名]-[板本]-[類型]型式, # 例如:Gemini 3.1 Flash Lite的調用名稱為 gemini-3.1-flash-lite。 api_key: "os.environ/GEMINI_API_KEY # 可以使用 "os.environ/GEMINI_API_KEY" 由作業系統的環境變數提供>KEY, # 亦可直接填入 API KEY,為不同模型指定不同 API KEY
# 定義呼叫Claude Code的 AI(例如>claude-3-5-haiku)時, # 要轉發的對象(例如 gemini-2.5-pro) - model_name: claude-opus-4-8 litellm_params: model: gemini/gemini-2.5-pro api_key: "os.environ/GEMINI_API_KEY" - model_name: claude-haiku-4-5 litellm_params: max_tokens: 1500 model: gemini/gemma-4-31b-it api_key: "os.environ/GEMINI_API_KEY" general_settings: user_auth_key_required: false allow_requests_on_db_unavailale: true # 即使 db 無法連線,亦傳送請求 litellm_settings: drop_params: true # 自動過濾掉 Gemini 不支援的 Anthropic 特有參數 model_alias_map: # 可讓多個claude-模式對應到同一個gemini模式,以解決相同性問題 claude-haiku-4-5-20251001: gemini/gemini-3.1-flash-lite
router_settings: fallbacks: # 設定降級機制 - claude-opus-4-8: [claude-sonnet-5] # Opus 失敗就降級到 Sonnet allowed_fails: 3 # 允許模型連續失敗幾次後,將它暫時踢出可用清單 cooldown_time: 30 # 失敗的模型要被暫停多久(見上項) enable_pre_call_checks: true
# environment_variables: # 亦可將環境變數設在此處 # OPENAI_API_KEY: "sk-proj-kq OpenAI API金鑰" # ANTHROPIC_API_KEY: "sk-ant-ap Claude AI API金鑰" # GEMINI_API_KEY: "AQ.Ab8 Gemini AI API金鑰"
ANTHROPIC_BASE_URL=http://localhost:4000/ CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
d:\ 因安裝在 D: 槽,所換到 D: cd LiteLLM_proxy >切換到安裝目錄 myenv\Scripts\activate.bat 啟動虛擬環境(Linux用 source myenv/bin/activate litellm --config config.yaml
※ 可以建立不同的CONFIG.yaml,依不同情境,在執行litellm指定不同CONFIG.yaml。
- 工具調用(Tool Use / Function Calling)限制:Claude Code 極度依賴模型執行終端指令(如編譯、讀檔、寫檔)的能力。Gemini 雖然支援 Function Calling,但轉發過程中如果遇到複雜的架構,偶爾可能發生解析錯誤。建議優先使用 Gemini 2.5 Pro 或更高等級的模型來確保 Agent 運作順暢。
- 無感切換:進入 Claude Code 介面後直接輸入 /model,便可看到轉發而來的 Gemini 模型選項,並自由切換。
完成各環境變數設定,且順利啟動litellm後,litellm會在 http://0.0.0.0:4000/ 接聽請求,接著啟動claude,下圖是claude透過litellm proxy調用gemini的情形。
由litellm的日誌訊息可發現,claude收到的回應來源是claude-sonnet-5,但真正回應此訊息的源頭是gemini-3.1-flash-lite。


