Router 接口

本文档按当前后端代理逻辑同步整理,包含模型代理与仪表盘查询入口。


基础信息

  • 启动模式域名:
    • SaaS 单租户:https://api.xairouter.com
    • BYOK 多租户:https://api.xaicontrol.com
  • 文中示例统一使用 $BASE_URL,先按模式设置:
export BASE_URL="https://api.xairouter.com"      # SaaS
# export BASE_URL="https://api.xaicontrol.com"   # BYOK
  • 认证:Authorization: Bearer sk-Xvs...
curl ${BASE_URL}/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"hi"}]}'

兼容接口(代理)

当前代码中已覆盖的常见入口包括:

OpenAI 兼容

  • /v1/chat/completions
  • /v2/chat/completions
  • /chat/completions
  • /v1/responses
  • /responses
  • /v1/embeddings
  • /embeddings
  • /v1/images/generations
  • /v1/images/edits
  • /v1/images/variations
  • /v1/audio/transcriptions
  • /v1/audio/translations
  • /v1/realtime/client_secrets
  • /v1/realtime(WebSocket)
  • /v1/moderations
  • /v1/threads
  • /v1/files
  • /v1/models/models(模型列表)

Anthropic 兼容

  • /v1/messages
  • /messages

仪表盘接口(同域 GET)

以下查询同样走代理服务域名:

  • /dashboard/status
  • /dashboard/info
  • /dashboard/live
  • /dashboard/bill
  • /dashboard/logs
  • /dashboard/news
  • /dashboard/models

路由与策略(代码行为)

1) 模型映射

请求模型会按配置映射:

  • 用户级 ModelMapper
  • Owner 级 ModelMapper

映射后模型再参与后续路由与计费。

2) Level 路由

通过 LevelMapper 选择密钥池 Level,并在该 Level 内轮询密钥。

3) 故障转移

支持两层故障转移:

  • ModelFailover:模型级备用链
  • SwitchOver:Level 级切换

4) ACL 与限速

请求会经过:

  • IP 白名单(AllowIPs
  • 资源白名单(Resources,前缀匹配)
  • 模型白名单(AllowModels
  • 用户速率限制与模型级 ModelLimits

常用示例

Chat Completions

curl ${BASE_URL}/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role":"user","content":"给我一句问候"}]
  }'

Anthropic Messages

curl ${BASE_URL}/v1/messages \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet-latest",
    "max_tokens": 256,
    "messages": [{"role":"user","content":"hello"}]
  }'

模型列表

curl ${BASE_URL}/v1/models \
  -H "Authorization: Bearer $API_KEY"

相关文档