Hotdry.
ai-systems

Claude Relay Service 自托管代理:多 LLM API 统一接入与成本分摊实践

自建 CRS 代理,实现 Claude/OpenAI/Gemini 等 LLM 订阅拼车共享,token 级精确成本分摊,无需改客户端代码。提供部署参数、配置阈值与监控清单。

在多 LLM 时代,开发者常面临地区访问限制、隐私泄露风险和高昂订阅成本的问题。自托管的 Claude Relay Service (CRS) 提供了一个高效解决方案:通过统一 API 代理,实现 Claude、OpenAI、Gemini 等服务的无缝接入,支持多人订阅共享和精确成本分摊,且客户端无需任何代码修改,仅需调整环境变量即可。

CRS 核心机制:代理与分摊逻辑

CRS 采用 Node.js + Redis 架构,核心是多账户轮询和 API Key 管理。管理员通过 Web 面板(默认端口 3000/web)添加 Claude 等账户(OAuth 授权),系统自动轮换使用,避免单账户限流。“多账户管理支持自动轮换,当账户异常时智能切换下一个。” 每个用户获独立 API Key,Redis 记录 token 使用量,实现 token 级统计。

成本分摊依赖精确计量:面板显示每个 Key 的输入 / 输出 token、模型使用分布。假设 Claude Max $200 / 月订阅,团队 5 人共享,按 token 比例分摊。例如,一人用 10M input token(Opus 模型 $15/M),成本约 $150 / 人 / 月。系统支持速率限制(RPM/TPM)和并发限(默认 5),防止滥用。

部署参数与清单

硬件最低:1 核 CPU、512MB RAM、30GB 盘;建议 2 核 1GB,美区 VPS(阿里云海外易被拦截)。软件:Node 18+、Redis 6+、Linux。

一键脚本部署(推荐)

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

交互参数:

  • 安装目录:~/claude-relay-service
  • 服务端口:8080(避开 3000)
  • Redis 主机 / 端口 / 密码:localhost:6379(无密码)
  • 自动启动,生成 admin 凭据(data/init.json)

Docker Compose: 下载 crs-compose.sh,设置 .env:

JWT_SECRET=32位随机 hex(openssl rand -hex 32)
ENCRYPTION_KEY=32位加密密钥
ADMIN_USERNAME=cr_admin
ADMIN_PASSWORD=secure-pass

挂载 volumes:data、logs、postgres_data(若用 PG)。命令:docker-compose up -d。

回滚策略:git pull 前备份 config.js/.env,重启 npm run service:restart:daemon。

API Key 配置阈值

创建 Key 时设置:

  • 速率限制:请求 / 分钟 60、token / 分钟 100K(Opus 场景)。
  • 并发限制:3-5,避免账户过载。
  • 模型白名单:claude-3.5-sonnet、gemini-1.5-pro。
  • 客户端限制:User-Agent 匹配 claude-cli/、GeminiCLI/,防滥用。
  • IP 白名单:团队内网 192.168.0.0/24。

示例 JSON 配置(config.js):

module.exports = {
  server: { port: 8080, host: '0.0.0.0' },
  redis: { host: 'localhost', port: 6379 },
  rateLimit: { windowMs: 60*1000, max: 60 },
  concurrency: 5
};

成本分摊清单与监控

分摊公式:成本 = (user_input_token * input_price + user_output_token * output_price) / 团队总 token * 订阅费。 参数:

  • Claude Opus:input $15/M, output $75/M。
  • 监控阈值:单 Key 日 token > 5M 告警;账户余额 < 20% 轮换。
  • 面板指标:实时 QPS、延迟(<500ms)、错误率(<1%)、token 分布饼图。

监控清单

  1. 健康检查:curl http://ip:8080/health,返回 {status: 'ok'}。
  2. 日志:tail -f logs/app.log,grep 'error|rate_limit'。
  3. Prometheus 集成:暴露 /metrics,Grafana 仪表盘 token / 成本曲线。
  4. 告警:单账户 80% 配额 → 邮件 / Telegram 通知。
  5. 回滚:异常率 >5% → 切换备用服务器。

客户端集成参数(无缝)

Claude Code

export ANTHROPIC_BASE_URL="http://your-ip:8080/api/"
export ANTHROPIC_AUTH_TOKEN="cr-xxxxx-key"

Gemini CLI

CODE_ASSIST_ENDPOINT="http://your-ip:8080/gemini"
GOOGLE_CLOUD_ACCESS_TOKEN="cr-xxxxx-key"
GOOGLE_GENAI_USE_GCA="true"

Codex: ~/.codex/config.toml 添加:

[model_providers.crs]
base_url = "http://your-ip:8080/openai"

支持 Cherry Studio 等第三方,无需改 SDK,原生工具调用 / 流式输出。

风险控制与优化

风险:违反 Anthropic ToS,自担封号;国内需代理 OAuth。旧版 v1.1.248- 有认证绕过漏洞,立即升 v1.1.249+ 或迁 CRS 2.0 (sub2api,用 Go+PG,更稳定)。

优化:Nginx/Caddy 反代(proxy_read_timeout 300s;underscores_in_headers on),HTTPS 必备。团队 3-10 人最佳,超 20 人建议商用如 pincc.ai。

通过 CRS,团队成本降 80%,隐私全控,稳定如官方。实际部署中,监控 token 是关键,定期对账确保公平。

资料来源

查看归档