一个完整的 OpenAI 服务商管理系统,为 Claude Code 提供 OpenAI AI 能力支持。
- 🔄 API 兼容性: 完全兼容 Claude SDK 接口,无需修改现有代码
- 🏊♂️ 服务商池子: 支持多个 OpenAI 服务商的负载均衡和故障转移
- 🎛️ Web 管理界面: 直观的服务商管理和监控界面
- 📊 使用统计: 详细的请求统计和成功率监控
- 🏥 健康检查: 自动检测服务商健康状态
- ⚖️ 负载均衡: 支持加权轮询、随机选择、最少连接数等策略
- 🔧 YAML 配置: 灵活的配置文件支持环境变量
export OPENAI_API_KEY_1="your-openai-api-key"
export AZURE_OPENAI_KEY="your-azure-openai-key"
export CUSTOM_API_KEY="your-custom-api-key"
# 使用 Docker Compose [header-6](#header-6)
docker-compose up -d
# 或者直接运行 [header-7](#header-7)
go run main.go
在 Claude Code 中设置环境变量:
export ANTHROPIC_API_KEY="dummy-key"
export ANTHROPIC_BASE_URL="http://localhost:8080"
打开浏览器访问 http://localhost:8081 进行服务商管理。
openai_providers:
pool:
- id: "provider-1"
name: "OpenAI Official"
api_key: "${OPENAI_API_KEY_1}"
base_url: "https://api.openai.com"
model: "gpt-4"
enabled: true
weight: 10
max_requests_per_minute: 60
timeout: 30s
load_balancing:
strategy: "weighted_round_robin"
health_check:
enabled: true
interval: 30s
timeout: 10s
failover:
enabled: true
max_retries: 3
retry_delay: 1s
server:
port: 8080
admin_port: 8081
log_level: "info"
- POST /v1/messages - 创建消息
- POST /v1/messages/streaming - 流式消息
- GET /health - 健康检查
- GET /api/providers - 获取服务商列表
- POST /api/providers - 创建服务商
- PUT /api/providers/{id} - 更新服务商
- DELETE /api/providers/{id} - 删除服务商
- GET /api/providers/{id}/usage - 获取使用统计
- GET /api/health/all - 获取所有服务商健康状态
import "github.com/anthropics/anthropic-sdk-go"
client := anthropic.NewClient()
message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
MaxTokens: 1024,
Messages: []anthropic.MessageParam{
anthropic.NewUserMessage(anthropic.NewTextBlock("Hello!")),
},
Model: anthropic.ModelClaudeSonnet4_20250514,
})
docker build -t openai-claude-proxy .
docker run -p 8080:8080 -p 8081:8081 \
-e OPENAI_API_KEY_1="your-key" \
openai-claude-proxy
apiVersion: apps/v1
kind: Deployment
metadata:
name: openai-claude-proxy
spec:
replicas: 2
selector:
matchLabels:
app: openai-claude-proxy
template:
metadata:
labels:
app: openai-claude-proxy
spec:
containers:
- name: proxy
image: openai-claude-proxy:latest
ports:
- containerPort: 8080
- containerPort: 8081
env:
- name: OPENAI_API_KEY_1
valueFrom:
secretKeyRef:
name: openai-keys
key: api-key-1
系统提供详细的使用统计和健康监控:
- 请求总数和成功率
- Token 使用量统计
- 服务商健康状态
- 负载均衡分布
- 服务商连接失败: 检查 API Key 和 Base URL 配置
- 负载均衡不工作: 确认多个服务商都已启用且健康
- Claude Code 连接失败: 检查环境变量 ANTHROPIC_BASE_URL 设置
# Docker 日志 [header-8](#header-8)
docker-compose logs -f
# 直接运行日志 [header-9](#header-9)
./main 2>&1 | tee app.log
欢迎提交 Issue 和 Pull Request!
MIT License