字
字节笔记本
2026年2月16日
开源项目分享:Claude Relay Service —— 自建 Claude API 中转服务
API中转
¥120
本文介绍 Claude Relay Service (CRS),一个自建 Claude API 中转服务,支持多账户管理、Claude / OpenAI / Gemini / Droid 统一接入,适合拼车共享分摊成本。
项目简介
Claude Relay Service (CRS) 是一款由 Wei-Shaw 开发的开源 API 中转服务,使用 JavaScript 编写,采用 MIT 开源协议。截至目前,该项目在 GitHub 上已获得 8,165 stars。
该项目定位为自建的 Claude Code 镜像服务,让用户能够自行搭建 API 中转,避免第三方镜像的隐私风险,同时支持多人拼车共享订阅费用。
核心功能
多平台支持
- Claude Code: 完整支持 Claude Code CLI
- Codex CLI: 支持 OpenAI Codex 命令行工具
- Gemini CLI: 支持 Google Gemini 命令行工具
- Droid CLI: 支持 Droid 命令行工具
账户管理
- 多账户轮换: 支持添加多个 Claude 账户自动轮换
- 自定义 API Key: 为每个用户分配独立的 API Key
- 使用统计: 详细记录每个人的 Token 使用量
高级特性
- 智能切换: 账户异常自动切换到下一个
- 性能优化: 连接池、缓存机制减少延迟
- Web 监控面板: 可视化查看使用数据
- 安全控制: 访问限制、速率控制、客户端限制
- 代理支持: 支持 HTTP/SOCKS5 代理
技术栈
- JavaScript/Node.js - 主要开发语言(Node.js 18+)
- Redis - 数据缓存和会话存储(Redis 6+)
- Docker - 容器化部署支持
部署要求
硬件要求(最低配置)
- CPU: 1 核心
- 内存: 512MB(建议 1GB)
- 硬盘: 30GB 可用空间
- 网络: 能访问 Anthropic API(建议使用 US 地区服务器)
软件要求
- Node.js 18 或更高版本
- Redis 6 或更高版本
- 建议 Linux 操作系统
安装指南
方式一:脚本部署(推荐)
bash
curl -fsSL https://pincc.ai/manage.sh -o manage.sh && chmod +x manage.sh && ./manage.sh install管理命令:
bash
crs install # 安装服务
crs start # 启动服务
crs stop # 停止服务
crs restart # 重启服务
crs status # 查看状态
crs update # 更新服务
crs uninstall # 卸载服务方式二:Docker Compose 部署
bash
# 下载并执行 compose 脚本
curl -fsSL https://pincc.ai/crs-compose.sh -o crs-compose.sh && chmod +x crs-compose.sh && ./crs-compose.sh
# 启动服务
docker-compose up -d方式三:手动部署
bash
# 1. 下载项目
git clone https://github.com/Wei-Shaw/claude-relay-service.git
cd claude-relay-service
# 2. 安装依赖
npm install
# 3. 复制配置文件
cp config/config.example.js config/config.js
cp .env.example .env
# 4. 编辑配置文件(设置 JWT_SECRET 和 ENCRYPTION_KEY)
vim .env
# 5. 安装并构建前端
npm run install:web
npm run build:web
# 6. 初始化并启动
npm run setup
npm run service:start:daemon快速开始
1. 访问管理界面
浏览器访问 http://你的服务器IP:3000/web
管理员账号信息:
- 自动生成:查看
data/init.json - 环境变量预设:通过
ADMIN_USERNAME和ADMIN_PASSWORD设置 - Docker 部署:查看容器日志
docker logs claude-relay-service
2. 添加 Claude 账户
- 点击「Claude 账户」标签
- 点击「添加账户」→「生成授权链接」
- 在新页面完成 Claude 登录和 OAuth 授权
- 复制返回的 Authorization Code
- 粘贴到页面完成添加
3. 创建 API Key
- 点击「API Keys」标签
- 点击「创建新 Key」
- 设置名称和使用限制(可选)
- 保存生成的 Key(cr_ 开头)
4. 客户端配置
Claude Code 配置:
bash
# 标准 Claude 账号池
export ANTHROPIC_BASE_URL="http://127.0.0.1:3000/api/"
export ANTHROPIC_AUTH_TOKEN="后台创建的API密钥"
# Antigravity 账户池(推荐用于 Claude Code)
export ANTHROPIC_BASE_URL="http://127.0.0.1:3000/antigravity/api/"
export ANTHROPIC_AUTH_TOKEN="后台创建的API密钥"
export ANTHROPIC_MODEL="claude-opus-4-5"Gemini CLI 配置:
bash
# 方式一:Gemini Assist API(推荐)
export CODE_ASSIST_ENDPOINT="http://127.0.0.1:3000/gemini"
export GOOGLE_CLOUD_ACCESS_TOKEN="后台创建的API密钥"
export GOOGLE_GENAI_USE_GCA="true"
export GEMINI_MODEL="gemini-2.5-pro"
# 方式二:Gemini API
export GOOGLE_GEMINI_BASE_URL="http://127.0.0.1:3000/gemini"
export GEMINI_API_KEY="后台创建的API密钥"
export GEMINI_MODEL="gemini-2.5-pro"Codex CLI 配置:
在 ~/.codex/config.toml 添加:
toml
model_provider = "crs"
model = "gpt-5.1-codex-max"
model_reasoning_effort = "high"
disable_response_storage = true
preferred_auth_method = "apikey"
[model_providers.crs]
name = "crs"
base_url = "http://127.0.0.1:3000/openai"
wire_api = "responses"
requires_openai_auth = true在 ~/.codex/auth.json 添加:
json
{
"OPENAI_API_KEY": "后台创建的API密钥"
}使用示例
场景 1:拼车共享
三五好友共同分摊 Claude Code Max 订阅费用:
- 一人部署 CRS 服务
- 为每个好友创建独立的 API Key
- 各自配置环境变量使用
- 通过管理面板查看各自用量
场景 2:隐私保护
担心第三方镜像记录对话内容:
- 自建 CRS 服务直连 Anthropic API
- 所有请求只经过自己的服务器
- 数据不经过任何第三方
场景 3:地区受限
无法直接访问 Claude 官方服务:
- 在可访问 Anthropic API 的服务器部署 CRS
- 通过 CRS 中转访问
- 解决地区限制问题
第三方工具接入
Cherry Studio 配置
Claude 账号:
- 供应商:Anthropic
- API 地址:
http://你的服务器:3000/claude - 模型 ID:
claude-sonnet-4-5-20250929
Gemini 账号:
- 供应商:Gemini
- API 地址:
http://你的服务器:3000/gemini - 模型 ID:
gemini-2.5-pro
Codex:
- 供应商:OpenAI-Response
- API 地址:
http://你的服务器:3000/openai - 模型 ID:
gpt-5
API 端点说明
| 端点 | 用途 |
|---|---|
/claude/ | Claude 账号池 |
/antigravity/api/ | Antigravity 账号池 |
/gemini/ | Gemini 账号池 |
/openai/ | Codex 账号(OpenAI-Response) |
/droid/claude/ | Droid 类型 Claude 账号 |
/droid/openai/ | Droid 类型 OpenAI 账号 |
反向代理部署
Caddy 配置
caddy
your-domain.com {
reverse_proxy 127.0.0.1:3000 {
flush_interval -1
header_up X-Real-IP {remote_host}
transport http {
read_timeout 300s
write_timeout 300s
}
}
header {
Strict-Transport-Security "max-age=31536000"
X-Frame-Options "DENY"
X-Content-Type-Options "nosniff"
}
}Nginx Proxy Manager 配置
Details:
- Domain Names:
relay.example.com - Scheme:
http - Forward Hostname/IP:
服务器IP - Forward Port:
3000 - Websockets Support: 关闭
- Cache Assets: 关闭
Advanced 配置:
nginx
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_buffering off;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
add_header Strict-Transport-Security "max-age=31536000" always;日常维护
bash
# 查看服务状态
npm run service:status
# 查看日志
npm run service:logs
# 重启服务
npm run service:restart:daemon
# 升级服务
git pull origin main
npm install
npm run install:web
npm run build:web
npm run service:restart:daemon注意事项
⚠️ 安全提醒:v1.1.248 及以下版本存在管理员认证绕过漏洞,请立即更新到 v1.1.249+ 或迁移到 CRS 2.0 (sub2api)
⚠️ 服务条款:使用本项目可能违反 Anthropic 服务条款,请仔细阅读用户协议,风险自行承担
⚠️ 服务器选择:阿里云、腾讯云海外主机可能被 Cloudflare 拦截,建议选择其他服务商
项目链接
- GitHub 仓库:https://github.com/Wei-Shaw/claude-relay-service
- 官方文档:https://pincc.ai
- 演示站点:https://demo.pincc.ai/admin-next/login
- Telegram 频道:https://t.me/claude_relay_service
- CRS 2.0 (新版):https://github.com/Wei-Shaw/sub2api
- Docker Hub:https://hub.docker.com/r/weishaw/claude-relay-service
分享: