项目概述
CRS (Claude Relay Service) 是一个开源的自托管中继服务,专为 Claude API 设计。它允许用户统一管理多个 Claude 账号,支持 API 密钥生成、用量统计、费用分摊等功能,同时兼容 Claude Code、Gemini CLI、VSCode 插件等多种客户端。
客户端
(Claude Code / Gemini CLI)
→
(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 及所有依赖,并完成服务配置。
方式二:手动安装
- 安装 Node.js 18+ 和 Redis 6+
- 克隆项目仓库
git clone https://github.com/Wei-Shaw/claude-relay-service.git cd claude-relay-service
- 安装依赖
npm install
- 配置环境变量并启动
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
初始配置步骤
- 访问管理面板:打开浏览器访问
http://服务器IP:3000/web - 添加 Claude 账号:通过 OAuth 授权流程添加你的 Claude 账号
- 创建 API 密钥:为每个用户创建独立的 API 密钥,设置速率限制
- 配置客户端限制:(可选)限制特定客户端类型访问
实际使用案例
案例一: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 订阅,同时追踪各成员用量。
- 管理员在 CRS 中添加团队的 Claude 账号
- 为每位成员创建独立 API 密钥(如
user-alice,user-bob) - 设置每人的速率限制(如每日 1000 请求)
- 月底通过管理面板导出用量报告,按比例分摊费用
案例四: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 |
管理面板 | 浏览器 |