【Bug已解决】openclaw rate limit exceeded / 429 Too Many Requests — OpenClaw 速率限制解决方案

【Bug已解决】openclaw rate limit exceeded / 429 Too Many Requests — OpenClaw 速率限制解决方案 【Bug已解决】openclaw: rate limit exceeded / 429 Too Many Requests — OpenClaw 速率限制解决方案1. 问题描述OpenClaw 遇到速率限制错误无法继续发送请求# 速率限制 $ openclaw 分析代码 Error: 429 rate_limit_error Rate limit exceeded. Please retry after 60s. # 或 TPM 限制 $ openclaw --print 分析大文件 Error: 429 Token limit exceeded: 100000 tokens/minute. # 或 RPM 限制 $ for i in $(seq 1 100); do openclaw --print task $i; done Error: 429 Request limit: 50 requests/minute. # 或并发限制 $ openclaw task1 $ openclaw task2 Error: 429 Concurrent request limit exceeded.这个问题在以下场景中特别常见高频请求RPM 超限大量 TokenTPM 超限并发请求免费层限制低CI/CD 批量任务多终端同时使用2. 原因分析原因分类表原因分类具体表现占比RPM 超限请求太多约 35%TPM 超限Token 太多约 30%并发限制同时请求约 15%免费层限制低约 10%CI/CD批量约 5%多终端同时约 5%3. 解决方案方案一等待重试最推荐# 步骤 1等待 60 秒 sleep 60 openclaw task # 步骤 2重试脚本 for i in 1 2 3 4 5; do output$(openclaw --print task 21) if echo $output | grep -qi 429\|rate_limit; then echo Rate limited, retry $i in 60s... sleep 60 else echo $output break fi done # 步骤 3CI/CD 中 openclaw --print task || sleep 60 openclaw --print task方案二控制请求频率# 步骤 1添加延迟 openclaw --print task1 sleep 10 openclaw --print task2 sleep 10 # 步骤 2CI/CD 中串行 for task in task1 task2 task3; do openclaw --print $task sleep 15 # 15 秒间隔 done # 步骤 3避免并发 # 不要同时运行多个 openclaw 实例 # 步骤 4验证 openclaw --print hello方案三减少 Token 消耗# 步骤 1使用更便宜的模型 openclaw --model claude-3-haiku task # 步骤 2减少 max_tokens openclaw --max-tokens 4096 task # 步骤 3精简提示 # 错误: openclaw 分析整个项目所有文件 # 正确: openclaw 分析 src/index.js # 步骤 4分步执行 openclaw 分析 src/index.js sleep 10 openclaw 分析 src/auth.js方案四升级计划# 步骤 1检查当前计划 # 登录 https://console.anthropic.com/ # 查看 Usage Limits # 步骤 2升级计划 # Free: 低限制 # Pro: 中等限制 # Enterprise: 高限制 # 步骤 3使用 API Key export ANTHROPIC_API_KEYsk-ant-xxxxx openclaw task # 步骤 4验证限制 openclaw --print hello方案五使用多个 API Key# 步骤 1创建多个 Key # Key A: sk-ant-KEY_A # Key B: sk-ant-KEY_B # 步骤 2轮换使用 export ANTHROPIC_API_KEYsk-ant-KEY_A openclaw --print task1 export ANTHROPIC_API_KEYsk-ant-KEY_B openclaw --print task2 # 步骤 3自动轮换 KEYS(sk-ant-KEY_A sk-ant-KEY_B sk-ant-KEY_C) for i in 0 1 2; do export ANTHROPIC_API_KEY${KEYS[$((i % 3))]} openclaw --print task$i sleep 20 done方案六使用缓存# 步骤 1缓存重复请求 openclaw --print task /tmp/openclaw_cache.txt 21 # 下次直接读取 cat /tmp/openclaw_cache.txt # 步骤 2避免重复请求 # 如果任务相同使用缓存结果 # 步骤 3批量处理 openclaw --print 一次性处理多个文件: src/a.js src/b.js src/c.js # 步骤 4验证 openclaw --print hello4. 各方案对比总结方案适用场景推荐指数难度方案一等待重试即时⭐⭐⭐⭐⭐低方案二控制频率预防⭐⭐⭐⭐⭐低方案三减少 Token成本⭐⭐⭐⭐⭐低方案四升级长期⭐⭐⭐⭐中方案五多 Key高频⭐⭐⭐⭐中方案六缓存重复⭐⭐⭐⭐低5. 常见问题 FAQ5.1 429 错误是什么Too Many Requests。请求频率或 Token 超过限制。5.2 RPM 和 TPM 是什么RPM: Requests Per MinuteTPM: Tokens Per Minute5.3 速率限制多久重置通常 1 分钟。等待 60 秒后重试。5.4 如何查看限制登录 https://console.anthropic.com/ 查看计划的限制。5.5 免费层限制多少通常 RPM: 5-10, TPM: 20000-40000。Pro 更高。5.6 如何减少 RPM添加sleep 10间隔串行运行不并发。5.7 如何减少 TPM使用 claude-3-haiku 模型减少max_tokens精简提示。5.8 多 API Key 合法吗合法。可以在 Anthropic 平台创建多个 Key。5.9 CI/CD 中如何避免 429使用sleep 15间隔重试脚本减少并发。5.10 排查清单速查表□ 1. sleep 60 等待重置 □ 2. 重试脚本: for sleep grep 429 □ 3. sleep 10 间隔控制频率 □ 4. 串行运行不并发 □ 5. --model haiku 减少 Token □ 6. --max-tokens 4096 减少 □ 7. 精简提示 □ 8. 升级 Pro 计划 □ 9. 多 API Key 轮换 □ 10. 缓存重复请求结果6. 总结根本原因速率限制最常见原因是 RPM 超限35%和 TPM 超限30%最佳实践sleep 60等待重置使用重试脚本自动处理 429控制频率使用sleep 10间隔串行运行不并发减少消耗使用 claude-3-haiku 模型减少max_tokens精简提示最佳实践建议CI/CD 中使用sleep 15间隔 重试脚本多 API Key 轮换故障排查流程图flowchart TD A[速率限制 429] -- B{是 RPM?} B --|是| C[等待 60 秒] B --|否, TPM| D[减少 Token] C -- E[sleep 60 重试] D -- F[--model haiku] F -- G[--max-tokens 4096] G -- H[精简提示] H -- I[openclaw 验证] E -- I I -- j{还 429?} j --|否| K[✅ 问题解决] j --|是| L[控制请求频率] L -- M[sleep 10 间隔] M -- N[串行运行] N -- I j --|是| O[使用多 Key] O -- P[KEY_A → KEY_B 轮换] P -- I j --|是| Q[使用缓存] Q -- R[缓存重复请求] R -- I j --|是| S[升级计划] S -- T[Pro/Enterprise] T -- I K -- U[长期: sleep haiku 多 Key] U -- V[✅ 长期方案]