Hotdry.
mlops

自建 Claude Relay Service:多 LLM API 池化与成本共享工程实践

工程化自建 Claude 中继服务,实现 Claude/OpenAI/Gemini/Droid 统一 API 接入,支持订阅池化、成本分摊与原生工具无缝集成,提供部署参数、限流阈值与监控清单。

在多模型时代,企业或团队使用 Claude、Gemini 等高级 LLM 时,常面临订阅成本高企、访问不稳及隐私泄露等问题。自建 Claude Relay Service (CRS) 是一种高效解决方案,它通过统一 OpenAI-compatible API 镜像 Claude Code,支持多订阅池化,实现成本共享,同时确保原生工具如 Claude Code CLI、Gemini CLI 的无缝集成。本文聚焦工程实践,给出核心参数配置、部署清单及运维监控要点,帮助你快速落地。

为什么选择自建中继服务?

第三方镜像虽便捷,但隐私风险高(对话内容全被记录)、性能不稳(高峰期卡顿)、定价不透明。自建 CRS 的优势在于:数据仅经自家服务器直连 Anthropic API,性能可控(几人共享 Max 订阅即可流畅用 Opus),成本精确到 token(按官方价计算)。“本项目直连 Anthropic API,所有接口请求只经过你自己的服务器。” 此外,支持多账户轮换、智能切换,极大提升可用性。

相比通用代理,CRS 专为 LLM 工具优化:兼容 Claude Code 的 SSE 流式输出、Gemini 的 Assist API,同时支持 Droid/Codex 的自定义模型配置。成本分摊逻辑简单:一个 200 美元 Max 订阅,3-5 人平摊,每月仅需 40-70 美元,即可享官方级体验。

核心架构与统一 API 设计

CRS 基于 Node.js + Redis 构建,轻量高效。架构要点:

  • 账户池管理:OAuth 添加多个 Claude/Gemini/Codex 账户,自动轮换。每个账户绑定静态代理(可选,避免 IP 封禁)。
  • API Key 系统:独立 Key 分配给用户,支持细粒度限流(RPM/TPM/ 并发)。
  • 路由分发/claude/ → Claude 池,/gemini/ → Gemini,/openai/ → Codex,/droid/ → 通用兼容。统一 /v1/chat/completions 等端点。
  • 性能优化:连接池、请求缓存、UA 客户端限制(e.g., 只允许 claude-cli User-Agent)。

关键参数配置(config.js & .env):

server: {
  port: 3000,  // 生产建议 8080,避免冲突
  host: '0.0.0.0'  // Docker 内网用容器 IP
},
redis: {
  host: '127.0.0.1',
  port: 6379,
  password: ''  // 生产必设强密码
},
jwt_secret: '32+位随机密钥',  // 防篡改
encryption_key: '精确32字符密钥'  // 账户凭证加密

限流阈值建议(API Key 创建时设置):

  • 速率限制:20 RPM / 100k TPM(单人 Claude Code 日常够用)。
  • 并发:5(避免 Opus 峰值超载)。
  • 客户端白名单claude-cli/*GeminiCLI/*codex/*
  • 超时:read_timeout 300s(长对话流式)。

部署清单:从零到生产

硬件最低:1 核 1GB,30GB 盘,US 地域 VPS(阿里 / 腾讯海外易被 CF 拦截,推荐 Vultr/Linode)。

1. 一键脚本(推荐,5min)

curl -fsSL https://pincc.ai/manage.sh -o manage.sh && chmod +x manage.sh && ./manage.sh install

交互配置:端口 8080,Redis 本地。自动装 Node 18+、Redis,启动后访问 /web 面板。管理员凭据存 data/init.json

2. Docker Compose(隔离好)

下载 crs-compose.sh 生成 docker-compose.yml,设 JWT_SECRET/ENCRYPTION_KEY,docker-compose up -d。挂载 ./data:/app/data 持久化。

3. 反向代理(HTTPS 生产必备)

用 Caddy:

your-domain.com {
  reverse_proxy 127.0.0.1:3000 {
    flush_interval -1  // SSE 支持
    transport http { read_timeout 300s }
  }
  header {
    Strict-Transport-Security "max-age=31536000"
  }
}

Nginx 类似,加 proxy_buffering off; proxy_read_timeout 300s;

验证:curl http://localhost:3000/health 应返 OK。

4. 初始化使用

  • 添加账户:面板 → Claude 账户 → 生成 OAuth 链接 → 授权 → 粘贴 code。
  • 创建 Key:设限流 → 复制 cr_xxx
  • 工具集成示例:

Claude Code

export ANTHROPY_BASE_URL="https://your-domain.com/api/"
export ANTHROPIC_AUTH_TOKEN="cr_xxx"
claude

Gemini CLI(Assist 模式):

CODE_ASSIST_ENDPOINT="https://your-domain.com/gemini"
GOOGLE_CLOUD_ACCESS_TOKEN="cr_xxx"
gemini

Codex(~/.codex/config.toml):

[model_providers.crs]
base_url = "https://your-domain.com/openai"

Droid CLI:~/.factory/config.json 加 custom_models,base_url 如 /droid/claude

运维监控与风险控制

监控点

  • 面板:/web 查看 token 用量、账户健康、Key 统计。
  • 日志:logs/ 追踪 UA、错误(e.g., 403 客户端禁)。
  • 告警:Prometheus 刮取 /metrics,阈值:账户失败率 >20%、TPM 超 80%。

回滚策略

  • 升级:git pull && npm install && npm run build:web && restart
  • 故障:crs restart,查 Redis ping
  • 限流调优:日常 20/100k → 峰值降至 10/50k。

风险限

  1. ToS 违规:仅学习用,自担封禁风险。
  2. 安全:更新 v1.1.249+,用 HTTPS,防火墙限 443。
  3. 成本:监控 TPM,超支自动暂停 Key。

实际案例:3 人团队共享 Opus,月 token 5M,成本~50 美元 / 人,零隐私泄露,工具响应 <2s。

资料来源:

通过以上参数与清单,自建 CRS 可快速实现多 LLM 池化,平衡成本与效率。立即试部署,解锁团队级 AI 生产力!(字数:1256)

查看归档