Sub2API — サブスクリプション中継ゲートウェイ
概要
Sub2API は、個別の有償AIサブスクリプション(例:Claude 等)を背後で束ね、クライアント向けに統一された API を提供する「中継(プロキシ)サービス」です。複数人によるサブスクの共同利用(拼车/相乗り)を想定したトークン共有やコスト分担機能を持ち、ネイティブツールから透過的に利用できることを目標とします。技術スタックは Go(API サーバ)+Vue(管理 UI)、永続化に PostgreSQL、短期キャッシュやロックに Redis を使用。Docker での起動や Goreleaser による配布を想定しており、オンプレ/クラウド問わず導入しやすい設計です。
リポジトリの統計情報
- スター数: 37
- フォーク数: 13
- ウォッチャー数: 37
- コミット数: 21
- ファイル数: 11
- メインの言語: Vue
主な特徴
- サブスクリプションの一元化:複数サブスクリプションを束ねて単一APIで提供
- 共有・課金効率化:トークン/利用量を共有してコスト分担が可能
- フルスタック設計:Go バックエンド+Vue 管理 UI、Postgres/Redis、Docker 対応
- デプロイ/リリース:Docker イメージや Goreleaser による配布を想定
技術的なポイント
Sub2API は「APIゲートウェイ+サブスクリプション管理」を目的とした設計思想が特徴です。バックエンドは Go(Go 1.21+ を想定)で書かれており、高速なプロキシングと同時接続の取り扱いに向いています。フロントエンドは Vue 3 を採用していて、管理画面からサブスクの登録・ユーザー管理・使用状況の可視化が行える構成になっています。
データ層は PostgreSQL で永続化(サブスク情報、ユーザー、ログ等)、Redis はキャッシュ、トークンローテーションや分散ロック、レートリミッティングに利用する想定です。これにより「トークン共有時の競合防止」「短期的なレート制御」「アクセス頻度の緩和」などが効率良く処理できます。Dockerfile と Docker 想定の記述があるため、docker-compose でのローカル検証やコンテナ化した本番運用が容易です。
セキュリティ面では、外部プロバイダのAPIキー/トークンを取り扱うため、保管方法(暗号化やKVストア)、アクセス制御(認可/認証)、監査ログが重要です。リポジトリには .goreleaser.yaml が含まれているため、バイナリ配布やCI/CDでのリリース自動化にも配慮されています。運用面ではプロキシの遅延、エラー返却、上流プロバイダの利用制限(レート/同時接続)に対するリトライやフォールバック戦略、コスト分配のための使用量計測・レポート機能が求められます。
また、マルチテナント環境での公平な割当(例:Round-robin、重み付き配分)、トークンの有効期限管理や無効化、異なる上流API(Claude のほか将来的に他ベンダー)への拡張性も設計上の注目点です。運用時には法的・利用規約上の扱い(サブスクの共有が許可されているか等)を確認する必要があります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .dockerignore: file
- .github: dir
- .gitignore: file
- .goreleaser.yaml: file
- Dockerfile: file
- README.md: file
- LICENSE: file
- docker-compose.yml: file
- web/: dir (Vue フロントエンド)
- server/: dir (Go サービス本体)
- go.mod: file
…他 0 ファイル
まとめ
サブスク共有と中継を目的とした実用的なAI APIゲートウェイ実装で、導入のハードルが低い点が魅力。
リポジトリ情報:
- 名前: sub2api
- 説明: Sub2API-一站式开源中转服务,让 Claude订阅统一接入,支持拼车共享,更高效分摊成本,原生工具无缝使用。
- スター数: 37
- 言語: Vue
- URL: https://github.com/Wei-Shaw/sub2api
- オーナー: Wei-Shaw
- アバター: https://avatars.githubusercontent.com/u/26101719?v=4
READMEの抜粋: