自建 Claude Code 镜像!一站式开源中转服务!

大家好,我是 Java陈序员

对于依赖 Claude 进行代码开发、内容创作的开发者来说,稳定且安全的访问体验,直接决定了工作效率。但官方服务的地区限制、第三方镜像的隐私风险、拼车套餐的成本模糊,成了绕不开的坎。

今天,给大家介绍一款开源的 Claude 中转服务,适用于自建 Claude 镜像!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

claude-relay-service —— 一个用于自行搭建 Claude API 中转服务的开源项目,让 Claude、OpenAI、Gemini、Droid 订阅统一接入,支持拼车共享,原生工具无缝使用。

功能特色

  • 多账户智能调度:支持添加多个 Claude、OpenAI、Gemini、Droid 账户,支持自动轮换使用,账户异常时自动切换备用账户
  • 精细化权限管控:自定义 API Key 生成,为每个用户/团队分配独立 API Key,支持设置 Token 限额、并发数、速率限制
  • 全维度使用统计:按 API Key/账户/模型多维度统计,精准记录请求数、Token 消耗,支持生成 30 天+ 历史使用数据,同时支持会话分析能力,追踪账户请求会话、活跃窗口、API Key 使用频次
  • 一键化部署与管理:支持 Docker 部署,使用 Docker Compose 一键即可启动,同时提供便捷的运维脚本
  • 多渠道告警通知:当出现账户异常、额度不足、请求超时,触发预警通知,支持企业微信、钉钉、飞书、Slack、Discord、SMTP 邮件等多平台 Webhook 通知

技术栈:Node.js + Redis + Vue3 + Vite + Docker

快速上手

claude-relay-service 支持 Docker 部署,可直接通过 Docker 快速部署体验。

1、下载 docker-compose.yaml 文件

curl -fsSL https://pincc.ai/crs-compose.sh -o crs-compose.sh && chmod +x crs-compose.sh && ./crs-compose.sh

2、或者手动创建 docker-compose.yaml 文件,并粘贴如下内容:

version: '3.8'

services:
  # 🚀 Claude Relay Service
  claude-relay:
    build: .
    image: weishaw/claude-relay-service:latest
    restart: unless-stopped
    ports:
      - "${BIND_HOST:-0.0.0.0}:${PORT:-3000}:3000"
    volumes:
      - ./logs:/app/logs
      - ./data:/app/data
    environment:
      - NODE_ENV=production
      - PORT=3000
      - HOST=0.0.0.0

      - REDIS_HOST=redis
      - REDIS_PORT=6379
      - REDIS_PASSWORD=${REDIS_PASSWORD:-}
      - REDIS_DB=${REDIS_DB:-0}
      - REDIS_ENABLE_TLS=${REDIS_ENABLE_TLS:-}

      - JWT_SECRET=p0n53FalFL0D18SVptQ05yJaAVFE9VEy
      - ENCRYPTION_KEY=WKnqiIzgyvo0etDtO5ZT6WXJt8QeH9hy
      - ADMIN_SESSION_TIMEOUT=${ADMIN_SESSION_TIMEOUT:-86400000}
      - API_KEY_PREFIX=${API_KEY_PREFIX:-cr_}

      - ADMIN_USERNAME=${ADMIN_USERNAME:-}
      - ADMIN_PASSWORD=${ADMIN_PASSWORD:-}

      - DEFAULT_PROXY_TIMEOUT=${DEFAULT_PROXY_TIMEOUT:-60000}
      - MAX_PROXY_RETRIES=${MAX_PROXY_RETRIES:-3}

      - DEFAULT_TOKEN_LIMIT=${DEFAULT_TOKEN_LIMIT:-1000000}

      - LOG_LEVEL=${LOG_LEVEL:-info}
      - LOG_MAX_SIZE=${LOG_MAX_SIZE:-10m}
      - LOG_MAX_FILES=${LOG_MAX_FILES:-5}

      - CLEANUP_INTERVAL=${CLEANUP_INTERVAL:-3600000}
      - TOKEN_USAGE_RETENTION=${TOKEN_USAGE_RETENTION:-2592000000}
      - HEALTH_CHECK_INTERVAL=${HEALTH_CHECK_INTERVAL:-60000}
      - TIMEZONE_OFFSET=${TIMEZONE_OFFSET:-8}

      - DEBUG=${DEBUG:-false}
      - ENABLE_CORS=${ENABLE_CORS:-true}
      - TRUST_PROXY=${TRUST_PROXY:-true}

       # 🎯 Claude API 配置
      - CLAUDE_API_URL=${CLAUDE_API_URL:-https://api.anthropic.com/v1/messages}
      - CLAUDE_API_VERSION=${CLAUDE_API_VERSION:-2023-06-01}
      - CLAUDE_BETA_HEADER=${CLAUDE_BETA_HEADER:-claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14}
      
    depends_on:
      - redis
    networks:
      - claude-relay-network
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3

  # 📊 Redis Database
  redis:
    image: redis:7-alpine
    restart: unless-stopped
    expose:
      - "6379"
    volumes:
      - ./redis_data:/data
    command: redis-server --save 60 1 --appendonly yes --appendfsync everysec
    networks:
      - claude-relay-network
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 30s
      timeout: 10s
      retries: 3

volumes:
  prometheus_data:
    driver: local
  grafana_data:
    driver: local

networks:
  claude-relay-network:
    driver: bridge

3、docker-compose.yaml 文件已包含:

  • 自动初始化管理员账号
  • 数据持久化(logs 和 data 目录自动挂载)
  • Redis 数据库(如果已有外部 Redis 服务,可移除,并修改环境变量中 Redis 相关的连接参数)
  • 健康检查
  • 自动重启

环境变量

  • 必填项:
  1. JWT_SECRET: JWT 密钥,至少 32 个字符
  2. ENCRYPTION_KEY: 加密密钥,必须是 32 个字符
  • 可选项:
  1. ADMIN_USERNAME: 管理员用户名(不设置则自动生成)
  2. ADMIN_PASSWORD: 管理员密码(不设置则自动生成)

4、运行启动服务

docker compose up -d

5、查看服务日志

docker compose logs -f

6、服务启动成功后,浏览器访问

http://{IP/域名}:3000

7、自动生成的管理员用户名密码可通过查看挂载文件获取

cat ./data/init.json

功能体验

  • 统计查询

  • 仪表盘

  • API Keys

  • 账户管理

  • 额度卡

  • 系统设置

本地开发

项目依赖 Node.js 和 Redis, 需提前进行安装。

1、克隆或下载项目源码

git clone https://github.com/Wei-Shaw/claude-relay-service.git

2、进入项目根目录并安装依赖

cd claude-relay-service
npm install

3、复制配置文件,并修改文件名

cp config/config.example.js config/config.js
cp .env.example .env

4、修改编辑 .env 配置文件

# 这两个密钥随便生成,但要记住
JWT_SECRET=JWT生成密钥
ENCRYPTION_KEY=32位的加密密钥随便写

# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=

5、安装前端依赖并构建

# 安装前端依赖
npm run install:web

# 构建前端(生成 dist 目录)
npm run build:web

6、启动服务

# 初始化,会随机生成后台账号密码信息,存储在 data/init.json
npm run setup

# 启动服务
npm run dev

7、服务启动成功后,浏览器访问

http://localhost:3000

如果你也想摆脱 Claude 使用的各种限制,拥有专属、安全、稳定的 API 中转服务,不妨试试 claude-relay-service,开源免费,自定义程度拉满,从此用 Claude 更省心!

项目地址:https://github.com/Wei-Shaw/claude-relay-service

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目

但是任何人在群里打任何广告,都会被 T 掉

如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群

关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


posted @ 2026-03-23 09:30  Java陈序员  阅读(12)  评论(0)    收藏  举报