Router One

LLM API 错误码:逐个解释,逐个修复

客户端抛出的每个报错都对应一个 HTTP 状态码,而每个状态码指向不同的层面:你的密钥、余额、请求频率,或上游模型。这一页是 Router One OpenAI 兼容 API 及其上层 CLI 工具的错误码速查手册。先从 Dashboard → Logs 的最终请求记录开始;如需进一步排查供应商重试,请保留 request_id,支持团队可据此在运维日志中关联中间尝试。

速查表

每个状态码第一步先查什么:

状态码含义第一步查什么
401API Key 无效或缺失Authorization 头需要以 `Bearer sk-…` 携带密钥——检查拼写、首尾空格,以及运行客户端的那个 shell 里环境变量是否为空。
402余额不足钱包余额或该 Key 的消费上限已用尽。充值,或在 Dashboard → API Keys 调高 maxSpend。
403拒绝访问Key 已被禁用,或请求触碰了权限边界。到控制台确认 Key 状态,并核对客户端用的 base URL 是否正确。
404路径或模型不存在请求路径或模型 ID 不存在。从 /models 页复制精确的模型 ID——ID 区分大小写。
429请求频率超限触发了 Key 的 rateLimit / tokenLimitTpm 上限或上游限制。先看 Dashboard → Logs,再降低请求频率或联系支持提升限额。
500服务器内部错误瞬时故障。退避重试;持续出现请联系支持。
529上游过载模型上游饱和。若错误符合重试条件,且另一个健康供应商提供同一精确模型,Router One 可以尝试该路由;否则请采用有上限的退避重试。
超时未在时限内响应大 prompt 的长生成是正常的,不要给客户端设激进的超时;到最终请求指标里查看端到端延迟。

先看 trace,再动手改

Router One 的客户侧请求记录展示最终模型与供应商,以及 Token、花费、延迟和状态。Dashboard → Logs 支持按模型和日期过滤,便于判断错误是偶发还是规律。这里不展示失败供应商尝试或 fallback 链;如需排查中间尝试,请把 request_id 提供给支持团队。

Claude Code 里的报错

Claude Code 走 Anthropic 兼容端点 https://api.router.one——注意:结尾没有 /v1。Claude Code 里的 401/403 多数来自环境变量:没设、设在了另一个 shell、或被之前登录官方服务的会话覆盖。把三个变量都设上并重启终端:

claude-code-env.sh
export ANTHROPIC_BASE_URL=https://api.router.one
export ANTHROPIC_API_KEY=sk-your-router-one-key
export ANTHROPIC_AUTH_TOKEN=sk-your-router-one-key

Codex CLI 里的报错

Codex CLI 使用 Responses API 线协议,而许多 OpenAI 兼容中转并没有实现它——这就是 Codex 对着它们报 404 的原因。Router One 原生支持 wire_api = "responses"。通过 ~/.codex/config.toml 把 Codex 指到 https://api.router.one/v1,并在同一个 shell 里设置 OPENAI_API_KEY。完整步骤见 Codex Responses API 页。

常见问题

Key 看起来没问题,为什么还是 401?
三个最常见原因:环境变量设在了另一个 shell(或另一个 profile 文件)里,而不是运行客户端的那个会话;粘贴密钥时带了尾部空格或换行;客户端读取的变量名和你设置的不一致。在启动客户端前,于同一会话里打印该变量确认。
402 和 429 有什么区别?
402 是钱的问题:钱包余额或 Key 的 maxSpend 上限用尽。429 是速度的问题:请求数或每分钟 token 数超过了 Key 的 rateLimit / tokenLimitTpm 或上游限制。Dashboard → Logs 的请求 trace 会告诉你命中的是哪一个。
遇到 5xx 需要自己写重试逻辑吗?
符合条件的 5xx 或超时,在另一个健康供应商提供同一精确模型时,可以由 Router One 重试。并非每个错误都保证重试,因此应用收到失败时仍应采用有上限的退避策略;若问题持续,请联系支持。
同一个 Key,curl 能用,Claude Code 却 403?
curl 走的是 OpenAI 兼容端点;Claude Code 需要不带 /v1 后缀的 Anthropic 兼容 base URL,且要在 ANTHROPIC_API_KEY 之外同时设置 ANTHROPIC_AUTH_TOKEN。完整清单见 Claude Code 403 排查页。
在哪里能看到具体是哪个请求、为什么失败?
Dashboard → Logs 展示最终请求记录的状态、模型、供应商、Token 和延迟。按模型与时间范围定位后,如需检查中间失败的供应商尝试,可把 request_id 提供给支持团队查询运维日志。