📖 API 文档

🔑 认证

所有 API 请求需要在 Header 中携带 API Key。支持两种认证模式:

模式 1: 简单模式(使用服务器配置的 REFRESH_TOKEN)

# OpenAI 格式
Authorization: Bearer YOUR_PROXY_API_KEY

# Anthropic 格式
x-api-key: YOUR_PROXY_API_KEY

模式 2: 组合模式(用户自带 REFRESH_TOKEN,无需服务器配置)✨ 推荐

# OpenAI 格式
Authorization: Bearer YOUR_PROXY_API_KEY:YOUR_REFRESH_TOKEN

# Anthropic 格式
x-api-key: YOUR_PROXY_API_KEY:YOUR_REFRESH_TOKEN

💡 优先级说明:

  • 优先使用组合模式:如果 API Key 包含冒号 :,自动识别为 PROXY_API_KEY:REFRESH_TOKEN 格式
  • 回退到简单模式:如果不包含冒号,使用服务器配置的全局 REFRESH_TOKEN
  • 多租户支持:组合模式允许多个用户使用各自的 REFRESH_TOKEN,无需修改服务器配置
  • 缓存优化:每个用户的认证信息会被缓存(最多100个用户),提升性能

📡 端点列表

GET /

健康检查端点

GET /health

详细健康检查,返回 token 状态和缓存信息

GET /v1/models

获取可用模型列表 (需要认证)

POST /v1/chat/completions

OpenAI 兼容的聊天补全 API (需要认证)

POST /v1/messages

Anthropic 兼容的消息 API (需要认证)

💡 使用示例

OpenAI SDK (Python)

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="YOUR_PROXY_API_KEY"
)

response = client.chat.completions.create(
    model="claude-sonnet-4-5",
    messages=[{"role": "user", "content": "Hello!"}],
    stream=True
)

for chunk in response:
    print(chunk.choices[0].delta.content, end="")

Anthropic SDK (Python)

import anthropic

client = anthropic.Anthropic(
    base_url="http://localhost:8000",
    api_key="YOUR_PROXY_API_KEY"
)

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)

print(message.content[0].text)

cURL

curl http://localhost:8000/v1/chat/completions \
  -H "Authorization: Bearer YOUR_PROXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

🤖 可用模型

  • claude-opus-4-5
  • claude-opus-4-5-20251101
  • claude-haiku-4-5
  • claude-sonnet-4-5
  • claude-sonnet-4-5-20250929
  • claude-sonnet-4
  • claude-sonnet-4-20250514
  • claude-3-7-sonnet-20250219