想在 Claude Code 混用 Gemini 與 GLM,為什麼一改設定檔就全亂套?

手上有 Claude、Gemini、GLM、DeepSeek 好幾家額度,想放進 Claude Code 混著用,一改 settings.json 卻把所有開著的視窗全部換掉。這篇拆解我們如何用開源外掛 model-relay 搭配 magpie,做到單視窗熱切換、免寫檔直接指派各家模型當子代理,同時保住 Artifact、Chrome 與手機遙控。

這篇的段落(4)
  1. 為什麼改 settings.json 會把所有視窗一起拖下水?
  2. 怎麼不用寫設定檔,就把別家模型直接當成子代理派出去?
  3. 換成跑 GLM 或 Gemini 之後,為什麼 Artifact、Chrome 跟手機遙控還能照常開?
  4. 現在怎麼裝起來、讓 AI 帶你一次設定好?

重度用 Claude Code 寫程式的人,手上通常不只一家模型的額度:除了 Claude 訂閱之外,多半還備著 Gemini、GLM 或 DeepSeek 的 API,再搭配 magpie 這類本機入口服務。

原本的想法很單純:架構決策交給主線模型,前端掃描、讀大檔案或跑批次測試就切給其他模型分擔。但只要你動手去改 ~/.claude/settings.json,馬上就會發現所有開著的終端機視窗全部跟著被換掉;想派別家模型當子代理,又得手寫一堆設定檔並重開對話。為了不再每天手改設定,我把這套分流機制整理成開源外掛 model-relay。


為什麼改 settings.json 會把所有視窗一起拖下水?

因為 ~/.claude/settings.json 是所有終端機共用的全域設定,而 Claude Code 預設沒有「只切換單一視窗」與「動態掛載外廠子代理」的路由層。

直接看下面這張同屏對照,就能看出「手改全域設定檔」跟「用 model-relay 搭配 magpie 分流」的差異:

傳統修改全域 settings.json 與使用 model-relay 搭配 magpie 的同屏工作流對照 同樣想在 Claude Code 混用多家模型:全域硬改 vs 本機分流工作台 ❌ 傳統做法:手改全域 settings.json + 手寫 .claude/agents/*.md(全視窗陪葬、需重開對話) 改全域 settings.json 所有視窗共用同一份設定 視窗 1、視窗 2、視窗 3 全部被換掉 隔壁正在跑的長對話跟著中斷或換腦 派子代理需手寫設定檔 每加一家都要建檔並重開對話 ✅ model-relay + magpie:單視窗獨立切換、接進來自動變子代理、官方三大神器全保留 輸入框上方 /provider 按熱鍵 1~9 只切當前視窗 其他視窗照跑原本任務 model-relay ↔ 本機 magpie 收攏 Claude / Gemini / GLM / DeepSeek 自動註冊為可派子代理(免寫檔) 官方原生工具照常運作 ✓ Artifact ✓ Chrome 操控 ✓ 手機 Remote Control 並存 💡 本機 magpie 若連接埠未開,model-relay 還能透過 launch 設定在背景自動幫你拉起,開終端機就能直接用。
上方是直接改全域設定檔的連鎖副作用;下方透過 model-relay 依對話 Session ID 獨立路由,單視窗切換與子代理派工互不干擾。

因為 model-relay 在本機(127.0.0.1:8950)會認得每個對話視窗自己的 x-claude-code-session-id,當你在對話裡打 /provider 叫出輸入框上方的互動面板、按下熱鍵 1–9 切去 GLM 或 Gemini 時,它只會把眼前這一個視窗固定到該模型,隔壁視窗完全不受影響。


怎麼不用寫設定檔,就把別家模型直接當成子代理派出去?

只要把模型接進 model-relay,外掛會在執行期自動幫每一家註冊專屬的 model-relay:<名稱> 子代理型別,並繼承主線的全套工具。

以前想在同一個任務裡混用不同模型,最煩的就是維護一堆靜態設定檔。現在我們把「切換與派工」拆成三個互不打架的層級,讓你可以像調度團隊一樣把各家 Token 額度榨到最滿:

用 model-relay 混搭主線、各家子代理與 haiku 別名分流的三層調度圖 把各家 Token 資源榨乾的三層調度:主線控場 + 點名派子代理 + 日常雜活自動分流 ① 當前對話主線 用 /provider 隨切隨用 負責架構判斷與最終整合 Claude / Gemini / GLM 點名派工 ② 動態子代理:model-relay:gemini / deepseek / glm 免寫 .claude/agents/*.md、免重開,繼承全套工具平行掃前端、查邏輯 自動轉彎 ③ 別名自動分流:/provider alias haiku glm 把高頻率的讀檔、搜尋與摘要雜活,全交給百萬上下文的高性價比模型 🛡️ 雙重防呆:子代理啟動與結束時自動核對實際模型,若被 settings.json 的 availableModels 白名單偷換會立即警告
主線可隨時用 `/provider` 切換,底下同時支援點名派出 `model-relay:<名稱>` 子代理,或用 `alias` 把預設 `haiku` 雜活導給百萬上下文模型。

這裡有一個我們自己踩過才補上的細節:如果使用者的 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 工作流五層健檢看看你目前的開發配置還卡在哪一層。

免費 5 層健檢:拿手上的任務自己測 →看 Claude Code 深度工程手冊(免費試看) →60 分鐘專案卡關諮詢 →
Cab(CabLate)作者照片

寫這篇的是 Cab,在第一線教 AI 落地,從農會推廣人員教到外商工程團隊。我的經歷・團隊想導入,看企業內訓。