📖 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
/v1/models
获取可用模型列表
POST
/v1/chat/completions
OpenAI 兼容的聊天补全 API
POST
/v1/messages
Anthropic 兼容的 Messages 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-5claude-opus-4-5-20251101claude-haiku-4-5claude-sonnet-4-5claude-sonnet-4-5-20250929claude-sonnet-4claude-sonnet-4-20250514claude-3-7-sonnet-20250219