当大模型供应商在某个区域集中返回 HTTP 429 时,产品仍希望 30 秒内 有可读答案,财务希望账单可预测,安全希望日志里不出现密钥。共享一台 Mac mini 跑 OpenClaw 网关的团队,必须把 Retry-After、抖动退避与「诚实排队」写进客户端与运维手册。本文与 令牌与工具节流、网关 doctor 诊断互补:节流护主机,429 护供应商关系。
你将获得:决策矩阵、可审计的数字起点、渠道侧体验模板、macOS 特有问题与遥测字段清单。
误判信号
400 ms 内出现两条完全相同的用户可见回复,多半是忽略了 Retry-After 并立即重放。另一个信号是 CPU 低于 40% 但 p95 延迟飙升——瓶颈在供应商排队而非本地算力。
财务需要的四序列:每小时 429 次数、平均遵守的等待秒数、放弃会话数、被重新打开的「慢 AI」工单数。
事故时先冻结功能:快照脱敏响应头(含 Retry-After 与 x-request-id),再回滚最近一次客户端改动。
「破窗」提高并发必须挂票据号,否则周末账单异常无处溯源。
客服应粘贴完整状态行,而不是笼统「AI 挂了」,方便判断该找供应商还是改本地策略。
若 429 风暴后 5xx 激增,检查是否把上游限流误标成内部错误,避免仪表板看错根因。
策略矩阵
| 策略 | 与供应商对齐 | 用户可预期性 | 主要风险 |
|---|---|---|---|
| 遵守 Retry-After | 高 | 中 | HTTP-date 解析受时区影响 |
| 盲目指数退避 | 低 | 低 | 故障恢复后羊群重试 |
| 抖动混合 | 高 | 高 | 实现分支更多 |
2026 年推荐混合:有头则遵,无头则指数并加 ±15% 抖动,硬顶约 120 秒。
数字起点
基线延迟 1.5 s、倍数 2.0×、每渠道待处理轮次上限 8、单条用户消息墙钟上限 180 s,超过则返回人工接手链接而非无限转圈。
供应商公布维护窗口时,在窗口前 15 分钟 先把并发下调 25%。
用回放文件做红队:若超过 3% 合成会话死锁,队列逻辑仍有泄漏。
退避常数必须进 Git;值班不应靠记忆猜「昨晚线上到底是哪版」。
对多租户网关,按工作区分凭证,避免一家租户烧光共享配额。
macOS 与 LaunchAgent
单调时钟适合做退避计时,但解析 HTTP-date 必须用 UTC 库并在夏令时切换周做两次演练。
TLS 会话复用可能掩盖间歇性 429;诊断客户端应偶尔强制新握手。
若缺硬件,短期租用云 Mac mini:MacHTML Apple 芯片常见日价约 $16.9,SSH/VNC 便于抓取真实响应头。
与 LaunchAgent 心跳联动:退避策略变更后重启 plist 并确认环境变量已同步。
把 fork 上限与上游退避联动,参见节流文中并发建议。
渠道文案
排队超过 5 s 发首条提示,30 s 发第二条,90 s 给人工链接。避免把供应商 JSON 原文贴进频道。
多语言团队按工作区 locale 头本地化「忙态」文案。
恢复后发送「积压已低于 2 条」的简短摘要,降低重复提问。
在助手已排队时抑制「正在输入」类事件,减少无效上游压力。
遥测与财务口径
导出「实际等待」与「模型建议等待」的直方图,偏差超过 20% 多半是解析 bug。
429 超七日基线 5× 且持续 10 分钟 先查供应商状态再改路由。
结构化审计日志保留 90 天,含关联 ID。
每季人工抽查 40 条最长等待,自动分桶仍会把区域抖动标成内部故障。
供应商协同
维护私有手册:每条模型路由对应状态页 RSS。状态降级时主动降并发 30%,比事后道歉便宜。
事故期指定单一对外联络人,每 20 分钟 更新内部频道,避免碎片化升级脚本化重试。
突发配额写入合同附件,贴在 wiki 与退避表旁,财务可追溯。
安全与合规
429 日志禁止存完整提示词,只存哈希会话 ID。密钥轮换后暂时收紧每租户并发直至所有 plist 更新。
对退避端点做渗透:确保 401 风暴也走指数退避,防止被用作算力耗尽攻击。
在夏令时切换周用合成 Retry-After HTTP-date 做回归,防止解析静默回归。
常见问题
429 与本地节流要合并吗?
要,分层处理。
没有 Retry-After?
指数抖动并把单次等待压在约 120 秒。
为何用 Mac mini 演练?
macOS 调度与 TLS 行为更贴近生产。
Apple 芯片 Mac mini仍是演练 OpenClaw 事故最省心的硬件:可预测的散热、原生钥匙串与 LaunchAgent 时序。MacHTML提供可租云 Mac mini,SSH/VNC 让你在真实 macOS 上验证 429 退避、doctor 与节流协同,按项目启停。