claude-relay-service
CRS-自建Claude Code镜像,一站式开源中转服务,让 Claude、OpenAI、Gemini、Droid 订阅统一接入,支持拼车共享,更高效分摊成本,原生工具无缝使用。
Install / Use
npx skills add Wei-Shaw/claude-relay-serviceInstalls into whichever agent you are using.
CLAUDE.md
Claude Code project instructions
Quality Score
Category
Development & EngineeringSupported Platforms
Skill content
View source on GitHubClaude Relay Service
<div align="center">[!CAUTION] 安全更新通知:v1.1.248 及以下版本存在严重的管理员认证绕过漏洞,攻击者可未授权访问管理面板。
请立即更新到 v1.1.249+ 版本,或迁移到新一代项目 CRS 2.0 (sub2api)
🔐 自行搭建Claude API中转服务,支持多账户管理
</div>⚠️ 重要提醒
使用本项目前请仔细阅读:
🚨 服务条款风险: 使用本项目可能违反Anthropic的服务条款。请在使用前仔细阅读Anthropic的用户协议,使用本项目的一切风险由用户自行承担。
📖 免责声明: 本项目仅供技术学习和研究使用,作者不对因使用本项目导致的账户封禁、服务中断或其他损失承担任何责任。
🤔 这个项目适合你吗?
- 🌍 地区限制: 所在地区无法直接访问Claude Code服务?
- 🔒 隐私担忧: 担心第三方镜像服务会记录或泄露你的对话内容?
- 👥 成本分摊: 想和朋友一起分摊Claude Code Max订阅费用?
- ⚡ 稳定性: 第三方镜像站经常故障不稳定,影响效率 ?
如果有以上困惑,那这个项目可能适合你。
适合的场景
✅ 找朋友拼车: 三五好友一起分摊Claude Code Max订阅
✅ 隐私敏感: 不想让第三方镜像看到你的对话内容
✅ 技术折腾: 有基本的技术基础,愿意自己搭建和维护
✅ 稳定需求: 需要长期稳定的Claude访问,不想受制于镜像站
✅ 地区受限: 无法直接访问Claude官方服务
💭 为什么要自己搭?
现有镜像站可能的问题
- 🕵️ 隐私风险: 你的对话内容都被人家看得一清二楚,商业机密什么的就别想了
- 🐌 性能不稳: 用的人多了就慢,高峰期经常卡死
- 💰 价格不透明: 不知道实际成本
自建的好处
- 🔐 数据安全: 所有接口请求都只经过你自己的服务器,直连Anthropic API
- ⚡ 性能可控: 就你们几个人用,Max 200刀套餐基本上可以爽用Opus
- 💰 成本透明: 用了多少token一目了然,按官方价格换算了具体费用
- 📊 监控完整: 使用情况、成本分析、性能监控全都有
🚀 核心功能
基础功能
- ✅ 多账户管理: 可以添加多个Claude账户自动轮换
- ✅ 自定义API Key: 给每个人分配独立的Key
- ✅ 使用统计: 详细记录每个人用了多少token
高级功能
- 🔄 智能切换: 账户出问题自动换下一个
- 🚀 性能优化: 连接池、缓存,减少延迟
- 📊 监控面板: Web界面查看所有数据
- 🛡️ 安全控制: 访问限制、速率控制、客户端限制
- 🌐 代理支持: 支持HTTP/SOCKS5代理
📋 部署要求
硬件要求(最低配置)
- CPU: 1核心就够了
- 内存: 512MB(建议1GB)
- 硬盘: 30GB可用空间
- 网络: 能访问到Anthropic API(建议使用US地区的机器)
- 建议: 2核4G的基本够了,网络尽量选回国线路快一点的(为了提高速度,建议不要开代理或者设置服务器的IP直连)
- 经验: 阿里云、腾讯云的海外主机经测试会被Cloudflare拦截,无法直接访问claude api
软件要求
- Node.js 18或更高版本
- Redis 6或更高版本
- 操作系统: 建议Linux
费用估算
- 服务器: 轻量云服务器,一个月30-60块
- Claude订阅: 看你怎么分摊了
- 其他: 域名(可选)
🚀 脚本部署(推荐)
推荐使用管理脚本进行一键部署,简单快捷,自动处理所有依赖和配置。
快速安装
curl -fsSL https://pincc.ai/manage.sh -o manage.sh && chmod +x manage.sh && ./manage.sh install
脚本功能
- ✅ 一键安装: 自动检测系统环境,安装 Node.js 18+、Redis 等依赖
- ✅ 交互式配置: 友好的配置向导,设置端口、Redis 连接等
- ✅ 自动启动: 安装完成后自动启动服务并显示访问地址
- ✅ 便捷管理: 通过
crs命令随时管理服务状态
管理命令
crs install # 安装服务
crs start # 启动服务
crs stop # 停止服务
crs restart # 重启服务
crs status # 查看状态
crs update # 更新服务
crs uninstall # 卸载服务
安装示例
$ crs install
# 会依次询问:
安装目录 (默认: ~/claude-relay-service):
服务端口 (默认: 3000): 8080
Redis 地址 (默认: localhost):
Redis 端口 (默认: 6379):
Redis 密码 (默认: 无密码):
# 安装完成后自动启动并显示:
服务已成功安装并启动!
访问地址:
本地 Web: http://localhost:8080/web
公网 Web: http://YOUR_IP:8080/web
管理员账号信息已保存到: data/init.json
系统要求
- 支持系统: Ubuntu/Debian、CentOS/RedHat、Arch Linux、macOS
- 自动安装 Node.js 18+ 和 Redis
- Redis 使用系统默认位置,数据独立于应用
📦 手动部署
第一步:环境准备
Ubuntu/Debian用户:
# 安装Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# 安装Redis
sudo apt update
sudo apt install redis-server
sudo systemctl start redis-server
CentOS/RHEL用户:
# 安装Node.js
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
# 安装Redis
sudo yum install redis
sudo systemctl start redis
第二步:下载和配置
# 下载项目
git clone https://github.com/Wei-Shaw//claude-relay-service.git
cd claude-relay-service
# 安装依赖
npm install
# 复制配置文件(重要!)
cp config/config.example.js config/config.js
cp .env.example .env
第三步:配置文件设置
编辑 .env 文件:
# 这两个密钥随便生成,但要记住
JWT_SECRET=你的超级秘密密钥
ENCRYPTION_KEY=32位的加密密钥随便写
# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
编辑 config/config.js 文件:
module.exports = {
server: {
port: 3000, // 服务端口,可以改
host: '0.0.0.0' // 不用改
},
redis: {
host: '127.0.0.1', // Redis地址
port: 6379 // Redis端口
}
// 其他配置保持默认就行
}
第四步:安装前端依赖并构建
# 安装前端依赖
npm run install:web
# 构建前端(生成 dist 目录)
npm run build:web
第五步:启动服务
# 初始化
npm run setup # 会随机生成后台账号密码信息,存储在 data/init.json
# 或者通过环境变量预设管理员凭据:
# export ADMIN_USERNAME=cr_admin_custom
# export ADMIN_PASSWORD=your-secure-password
# 启动服务
npm run service:start:daemon # 后台运行
# 查看状态
npm run service:status
🐳 Docker 部署
Docker compose
第一步:下载构建docker-compose.yml文件的脚本并执行
curl -fsSL https://pincc.ai/crs-compose.sh -o crs-compose.sh && chmod +x crs-compose.sh && ./crs-compose.sh
第二步:启动
docker-compose up -d
Docker Compose 配置
docker-compose.yml 已包含:
- ✅ 自动初始化管理员账号
- ✅ 数据持久化(logs和data目录自动挂载)
- ✅ Redis数据库
- ✅ 健康检查
- ✅ 自动重启
环境变量说明
必填项
JWT_SECRET: JWT密钥,至少32个字符ENCRYPTION_KEY: 加密密钥,必须是32个字符
可选项
ADMIN_USERNAME: 管理员用户名(不设置则自动生成)ADMIN_PASSWORD: 管理员密码(不设置则自动生成)LOG_LEVEL: 日志级别(默认:info)- 更多配置项请参考
.env.example文件
管理员凭据获取方式
-
查看容器日志
docker logs claude-relay-service -
查看挂载的文件
cat ./data/init.json -
使用环境变量预设
# 在 .env 文件中设置 ADMIN_USERNAME=cr_admin_custom ADMIN_PASSWORD=your-secure-password
🎮 开始使用
1. 打开管理界面
浏览器访问:http://你的服务器IP:3000/web
管理员账号:
- 自动生成:查看 data/init.json
- 环境变量预设:通过 ADMIN_USERNAME 和 ADMIN_PASSWORD 设置
- Docker 部署:查看容器日志
docker logs claude-relay-service
2. 添加Claude账户
这一步比较关键,需要OAuth授权:
- 点击「Claude账户」标签
- 如果你担心多个账号共用1个IP怕被封禁,可以选择设置静态代理IP(可选)
- 点击「添加账户」
- 点击「生成授权链接」,会打开一个新页面
- 在新页面完成Claude登录和授权
- 复制返回的Authorization Code
- 粘贴到页面完成添加
注意: 如果你在国内,这一步可能需要科学上网。
2.1 临时暂停(503/5xx)与账号级 TTL 覆盖
系统会在上游异常时临时暂停账号路由,默认由全局配置控制(见 .env.example):
UPSTREAM_ERROR_503_TTL_SECONDSUPSTREAM_ERROR_5XX_TTL_SECONDSUPSTREAM_ERROR_OVERLOAD_TTL_SECONDSUPSTREAM_ERROR_AUTH_TTL_SECONDSUPSTREAM_ERROR_TIMEOUT_TTL_SECONDS
在管理后台编辑 Claude 官方 OAuth 账号 时,可做账号级覆盖:
禁用该账号临时冷却:该账号不再因 503/5xx 进入临时暂停503 冷却秒数:留空=跟随全局,0=关闭该账号 503 冷却5xx 冷却秒数:留空=跟随全局,0=关闭该账号 5xx 冷却
优先级从高到低:
- 账号级“禁用临时冷却”
- 账号级 503/5xx 冷却秒数
- 代码调用时传入的自定义 TTL(若有)
- 全局环境变量默认值
账户列表会显示“不可路由原因”,包含错误类型、HTTP 状态码、内部冷却总时长、剩余时间和预计恢复时间;点击 重置状态 可清除异常状态并恢复参与路由。
3. 创建API Key
给每个使用者分配一个Key:
- 点击「API Keys」标签
- 点击「创建新Key」
- 给Key起个名字,比如「张三的Key」
- 设置使用限制(可选):
- 速率限制: 限制每个时间窗口的请求次数和Token使用量
- 并发限制: 限制同时处理的请求数
- 模型限制: 限制可访问的模型列表
- 客户端限制: 限制只允许特定客户端使用(如ClaudeCode、Gemini-CLI等)
- 保存,记下生成的Key
4. 开始使用 Claude Code 和 Gemini CLI
现在你可以用自己的服务替换官方API了:
Claude Code 设置环境变量:
使用标准 Claude 账号池
默认使用标准 Claude 账号池:
export ANTHROPIC_BASE_URL="http://127.0.0.1:3000/api/" # 根据实际填写你服务器的ip地址或者域名
export ANTHROPIC_AUTH_TOKEN="后台创建的API密钥"
使用 Antigravity 账户池
适用于通过 Antigravity 渠道使用 Claude 模型(如 claude-opus-4-5 等)。
# 1. 设置 Base URL 为 Antigravity 专用路径
export ANTHROPIC_BASE_URL="http://127.0.0.1:3000/antigravity/api/"
# 2. 设置 API Key(在后台创建,权限需包含 'all' 或 'gemini')
export ANTHROPIC_AUTH_TOKEN="后台创建的API密钥"
# 3. 指定模型名称(直接使用短名,无需前缀!)
export ANTHROPIC_MODEL="claude-opus-4-5"
# 4. 启动
claude
VSCode Claude 插件配置:
如果使用 VSCode 的 Claude 插件,需要在 ~/.claude/config.json 文件中配置:
{
"primaryApiKey": "crs"
}
如果该文件不存在,请手动创建。Windows 用户路径为 C:\Users\你的用户名\.claude\config.json。
💡 IntelliJ IDEA 用户推荐:Claude Code Plus - 将 Claude Code 直接集成到 IDE,支持代码理解、文件读写、命令执行。插件市场搜索
Claude Code Plus即可安装。
Gemini CLI 设置环境变量:
方式一(推荐):通过 Gemini Assist API 方式访问
CODE_ASSIST_ENDPOINT="http://127.0.0.1:3000/gemini" # 根据实际填写你服务器的ip地址或者域名
GOOGLE_CLOUD_ACCESS_TOKEN="后台创建的API密钥"
GOOGLE_GENAI_USE_GCA="true"
GEMINI_MODEL="gemini-2.5-pro" # 如果你有gemini3权限可以填: gemini-3-pro-preview
认证:只能选
Login with Google进行认证,如果跳 Google请删除~/.gemini/settings.json后再尝试启动gemini。
注意:gemini-cli 控制台会提示Failed to fetch user info: 401 Unauthorized,但使用不受任何影响。
方式二:通过 Gemini API 方式访问
GOOGLE_GEMINI_BASE_URL="http://127.0.0.1:3000/gemini" # 根据实际填写你服务器的ip地址或者域名
GEMINI_API_KEY="后台创建的API密钥"
GEMINI_MODEL="gemini-2.5-pro" # 如果你有gemini3权限可以填: gemini-3-pro-preview
认证:只能选
Use Gemini API Key进行认证,如果提示Enter Gemini API Key请直接留空按回车。如果一打开就跳 Google请删除~/.gemini/settings.json后再尝试启动gemini。
💡 进阶用法:想在 Claude Code 中直接使用 Gemini 3 模型?请参考 Claude Code 调用 Gemini 3 模型指南
使用 Claude Code:
claude
使用 Gemini CLI:
gemini # 或其他 Gemini CLI 命令
Codex 配置:
在 ~/.codex/config.toml 文件开头添加以下配置:
model_provider = "crs"
model = "gpt-5.5"
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" # 根据实际填写你服务器的ip地址或者域名
wire_api = "responses"
requires_openai_auth = true
在 ~/.codex/auth.json 文件中配置API密钥为 null:
{
"OPENAI_API_KEY": "后台创建的API密钥"
}
⚠️ 在通过 Nginx 反向代理 CRS 服务并使用 Codex CLI 时,需要在 http 块中添加 underscores_in_headers on;。因为 Nginx 默认会移除带下划线的请求头(如 session_id),一旦该头被丢弃,多账号环境下的粘性会话功能将失效。
Droid CLI 配置:
Droid CLI 读取 ~/.factory/config.json。可以在该文件中添加自定义模型以指向本服务的新端点:
{
"custom_models": [
{
"model_display_name": "Opus 4.5 [crs]",
"model": "claude-opus-4-5-20251101",
"base_url": "http://127.0.0.1:3000/droid/claude",
"api_key": "后台创建的API密钥",
"provider": "anthropic",
"max_tokens": 64000
},
{
"model_display_name": "GPT5.5 [crs]",
"model": "gpt-5.5",
"base_url": "http://127.0.0.1:3000/droid/openai",
"api_key": "后台创建的API密钥",
"provider": "openai",
"max_tokens": 16384
},
{
"model_display_name": "Gemini-3-Pro [crs]",
"model": "gemini-3-pro-preview",
"base_url": "http://127.0.0.1:3000/droid/comm/v1/",
"api_key": "后台创建的API密钥",
"provider": "generic-chat-completion-api",
"max_tokens": 65535
},
{
"model_display_name": "GLM-4.6 [crs]",
"model": "glm-4.6",
"base_url": "http://127.0.0.1:3000/droid/comm/v1/",
"api_key": "后台创建的API密钥",
"provider": "generic-chat-completion-api",
"max_tokens": 202800
}
]
}
💡 将示例中的
http://127.0.0.1:3000替换为你的服务域名或公网地址,并写入后台生成的 API 密钥(cr_ 开头)。
5. 第三方工具API接入
本服务支持多种API端点格式,方便接入不同的第三方工具(如Cherry Studio等)。
Cherry Studio 接入示例
Cherry Studio支持多种AI服务的接入,下面是不同账号类型的详细配置:
1. Claude账号接入:
# API地址
http://你的服务器:3000/claude
# 模型ID示例
claude-sonnet-4-5-20250929 # Claude Sonnet 4.5
claude-opus-4-20250514 # Claude Opus 4
配置步骤:
- 供应商类型选择"Anthropic"
- API地址填入:
http://你的服务器:3000/claude - API Key填入:后台创建的API密钥(cr_开头)
2. Gemini账号接入:
# API地址
http://你的服务器:3000/gemini
# 模型ID示例
gemini-2.5-pro # Gemini 2.5 Pro
配置步骤:
- 供应商类型选择"Gemini"
- API地址填入:
http://你的服务器:3000/gemini - API Key填入:后台创建的API密钥(cr_开头)
3. Codex接入:
# API地址
http://你的服务器:3000/openai
# 模型ID(固定)
gpt-5 # Codex使用固定模型ID
配置步骤:
- 供应商类型选择"Openai-Response"
- API地址填入:
http://你的服务器:3000/openai - API Key填入:后台创建的API密钥(cr_开头)
- 重要:Codex只支持Openai-Response标准
Cherry Studio 地址格式重要说明:
- ✅ 推荐格式:`http://你的服务器:3000/cla
Truncated for display — read the full file on GitHub.
Related Skills
caveman
107.2k🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.
claude-mem
94.4kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
84.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
83.6kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
