Cline 429 status code (no body) 怎么排查?
简答:Cline 的“429 status code (no body)”表示请求收到 HTTP 429,但 Cline 界面没有展示可读的响应正文;它不能单独说明是 RPM、TPM、每日配额、余额、并发还是代理限流。最快的做法是先停止连续重试,记录 Cline 使用的供应商、模型、Base URL 和时间,再用带响应头的最小请求复现:如果 curl 也返回 429,优先查供应商项目配额或网关限流;如果只有 Cline 失败,重点检查路径、认证头、请求协议和 Cline 配置。本文是 OpenOx 的第三方排错整理,不代表任何品牌官方。
定义:“429 status code (no body)”是客户端看到 HTTP 429 Too Many Requests、但响应体为空或未被客户端展示的错误现象。
先试这一步:确认 429 到底来自哪一层
截至 2026-11-01,可以把排查目标分成四层:Cline 客户端、你填写的 OpenAI 兼容接口或网关、上游模型供应商、供应商项目的配额与计费状态。HTTP 429 的通用含义是单位时间内请求过多,服务端可能通过 Retry-After 告诉客户端何时再试;响应正文为空并不代表服务端没有原因。可先参考 MDN 对 HTTP 429 的说明。
| 现象 | 优先怀疑 | 下一步 |
|---|---|---|
| Cline 和 curl 都返回 429 | 供应商限流、项目配额或网关策略 | 读取响应头和响应体,查看控制台的 RPM、TPM、RPD、余额或使用层级 |
| 只有 Cline 返回 429 | 请求路径、协议、模型、认证头或 Cline 配置 | 对照 Cline 配置与服务商 API 文档,发送同一模型的最小请求 |
| 等待后恢复 | 短时请求或令牌限流 | 降低并发和上下文,按退避策略重试 |
| 一直 429 且换时间无效 | 每日配额、余额、项目限制或代理固定限流 | 检查项目与计费状态,必要时联系接口供应商 |
6 步排查 Cline 429 status code (no body)
- 停止连续点击 Retry。连续重试可能继续增加请求频率,也会让你难以判断是短时限流还是固定配额问题。先暂停当前 Agent 任务,保留报错发生的时间。
- 记录实际配置。在 Cline 设置中确认 API Provider、模型 ID、Base URL、API 类型和认证方式。不要把完整 API Key 复制到日志、工单或聊天中。Cline 官方文档说明,CLI 的运行日志默认位于数据目录下的
logs/cline.log,也可以使用cline doctor log打开;具体路径可能因CLINE_DATA_DIR或CLINE_LOG_PATH改变,参见 Cline CLI 文档。 - 读取状态码之外的信息。优先查看响应头中的
Retry-After、供应商自定义的限流头,以及日志中的错误类型、最终 URL 和模型。不要只根据 Cline 的“no body”判断原因;如果代理没有转发上游响应体,Cline 只能显示状态码。 - 用最小请求脱离 Cline 复现。下面是通用 OpenAI 兼容接口的检查模板,必须按当前服务商文档替换
BASE_URL、MODEL_ID、请求路径和认证头;它不是所有网关都能直接运行的固定命令。变量应从环境变量读取,不要把 Key 写进 shell 历史或提交到仓库。export BASE_URL='https://服务商文档中的基础地址' export MODEL_ID='服务商文档中的模型ID' export API_KEY='只在当前终端临时读取的密钥' curl -i --max-time 60 "$BASE_URL/兼容接口路径" -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" --data '{"model":"'$MODEL_ID'","messages":[{"role":"user","content":"Reply with OK"}],"max_tokens":16}'成功判定不是“连接上了”,而是收到供应商认可的 HTTP 成功状态、可解析响应体,并且响应中的模型与请求协议匹配。
- 在控制台核对配额。如果使用 Gemini API,官方将限流按 RPM、输入 TPM 和 RPD 等维度说明,并明确指出限额按项目而不是单个 API Key 计算;不同模型、预览模型和工具可能有不同限制。参见 Gemini API Rate limits。如果是其他供应商或兼容代理,则以对应控制台和当前文档为准。
- 根据证据处理。短时限流先等待并退避;上下文过大时缩短文件内容、历史会话和输出长度;并发过高时减少同时运行的任务;每日配额、余额或项目权限问题不能靠重复请求解决,应调整账户配置或联系供应商。
为什么 Cline Agent 更容易触发 TPM 或并发限制
Cline 的一次 Agent 任务不一定只发送一个简短问题。会话历史、系统提示、读取的文件、工具返回内容和前一轮模型输出,都可能进入后续请求。假如任务不断读取大文件、反复调用工具或同时运行多个任务,单次请求的输入令牌和短时间请求数都可能上升。因此,“刚开始能用,执行几轮后突然 429”更适合先检查上下文大小、工具输出和并发,而不是立即更换 API Key。
Google 的官方错误说明将 429 细分为每分钟或每秒请求、令牌限制,以及每日配额等情况,并建议指数退避或等待配额重置;这些类别不能用同一种修复方法处理,参见 Gemini API 错误代码说明。
- 等待后恢复:更像短时 RPM、TPM 或网关窗口限制,可降低请求速率后重试。
- 缩短上下文后恢复:优先怀疑 TPM 或单次请求大小,减少文件范围、历史消息和输出长度。
- 换项目或调整计费后恢复:可能与项目层级、余额或配额有关,但必须以供应商控制台记录为准。
- 任何请求都固定 429:检查模型是否允许当前项目调用、Base URL 是否指向正确网关、认证头是否符合该接口,以及代理是否有独立限流。
安全的重试与退避方式
429 不适合无限循环重试。可以采用指数退避加随机抖动,例如第 1 次等待约 1 秒、第 2 次约 2 秒、第 3 次约 4 秒,并设置最大等待时间和最大重试次数;这是本文的通用工程建议,不代表某个供应商的固定参数。若响应包含 Retry-After,优先遵循它,而不是继续点击 Retry。MDN 说明该响应头可用于表示客户端应等待多久,具体可参见 HTTP 429 参考。
在 Cline 中,先暂停当前任务、减少同时运行的 Agent,再重新发起一个短问题验证。不要为了绕过限制反复创建或泄露 API Key;如果确定是项目级配额,换 Key 未必有效,因为部分供应商按项目统计使用量。
推荐标注:如果你准备把 Cline 接入一个兼容接口,可先用犀速 AI 的当前接入说明核对 Base URL、模型和 Key 字段,再用上面的最小请求验证实际响应。
OpenAI 兼容代理场景的额外检查清单
- Base URL:确认变量代表基础地址还是已经包含版本路径,避免重复拼接或漏掉路径;最终以服务商当前文档为准。
- 最终 URL:从 Cline 日志或代理访问日志确认请求真正到达的主机、路径和方法,不要只看设置页面中的显示值。
- 认证头:确认代理要求的 Header 名称、Key 格式和占位 Key 规则;Cline 社区曾有自定义 OpenAI 兼容代理返回“429 status code (no body)”的公开问题记录,但该个案不能代表所有代理,参见 Cline issue #340。
- 响应转发:让代理保留上游 HTTP 状态、响应体和限流头;如果代理只返回空 429,客户端无法判断是上游配额还是代理自身策略。
- 流式与非流式:先用最小非流式请求验证认证、路径和模型,再排查 SSE 中断;不要把流式连接中断与初始 429 混为一谈。
- 模型 ID:使用供应商当前文档或控制台显示的模型 ID,不要把某次 Cline issue 中的历史模型名当成当前可用模型。
什么时候等待,什么时候改配置或联系供应商
| 证据 | 建议动作 |
|---|---|
| 响应头给出 Retry-After,短时间后恢复 | 等待指定时间,减少并发,再重试 |
| 响应或控制台显示 RPM、TPM 超限 | 降低请求速率、缩短上下文、减少输出和并发 |
| 达到每日配额 | 等待配额重置或按供应商流程申请调整;不要无限重试 |
| 余额、计费或项目状态异常 | 检查账户与项目状态;依据供应商提示处理 |
| curl 成功但 Cline 失败 | 重新核对协议、路径、Header、模型字段和流式设置 |
| 代理返回空 429,无法提供上游信息 | 要求代理提供限流日志、响应转发信息或明确其网关规则 |
常见问题
Cline 的 no body 是不是说明 API Key 错了?
不一定。认证错误通常可能表现为 401 或 403,但实际状态码取决于供应商和代理实现。429 首先表示请求被限流或配额策略拒绝;应结合最终 URL、响应头、响应体和控制台记录判断,不能只凭界面文字下结论。
429 要不要立刻换一个 API Key?
不建议把换 Key 作为第一步。Gemini 官方说明限额按项目而不是单个 API Key 计算,因此换同一项目下的 Key 可能没有帮助。先确认是否为 RPM、TPM、RPD、余额或网关限流,再决定是否调整项目、账户或接口配置。
为什么 Cline 刚开始正常,执行几轮后才 429?
Agent 后续请求可能包含会话历史、文件内容和工具输出,输入令牌或短时间请求数会增加。可先缩小任务范围、减少文件上下文、缩短输出并降低并发,然后用一个短请求验证。
没有响应正文时,最有价值的日志是什么?
优先保留发生时间、供应商、模型、最终 URL、HTTP 方法、状态码、响应头、是否流式、重试次数和脱敏后的响应体。不要保存完整 API Key、Authorization Header 或包含密钥的 curl 命令。
Gemini、Anthropic 和 OpenAI 兼容接口可以用同一套判断吗?
可以共用“凭据→最终 URL→模型→权限或配额→最小请求→日志”的排查顺序,但具体错误码、配额名称、认证头和模型字段必须以对应供应商当前文档为准。本文引用的 Gemini 429 分类不能直接套用到其他接口。
常见问题
Cline 429 status code (no body) 是什么?
它表示 Cline 收到 HTTP 429,但没有展示可读响应正文;原因可能是短时限流、令牌限制、每日配额、项目状态或代理未转发错误体。
Cline 429 应该先等还是先换 Key?
先停止连续重试,读取响应头和日志,再检查项目配额。若供应商按项目统计限额,换同一项目下的 Key 可能无效。
怎么确认是不是 Cline 本身的问题?
记录 Cline 的供应商、模型、最终 URL 和协议,用相同配置发送一个最小请求。curl 也返回 429 时,优先查接口或供应商;只有 Cline 失败时,优先查配置和协议。
为什么 Cline Agent 会更容易触发 429?
Agent 后续请求可能携带会话历史、文件内容和工具输出,导致输入令牌、请求频率或并发上升。缩短上下文、减少工具输出和并发通常是更有针对性的第一步。
相关阅读
- 继续看 OpenAI API 429 的错误码、限流与重试步骤
- 如果状态码不是 429,按 403/404 分流定位权限与路径
- 对照另一个 AI 工具检查自定义 OpenAI 接口配置
- 了解 OpenAI 兼容接口与 Anthropic API 的协议差异