两项设置,接上任何 Agent。
每个工具都只要两样东西:CodingPass 的 Base URL 和你的 Key。粘贴一次 Key,本页所有片段就能直接复制。
Base URL
Anthropic 兼容
Messages API。Claude Code、Cline 和 Anthropic SDK 用这个,末尾不带 /v1。
OpenAI 兼容
Chat Completions 和 Responses。Codex、OpenCode 和 OpenAI SDK 用这个。
粘贴 Key,选好工具。
只留在当前标签页,仅用来填充本页的片段。
每个工具都有合适的默认模型。能用哪些模型由你的套餐决定。
把两行 export 加到 ~/.zshrc 或 ~/.bashrc,开一个新终端,再启动 Claude Code。
export ANTHROPIC_BASE_URL="https://codingpass.ai" export ANTHROPIC_AUTH_TOKEN="cp-live-your-key"
claude --model claude-sonnet-5-5
检查 Key 是否可用
列出你的 Key 能用的模型。返回 JSON 列表说明 Key 和地址都对;返回 401 说明 Key 不对。
curl https://codingpass.ai/v1/models \ -H "Authorization: Bearer cp-live-your-key"
你的工具不在列表里?
只要工具能设置 Anthropic 或 OpenAI 的 Base URL 就能用。找到 Base URL 或自定义服务商一栏,填上地址和 Key,模型 ID 从 模型 页复制。
还是不行?把工具名和响应里的 x-request-id 发到 [email protected]。
每种错误的状态码,以及怎么处理。
网关返回标准 HTTP 状态码,响应体是你的客户端本来就认识的格式。type 与 Anthropic、OpenAI 一致,SDK 照常处理;message 是写给人看的。下表的错误码会显示在控制台 请求日志 里每个失败请求的旁边。
两种格式,取决于接口
/v1/messages、/v1/messages/count_tokens)HTTP/1.1 429 Too Many Requests retry-after: 4253 x-should-retry: false x-ratelimit-remaining-5h: 0 x-ratelimit-reset-5h: 1h10m53s x-request-id: req_8f2c41d07ab3 { "type": "error", "error": { "type": "rate_limit_error", "message": "Account limit reached: your 5h quota is used up for all models. Resets at …" } }
/v1/chat/completions、/v1/responses、/v1/models)HTTP/1.1 401 Unauthorized x-request-id: req_5b1f09c2e7d4 { "error": { "message": "Invalid API key", "type": "authentication_error", "param": null, "code": null } }
| 状态 | 错误码 | 触发原因与处理办法 |
|---|---|---|
| 400请求有误 | ||
| 400 | invalid_requestinvalid_request_error | 请求体不合法 触发原因: 请求体不是合法的 JSON,或者缺了必填字段: 解决办法:
|
| 401鉴权 | ||
| 401 | invalid_api_keyauthentication_error | API Key 无效 触发原因: Key 没带上、有错字、已删除,或者放在了网关不读的请求头里。 解决办法:
|
| 403权限 | ||
| 403 | no_subscriptionpermission_error | 没有生效中的套餐 触发原因: Key 本身有效,但账号下没有生效中的套餐:还没买、已到期,或者续费扣款失败。 解决办法: |
| 404找不到 | ||
| 404 / 405 | wrong_base_urlnot_found_error | Base URL 或请求方法不对 触发原因: 请求打到了网关不提供的路径或方法上。通常是 Base URL 多了或少了 解决办法:
|
| 404 | model_not_foundinvalid_request_error | 模型不在你的套餐里 触发原因: 模型 ID 拼错了,或者你的套餐不包含这个模型。 解决办法:
|
| 413请求过大 | ||
| 413 | body_too_largeinvalid_request_error | 请求太大 触发原因: 请求体超过了网关的大小上限,通常是上下文太长或附件太大。 解决办法:
|
| 429限制 | ||
| 429 | quota_exceededrate_limit_error | 额度已用完 触发原因: 某个模型或整个账号触到了 5 小时、每周或每月上限(限流)。报错信息写明了是哪个窗口和重置时间, 解决办法: |
| 429 | concurrency_limitedrate_limit_error可直接重试 | 同时进行的请求太多 触发原因: 每个套餐同时进行的请求数有上限,新请求到达时名额已经占满。 解决办法:
|
| 429 | no_upstream_availablerate_limit_error可直接重试 | 模型容量已满 触发原因: 这个模型此刻满载。 解决办法:
|
| 5xx模型厂商 | ||
| 4xx / 5xx | upstream_errorapi_error可直接重试 | 模型厂商返回了错误 触发原因: 模型厂商拒绝了请求或处理失败,网关把它的状态码和报错原样转给你。502 表示重试后仍然失败。 解决办法:
|
| 503暂不可用 | ||
| 503 | plan_unavailableapi_error可直接重试 | 暂时查不到套餐 触发原因: 网关短时间内没能读到你的套餐。问题在我们这边,和你的 Key 无关。 解决办法:
|
| 503 | quota_unavailableapi_error可直接重试 | 暂时查不到额度 触发原因: 网关没能读到你的用量计数,所以直接拒绝请求,不去猜。问题在我们这边。 解决办法:
|
| 503 | upstream_unavailableapi_error可直接重试 | 请求暂时无法处理 触发原因: 模型还没开始回复,这次请求就失败了。重试通常就好。 解决办法:
|
| 503 | no_upstreamapi_error | 模型暂时无法提供 触发原因: 这个模型在你的套餐里,但眼下暂时无法使用。 解决办法:
|
| 200 / 499回复过程中 | ||
| 200 | stream_incompleteapi_error可直接重试 | 流式输出中断 触发原因: 回复以 200 开始,但流在回复完整之前就断了,客户端看到的是只说了一半的回复,或者末尾一条报错。 解决办法:
|
| 499 | client_aborted | 客户端取消了请求 触发原因: 回复还没结束,客户端就断开了连接:你按了 Esc 或 Ctrl+C、客户端超时,或者网络断了。499 只出现在你的请求日志里,客户端不会收到。 解决办法:
|
标了“可直接重试”的错误是暂时的:等一两秒,或等 retry-after 给出的秒数,再原样发一次。多数 SDK 遇到 429 和 5xx 会自动重试。其他错误要先在你这边改点什么。
有用的响应头
| 响应头 | 含义 |
|---|---|
| x-request-id | 这次请求的唯一 ID,和用量明细里显示的是同一个。发邮件到 [email protected] 时带上。 |
| retry-after | 重试前要等的秒数。429 和暂时性的 503 会带。 |
| x-should-retry | quota_exceeded 时为 false:Anthropic 和 OpenAI 的官方 SDK 收到后不再自动重试,因为要等的是整个窗口。 |
| x-ratelimit-remaining-<window> | quota_exceeded 时返回,值为 0。后缀是触到的窗口:5h、week 或 month。是账户额度还是单个模型的额度,看错误信息。 |
| x-ratelimit-reset-<window> | quota_exceeded 时返回:这个窗口还要多久释放,比如 1h10m53s。 |
| x-ratelimit-limit-concurrency | concurrency_limited 时返回:你的套餐最多同时跑几个请求,x-ratelimit-remaining-concurrency 为 0。上游容量不足导致的 429 不带这组头。 |