model-relay 0.7.1:Claude Code 多模型子代理、備援與TLS代理的真實界線
合併查核cab_late兩則介紹,固定0.7.1原始碼並實跑29項純邏輯測試;區分逐對話路由、alias、429備援、Magpie格式轉換及Remote Control憑證代理,不把全功能與ToS宣稱當官方保證。
版本閱讀提示:本文主體保留2026-10-20的0.7.1程式與29項純邏輯測試快照;2026-10-30另補作者新案例及0.7.5文件/指定hooks靜態查閱,請見文末。舊測試數不是0.7.5的回歸結果。
model-relay 的對話分流、供應商子代理與429備援有程式依據;但「所有官方能力全開、沒有代理行為、放心且不違反ToS」不能直接照單全收。本次核對新舊兩則作者貼文、固定0.7.1程式與Claude Code官方文件,並實跑29項純邏輯測試。未安裝外掛、啟動轉發站、加入憑證、讀取私人登入或呼叫任何付費模型。
來源與版本
主來源是cab_late 新貼文,與先前同作者介紹及技術續文一併收錄。新文主張每個對話獨立切模型、動態建立子代理、額度不足自動接手,並稱Chrome、Artifact、Remote Control保持可用且不違反條款。可見作者回覆提供repo與Magpie連結,尚無完整功能對照或官方合規確認;留言coverage為partial,推薦串的其他mods不作本專案證據。
固定核對cablate/model-relay commit 98b3bff4370c9d89cbba78e3c85ab75397940cbd;plugin.json標示0.7.1、根LICENSE為MIT。README要求Node.js20+、Claude Code2.1.287+,作者列出自己以Node22及CC2.1.306測試,這是作者環境記載,不是本次實機整合結果。之前核讀94f736f版本與28項測試是歷史快照,本篇改以新固定版本及本次29項為準。
它不是換幾個alias而已,但也不是所有設定都對話隔離
程式在127.0.0.1的本機轉發站處理模型請求,通常使用8950埠。routing logic區分模型名稱/matchModels、以x-claude-code-session-id固定的對話、及Anthropic額度用盡後的備援。單一視窗切換與模型別名不是同一控制面;alias、retry與failover設定仍可能是所有視窗共用。缺少session id時不能假設有完整逐對話黏著隔離。
hooks以$.agent.register為供應商建立model-relay:<name>類型,再於agent.spawn對齊模型。這支援主線與不同子代理分工,但README也提醒availableModels缺漏時Claude Code可能靜默改用其他模型,外掛會嘗試在啟動與完成時告警。模型名字出現在面板不等實際請求已送達指定上游。這些agent繼承父層完整工具能力,不是自帶最小權限的隔離工作者。
備援、重試與快取各是什麼
isUsageLimit不是把每個429都視為訂閱額度耗盡,而是檢查特定header或額度錯誤訊息。命中且有可用failover.chain時,程式轉送請求並固定該對話,黏著紀錄預設保留7天;預設10分鐘冷卻後讓新對話再試Claude。這個7天是路由狀態,不是雲端prompt cache的保存時間,也不保證原模型與備援模型表現一致。
同供應商的重試另有設定;attempts=0表示持續重試,retry.failover才決定耗盡重試後是否換下一家。既有長對話切回Claude可能重送歷史並重建快取;不同供應商不共享prompt cache。0.7路徑還會拒絕第三方不持有的message-threads差量協定,促使client重送完整上下文及工具,避免只收到最後一段。這是相容性策略,不是已證明降低帳單;完整歷史也增加備援供應商接觸的資料範圍。
格式轉換:model-relay與Magpie是兩層
model-relay上游需要Anthropic /v1/messages協定;只有OpenAI格式的模型端點,不能只填模型ID就期待能用。作者建議的Magpie是另外的本機gateway。核讀其固定README版本9b0f48612b6af3f3417e44f4b9740f1ee443e5c0,文件宣稱能在Anthropic、OpenAI Chat/Responses及Gemini協定間轉換。
Magpie不只是無狀態的格式轉換函式:README亦說明可探索Claude Code/Codex登入檔及Keychain中的既有訂閱帳號,並提供關閉探索的方法。本次沒有執行這些功能,也沒有完整稽核其憑證處理;model-relay的MIT與測試不能替Magpie、訂閱跨工具使用或每一家模型端點提供合規與安全保證。
Remote Control:確實存在本機HTTPS代理與憑證信任
Claude Code官方環境變數文件明列ANTHROPIC_BASE_URL改成非api.anthropic.com主機後,Remote Control會停用。model-relay的README及pki.js/router.js不是宣稱完全不用代理,而是以選用的HTTPS_PROXY、NODE_EXTRA_CA_CERTS、本機CA與葉憑證處理api.anthropic.com連線,分流模型請求,其餘相關流量轉送。