ByteNoteByteNote

字节笔记本

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_USERNAMEADMIN_PASSWORD 设置
  • Docker 部署:查看容器日志 docker logs claude-relay-service

2. 添加 Claude 账户

  1. 点击「Claude 账户」标签
  2. 点击「添加账户」→「生成授权链接」
  3. 在新页面完成 Claude 登录和 OAuth 授权
  4. 复制返回的 Authorization Code
  5. 粘贴到页面完成添加

3. 创建 API Key

  1. 点击「API Keys」标签
  2. 点击「创建新 Key」
  3. 设置名称和使用限制(可选)
  4. 保存生成的 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 订阅费用:

  1. 一人部署 CRS 服务
  2. 为每个好友创建独立的 API Key
  3. 各自配置环境变量使用
  4. 通过管理面板查看各自用量

场景 2:隐私保护

担心第三方镜像记录对话内容:

  1. 自建 CRS 服务直连 Anthropic API
  2. 所有请求只经过自己的服务器
  3. 数据不经过任何第三方

场景 3:地区受限

无法直接访问 Claude 官方服务:

  1. 在可访问 Anthropic API 的服务器部署 CRS
  2. 通过 CRS 中转访问
  3. 解决地区限制问题

第三方工具接入

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 拦截,建议选择其他服务商

项目链接

分享: