想在 Claude Code 混用 Gemini 與 GLM,為什麼一改設定檔就全亂套?
手上有 Claude、Gemini、GLM、DeepSeek 好幾家額度,想放進 Claude Code 混著用,一改 settings.json 卻把所有開著的視窗全部換掉。這篇拆解我們如何用開源外掛 model-relay 搭配 magpie,做到單視窗熱切換、免寫檔直接指派各家模型當子代理,同時保住 Artifact、Chrome 與手機遙控。
這篇的段落(4)
重度用 Claude Code 寫程式的人,手上通常不只一家模型的額度:除了 Claude 訂閱之外,多半還備著 Gemini、GLM 或 DeepSeek 的 API,再搭配 magpie 這類本機入口服務。
原本的想法很單純:架構決策交給主線模型,前端掃描、讀大檔案或跑批次測試就切給其他模型分擔。但只要你動手去改 ~/.claude/settings.json,馬上就會發現所有開著的終端機視窗全部跟著被換掉;想派別家模型當子代理,又得手寫一堆設定檔並重開對話。為了不再每天手改設定,我把這套分流機制整理成開源外掛 model-relay。
為什麼改 settings.json 會把所有視窗一起拖下水?
因為 ~/.claude/settings.json 是所有終端機共用的全域設定,而 Claude Code 預設沒有「只切換單一視窗」與「動態掛載外廠子代理」的路由層。
直接看下面這張同屏對照,就能看出「手改全域設定檔」跟「用 model-relay 搭配 magpie 分流」的差異:
因為 model-relay 在本機(127.0.0.1:8950)會認得每個對話視窗自己的 x-claude-code-session-id,當你在對話裡打 /provider 叫出輸入框上方的互動面板、按下熱鍵 1–9 切去 GLM 或 Gemini 時,它只會把眼前這一個視窗固定到該模型,隔壁視窗完全不受影響。
怎麼不用寫設定檔,就把別家模型直接當成子代理派出去?
只要把模型接進 model-relay,外掛會在執行期自動幫每一家註冊專屬的 model-relay:<名稱> 子代理型別,並繼承主線的全套工具。
以前想在同一個任務裡混用不同模型,最煩的就是維護一堆靜態設定檔。現在我們把「切換與派工」拆成三個互不打架的層級,讓你可以像調度團隊一樣把各家 Token 額度榨到最滿:
這裡有一個我們自己踩過才補上的細節:如果使用者的 settings.json 設了 availableModels 白名單,卻忘了把外廠模型名字列進去,Claude Code 會在底下偷偷把子代理換回主線模型,表面上完全看不出來。所以我們在 model-relay 加了雙重核對,子代理啟動時看回報模型、結束時看轉發站實際收到的請求,只要不一致就立刻跳出提示,叫你跑 /provider doctor 一鍵抓出來。
換成跑 GLM 或 Gemini 之後,為什麼 Artifact、Chrome 跟手機遙控還能照常開?
因為 model-relay 會在轉發時自動幫第三方端點清洗不支援的欄位,並提供不改動官方 API 位址的本機 HTTPS 代理模式。
很多人不敢在 Claude Code 切去別家模型,是怕一換過去就變成「半殘版」。我們搭配 magpie 實測時特別把三個最常壞掉的地方補齊了:
| 以前換模型常壞掉的地方 | 為什麼會壞 | model-relay 怎麼保住它 |
|---|---|---|
| 工具整批消失或報 HTTP 400 | 第三方端點或轉接層看不懂 Claude Code 的 ToolSearch 與 cache_control 標記 | 內建供應商預設集(/provider setup 自動帶入),送出前自動洗掉不支援欄位 |
| Claude Artifact 與 Chrome 自動化 | 以為換了模型就用不到官方外掛與 MCP 工具 | 工具呼叫仍由 Claude Code 宿主執行,切到 GLM 或 Gemini 照樣能開 Artifact 與操控 Chrome 分頁 |
| 手機 Remote Control 拒絕啟動 | 官方限制只有 API 位址是 api.anthropic.com 時才准開手機遙控 | 打 /provider rc on(或按面板熱鍵 x)開啟本機代理模式:位址維持官方不變,憑證私鑰簽完即毀、不碰系統憑證庫 |
現在怎麼裝起來、讓 AI 帶你一次設定好?
不用自己翻文件手改 JSON,也不用把 API 金鑰貼進對話框。先在終端機把你手上的金鑰設進環境變數(或開好本機 magpie),接著跑這兩行安裝外掛:
claude plugin marketplace add cablate/model-relay
claude plugin install model-relay@model-relay裝好後打開 Claude Code,直接輸入下面這三個指令就能上手:
/provider setup # 讓 Claude 帶你新增供應商或設定 haiku 別名分流(改設定前會先預覽)
/provider doctor --ping # 檢查設定並送出 1-token 請求,實測每家模型的首字反應速度
/provider # 在輸入框上方開啟互動控制面板(熱鍵 1-9 切換單一視窗、p 測速)開源專案與完整中英文說明都在 GitHub(cablate/model-relay)。如果你想看這套多模型工作台在極端無原始碼場景下的威力,可以接著看〈帶著 AI 把 2012 年的無原始碼老遊戲從零救活:多模型逆向除錯與本機 v1.0.0 優化實錄〉,或是讀〈寫了 Skill 卻死都不觸發?拆解 CLAUDE.md、Skill 與 MCP 的分工〉與〈逆向 Claude Agent SDK:找出每則訊息 2-3% 額度消耗的根因與解法〉把額度花在刀口上;也可以先用免費的 AI 工作流五層健檢看看你目前的開發配置還卡在哪一層。
