杨小民 發表於 2026-3-23 09:30:00

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

<p>大家好,我是 <code>Java陈序员</code>。</p>
<p>对于依赖 Claude 进行代码开发、内容创作的开发者来说,稳定且安全的访问体验,直接决定了工作效率。但官方服务的地区限制、第三方镜像的隐私风险、拼车套餐的成本模糊,成了绕不开的坎。</p>
<p>今天,给大家介绍一款开源的 Claude 中转服务,适用于自建 Claude 镜像!</p>
<blockquote>
<p>关注微信公众号:【Java陈序员】,获取<strong>开源项目分享、AI副业分享、超200本经典计算机电子书籍等。</strong></p>
</blockquote>
<h2 id="项目介绍">项目介绍</h2>
<p><code>claude-relay-service</code> —— 一个用于自行搭建 Claude API 中转服务的开源项目,让 Claude、OpenAI、Gemini、Droid 订阅统一接入,支持拼车共享,原生工具无缝使用。</p>
<p><strong>功能特色</strong>:</p>
<ul>
<li><strong>多账户智能调度</strong>:支持添加多个 Claude、OpenAI、Gemini、Droid 账户,支持自动轮换使用,账户异常时自动切换备用账户</li>
<li><strong>精细化权限管控</strong>:自定义 API Key 生成,为每个用户/团队分配独立 API Key,支持设置 Token 限额、并发数、速率限制</li>
<li><strong>全维度使用统计</strong>:按 API Key/账户/模型多维度统计,精准记录请求数、Token 消耗,支持生成 30 天+ 历史使用数据,同时支持会话分析能力,追踪账户请求会话、活跃窗口、API Key 使用频次</li>
<li><strong>一键化部署与管理</strong>:支持 Docker 部署,使用 Docker Compose 一键即可启动,同时提供便捷的运维脚本</li>
<li><strong>多渠道告警通知</strong>:当出现账户异常、额度不足、请求超时,触发预警通知,支持企业微信、钉钉、飞书、Slack、Discord、SMTP 邮件等多平台 Webhook 通知</li>
</ul>
<p><strong>技术栈</strong>:Node.js + Redis + Vue3 + Vite + Docker</p>
<h2 id="快速上手">快速上手</h2>
<p><code>claude-relay-service</code> 支持 Docker 部署,可直接通过 Docker 快速部署体验。</p>
<p>1、下载 <code>docker-compose.yaml</code> 文件</p>
<pre><code class="language-bash">curl -fsSL https://pincc.ai/crs-compose.sh -o crs-compose.sh &amp;&amp; chmod +x crs-compose.sh &amp;&amp; ./crs-compose.sh
</code></pre>
<p>2、或者手动创建 <code>docker-compose.yaml</code> 文件,并粘贴如下内容:</p>
<pre><code class="language-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
</code></pre>
<p>3、<code>docker-compose.yaml</code> 文件已包含:</p>
<ul>
<li>自动初始化管理员账号</li>
<li>数据持久化(logs 和 data 目录自动挂载)</li>
<li>Redis 数据库(如果已有外部 Redis 服务,可移除,并修改环境变量中 Redis 相关的连接参数)</li>
<li>健康检查</li>
<li>自动重启</li>
</ul>
<p><strong>环境变量</strong>:</p>
<ul>
<li>必填项:</li>
</ul>
<ol>
<li>JWT_SECRET: JWT 密钥,至少 32 个字符</li>
<li>ENCRYPTION_KEY: 加密密钥,必须是 32 个字符</li>
</ol>
<ul>
<li>可选项:</li>
</ul>
<ol>
<li>ADMIN_USERNAME: 管理员用户名(不设置则自动生成)</li>
<li>ADMIN_PASSWORD: 管理员密码(不设置则自动生成)</li>
</ol>
<p>4、运行启动服务</p>
<pre><code class="language-bash">docker compose up -d
</code></pre>
<p>5、查看服务日志</p>
<pre><code class="language-bash">docker compose logs -f
</code></pre>
<p>6、服务启动成功后,浏览器访问</p>
<pre><code class="language-bash">http://{IP/域名}:3000
</code></pre>
<p>7、自动生成的管理员用户名密码可通过查看挂载文件获取</p>
<pre><code class="language-bash">cat ./data/init.json
</code></pre>
<h2 id="功能体验">功能体验</h2>
<ul>
<li><strong>统计查询</strong></li>
</ul>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317164042.png"></p>
<ul>
<li><strong>仪表盘</strong></li>
</ul>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317164253.png"></p>
<ul>
<li><strong>API Keys</strong></li>
</ul>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317164554.png"></p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317164644.png"></p>
<ul>
<li><strong>账户管理</strong></li>
</ul>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317164815.png"></p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317164845.png"></p>
<ul>
<li><strong>额度卡</strong></li>
</ul>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317165320.png"></p>
<ul>
<li><strong>系统设置</strong></li>
</ul>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317165509.png"></p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/claude-relay-service/img-20260317165608.png"></p>
<h2 id="本地开发">本地开发</h2>
<blockquote>
<p>项目依赖 Node.js 和 Redis, 需提前进行安装。</p>
</blockquote>
<p>1、克隆或下载项目源码</p>
<pre><code class="language-bash">git clone https://github.com/Wei-Shaw/claude-relay-service.git
</code></pre>
<p>2、进入项目根目录并安装依赖</p>
<pre><code class="language-bash">cd claude-relay-service
npm install
</code></pre>
<p>3、复制配置文件,并修改文件名</p>
<pre><code class="language-bash">cp config/config.example.js config/config.js
cp .env.example .env
</code></pre>
<p>4、修改编辑 <code>.env</code> 配置文件</p>
<pre><code class="language-javascript"># 这两个密钥随便生成,但要记住
JWT_SECRET=JWT生成密钥
ENCRYPTION_KEY=32位的加密密钥随便写

# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
</code></pre>
<p>5、安装前端依赖并构建</p>
<pre><code class="language-bash"># 安装前端依赖
npm run install:web

# 构建前端(生成 dist 目录)
npm run build:web
</code></pre>
<p>6、启动服务</p>
<pre><code class="language-bash"># 初始化,会随机生成后台账号密码信息,存储在 data/init.json
npm run setup

# 启动服务
npm run dev
</code></pre>
<p>7、服务启动成功后,浏览器访问</p>
<pre><code class="language-bash">http://localhost:3000
</code></pre>
<p>如果你也想摆脱 Claude 使用的各种限制,拥有专属、安全、稳定的 API 中转服务,不妨试试 <code>claude-relay-service</code>,开源免费,自定义程度拉满,从此用 Claude 更省心!</p>
<pre><code class="language-bash">项目地址:https://github.com/Wei-Shaw/claude-relay-service
</code></pre>
<h2 id="最后">最后</h2>
<p>推荐的开源项目已经收录到 <code>GitHub</code> 项目,欢迎 <code>Star</code>:</p>
<pre><code>https://github.com/chenyl8848/great-open-source-project
</code></pre>
<p>或者访问网站,进行在线浏览:</p>
<pre><code>https://chencoding.top:8090/#/
</code></pre>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/github/img-20250608222400.png"></p>
<p><strong>我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目</strong>。</p>
<p><strong>但是任何人在群里打任何广告,都会被 T 掉</strong>。</p>
<p><strong>如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群</strong>:</p>
<p><strong>关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群</strong>。</p>
<blockquote>
<p>大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!</p>
</blockquote>
<hr><br><br>
来源:https://www.cnblogs.com/codechen8848/p/19738001
頁: [1]
查看完整版本: 自建 Claude Code 镜像!一站式开源中转服务!