故障排查
根据 HTTP 状态码和错误码找到错误原因,并解决问题。
先查看使用记录
在控制台中打开使用记录。找到失败的请求,查看其错误码。如果没有对应记录,说明该请求没有携带有效密钥到达 BSXin AI。请先检查密钥和网络。
速查表
| 状态码 | 错误码 | 原因 |
|---|---|---|
401 | unauthorized | 密钥缺失、错误、已禁用或已过期。 |
402 | insufficient_balance | 钱包余额为零或为负。 |
402 | plan_quota_exhausted | 已达到套餐限额。 |
403 | model_not_allowed | 密钥的模型限制中没有列出该模型。 |
403 | ip_not_allowed | 密钥的 IP 白名单中没有列出你的地址。 |
403 | model_pricing_required | 该模型尚未定价,无法计费。 |
404 | model_not_found | BSXin AI 的所有分组都不提供该模型 ID。 |
503 | no_healthy_upstream | 密钥所属分组不提供该模型,或当前没有可用线路。 |
502 | upstream_error 或上游错误码 | 该模型的所有线路都失败了。 |
401 unauthorized
- 从 API 密钥页面重新复制完整的密钥。密钥以
sk-开头。 - 检查请求头:
Authorization: Bearer $BSXIN_API_KEY或x-api-key: $BSXIN_API_KEY。 - 确认密钥已启用且未过期。
- 在 shell 中运行
echo ${#BSXIN_API_KEY}。结果为0表示当前终端中该变量为空。
Claude Code:ANTHROPIC_AUTH_TOKEN 发送 Authorization: Bearer,ANTHROPIC_API_KEY 发送 x-api-key。BSXin AI 两者都接受。运行 /status,查看 Claude Code 使用的是哪一个。
402 insufficient_balance
钱包余额为零或为负,且没有生效中的套餐覆盖该请求。充值余额、购买套餐或使用兑换码。详见充值、套餐与兑换码。在数据概览中设置余额提醒,以便在余额耗尽前收到提醒。
402 plan_quota_exhausted
请求已达到为其付费的套餐的用量限额。
- 打开我的订阅,查看每个套餐各项限额的已用额度。
- 等待整个周期重置:
- 滚动周期(例如 5 小时)从某个请求开始计算,经过该时长后结束。
- 每日周期在北京时间 00:00 重置。每周周期在周一重置。每月周期在每月 1 日重置。
- 如果你开启了可选的 7 天限额,可以在我的订阅中关闭它。月度限额仍然生效。
如需立即继续使用,请购买另一种套餐。续费同一套餐只延长天数,不增加额度。套餐覆盖的请求不会改用钱包余额支付。
403 错误
model_not_allowed:密钥设置了模型限制。在专业模式中添加该模型 ID,或改用其他密钥。ip_not_allowed:密钥设置了 IP 白名单。添加你当前的公网地址,或清空白名单。model_pricing_required:该模型尚未定价。选择其他模型,并告知运营方。
模型不存在或不在密钥所属分组中
404 model_not_found 表示 BSXin AI 的任何分组都不提供该模型 ID。
- 列出密钥可用的模型:
curl https://bsxinai.com/v1/models -H "Authorization: Bearer $BSXIN_API_KEY"。 - 从
data[].id中准确复制一个 ID。ID 区分大小写。 - 检查应用是否添加了前缀,例如
openai/或anthropic/。
503 no_healthy_upstream 可能表示该模型存在,但不在密钥所属的分组中。例如,GPT 分组的密钥不能调用 Claude 模型。
- 检查
GET /v1/models是否为该密钥列出了此模型。 - 如果没有列出,在正确的分组下创建密钥。详见 API 密钥与分组。
- 如果已列出,说明当前没有可用线路。等待一分钟后重试。查看
https://bsxinai.com/status。
Claude Code 还会使用一个小模型处理后台任务,例如生成会话标题。如果这些调用失败,把 ANTHROPIC_DEFAULT_HAIKU_MODEL 设为密钥所属分组中的模型 ID。
与 thinking 相关的 400 invalid_request
错误信息中出现 thinking.type=adaptive 或 thinking.type=enabled。这表示应用向不支持 Claude 推理设置的模型发送了这些设置。
- 在 Claude Code 和 Claude Desktop 中,使用 Claude 分组中的 Claude 模型 ID。
- 在其他应用中,关闭扩展思考,或选择支持该功能的模型。
502 upstream_error
该模型的所有线路都在回复开始前失败了。稍等片刻后重试。如果错误反复出现,请选择其他模型,并把请求时间告知运营方。
网络问题
BSXin AI 只使用一个域名 bsxinai.com,不提供备用线路或区域域名供选择。
| 现象 | 处理方法 |
|---|---|
Could not resolve host 或 ENOTFOUND | 检查 DNS。运行 nslookup bsxinai.com。 |
连接超时或 ECONNREFUSED | 检查代理、VPN 和防火墙。在浏览器中打开 https://bsxinai.com。 |
| TLS 或证书错误 | 检查系统时间。如果公司代理会检查 TLS 流量,需要把该代理的 CA 加入信任存储。Node.js 应用请设置 NODE_EXTRA_CA_CERTS。 |
返回 403 和一个 HTML 页面 | 公司防火墙拦截了请求。请网络管理员放行 bsxinai.com。 |
| 流式回复中途停止 | 调大应用的超时时间。在使用记录中查看是否有 client_gone 记录。 |
用一条命令测试连接:
curl -sS -o /dev/null -w "%{http_code}\n" https://bsxinai.com/v1/models \
-H "Authorization: Bearer $BSXIN_API_KEY"返回 200 表示网络、域名和密钥都正常。返回 401 表示网络正常,但密钥有问题。
Base URL 错误
| 应用风格 | 正确的 Base URL | 常见错误 |
|---|---|---|
| OpenAI 风格 | https://bsxinai.com/v1 | 缺少 /v1 |
| Anthropic 风格 | https://bsxinai.com | 多加了 /v1,导致路径变成 /v1/v1/messages |
兑换码问题
- 已使用的兑换码不能再次兑换。
- 15 分钟内失败 5 次后,兑换功能暂停 30 分钟。请等待后再检查兑换码是否输错。