Claude Relay Service (CRS)

开源自托管的 Claude API 中继服务

MIT License

项目概述

CRS (Claude Relay Service) 是一个开源的自托管中继服务,专为 Claude API 设计。它允许用户统一管理多个 Claude 账号,支持 API 密钥生成、用量统计、费用分摊等功能,同时兼容 Claude Code、Gemini CLI、VSCode 插件等多种客户端。

客户端
(Claude Code / Gemini CLI)
CRS 中继服务
(自托管服务器)
Anthropic API
(官方接口)

核心功能

👥 多账号管理

支持添加多个 Claude 账号,自动轮询切换,当某账号失效时自动故障转移到其他可用账号。

🔑 API 密钥生成

为每个用户生成独立的 API 密钥,支持自定义速率限制和模型访问权限。

📊 用量统计

详细的 Token 使用量追踪、费用分析和性能监控,一目了然。

🌐 Web 管理面板

可视化的管理界面,方便添加账号、管理用户、查看统计数据。

🔄 代理支持

支持 HTTP/SOCKS5 代理,适应各种网络环境。

🛡️ 客户端过滤

可限制特定客户端类型访问(如仅允许 Claude Code),增强安全性。

系统要求

组件 最低要求 推荐配置
Node.js 18+ 20 LTS
Redis 6+ 7+
内存 512MB 1GB+
磁盘空间 30GB 50GB+
操作系统 Linux (Ubuntu/Debian/CentOS)

项目结构

claude-relay-service/
├── src/                    # 后端源代码 (Node.js)
│   ├── routes/            # API 路由定义
│   ├── services/          # 业务逻辑服务
│   ├── middleware/        # 中间件(认证、限流等)
│   └── utils/             # 工具函数
├── web/admin-spa/         # Web 管理面板 (SPA)
├── config/                # 配置文件
│   └── default.json       # 默认配置
├── cli/                   # 命令行工具
├── docs/                  # 文档
├── tests/                 # 测试套件
├── docker-compose.yml     # Docker 部署配置
└── scripts/               # 实用脚本
    └── manage.sh          # 管理脚本
                    

安装部署

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

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

该脚本会自动安装 Node.js、Redis 及所有依赖,并完成服务配置。

方式二:手动安装

  1. 安装 Node.js 18+ 和 Redis 6+
  2. 克隆项目仓库
    git clone https://github.com/Wei-Shaw/claude-relay-service.git cd claude-relay-service
  3. 安装依赖
    npm install
  4. 配置环境变量并启动
    cp config/default.json config/local.json # 编辑 config/local.json 配置 Redis 连接等 npm start

方式三:Docker Compose 部署

git clone https://github.com/Wei-Shaw/claude-relay-service.git cd claude-relay-service docker-compose up -d

初始配置步骤

  1. 访问管理面板:打开浏览器访问 http://服务器IP:3000/web
  2. 添加 Claude 账号:通过 OAuth 授权流程添加你的 Claude 账号
  3. 创建 API 密钥:为每个用户创建独立的 API 密钥,设置速率限制
  4. 配置客户端限制:(可选)限制特定客户端类型访问

实际使用案例

案例一:Claude Code 集成

将 Claude Code CLI 工具连接到你的 CRS 中继服务:

# 设置环境变量 export ANTHROPIC_BASE_URL="http://你的服务器IP:3000/api/" export ANTHROPIC_AUTH_TOKEN="你的API密钥" # 启动 Claude Code claude

效果:Claude Code 的所有请求将通过你的 CRS 服务转发,可在管理面板查看用量统计。

案例二:Gemini CLI 集成

将 Gemini CLI 工具连接到 CRS:

# 设置环境变量 export CODE_ASSIST_ENDPOINT="http://你的服务器IP:3000/gemini" export GOOGLE_CLOUD_ACCESS_TOKEN="你的API密钥" # 启动 Gemini CLI gemini

案例三:团队费用分摊

场景:一个 5 人开发团队希望共享 Claude Pro 订阅,同时追踪各成员用量。

  1. 管理员在 CRS 中添加团队的 Claude 账号
  2. 为每位成员创建独立 API 密钥(如 user-alice, user-bob
  3. 设置每人的速率限制(如每日 1000 请求)
  4. 月底通过管理面板导出用量报告,按比例分摊费用

案例四:VSCode 扩展集成

在 VSCode 的 Claude 扩展中配置自定义 API 端点:

{ "claude.apiEndpoint": "http://你的服务器IP:3000/api/", "claude.apiKey": "你的API密钥" }

完整运行示例

以下是从零开始部署并使用 CRS 的完整流程:

# ========== 第一步:服务器端部署 ========== # 1. 下载并执行安装脚本 curl -fsSL https://pincc.ai/manage.sh -o manage.sh chmod +x manage.sh ./manage.sh install # 2. 安装完成后,查看服务状态 ./manage.sh status # 3. 查看服务日志(可选) ./manage.sh logs # ========== 第二步:管理面板配置 ========== # 1. 浏览器访问:http://服务器IP:3000/web # 2. 登录管理面板(首次使用需设置管理员密码) # 3. 点击"添加账号" → 通过 OAuth 授权添加 Claude 账号 # 4. 点击"API 密钥" → 创建新密钥,记录生成的密钥 # ========== 第三步:客户端使用 ========== # 方法 A:临时设置环境变量 export ANTHROPIC_BASE_URL="http://你的服务器IP:3000/api/" export ANTHROPIC_AUTH_TOKEN="sk-crs-xxxxxxxxxxxxxxxx" claude # 方法 B:写入 shell 配置文件(永久生效) echo 'export ANTHROPIC_BASE_URL="http://你的服务器IP:3000/api/"' >> ~/.bashrc echo 'export ANTHROPIC_AUTH_TOKEN="sk-crs-xxxxxxxxxxxxxxxx"' >> ~/.bashrc source ~/.bashrc claude # ========== 常用管理命令 ========== ./manage.sh start # 启动服务 ./manage.sh stop # 停止服务 ./manage.sh restart # 重启服务 ./manage.sh update # 更新到最新版本 ./manage.sh uninstall # 卸载服务

安全注意事项

⚠️ 重要安全警告

  • 版本漏洞:v1.1.240 及以下版本存在严重的管理员认证绕过漏洞,请立即升级到 v1.1.241+ 或迁移到 CRS 2.0 (sub2api)
  • 服务条款:使用本服务可能违反 Anthropic 的服务条款,账号封禁风险由用户自行承担
  • 数据安全:所有请求仅通过你自己的服务器转发,不经过第三方
  • HTTPS:生产环境强烈建议配置 SSL/TLS 证书启用 HTTPS

API 端点参考

端点 用途 兼容客户端
/api/ Claude API 代理 Claude Code, VSCode 扩展
/gemini Gemini 兼容接口 Gemini CLI
/web 管理面板 浏览器