控制台

BasicRouter 文档

快速入门

BasicRouter 为生产团队提供统一的稳定 API,用于模型访问、路由、兜底、用量跟踪和基于积分的计费。LLM token 供应来自可信的企业云原厂账号,网关内置隐私保护、高稳定性和请求可追溯能力。

Base URLhttps://api.basicrouter.ai/api
OpenAI 兼容https://api.basicrouter.ai/api/v1
Anthropic-messageshttps://api.basicrouter.ai/api/v1
认证Authorization: Bearer <key>

创建 API 密钥

在控制台中创建 BasicRouter API 密钥。请将密钥保存在服务器端,切勿在浏览器或移动客户端代码中暴露。

推荐的密钥策略:

密钥类型推荐用途
开发密钥本地开发、预发布、测试和原型。
生产密钥仅用于后端生产负载。
集成密钥专用于 Cursor、Claude Code、Codex、Hermes 或 OpenClaw 等工具的密钥。
客户 / 租户密钥面向企业客户、租户流量或业务单元的可选密钥隔离。

当团队访问权限变更时请轮换密钥。不再使用的密钥请及时吊销。

将 SDK 指向 BasicRouter

大多数 OpenAI 兼容客户端只需更换 base URL 和 API 密钥即可。

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.BASICROUTER_API_KEY,
  baseURL: "https://api.basicrouter.ai/api/v1"
});

发送聊天补全请求

curl --request POST \
  --url https://api.basicrouter.ai/api/v1/chat/completions \
  --header "Authorization: Bearer $BASICROUTER_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "claude-sonnet-5",
    "messages": [
      { "role": "user", "content": "Explain BasicRouter in one sentence." }
    ]
  }'

查询用量和余额

curl --request GET \
  --url https://api.basicrouter.ai/api/v1/billing/balance \
  --header "Authorization: Bearer $BASICROUTER_API_KEY"

模型发现

使用模型页面或模型 API 查看可用的文本模型。模型元数据包括厂商、服务提供商、模态、上下文长度、支持的 API 系列、支持的能力、可用性、账户级限制和积分定价。

端点: GET /v1/models 用途: 列出当前账户可用的模型。

curl --request GET \
  --url https://api.basicrouter.ai/api/v1/models \
  --header "Authorization: Bearer $BASICROUTER_API_KEY"

能力矩阵

能力说明常用场景
streaming支持服务器推送事件流。聊天应用、编程智能体、实时交互体验。
tool_calling支持工具或函数调用。智能体、工作流自动化、编程助手。
structured_outputs支持 schema 约束或 JSON 输出。数据提取、工作流自动化、企业应用。
json_mode可返回 JSON 格式输出。轻量级结构化响应。
vision接受图像输入。多模态聊天、UI 分析、文档截图。
prompt_caching支持缓存输入或上下文复用。长上下文智能体、重复的系统提示词。
reasoning支持可用时的显式推理控制。复杂规划、编程、分析工作流。
logprobs支持 token 概率输出。评估、排序、高级 NLP 工作流。

API 系列兼容性矩阵

API 系列文本视觉输入工具调用结构化输出流式说明
OpenAI Chat Completions是取决于模型取决于模型取决于模型是OpenAI 兼容智能体和 SDK 的最佳默认选择。
OpenAI Responses是取决于模型取决于模型取决于模型是推荐用于较新的 OpenAI 风格智能体工作流。
Anthropic Messages是取决于模型取决于模型取决于模型是最适合 Claude 兼容客户端和 Claude Code。
Gemini OpenAI compatibility是取决于模型取决于模型取决于模型是通过 OpenAI 风格客户端使用 Gemini 模型。
Gemini native compatibility是取决于模型取决于模型取决于模型是最适合已有的 Gemini 原生应用。
BasicRouter image generation否取决于模型否否否使用异步任务轮询或 webhook。
BasicRouter video generation否取决于模型否否否使用异步任务轮询或 webhook。

认证

每个 API 请求都使用 bearer token。请将密钥存储在服务器端环境变量中,团队访问变更时及时轮换,并记录请求 ID 以便调试。

请求头值说明
AuthorizationBearer YOUR_API_KEY每个请求必填。
Content-Typeapplication/jsonJSON 请求体必填。

密钥安全建议

  1. 将 API 密钥保留在服务器端。切勿在浏览器或移动客户端代码中暴露密钥。
  2. 为开发、预发布、生产和第三方集成使用不同的密钥。
  3. 在可用时按环境、服务、客户或租户限定密钥范围。
  4. 在员工离职、供应商访问变更或疑似泄露后轮换密钥。
  5. 将密钥存储在密钥管理器或环境变量中,而非源代码中。

控制台使用

BasicRouter 控制台是 API 访问、模型可用性、路由策略、用量可见性和计费管理的运维控制面板。它为账户管理员提供密钥、模型、请求、积分和生产模型流量账户级控制的集中视图。

管理 API 密钥

在控制台中创建、轮换、吊销和标记 API 密钥。为开发、预发布、生产和各个服务使用不同的密钥,以便按环境或应用审计和隔离用量。

实践说明
分离环境为开发、预发布和生产流量使用不同的 API 密钥。
使用描述性标签按应用、服务、环境或集成为密钥打标签。
定期轮换在访问变更或凭证可能已暴露时轮换密钥。
避免客户端暴露仅将 API 密钥保留在服务器端系统。切勿在浏览器或移动客户端代码中暴露密钥。
监控密钥用量按密钥审查请求量、积分消耗和错误模式。

模型列表

使用模型页面查看账户可用的模型。每个模型条目可能包括厂商、服务提供商、模态、支持的 API 系列、上下文长度、能力标志、可用性状态和定价信息。

筛选器用途
厂商按模型厂商筛选,如 OpenAI、Anthropic、Google、Qwen、DeepSeek 或其他提供商。
提供商按服务提供商或云提供商筛选。
模态按文本、图像、视频、嵌入、音频或多模态支持筛选。
能力按流式输出、工具调用、结构化输出、视觉、提示词缓存或推理支持筛选。
可用性识别当前对账户可用的模型。

对于生产应用,启用流量前请验证模型能力。部分参数和功能取决于模型,可能并非在所有 API 系列中都受支持。

用量与日志

用量与日志视图提供 API 流量的运维可见性。团队可以检查请求量、所选模型、解析的路由目标、积分消耗、延迟、错误码和请求 ID。

  • 排查失败的请求。
  • 识别高成本工作负载。
  • 比较不同应用和环境之间的模型用量。
  • 验证路由和兜底行为。
  • 调查延迟或提供商可用性问题。
  • 联系支持时提供请求 ID。

每个 API 响应包含或暴露一个 BasicRouter 请求 ID。请将此 ID 存储在应用日志中,以提高生产调试和支持升级的效率。

兜底

兜底是 BasicRouter 的弹性机制。当主模型或路由策略失败时,系统自动切换到备用模型以继续处理请求。这使你的应用保持响应能力,并最大限度地降低服务中断的风险。

高可用性保障
兜底就像一张安全网,即使在模型故障、配额限制或网络波动时也能保持应用平稳运行。

为什么兜底很重要

在生产环境中,模型服务可能会遇到许多不可预测的问题:

  • 模型服务故障:上游 API 暂时不可用或超时。
  • 性能波动:模型高负载导致响应缓慢或失败。
  • 路由失败:智能路由选择的所有候选模型均不可用。

兜底通过提供可靠的备用路径来保持应用的可用性。

核心优势

优势说明
高可用性自动故障转移保持服务运行,减少停机影响。
透明切换系统自动切换模型,无需修改应用代码。
灵活配置支持请求级和账户级配置,适用于不同场景。
成本优化选择更具成本效益的模型作为兜底,控制紧急成本。
集中管理在账户级配置一次,即自动应用于每个请求。

全局兜底模型配置

BasicRouter 支持从控制台后端设置全局兜底模型。所有请求在失败时自动使用此模型作为备用。

配置方法:

  1. 前往 BasicRouter 策略设置页面。
  2. 找到 默认兜底模型 设置。
  3. 从下拉列表中选择你的全局兜底模型。
  4. 保存设置以立即生效。

全局配置的优势:

  • 无需修改代码:配置一次即全局生效,无需在每个请求上重复设置。
  • 集中管理:在一个位置管理兜底策略,便于调整和监控。
  • 简化维护:降低代码复杂度和配置出错的可能性。
  • 灵活覆盖:请求级兜底配置优先级更高,可为特定场景覆盖全局设置。

请求级兜底配置

对于特定业务场景,可在单个请求上指定兜底模型以覆盖全局配置。

使用 router.fallBackModels 参数指定兜底模型:

{
  "model": "claude-sonnet-4",
  "messages": [
    {
      "role": "user",
      "content": "Explain what quantum computing is"
    }
  ],
  "router": {
    "fallBackModels": ["glm-5.2"]
  }
}

优先级规则

当存在多个兜底配置时,优先级从高到低为:

  1. 请求级 router.fallBackModels:在单个请求上指定的兜底模型。
  2. 全局默认兜底模型:在控制台配置的全局兜底模型。
  3. 无兜底:如果两者都未配置,请求失败时返回错误。
⚠ 重要提示
  • 如果所有兜底模型均失败,系统返回最后尝试模型的失败原因。
  • 当发生兜底时,响应会指明实际使用的模型,便于监控和分析。

账户管理

根据账户类型,控制台可能包括账户级模型启用、经销商或分销商控制、计费配置和访问设置。管理员可使用这些控制项,使模型访问、用量可见性和计费责任与应用、客户账户或业务单元保持一致。

生产运维检查清单

项目建议
API 密钥使用带清晰标签的专用生产密钥。
模型确认模型可用性、定价、上下文长度和所需能力。
路由为关键工作负载配置路由别名或兜底策略。
日志确保应用日志中捕获请求 ID。
计费确认钱包余额、套餐状态和积分扣减规则。
速率限制审查账户级 RPM、TPM、并发和媒体任务限制。
告警监控用量增长、积分余额、错误和提供商可用性。

计费与积分

BasicRouter 在文本、图像、视频和其他支持的模型工作负载中采用基于积分的计费模型。积分为多模型和多提供商用量提供统一单位,使团队能够跨模态和 API 系列一致地管理消耗。

详细的模型定价可在模型页面或通过模型元数据 API 获取。定价可能因模型、提供商、模态、分辨率、token 类型、输出长度、任务时长、账户类型和商业协议而异。

充值与钱包

账户可添加按量付费钱包积分以获得灵活用量。除非账户适用自定义计费规则,否则钱包积分在月度套餐积分和资源包消耗完毕后使用。

除非适用商业条款另有规定,钱包积分不会过期。充值按量付费钱包时会收取服务费。

月度套餐和资源包

每个用户或账户可选择一个有效的月度套餐。月度套餐在计费周期内提供约定数量的用量容量、商业条款和账户级访问配置。

用户还可购买多个资源包以获得额外用量容量。资源包可将承诺用量与按量付费钱包余额分开,适用于大批量文本、图像、视频或专用工作负载用量。

扣费顺序

除非配置了自定义计费规则,否则积分按以下顺序扣减:

优先级积分来源说明
1月度套餐优先消耗包含的月度用量容量。
2资源包月度套餐积分消耗后消耗额外购买的资源包。
3按量付费钱包套餐和资源包积分消耗后消耗钱包余额。

对于有自定义商业条款的账户,扣费顺序、过期规则、包含用量和定价可能不同。账户特定规则会显示在控制台或通过商业协议提供。

自定义定价

可为每个用户或账户自定义定价。企业客户、经销商账户、分销商账户和大批量客户可能符合自定义定价条件。请联系销售获取报价。

自定义定价可按账户、模型、提供商、模态、区域、用量或商业协议配置。启用自定义定价后,控制台和计费 API 会在可用时反映账户特定的定价和扣减规则。

计价单位

不同模型模态使用不同的计量单位。BasicRouter 根据模型定价规则将这些单位转换为积分。

模态常见计价基础
文本输入 token、输出 token、缓存读 token、缓存写 token、推理 token 或模型特定的 token 类别。
图像模型、分辨率、生成图片数量、输入图片用量、编辑模式或质量设置。
视频模型、输出分辨率、生成秒数、宽高比、输入图片或视频用量和任务类型。
嵌入输入 token 或嵌入记录数量。
音频输入时长、输出时长、转录长度或模型特定的音频单位。

计价单位可能因模型而异。在生产环境中启用模型前,请务必参考模型详情页面或定价元数据。

用量归因

BasicRouter 用量可按账户、API 密钥、模型、模态或时间范围查看。这使团队能够将成本归因到应用、环境、客户或内部业务单元。

维度说明
API 密钥按应用、服务或环境分组用量。
模型按所选模型比较成本和用量。
解析后模型查看路由或兜底后实际使用的模型。
模态分离文本、图像、视频、嵌入和音频用量。
时间范围查看每日、每月或自定义报告周期。
元数据按自定义请求元数据(如客户 ID、租户 ID、用户 ID 或环境)分组用量。

积分余额

查看账户可用的积分数量。余额分为三个按顺序扣减的钱包:月度套餐积分、购买的资源包和按量付费钱包。还提供一个合并资源总量(月度套餐 + 资源包,不含按量付费),用于将包含用量与充值消费分开跟踪。

以编程方式获取此信息,请参见 API 参考中的 GET /v1/billing/balance。

用量详情

查看分页的、按时间顺序排列的用量记录列表,用于报告、监控和内部成本分摊。每条记录显示模型、模型类型(文本、图像或视频)、扣减的积分,以及每次扣减来自哪个钱包的明细。结果可筛选到特定时间范围。

以编程方式获取此信息,请参见 API 参考中的 GET /v1/usage。

交易记录

使用交易记录查看积分变动,包括充值、套餐分配、资源包发放、用量扣减、调整和管理修正。

以编程方式获取此信息,请参见 API 参考中的 GET /v1/billing/transactions。

失败请求与退款

校验错误、认证错误和权限错误通常不计费,因为未发生模型执行。到达上游模型或生成部分输出的请求可能会消耗积分,具体取决于模型、提供商和响应状态。

对于异步图像和视频任务,计费行为取决于任务是已接受、已开始、已完成、已失败还是已取消。任务详情响应在消耗积分时会包含用量信息。

充值、月度套餐、资源包和已消耗的积分不可退款,除非适用商业协议另有规定或法律要求。

运维

错误处理

BasicRouter 返回稳定的错误码,便于应用统一处理重试、兜底、计费问题和调试。

兼容上游的端点会尽量保留原始 API 系列的错误结构。BasicRouter 原生端点使用 BasicRouter 错误对象。

HTTP 状态码与错误码映射

HTTP 状态码错误类型示例错误码是否重试
400invalid_request_errorinvalid_request, unsupported_parameter, invalid_messages, invalid_image_url否
401authentication_errormissing_api_key, invalid_api_key否
402billing_errorinsufficient_credits, payment_required, quota_exceeded否
403permission_errormodel_access_denied, endpoint_access_denied, key_scope_denied否
404not_found_errormodel_not_found, response_not_found, task_not_found否
408timeout_errorgateway_timeout, provider_timeout是
409conflict_erroridempotency_conflict, task_already_cancelled视情况
422validation_errorschema_validation_failed, unsupported_modality否
429rate_limit_erroraccount_rpm_exceeded, account_tpm_exceeded, provider_rate_limited是
500internal_errorinternal_error是
502provider_errorprovider_bad_gateway, provider_invalid_response是
503service_unavailablemodel_unavailable, provider_unavailable, insufficient_capacity是
504timeout_errorprovider_timeout, gateway_timeout是

常见错误码

错误码含义建议操作
missing_api_key未提供 API 密钥。添加 Authorization 请求头。
invalid_api_keyAPI 密钥无效或已吊销。创建或轮换 API 密钥。
model_not_found模型 ID 不存在或未对该账户启用。查看模型页面或调用 GET /v1/models。
model_access_deniedAPI 密钥或账户无权访问该模型。启用模型或联系管理员。
unsupported_parameter请求包含所选端点或模型不支持的参数。移除该参数或选择兼容的模型。
unsupported_modality所选模型不支持该输入或输出模态。选择支持该模态的模型。
account_rpm_exceeded账户每分钟请求数超限。带退避重试或申请更高限额。
account_tpm_exceeded账户每分钟 token 数超限。带退避重试、减少 token 数或申请更高限额。
provider_rate_limited上游服务商对该请求限流。重试或启用兜底。
insufficient_credits账户积分不足。充值钱包、购买资源包或升级套餐。
provider_timeout上游服务商未及时响应。重试或启用兜底。
model_unavailable模型暂时不可用。重试或使用路由别名。
content_policy_error请求或输出被安全策略拦截。修改输入或选择合适的工作流。