Claude Code Hub

企业级多模型 API 代理平台

MIT License v0.3.37

项目概述

Claude Code Hub 是一个现代化的企业级 API 代理平台,通过统一接口管理多个 AI 服务提供商。系统实现了智能负载均衡、多维度限流、用户管理和消费追踪,适合团队和企业使用 Claude、OpenAI、Gemini 等 AI 服务。

客户端Claude Code / Gemini CLI
Hub 代理认证 & 限流
负载均衡权重 & 熔断
多ProviderClaude / OpenAI / Gemini

技术栈

  • 框架:Next.js 15 (App Router) + Hono
  • 数据库:PostgreSQL + Drizzle ORM
  • 缓存:Redis
  • 运行时:Bun (≥1.3) 或 Node.js (≥20)

核心功能

⚖️ 智能负载均衡

权重 + 优先级 + 分组调度,内置熔断器保护,最多 3 次故障转移重试。

🚦 多维度限流

RPM(每分钟请求)、消费额度(5小时/周/月)、并发 Session 限制,Redis Lua 原子保证。

🔌 多Provider支持

同时集成 Claude、Codex、Gemini CLI 和 OpenAI 兼容服务,支持模型重定向。

📊 实时监控

活跃会话、消费排行、决策链日志、Provider 状态追踪,全面可视化。

📖 API 文档自动生成

从 Server Actions 自动生成 39 个 REST 端点,OpenAPI 3.1.0 规范,Swagger + Scalar UI。

🛡️ 熔断器保护

Provider 连续失败自动熔断,Fail-Open 降级策略,保障服务稳定性。

系统要求

组件 最低要求 推荐配置
运行时 Node.js 20+ 或 Bun 1.3+ Bun 1.3+(性能更优)
数据库 PostgreSQL 14+ PostgreSQL 16
缓存 Redis 6+ Redis 7+
内存 1GB 2GB+
操作系统 Linux / macOS / Windows

安装部署

方式一:一键部署脚本(推荐)

脚本自动安装 Docker、生成安全令牌、启动所有服务。

Linux / macOS Windows
# Linux / macOS 一键部署 curl -fsSL https://raw.githubusercontent.com/ding113/claude-code-hub/main/scripts/deploy.sh -o deploy.sh chmod +x deploy.sh ./deploy.sh
# Windows PowerShell(以管理员身份运行) Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ding113/claude-code-hub/main/scripts/deploy.ps1" -OutFile "deploy.ps1" Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force .\deploy.ps1

方式二:Docker Compose 部署

# 1. 克隆项目 git clone https://github.com/ding113/claude-code-hub.git cd claude-code-hub # 2. 复制并编辑配置文件 cp .env.example .env # 3. 编辑 .env,设置 ADMIN_TOKEN(必须修改!) # ADMIN_TOKEN=your-secure-admin-token-here # 4. 启动服务 docker compose up -d # 5. 查看日志 docker compose logs -f

方式三:本地开发部署

# 使用 Makefile 快速启动开发环境 make dev # 启动 PostgreSQL + Redis + 开发服务器(热重载) # 或者手动启动 bun install bun run build bun run start

⚠️ 安全警告

  • 必须修改 ADMIN_TOKEN:默认值为 change-me,生产环境必须更改
  • 建议使用反向代理(Nginx/Caddy)并启用 HTTPS
  • 生产环境设置 ENABLE_SECURE_COOKIES=true

环境变量配置

变量名 默认值 说明 必填
ADMIN_TOKEN change-me 管理后台登录凭证 必填
DSN PostgreSQL 连接字符串 必填
REDIS_URL redis://localhost:6379 Redis 服务器地址 可选
APP_PORT 23000 服务监听端口 可选
AUTO_MIGRATE true 自动执行数据库迁移 可选
SESSION_TTL 300 会话缓存时长(秒) 可选
ENABLE_RATE_LIMIT true 启用多维度限流 可选
ENABLE_SECURE_COOKIES true 强制 HTTPS Cookie 可选
API_TEST_TIMEOUT_MS 15000 Provider API 测试超时(5000-120000ms) 可选

初始配置步骤

  1. 访问管理面板:打开浏览器访问 http://localhost:23000,使用 ADMIN_TOKEN 登录
  2. 添加 Provider:进入 Provider 管理,添加 Claude/OpenAI 等 API 提供商,配置 API Key
  3. 配置负载均衡:为每个 Provider 设置权重、优先级和分组
  4. 创建用户:添加团队成员,分配 API 密钥和限流配额
  5. 配置限流规则:设置 RPM、消费额度(5小时/周/月)、并发限制
  6. 测试连接:使用管理面板的测试功能验证 Provider 可用性

API 端点

端点 说明 用途
http://localhost:23000 管理后台 Provider 管理、用户管理、监控
/v1/chat/completions OpenAI 兼容接口 API 代理入口
/api/actions/scalar Scalar UI 交互式 API 文档
/api/actions/docs Swagger UI API 文档浏览

实际使用案例

案例一:Claude Code 集成

将 Claude Code CLI 连接到 Hub 代理服务:

# 设置环境变量 export ANTHROPIC_BASE_URL="http://localhost:23000/v1" export ANTHROPIC_API_KEY="your-hub-api-key" # 启动 Claude Code claude

效果:所有请求经过 Hub 负载均衡,自动选择最优 Provider,失败自动切换。

案例二:Gemini CLI 集成

将 Gemini CLI 连接到 Hub:

# 设置环境变量 export CODE_ASSIST_ENDPOINT="http://localhost:23000/gemini" export GOOGLE_CLOUD_ACCESS_TOKEN="your-hub-api-key" # 启动 Gemini CLI gemini

案例三:团队多维度限流管理

场景:20人开发团队,需要精细控制 API 使用成本。

  1. 创建用户分组:高级开发者 / 普通开发者 / 实习生
  2. 配置差异化限流:
    • 高级开发者:100 RPM,月消费 $500
    • 普通开发者:50 RPM,月消费 $200
    • 实习生:20 RPM,月消费 $50
  3. 设置熔断阈值:单 Provider 连续失败 5 次自动熔断
  4. 配置告警:消费达到 80% 时邮件通知

案例四:多 Provider 负载均衡

场景:同时使用多个 Claude 账号和 OpenAI 作为备份。

# Provider 配置示例 providers: - name: claude-primary type: claude weight: 60 # 60% 流量 priority: 1 # 最高优先级 - name: claude-secondary type: claude weight: 30 # 30% 流量 priority: 2 - name: openai-backup type: openai weight: 10 # 10% 流量,作为备份 priority: 3

效果:正常情况按权重分配,主 Provider 故障时自动切换到备份。

完整运行示例

以下是在 macOS 上从零开始部署 Claude Code Hub 的完整流程:

# ========== 第一步:一键部署 ========== # 下载并执行部署脚本 curl -fsSL https://raw.githubusercontent.com/ding113/claude-code-hub/main/scripts/deploy.sh -o deploy.sh chmod +x deploy.sh ./deploy.sh # 脚本会自动: # 1. 检查/安装 Docker # 2. 生成安全的 ADMIN_TOKEN # 3. 创建 .env 配置文件 # 4. 启动 PostgreSQL + Redis + Hub 服务 # ========== 第二步:记录 ADMIN_TOKEN ========== # 部署完成后会显示 ADMIN_TOKEN,请妥善保存 # 例如:ADMIN_TOKEN=a1b2c3d4e5f6g7h8i9j0... # ========== 第三步:访问管理后台 ========== # 浏览器打开 open http://localhost:23000 # 使用 ADMIN_TOKEN 登录 # ========== 第四步:添加 Provider ========== # 在管理后台: # 1. 进入 "Providers" 页面 # 2. 点击 "Add Provider" # 3. 选择类型(Claude/OpenAI) # 4. 填写 API Key # 5. 设置权重和优先级 # 6. 点击 "Test" 验证连接 # 7. 保存 # ========== 第五步:创建用户和 API Key ========== # 在管理后台: # 1. 进入 "Users" 页面 # 2. 点击 "Add User" # 3. 设置用户名和限流规则 # 4. 生成 API Key(如:hub_sk_xxxxxxxxxxxx) # ========== 第六步:配置客户端 ========== # Claude Code export ANTHROPIC_BASE_URL="http://localhost:23000/v1" export ANTHROPIC_API_KEY="hub_sk_xxxxxxxxxxxx" claude # 或写入配置文件永久生效 echo 'export ANTHROPIC_BASE_URL="http://localhost:23000/v1"' >> ~/.zshrc echo 'export ANTHROPIC_API_KEY="hub_sk_xxxxxxxxxxxx"' >> ~/.zshrc source ~/.zshrc # ========== 常用管理命令 ========== # 进入项目目录(macOS 默认安装位置) cd ~/Applications/claude-code-hub # 查看服务状态 docker compose ps # 查看日志 docker compose logs -f # 重启服务 docker compose restart # 停止服务 docker compose down # 更新到最新版本 git pull && docker compose up -d --build

开发命令速查

命令 说明
make dev 启动 PostgreSQL + Redis + 开发服务器(热重载)
make db 仅启动数据库和 Redis
make logs 查看服务日志
make db-shell 进入 PostgreSQL 命令行
make migrate 手动执行数据库迁移
make clean 清理环境
make reset 重置所有数据

与 Claude Relay Service 对比

维度 Claude Code Hub Claude Relay Service
定位 企业级 API 代理平台 轻量级中继服务
数据库 PostgreSQL + Redis 仅 Redis
负载均衡 权重+优先级+熔断器 简单轮询
限流维度 RPM/消费额度/并发Session 基础速率限制
API 文档 自动生成 OpenAPI 3.1
适用场景 团队 10+ 人,企业级需求 个人或小团队(<10人)
部署复杂度 中等 简单

默认安装路径

操作系统 安装路径
Linux /www/compose/claude-code-hub
macOS ~/Applications/claude-code-hub
Windows C:\ProgramData\claude-code-hub