1. 프로젝트 개요
Sub2API는 Claude, OpenAI, Gemini, Grok, Antigravity 구독을 OpenAI/Anthropic 호환 API 엔드포인트로 통합하는 오픈소스 기반 Go API 게이트웨이입니다. 이를 통해 팀은 단일 자체 호스팅 서비스를 통해 공유 구독 할당량을 풀링하고 관리할 수 있습니다.
2. 배경 및 포지셔닝
개별 AI 구독 서비스(Claude Pro/Max, ChatGPT Plus, Gemini Advanced 등)는 단일 사용자 브라우저 기반 사용을 위해 가격 책정되어 있지만, 개발자들은 점점 더 네이티브 CLI 도구 및 SDK를 통한 프로그래밍식 접근을 원합니다. Sub2API는 이러한 격차를 해소하기 위해 구축되었으며, 하나 또는 여러 구독 계정을 API 호환 게이트웨이로 변환하여 팀이나 커뮤니티가 할당량을 공유하고 토큰 단위로 사용량을 추적하며 계정 및 제공자 간에 요청을 지능적으로 라우팅할 수 있도록 합니다.
일반적인 LLM 프록시 또는 라우터 프로젝트가 주로 API 키 트래픽을 전달하는 것과 달리, Sub2API는 OAuth 인증 소비자 플랜인 구독 기반 계정에 특화되어 있으며, 계정 풀링, 스티키 세션 스케줄링, 내장 빌링/결제 레일을 추가하여 공유 접근 방식을 개인용 스크립트가 아닌 소규모 호스팅 서비스로 운영할 수 있게 합니다.
3. 기능 카테고리
🔑 계정 및 액세스 관리 — 4가지 핵심 기능(예: OAuth 계정 바인딩, API Key 계정 바인딩, 동적 API 키 발급, 키별 수명 주기 제어). 목적: 하나의 대시보드에서 많은 수의 업스트림 구독 계정과 다운스트림 사용자 키를 온보딩하고 관리합니다.
⚖️ 스케줄링 및 트래픽 제어 — 4가지 핵심 기능(예: 지능형 계정 선택, 스티키 세션, 사용자별 동시성 제한, 계정별 동시성 제한, 구성 가능한 요청/토큰 속도 제한). 목적: 풀링된 계정 전반에 부하를 균등하게 분산하면서 각 계정이 업스트림에서 스로틀링되거나 플래그 지정되는 것을 방지합니다.
💳 빌링 및 모네타이즈 — 4가지 핵심 기능(예: 토큰 단위 사용량 측정, 내장 결제 통합(EasyPay, Alipay, WeChat Pay, Stripe), 셀프서비스 충전, 빌링 서킷 브레이커). 목적: 연산자가 정확한 감사 가능한 사용량 계산을 통해 비용 공유 또는 유료 액세스 그룹을 운영할 수 있도록 합니다.
🧩 멀티 제공자 라우팅 — 5개의 지원 제공자: Claude (Anthropic), OpenAI (Codex 포함), Gemini (Google), Grok/xAI, Antigravity (하이브리드 스케줄링). 목적: 일관되고 친숙한 API 형태 뒤에 이질적인 업스트림 제공자를 노출합니다.
🖥️ 관리자 대시보드 및 운영 — 4가지 핵심 기능(예: Vue 3 웹 콘솔, 실시간 모니터링, Codex CLI용 WebSocket 인그레스 관리, 비동기 이미지 작업 폴링). 목적: 일상적인 운영을 위해 명령줄에 직접 접근하지 않고도 연산자에게 가시성과 제어권을 제공합니다.
4. 주요 하이라이트
- 구독 풀링("카풀링") — 여러 Claude/OpenAI/Gemini/Grok 계정을 하나의 게이트웨이에 결합하여 팀이나 사용자 기반 전체에 걸쳐 할당량 비용을 공유할 수 있습니다.
- 네이티브 도구 호환성 — Anthropic/OpenAI 스타일 API를 대상으로 구축된 기존 CLI 도구 및 SDK가 최소한의 변경 또는 변경 없이 작동하도록 설계되었습니다.
- 토큰 정밀 빌링 — 모든 요청은 토큰 단위로 측정되어 공정한 비용 배분 및 종량제 충전을 가능하게 합니다.
- 스티키 세션 스마트 스케줄링 — 필요한 경우 대화를 동일한 업스트림 계정에 고정하여 다중 턴 도구 세션 전반에 걸쳐 컨텍스트 손실을 방지합니다.
- 복합 제공자 그룹 — 중복성 및 부하 분산을 위해 단일 논리적 모델 엔드포인트를 여러 제공자 또는 계정 간에 라우팅합니다.
- 다양한 배포 경로 — 원라인 설치 스크립트, Docker Compose, Apple Container(macOS/Apple Silicon) 또는 소스에서 빌드하여 빠른 테스트와 프로덕션 롤아웃 모두를 지원합니다.
5. 역할별 사용 사례
- 일반 개발자: 각 제공자에 대해 별도의 SDK나 자격 증명을 관리하지 않고도 하나의 일관된 API 엔드포인트와 API 키를 통해 Claude, OpenAI, Gemini, Grok에 접근합니다.
- DevOps/SRE: PostgreSQL 및 Redis와 함께 Docker Compose를 통해 배포하고, 속도 제한, 신뢰할 수 있는 프록시, 서킷 브레이커를 구성하여 부하가 걸려도 공유 게이트웨이를 안정적으로 유지합니다.
- 커뮤니티/팀 운영자: 그룹 전체에 구독 비용을 풀링하고 개별 API 키를 발급하며, 내장 결제 통합을 사용하여 공유 또는 유료 액세스를 관리합니다.
- 프로젝트 매니저: 엔지니어링 지원 없이도 조직 전반의 사용량, 지출 및 계정 상태를 모니터링하기 위해 관리자 대시보드를 사용합니다.
6. 시작하기
필요한 항목 찾기 — 저장소 README(영어 및 중국어)와 deploy/README.md부터 시작하여 배포 관련 지침을 확인하세요:
git clone https://github.com/Wei-Shaw/sub2api.git
설치 / 통합 — 가장 빠른 경로는 Linux용 원라인 설치 스크립트를 사용하는 것입니다:
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/install.sh | sudo bash
또는 완전히 컨테이너화된 설정(PostgreSQL 및 Redis 포함)을 위한 Docker Compose를 사용하세요:
mkdir -p sub2api-deploy && cd sub2api-deploy
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash
docker compose up -d
기여하기 — 저장소를 포크하고 main에 대한 풀 리퀘스트를 열며, GitHub Issues를 사용하여 버그를 보고하거나 기능을 제안하세요:
gh repo fork Wei-Shaw/sub2api --clone
7. 프로젝트 구조
sub2api/
├── backend/ # Go 서비스: 구성, 모델, 요청 핸들러, 제공자 게이트웨이 로직
├── frontend/ # Vue 3 + Vite + TailwindCSS 관리자 대시보드
├── deploy/ # Docker Compose 파일, 환경 템플릿, 설치/업그레이드 스크립트
└── openspec/ # 노출된 게이트웨이 엔드포인트용 OpenAPI 사양
backend/cmd/server— Go 바이너리의 메인 진입점.deploy/install.sh/deploy/docker-deploy.sh— 스크립트 기반 및 Docker 기반 배포를 위한 원라인 설치 프로그램.frontend/— 계정, 키, 빌링 및 모니터링 관리를 위한 웹 콘솔.
8. 관련 생태계
- 업스트림 의존성: 백엔드는 Go 1.25.7, Gin 웹 프레임워크, Ent ORM을 사용하며, 프론트엔드는 Vue 3.4+, Vite 5+, TailwindCSS를 사용합니다. 저장은 PostgreSQL 15+, 캐싱 및 큐에는 Redis 7+를 사용합니다.
- 업스트림 구독 제공자: Anthropic (Claude), OpenAI (Codex 포함), Google (Gemini), xAI (Grok) — Sub2API는 이를 대체하는 것이 아니라 그 앞에 게이트웨이로 위치합니다.
- 컴패니언 프로젝트:
sub2api-mobile, 이동 중에도 배포된 인스턴스를 관리하기 위한 크로스 플랫폼 모바일 관리자 콘솔.
9. 라이선스
Sub2API는 **GNU Lesser General Public License v3.0 (LGPL-3.0)**에 따라 출시됩니다.
- ✅ 내부 또는 교육 목적으로 소스 코드를 자유롭게 사용하고, 연구하고, 수정할 수 있습니다.
- ✅ 개인 또는 팀용으로 자체 호스팅하여 사내 그룹 내에서 구독 비용을 공유하는 것이 무료입니다.
- ❌ 프로젝트는 개인이나 조직이 이를 상업적 서비스로 운영하는 것을 승인하지 않았다고 명시적으로 밝힙니다.
- ℹ️ Sub2API를 사용하여 업스트림 제공자에 접근하면 해당 제공자의 이용약관과 충돌할 수 있습니다. 유지 관리자는 이 프로젝트를 기술 학습 및 연구 목적으로 의도했다고 설명하며, 연산자는 자신의 준수 사항 및 계정 위험에 대해 책임집니다.
10. FAQ
Q: Sub2API는 어떤 AI 제공자를 지원하나요?
A: Claude (Anthropic), OpenAI (Codex 포함), Gemini (Google), Grok/xAI, Antigravity를 호환 API 엔드포인트 뒤에 통합하여 지원합니다. 현재 목록은 README를 참조하세요.
Q: 체험하는 가장 빠른 방법은 무엇인가요?
A: PostgreSQL과 Redis를 게이트웨이와 함께 자동으로 프로비저닝하는 Docker Compose 퀵스타트를 사용하세요:
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash
Q: 제 구독 계정에 대해 Sub2API를 실행하는 것이 제공자의 규칙에 위배되나요?
A: 유지 관리자는 이것이 업스트림 제공자의 이용약관과 충돌할 수 있으며 계정 정지에 대한 책임을 지지 않는다고 언급합니다. 배포하기 전에 README의 라이선스 및 면책 조항을 검토하세요.
Q: Sub2API를 사용하여 타인을 위한 유료 서비스를 실행할 수 있나요?
A: 프로젝트에는 그룹 내 비용 공유를 위한 내장 결제 통합(EasyPay, Alipay, WeChat Pay, Stripe)이 포함되어 있지만, 유지 관리자는 프로젝트 자체의 상업적 운영을 승인하지 않았습니다. 먼저 라이선스 조건을 확인하세요.
Q: 버그를 보고하거나 기능을 요청하려면 어디에 가야 하나요?
A: 메인 저장소의 GitHub Issues를 통해 가능합니다.
11. 빠른 링크
- 저장소: https://github.com/Wei-Shaw/sub2api
- 중국어 README: README_CN.md
- 배포 가이드: deploy/README.md
- 이슈 / 커뮤니티 토론: GitHub Issues
- 릴리스: GitHub Releases
12. 요약
Sub2API는 흩어진 AI 구독 계정을 토큰 단위 빌링, 스마트 스케줄링, 전체 관리자 대시보드를 갖춘 단일 관리 가능한 API 호환 게이트웨이로 변환합니다. 이는 업스트림 이용약관 및 라이선스 영향을 신중히 검토한 후 배포하려는 개발자와 소규모 팀에게 적합하며, Claude, OpenAI, Gemini, Grok에 하나의 일관된 인터페이스를 통해 접근하고 구독 비용을 공유하고자 하는 경우에 최적입니다.