[实测解决] opencode 频繁报错 All configured accounts reported as rate-limited
问题描述
这两天我在 OpenCode 里跑 Claude 模型时,几乎每隔几次请求就会被打断,屏幕上反复出现这段报错:
All 3 account(s) rate-limited for claude.
Server at capacity. Switching account in 1sec最让我困惑的是:同一批账号放到 Google Antigravity 网页里手动测试,Claude 又能正常对话。
我后来重新把 issue 的页面和评论区完整看了一遍,发现我的现象和楼主几乎一模一样:
- Claude 触发“全账号限流”
- Gemini 在同环境反而能正常用
- 常规聊天场景就能复现,不是压测才出现
问题分析
我一开始以为只是账号配额真没了,后来对照日志、issue 正文和修复说明,确认是两个问题叠加:
-
插件侧误判(核心问题) 当接口返回
429 + MODEL_CAPACITY_EXHAUSTED时,这更像是“当前 Claude 后端容量紧张”,不一定是某个账号真的被限流。 但旧版本插件会把这类 429 直接记成“账号级 rate-limited”,然后轮换到下一个账号,最后把所有账号都标红,形成“全部限流”的假象。 -
网络侧风控(放大问题) 如果你和我一样在多人共享机房 IP 环境里用,确实很容易命中 Google 的
429 Too many requests或容量相关限流。 这时即使插件修了误判,实际成功率也可能依旧抖动。
所以我的结论是:不是单一故障,而是“容量信号处理不稳 + 出口 IP 风控”共同导致体验崩掉。
解决方案
第一步:把插件更新到 v1.3.2+
我先把 opencode-antigravity-auth 升到 v1.3.2+。这个版本的修复重点就是容量类错误处理 也在发布说明里),包括更稳的重试与退避逻辑,不再像旧版本那样把 429 一股脑当成账号被限流。
第二步:在 antigravity.json 加上这组配置
我本地验证下来,下面这组配置能明显减少无意义切号:
{
"account_selection_strategy": "sticky",
"quota_fallback": true,
"pid_offset_enabled": true
}这三个参数我自己的理解是:
account_selection_strategy: sticky:优先稳住当前会话,降低切号抖动quota_fallback: true:可用配额之间做回退,避免单一路径卡死pid_offset_enabled: true:并发任务场景下分散账号起点,减少“同账号碰撞”
这里也说个实话:sticky 不是万能开关,社区里也有用户反馈单改它仍会报错,所以一定要和版本升级、网络出口一起看。
第三步:把共享机房 IP 换成独享住宅 IP
这一步是我稳定下来的关键。
我后来改用 SkyVPN 的独享住宅 IP(固定出口)后,All configured accounts rate-limited 这类报错频率明显下降,连续会话也更稳。核心原因不复杂:
- 独享住宅 IP 的画像更接近真实家庭宽带
- 不会被同出口其他用户行为连坐
- 可按需切换地区,也能长期固定出口
这套方式不只对 OpenCode 有用。对 AI 长会话、自动化任务、短视频运营账号来说,也能减少误封、限流和 AI 输出不稳定(俗称“降智”)的问题。
总结经验
如果你也遇到 All X account(s) rate-limited for claude,我建议按这个顺序排查:
- 先升级插件到
v1.3.2+ - 再调账号策略(
sticky + quota_fallback + pid_offset_enabled) - 最后处理网络出口(优先独享住宅 IP)
一句话复盘:这类报错很多时候不只是“账号没额度”,而是“容量信号处理不稳 + 出口 IP 风控”造成的连锁反应。把这两层一起处理,稳定性才会真正回来。