Перейти к содержимому
NEWЧат с 15 ИИ-моделями — попробуйте бесплатно / имейте совесть, когда будете делиться или копировать
>AISTUDY_

Модуль 4.2 · Урок 3

Relay-сервисы и мульти-аккаунт

35 мин
УстановкаПрактика
4.2 / Урок 3 из 3

Зачем нужны relay-сервисы

Relay-сервис — прокси между вашими клиентами (Claude Code, Cherry Studio, IDE) и API провайдера (Anthropic, OpenAI, Gemini). Он решает три инфраструктурные задачи:

  1. Пул аккаунтов — объединение нескольких подписок в единую точку доступа
  2. Балансировка — автоматическая ротация аккаунтов для обхода rate limits
  3. Географический доступ — работа из регионов с ограниченной доступностью

Предупреждение: Использование relay-сервисов может нарушать ToS провайдеров. Для легитимного командного доступа Anthropic предлагает корпоративные планы (Claude for Teams / Enterprise). Материал представлен в образовательных целях.

Claude Relay Service (CRS)

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

Архитектура

graph TD
    CL[Клиент<br/>Claude Code / IDE] -->|Запрос| CRS[CRS-сервер]

    subgraph CRS_INNER [CRS-сервер]
        AUTH[Аутентификация] --> SCHED[Unified Scheduler]
        SCHED --> RL[Rate Limiter]
    end

    CRS --> POOL

    subgraph POOL [Пул аккаунтов]
        A1[Аккаунт 1]
        A2[Аккаунт 2]
        A3[Аккаунт 3]
    end

    A1 --> UP[Upstream API<br/>Anthropic / OpenAI / Gemini]
    A2 --> UP
    A3 --> UP

    style CL fill:#f8fafc,stroke:#1e293b,stroke-width:2px
    style CRS fill:#f8fafc,stroke:#4f46e5,stroke-width:2px
    style AUTH fill:#f8fafc,stroke:#64748b,stroke-width:1px
    style SCHED fill:#f8fafc,stroke:#64748b,stroke-width:1px
    style RL fill:#f8fafc,stroke:#64748b,stroke-width:1px
    style A1 fill:#f8fafc,stroke:#059669,stroke-width:1px
    style A2 fill:#f8fafc,stroke:#059669,stroke-width:1px
    style A3 fill:#f8fafc,stroke:#059669,stroke-width:1px
    style UP fill:#f8fafc,stroke:#dc2626,stroke-width:2px

Компоненты

КомпонентФункция
Пул аккаунтовНесколько Claude/OpenAI/Gemini аккаунтов, добавленных через OAuth
Unified SchedulerРотация, обход ошибок (503, 5xx), sticky sessions
API Key DistributionПользовательские ключи с лимитами (RPS, параллельность, модели)
Веб-панельАдминистрирование через http://server:3000/web
RedisКэширование, сессии, управление состоянием

Поддерживаемые провайдеры

Claude (Official/Console), OpenAI (Codex), Gemini, AWS Bedrock, Azure OpenAI, Factory.ai (Antigravity).

Установка

Требования: 1 CPU / 512MB RAM (рекомендуется 2 CPU / 4GB), Node.js 18+, Redis 6+, Linux. Сервер в US-регионе.

Способ 1 — автоматический скрипт (рекомендуемый):

curl -fsSL https://pincc.ai/manage.sh -o manage.sh
chmod +x manage.sh
./manage.sh install

Способ 2 — Docker Compose:

Скрипт автоматически генерирует docker-compose.yml с Redis, health checks и переменными окружения.

Способ 3 — ручная установка:

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

# Настройте .env
cp .env.example .env
# Отредактируйте REDIS_URL, ENCRYPTION_KEY, JWT_SECRET

npm run setup    # Инициализация
npm run service:start:daemon

Настройка после установки

  1. Войдите в веб-панель (учетные данные в data/init.json)
  2. Добавьте аккаунты Claude через OAuth (ссылка авторизации -> код -> панель)
  3. Создайте API-ключи для пользователей с лимитами
  4. Настройте клиент:
export ANTHROPIC_BASE_URL="http://server-ip:3000/api/"
export ANTHROPIC_AUTH_TOKEN="сгенерированный-ключ"

Безопасность

Критическая уязвимость: Версии v1.1.248 и ниже содержат обход аутентификации администратора. Обновляйтесь до v1.1.249+ или мигрируйте на Sub2API.

Обязательные меры:

  • Reverse proxy с SSL (HTTP передаёт токены в открытом виде)
  • Сильный ENCRYPTION_KEY для шифрования ключей
  • Ограничение типа клиента (можно разрешить только Claude Code)
  • Rate limiting на уровне пользовательских ключей

Риски:

  • Компрометация сервера = утрата всех аккаунтов
  • OAuth-токены могут истекать, требуя повторной авторизации
  • Нетипичное использование может привести к бану аккаунтов провайдером

Sub2API (CRS 2.0) — рекомендуемая замена

GitHub: https://github.com/Wei-Shaw/sub2api

Полная переработка CRS от того же автора. Стек: Go + Vue 3 + PostgreSQL (вместо Node.js + Redis).

Отличия от CRS v1

КритерийCRS v1Sub2API
СтекNode.js + RedisGo + PostgreSQL
БиллингНетToken-level учёт
UIБазовая панельVue 3 дашборд
Провайдеры5+Гибридное смешивание
БезопасностьБазоваяУлучшенная
СтатусЗамороженАктивная разработка

Установка Sub2API

# Docker-compose (рекомендуемый способ)
git clone https://github.com/Wei-Shaw/sub2api.git
cd sub2api
cp .env.example .env
# Отредактируйте .env: DATABASE_URL, ADMIN_PASSWORD
docker compose up -d

Antigravity Manager — десктопная альтернатива

GitHub: https://github.com/lbjlaq/Antigravity-Manager

Локальный relay без сервера. Десктопное приложение на Rust (Tauri) + React.

Ключевые отличия

  • Работает на вашей машине, не на удалённом сервере
  • Поддержка Gemini, Claude, OpenAI
  • Мульти-аккаунт с авто-балансировкой по квотам
  • Поддержка мультимодальности (изображения, файлы)
  • Не требует настройки сервера, Redis, домена

Когда выбрать: Для индивидуального использования или малой команды (2-3 человека), когда не хочется поднимать сервер.

CLIProxyAPI — обёртка CLI-инструментов

GitHub: https://github.com/router-for-me/CLIProxyAPI

Обёртка CLI-инструментов (Gemini CLI, Claude Code, Codex, Qwen) в OpenAI-совместимый API. Стек: Go.

Особенности

  • Round-robin балансировка нескольких аккаунтов
  • Не требует API-ключей провайдеров (использует OAuth CLI-инструментов)
  • OpenAI-совместимый эндпоинт для любых клиентов
  • Поддержка: Claude Code, Gemini CLI, Codex CLI, Qwen

Когда выбрать: Если у вас несколько CLI-аккаунтов (например, 3 подписки Gemini) и вы хотите объединить их в один API-эндпоинт.

Выбор решения

flowchart TD
    START{Размер команды?} -->|1-2 человека| LOCAL{Нужен сервер?}
    START -->|3+ человек| SERVER{Нужен биллинг?}

    LOCAL -->|Нет| AM[Antigravity Manager<br/>десктопный relay]
    LOCAL -->|Да| CLIP[CLIProxyAPI<br/>CLI-обёртка]

    SERVER -->|Да| S2A[Sub2API<br/>Go + PostgreSQL]
    SERVER -->|Нет| CRS[CRS v1<br/>Node.js + Redis]

    style START fill:#f8fafc,stroke:#4f46e5,stroke-width:2px
    style LOCAL fill:#f8fafc,stroke:#4f46e5,stroke-width:2px
    style SERVER fill:#f8fafc,stroke:#4f46e5,stroke-width:2px
    style AM fill:#f0fdf4,stroke:#059669,stroke-width:2px
    style CLIP fill:#f0fdf4,stroke:#059669,stroke-width:2px
    style S2A fill:#f0fdf4,stroke:#059669,stroke-width:2px
    style CRS fill:#f0fdf4,stroke:#059669,stroke-width:2px

Сравнительная таблица решений

КритерийCRS / Sub2APIAntigravity ManagerCLIProxyAPI
РазвёртываниеУдалённый серверЛокальный десктопСервер или локальный
Мульти-аккаунтДа (пул)Да (локальный пул)Да (round-robin)
Мульти-провайдерClaude, OpenAI, GeminiGemini, ClaudeClaude, Gemini, OpenAI, Qwen
Веб-панельДаДа (встроенная)Ограниченная
Биллинг/квотыДа (Sub2API)Мониторинг квотНет
ПриватностьСвой серверЛокальная машинаСвой сервер
Сложность настройкиСредняяНизкаяСредняя

Практический сценарий: команда из 5 разработчиков

Задача

5 разработчиков работают с Claude Code. У каждого своя подписка ($20/мес). Хотят объединить аккаунты для лучшей доступности и обхода rate limits.

Решение с Sub2API

# 1. Поднимите Sub2API на сервере (DigitalOcean, Hetzner)
git clone https://github.com/Wei-Shaw/sub2api.git
cd sub2api && docker compose up -d

# 2. Добавьте 5 аккаунтов через веб-панель

# 3. Создайте 5 пользовательских API-ключей с лимитами

# 4. Каждый разработчик настраивает свой Claude Code:
export ANTHROPIC_BASE_URL="https://relay.yourteam.dev/api/"
export ANTHROPIC_AUTH_TOKEN="personal-key-xxx"

Результат: Если один аккаунт достигает rate limit, запрос автоматически перенаправляется на другой. Простой любого отдельного аккаунта не влияет на работу команды.

Стоимость

  • VPS: $5-10/мес (1 CPU, 1GB RAM достаточно для Sub2API)
  • Подписки: 5 x $20 = $100/мес (делятся между участниками)
  • Итого на человека: ~$21-22/мес

Когда использовать relay

Используйте если:

  • Команда из 3+ человек работает с Claude Code
  • Нужна высокая доступность (fallback при сбоях)
  • Работаете из региона с ограничениями
  • Хотите централизованный мониторинг использования

Не используйте если:

  • Работаете один с обычными нагрузками
  • Корпоративный план Claude for Teams доступен
  • Не готовы к рискам нарушения ToS

Заключение

Relay-сервисы — это инфраструктурный паттерн (API gateway + account pooling + load balancing), полезный для понимания архитектуры распределённых систем. Выбор между серверным решением (Sub2API) и десктопным (Antigravity Manager) зависит от размера команды и готовности администрировать сервер.

Для легитимного командного использования всегда рассматривайте официальные корпоративные планы провайдеров в первую очередь.

Скачать урок

Есть идея или нашли ошибку?

// Обсуждение

Можно писать анонимно. Укажите email, чтобы получать уведомления об ответах.