Sub2API — サブスクリプション中継ゲートウェイ

AI/ML

概要

Sub2API は、個別の有償AIサブスクリプション(例:Claude 等)を背後で束ね、クライアント向けに統一された API を提供する「中継(プロキシ)サービス」です。複数人によるサブスクの共同利用(拼车/相乗り)を想定したトークン共有やコスト分担機能を持ち、ネイティブツールから透過的に利用できることを目標とします。技術スタックは Go(API サーバ)+Vue(管理 UI)、永続化に PostgreSQL、短期キャッシュやロックに Redis を使用。Docker での起動や Goreleaser による配布を想定しており、オンプレ/クラウド問わず導入しやすい設計です。

GitHub

リポジトリの統計情報

  • スター数: 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ゲートウェイ実装で、導入のハードルが低い点が魅力。

リポジトリ情報:

READMEの抜粋:

Sub2API

Go Vue PostgreSQL Redis Docker

AI API Gateway Platform for Subscr…