AI Frontier

OpenClaw 模型故障轉移與供應商路由(2026):macOS 主備 LLM 鏈、429 處理、openclaw.json 設定與雲端 Mac mini 演練

MacHTML Lab2026.05.2129 分鐘閱讀

macOS 上运行 OpenClaw 閘道的团队,2026 年常见做法是只配一个高端模型——直到 Anthropic 返回 HTTP 429、OpenAI 报 503,或区域故障让唯一 API Key 失效,生產对话直接停摆。模型故障轉移與明确的供應商路由把这些硬中断变成可预期的降级:文档化的备用模型鏈、兼容的工具 Schema,以及尊重 Retry-After 的重试预算。本文说明如何在 ~/.openclaw/openclaw.json 中表达该鏈路、如何把密钥挡在 git 之外,并在改动 LaunchAgent 生產 plist 之前用 openclaw doctor 验证。延伸阅读 429 重试策略JSON 與环境設定上游断路器doctor 诊断,让路由、限流與可观测性保持一致。

你将得到故障轉移决策表、可复制設定骨架與数字护栏(热路径最多 3 家供應商、单次尝试上限 30 秒、整轮预算 120 秒),以及可在租用 Apple Silicon Mac mini 上执行的預發清单——MacHTML 公开价约 16.9 美元/天

需要故障轉移的症状

频道里一直显示“思考中…”,日誌却反复刷供應商错误;工具调用在半轮对话卡住,因为閘道把重试预算耗在单一厂商上;财务在凌晨两点看到維運手工换 Key,而不是走已演練的备用路由——这些都说明瓶颈在路由逻辑,不在模型智商。

故障轉移不是“永远用最便宜模型”,而是可控降级:面向客户的轮次用高端模型,内部 HTML/CSS 审计用中端,云端 API 全挂时本地 Ollama 只做非破坏性摘要——每一层都要文档化并探针验证。

故障轉移鏈设计原则

热路径要短:最多 三家供應商,每周用與 HTML/CSS Agent 相同的工具 Schema 各测一次。生產流程若必须改文件,就不要降级到无法调用 write 的模型——改为只读摘要。每轮记录 correlation id 與供應商标签,方便财务归因帳單尖峰。

即使共用一台机器,也要拆分 stagingproduction 鏈路;預發 JSON 的笔误不应把生產流量打到实验性本地模型。

openclaw.json 路由骨架

路由設定应放在 git 跟踪的 HTML 之外。实用做法是:供應商名称写在 openclaw.json,API Key 放在 ~/.openclaw/.envchmod 600。文档化主模型 ID、有序 fallback 列表、各供應商超时與可选成本上限。

{
  "agents": {
    "default": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-20250514",
        "fallbacks": [
          "openai/gpt-4.1",
          "google/gemini-2.5-pro"
        ]
      },
      "providers": {
        "anthropic": { "timeoutMs": 30000 },
        "openai": { "timeoutMs": 30000 },
        "google": { "timeoutMs": 45000 }
      }
    }
  }
}

片段仅作结构参考——OpenClaw 版本迭代会改字段名,粘贴部署前请对照发行说明 diff。改完后执行 openclaw doctor,并对每个供應商跑一句合成对话探针。

供應商选型矩阵

层级适用场景风险
主模型(高端)Slack/Telegram 面向客户轮次发布期配额耗尽
备模型(中端)内部审计、非紧急修复與主模型工具 Schema 漂移
本地(Ollama)云端 API 全挂时的只读摘要推理深度不及云端
禁用故障期禁止破坏性工具維運压力要求“先放开”

429、503 與 Retry-After 协同

故障轉移不能替代尊重限流。主模型返回 429 时,在文档化上限内(聊天场景常见 30 秒)遵守 Retry-After,再切到备用供應商。503 风暴应配合閘道断路器,避免锤击已降级端点。退避表见 429 专文

整轮时间建议封顶 120 秒,避免 Slack 线程“假死”;不要连环试五家供應商,应返回可读的降级提示。

跨模型工具 Schema 兼容

鏈上每个模型必须接受閘道发布的同一套 JSON 工具定义。备模型若拒绝 browser 工具,HTML/CSS 流水线会在半空中断。預發脚本应对每个供應商跑三条固定工具调用:读文件、写补丁、列目录,通过后再加入生產 fallback。

备模型无视觉能力而主模型带图时,故障轉移前应剥离图像部分,或仅把图像任务路由到支持视觉的备模型。

doctor 探针與合成对话

路由变更后,把 openclaw doctor --json 输出附在变更单。在預發暂时吊销主 Key,确认备模型 10 秒内应答,恢复 Key 后无需重启即可回到主路由。检查閘道日誌里每轮的供應商标签。

探针应與 staging/生產工作区 对齐,避免在笔记本上用生產密钥练 fallback。

預發上线清单

  1. 导出当前 openclaw.json.env 指纹(不含密钥值)到 git 忽略目录。
  2. 为备用供應商单独設定帳單告警。
  3. 在預發閘道端口对每个供應商做工具冒烟。
  4. 模拟主 Key 失效,确认 fallback 在 SLA 内完成。
  5. 預發指标干净 24 小时 后再提升 LaunchAgent plist。
  6. 文档化回滚:还原 JSON + launchctl kickstart 步骤。

常见问题

备用模型要用同一套工具定义吗?

要——入鏈前必须对每个供應商实测工具调用。

故障轉移能自动解决 429 吗?

仅当备用配额独立;否则仍需退避。

多久跑一次 doctor?

每次改路由或密钥后,以及生產环境每周 cron。

通过 MacHTML 租用 Apple Silicon Mac mini,可在與高管相同的 WebKit/Node 构建上练路由——不是用 Linux 容器假装 macOS。节点提供 SSH 跑合成对话,Keychain 弹窗时用 VNC。空闲功耗常见 6–12 瓦,一周故障轉移演練的成本往往低于一夜“供應商错误”停摆。

公开价约 16.9 美元/天,比为闲置硬件背三年折旧更划算;演練结束关机即可,路由表仍留在 git。

在真机 macOS 上演練 OpenClaw 模型故障轉移

租用雲端 Mac mini,在生產 LaunchAgent 提升前驗證供應商鏈、429 fallback 與 doctor 探針。

故障轉移演練雲端 Mac
约 $16.9/天起