主備鏈 · 429/超時降級 · 指標化賬單 · 圖形會話控制臺清單
已經能把 OpenClaw 跑起來、卻開始被賬單與穩定性兩頭拉扯的團隊,通常不是「模型不夠聰明」,而是缺少一條可審計的主備路由鏈與能把 429、超時、空響應映射到具體模型 id 的觀測面。本文面向中高級讀者:先用 openclaw models 把可用模型與別名對齊到網關真實請求串,再用 主模型 + 有序 fallback 把成本與 SLA 寫進配置;接着給一張「何時降級、何時禁止自動降級」的決策矩陣、八步落地 Runbook、四條可寫進工單的量化結論,以及必須在 VNC 圖形會話裏完成的 Gateway 控制臺驗收表。與站內《可檢查記憶》(上下文與檢索成本)、《多渠道 Gateway》、《v2026.4.5 升級與 doctor》、《無回復排查》互鏈,便於把「模型策略」一次對齊到變更與排障流程裏。
多模型路由的本質不是炫技,而是把不可控的外部供應商波動吸收在軟件邊界內:上遊限速、區域路由、偶發空包、工具調用鏈變長,都會讓「單一最強模型」變成單點故障。下面六條是評審裏最常見的隱性成本,與《工具執行失敗排查》裏強調的 exit code 與權限鏈一起看,效果最好。
賬單不可解釋:沒有按渠道/會話類型拆分時,團隊會把所有增長歸因於「用戶變多」,卻看不到是某條 Heartbeat 探針或某個插件把上下文撐爆。
429 與超時雪崩:主線路被限流後,如果沒有有序 fallback,網關會重試同一供應商,放大排隊時間;用戶側表現爲「偶發卡死」,日誌側卻是風暴式重試。
質量與成本反向運動:把檢索、摘要、路由決策都堆到旗艦模型上,單位任務成本上升,但錯誤率未必下降——尤其是長工具鏈場景。
配置漂移:openclaw models 輸出與手寫 JSON 中的模型字符串不一致時,排障會卡在「到底請求了誰」這一層,浪費半天對齊別名。
合規與區域:自動降級若跨供應商/跨區域,可能觸碰數據駐留紅線;沒有審計字段時,事後無法證明某次對話實際落在哪條模型鏈上。
SSH-only 運維盲區:只 tail 日誌不看瀏覽器控制臺與系統隱私面板,會漏掉 WebSocket、證書與 macOS 權限導致的「半失敗」狀態,誤判爲模型本身不穩定。
把矩陣當成值班手冊的第一頁:先對齊症狀 → 首選動作 → 次選 → 常見誤判,再打開 Gateway。與記憶子系統成本相關的慢響應,請先對照《可檢查記憶》第二節矩陣,避免把檢索膨脹誤判爲「模型不夠強」。
| 現象 / 場景 | 首選策略 | 次選 | 常見誤判 |
|---|---|---|---|
| 高峯 429 / quota | 在同合規區內換有序 fallback;臨時下調並發 | 錯峯批處理;緩存短答 | 無限重試同一模型 id |
| 工具鏈長、延遲高 | 把「規劃/摘要」與「最終回答」拆到不同檔位模型 | 縮短工具輸出模板;限步數 | 整條鏈全部升艙到旗艦 |
| 低敏高頻對話 | 默認主模型用小快模型;保留人工升級入口 | 渠道級 override | 全站一刀切最大模型 |
| 金融/PII 會話 | 顯式禁止自動跨區降級;fallback 白名單 | 排隊等待主線路恢復 | 爲可用性犧牲數據邊界 |
| 升級後模型串失效 | openclaw doctor 對齊 canonical 配置;用 models 子命令重掃 | 對照發布說明改字段名 | 只重啓網關不核對字符串 |
路由是策略,不是參數:先寫清「誰可以降級、降級到哪裡、如何取證」。
下列順序刻意寫成可貼進變更單:先對齊「名字」再動「鏈」,最後用同一組探針請求做前後對比。若並行存在「消息送達但內容薄」類問題,請交叉打開《無回復排查》,避免把通道問題誤判爲模型路由。
版本與 doctor:執行 openclaw --version 與 openclaw doctor,把與 model、auth、gateway 相關的告警原樣貼進工單;升級場景優先對照《v2026.4.5 升級》。
模型清單對齊:運行 openclaw models(若你的發行版支持子命令,可加 list/--help)核對提供商前綴、模型 id、別名;把將要寫進配置的字符串與網關一次最小請求的日誌行做 diff。
定義主線路:在 agents.defaults.model(或你環境中等價節點)設置 primary,只選經過步驟 2 驗證的 id;避免在多處重複聲明導致合併順序不明。
編寫有序 fallback:爲 fallbacks 數組按成本從低到高或延遲從快到慢排列,並標註合規標籤;同區同供應商優先,減少跨網與跨賬單主體。
渠道與路由規則:若使用多渠道(參見《多渠道》),爲噪音高的渠道單獨降檔或限流,避免拖垮默認主線路。
基線探針:固定 2–3 條提示詞(含一條帶工具、一條純對話),記錄首 token 時延、總耗時、總 token、實際命中模型 id;變更前後各跑兩輪。
故障注入演練:在預發環境臨時關閉主線路密鑰或調低配額,確認 fallback 觸發順序與日誌字段符合預期;生產環境用只讀演練或供應商側 shadow 流量替代硬關。
審計字段:在 Runbook 寫明「工單必須附:命中模型鏈、區域、429 次數、回退原因碼」;與 SecretRef / API Key 分環境策略一起評審。
{
"agents": {
"defaults": {
"model": {
"primary": "openrouter/anthropic/claude-3.7-sonnet",
"fallbacks": [
"openrouter/google/gemini-2.0-flash-001",
"anthropic/claude-3-5-haiku-latest"
]
}
}
}
}
上表 JSON 僅爲結構示意:真實字段名與嵌套路徑請以你當前 openclaw doctor 與官方文檔為準;合併多份配置時,優先確認「最終生效樹」而不是只看倉庫裏某一層的片段。
提示:變更網關模型鏈後務必 openclaw gateway restart(或你環境中的等價命令),並在重啓後立刻跑一遍探針,避免「文件已改、進程未加載」的假成功。
下列條目刻意寫成「可粘貼」風格,便於你與財務、安全、平臺支持對齊責任邊界。
注意:任何自動降級到「未知區域」的模型前,先讓安全同事書面確認數據流;可用性不能以合規爲代價硬換。
SSH 與圖形會話在證書信任、本地迴環、系統彈窗與瀏覽器安全策略上並不等價;驗證模型切換是否生效時,應在與 Gateway 同機同用戶的桌面裏打開控制臺。下表可直接複製到其他語言版本,僅替換第一列表頭文案。
| 核對項 | 操作要點 | 通過標準 |
|---|---|---|
| 控制臺網絡 | 過濾 429、model、fallback。 | 每次降級有明確原因碼;無無限重試風暴。 |
| WebSocket / SSE | 看重連與心跳間隔。 | 斷線可恢復;與 Heartbeat 配置一致。 |
| 系統代理與 DNS | 對照網絡面板與 scutil --dns(若允許)。 | 無偶發解析到錯誤出口。 |
| 密鑰與 Keychain | 在隱私設置中核對 Gateway 二進制路徑。 | 與 doctor 輸出路徑一致;變更後已重啓。 |
| 資源餘量 | 活動監視器看內存壓力與 swap。 | 探針時無異常尖峯;磁盤可用高於安全閾值。 |
多人共用租用節點時,把「誰有權改模型鏈、誰必須在 VNC 上點過驗收表」寫進值班手冊,比事後在日誌裏猜配置責任方成本低一個數量級。
下列鏈接均爲公開博客頁,可與第三節、第四節交叉閱讀。
檢索體積與首 token 變慢時的分流矩陣。
閱讀 →渠道級負載與憑證驗收,與模型鏈聯動。
閱讀 →Breaking 後模型字段與 canonical 路徑對齊。
閱讀 →先按渠道與任務類型拆分用量,再把低風險對話遷到更小更快的主線路;用 Gateway 日誌裏的 token 與耗時直方圖證明改動有效,而不是憑感覺刪功能。
會。降級鏈必須與數據駐留策略一起設計:爲每條 fallback 標註區域與供應商,高敏會話可配置禁止自動跨區降級;審計附上實際命中模型 id。
以網關實際請求串為準,用一次最小復現請求對齊字符串,再回寫配置;必要時對照官方 Models CLI 文檔與 doctor 輸出。
瀏覽器裏能看到 CORS、混合內容、WebSocket 與緩存問題;系統隱私裏能核對 Gateway 路徑與權限——這些在純 tail 日誌裏經常缺失。
多模型路由把「供應商波動」從運維事故變成可配置、可演練、可審計的軟件問題:openclaw models 對齊名字,primary 與 fallbacks 寫清順序,Gateway 日誌給出證據鏈。若只在 SSH 裏改 JSON、從不在與 Gateway 同用戶的圖形會話裏打開控制臺,隱性成本往往是權限、證書與 WebSocket 半失敗與日誌對不上號,排障在同一工單裏反覆分叉。
自建或獨佔物理 Mac 還要面對睡眠策略、系統更新窗口與電費折舊;低配本機在高峯並發與工具鏈膨脹時更容易把網關 worker 與內存打滿,表現爲「模型慢」而非真慢。相較之下,遠程 Mac + 可覆核的 VNC 圖形會話把在線率與基礎鏡像交給專業服務商,你仍掌握模型策略與密鑰面,但能把平均恢復時間壓在更可預期的區間。
若你希望少押一臺自有硬件、又要對着本文第五節完成與 Gateway 同機的控制臺驗收,可直接通過 VNCMac 租用雲端 Mac:下方主按鈕進入中文站購買頁;需要對比套餐與連接說明時,先瀏覽首頁再下單即可。