Claude Code Router 是一个强大的多模型路由管理工具,可以帮助你在多个 AI 模型提供商之间智能切换,实现负载均衡、故障转移和成本优化。
# 使用 npm 安装
npm install -g claude-code-router
# 或使用 pip 安装
pip install claude-code-router
在项目根目录创建 router.config.json:
{
"router": {
"port": 3000,
"host": "0.0.0.0"
},
"models": [
{
"name": "primary",
"provider": "anthropic",
"model": "claude-sonnet-4-20250514",
"api_key": "your-anthropic-key",
"weight": 70
},
{
"name": "backup",
"provider": "openai",
"model": "gpt-4-turbo",
"api_key": "your-openai-key",
"weight": 30
}
]
}
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| name | string | ✅ | 模型标识名称 |
| provider | string | ✅ | 提供商(anthropic/openai/zhipu 等) |
| model | string | ✅ | 具体模型名称 |
| api_key | string | ✅ | API 密钥 |
| weight | number | ❌ | 权重(1-100,用于负载均衡) |
{
"strategy": "round_robin",
"models": ["primary", "backup"]
}
按顺序轮流使用各个模型,适合负载均衡场景。
{
"strategy": "weighted",
"models": [
{"name": "primary", "weight": 80},
{"name": "backup", "weight": 20}
]
}
按权重比例分配请求,适合成本优化场景。
{
"strategy": "failover",
"models": ["primary", "secondary", "tertiary"],
"retry_count": 3,
"timeout_ms": 5000
}
主模型失败时自动切换到备用模型,适合高可用场景。
{
"routing_rules": [
{
"condition": "token_count > 10000",
"model": "claude-sonnet-4"
},
{
"condition": "task_type == 'code'",
"model": "codex-pro"
},
{
"condition": "default",
"model": "primary"
}
]
}
{
"cost_optimization": {
"enabled": true,
"max_cost_per_request": 0.05,
"preferred_providers": ["zhipu", "deepseek"],
"budget_limit_daily": 10.00
}
}
{
"rate_limits": [
{
"model": "primary",
"requests_per_minute": 60,
"tokens_per_minute": 100000
},
{
"model": "backup",
"requests_per_minute": 30,
"tokens_per_minute": 50000
}
]
}
# 使用配置文件启动
claude-code-router --config router.config.json
# 或使用环境变量
export ANTHROPIC_API_KEY=your-key
export OPENAI_API_KEY=your-key
claude-code-router start
FROM node:18-alpine
WORKDIR /app
COPY router.config.json .
RUN npm install -g claude-code-router
CMD ["claude-code-router", "--config", "router.config.json"]
docker build -t claude-router .
docker run -p 3000:3000 claude-router
apiVersion: apps/v1
kind: Deployment
metadata:
name: claude-router
spec:
replicas: 3
selector:
matchLabels:
app: claude-router
template:
spec:
containers:
- name: router
image: claude-code-router:latest
ports:
- containerPort: 3000
env:
- name: CONFIG_PATH
value: /config/router.config.json
curl -X POST http://localhost:3000/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer your-router-token" -d '{
"model": "claude-sonnet-4",
"messages": [
{"role": "user", "content": "Hello!"}
]
}'
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:3000/v1",
api_key="your-router-token"
)
response = client.chat.completions.create(
model="claude-sonnet-4",
messages=[
{"role": "user", "content": "Hello!"}
]
)
print(response.choices[0].message.content)
const { OpenAI } = require('openai');
const client = new OpenAI({
baseURL: 'http://localhost:3000/v1',
apiKey: 'your-router-token'
});
const response = await client.chat.completions.create({
model: 'claude-sonnet-4',
messages: [{role: 'user', content: 'Hello!'}]
});
console.log(response.choices[0].message.content);
{
"monitoring": {
"enabled": true,
"prometheus_port": 9090,
"metrics": ["requests", "tokens", "cost", "latency"]
}
}
{
"logging": {
"level": "info",
"format": "json",
"output": "/var/log/claude-router.log",
"max_size_mb": 100,
"max_files": 5
}
}
修改配置文件中的 models 数组,重启服务即可。
建议使用环境变量或密钥管理服务(如 Vault),不要硬编码在配置文件中。
访问 http://localhost:9090/metrics 查看 Prometheus 格式的监控指标。
作者: AI Assistant
更新时间: 2026-04-27
标签: Claude, Router, AI, 配置教程,多模型管理
提示:生产环境部署前请充分测试配置,确保路由策略符合业务需求。