v2.0 / セルフホスト AI ゲートウェイ / MIT

一つの入口で、
すべてのチャネルと
認証情報を管理

20 のチャネル、数十の認証情報、4 種類のクライアントプロトコルを一つの Base URL に集約します。スケジューリング、リトライ、クールダウン、使用量集計はゲートウェイ側で処理し、アプリケーションは Base URL と AccessKey を設定するだけです。

アプリケーション1 BASE URL1 AccessKey認証GPT-LOADスケジュール / リトライ / クールダウンアフィニティ / ログ / 使用量公式 API4 チャネルクラウド基盤3 チャネルモデルサービス8 チャネルサブスクリプション4 チャネル図 1 — ルーティングルート → 公式 API0 リクエスト
20
組み込みチャネル
4
クライアントプロトコル
1
Go バイナリ
2
接続設定
SQLite / MySQL / PostgreSQL認証情報はローカルで暗号化 · リクエストは選択した上流へ送信
01支援

このプロジェクトを支えるパートナー

GPT-Load は MIT ライセンスのオープンソースです。インフラ、モデルクレジット、開発時間はスポンサーの支援によって成り立っています。

02機能

ゲートウェイが代わりに処理する 6 つのこと

本来なら各アプリケーションが個別に実装するか、障害が起きるまで後回しにしがちな処理です。ゲートウェイに一度実装すれば、すべてのクライアントが恩恵を受けます。

01

一つのスケジューラー、二種類の認証情報

API キーと Codex、Claude、Antigravity、Grok のサブスクリプションアカウントを同じプールに入れ、スケジューリング、リトライ、クールダウン、健全性分離を共通化します。

02

クライアントはネイティブプロトコルのまま

OpenAI Chat Completions、OpenAI Responses、Anthropic Messages、Gemini ネイティブの 4 プロトコルをそのまま通します。既存の SDK、CLI、デスクトップクライアントは通常、Base URL と AccessKey を変更するだけです。

03

障害を自動的に切り離す

重み付きローテーション、セッションアフィニティ、リトライ、クールダウン、自動ブラックリストにより、制限中または無効な認証情報の影響を経路全体から分離します。

04

すべての呼び出しを観測可能

健全性、ルート検査、リクエストログ、使用量集計、モデル別コスト概算を、実際に処理した認証情報まで追跡できます。

05

一つのバイナリ、データは自分で管理

管理画面は Go バイナリに組み込まれています。SQLite で始め、必要に応じて MySQL または PostgreSQL を使用できます。上流認証情報はローカルで暗号化され、第三者を経由しません。

06

20 チャネルをすぐに利用可能

公式 API、クラウド基盤、モデルサービス、サブスクリプションを内蔵し、任意の OpenAI 互換中継向けカスタムチャネルも用意しています。アダプターを書く代わりにフォームへ入力するだけです。

03チャネルとプロトコル

4 プロトコルから 20 チャネルへ

クライアントが使用するプロトコルと、最終的にリクエストを受け取る上流の両方をゲートウェイが処理します。アプリケーションはルーティングの詳細を意識しません。

クライアントプロトコル
OpenAI Chat Completions
POST /v1/chat/completions
多くの互換クライアントが使用する標準的な入口
OpenAI Responses
/v1/responses/**
名前空間を保ったパススルーでステートフルリソースに対応
Anthropic Messages
POST /v1/messages
Claude Code などが使用するネイティブ入口
Gemini
/v1beta/models/…
generateContent とストリーミング派生を含む
上流チャネル
公式 API4
  • OpenAI
  • Anthropic
  • Gemini
  • xAI
クラウド基盤3
  • Azure OpenAI
  • AWS Bedrock
  • Google Vertex AI
モデルサービス8
  • DeepSeek
  • Moonshot AI
  • SiliconFlow
  • Zhipu AI
  • Alibaba Cloud
  • Volcengine
  • OpenRouter
  • Groq
サブスクリプション4
  • Codex
  • Claude
  • Antigravity
  • Grok
+ カスタムチャネル — 任意の OpenAI 互換中継チャネルとプロトコル →
04セットアップ

3 ステップで設定完了

管理する対象は二つだけです。Group は上流向け、AccessKey はアプリケーション向けです。その間のスケジューリング、リトライ、使用量集計はゲートウェイが処理します。

01

Group を作成

上流チャネルを選び、API キーを登録します。Codex や Claude などのサブスクリプションアカウントは OAuth 認可後、同じスケジューラーに入ります。

Group → チャネル + 認証情報プール
02

公開モデルを選択

この Group が公開するモデルを選び、上流から自動検出します。必要に応じてウェイト、タイムアウト、リトライなどの実行ポリシーも調整できます。

Group → モデル + ポリシー
03

AccessKey を発行

利用可能な Group とクライアントプロトコルを指定し、レートやコスト上限を設定して、生成されたキーをアプリケーションへ渡します。アプリ側で必要なのはこれだけです。

AccessKey → 認可 + 制限
05はじめる

1 コマンドで起動、クライアントは 2 項目だけ変更

外部データベースもフロントエンドの個別デプロイも不要です。管理画面は同じバイナリに組み込まれています。

① サービスを起動Docker Compose
git clone --depth 1 --branch v2 \
  https://github.com/tbphp/gpt-load.git
cd gpt-load && cp .env.example .env
docker compose up -d

# 自動生成された管理キーを確認
docker compose exec gpt-load \
  sh -c 'cat /app/data/auth.key'
② クライアントを接続Python — OpenAI SDK
client = OpenAI(
    base_url="http://127.0.0.1:3001/v1",   # この行を変更
    api_key="sk-gl-••••a5df",               # この行を変更
)

# Anthropic クライアントは /v1/messages を使用
# Gemini クライアントは /v1beta/models/… を使用

各クライアント標準の認証方法をそのまま使用できます:Authorization: Bearer · x-api-key · x-goog-api-key · Gemini key クエリパラメーター。

ネイティブバイナリ

5 つのビルド対象

Linux と macOS はそれぞれ amd64 と arm64、Windows は amd64。ダウンロードしたバイナリは付属の SHA256SUMS で検証してから実行してください。Windows にはサービスとして登録できるインストーラーもあります。

データベース

SQLite で始め、必要に応じて変更

DATABASE_DSN を空にすると管理対象 SQLite を使用し、DSN を設定すると外部 SQLite、MySQL、PostgreSQL を使用できます。

バックアップ

キーとデータベースを一緒に保管

encryption.key はチャネル認証情報の復号に必要です。紛失または置換すると暗号化済み認証情報は復元できず、このバージョンではマスターキーのローテーションをサポートしません。

完全な手順とその他のクライアント設定クイックスタート →
06管理画面

設定と可観測性を一か所に

管理画面はバイナリと一緒に配布されます。ブラウザーからチャネル設定、健全性とログの確認、使用量とコスト概算の確認ができます。

FIG. 2 — サブスクリプションアカウントクォータ · 状態 · 診断

クォータ期間、リセット時刻、可用性、クールダウンを一画面で確認できます。クォータ情報は表示専用で、実際のルート切替は上流のレート制限応答によって行われます。

FIG. 3 — 使用量とコストリクエスト · トークン · 概算

リクエストの成否傾向、キャッシュヒット、トークン分類、コスト概算に加え、欠落データや価格未設定モデルなど使用量データ自体の品質も確認できます。

07境界

本番利用前に確認する 3 点

コスト

使用量とコストは概算

上流応答から算出した運用分析・容量計画向けの値です。プロバイダー請求書ではなく、会計照合には使用できません。価格変更時も過去データは再計算されません。

規模

単一アプリケーションインスタンス向け

2.0 は単一インスタンス内の正しさを保証します。インスタンス間で状態を共有せず、水平スケールはサポートしません。大規模な場合は業務単位で独立したデプロイに分割してください。

アップグレード

1.x からのインプレース更新は不可

2.0 は完全な再実装で、1.x データを開く、インポートする、その場で移行することはできません。別のデータベース、DATA_DIR、ポート、ボリュームでデプロイし、検証後にトラフィックを切り替えてください。

ネットワーク境界

サービスは既定で 127.0.0.1 のみを待ち受け、公開ネットワークには露出しません。リモートアクセスには、適切な ACL とファイアウォールを設定した管理ネットワークまたは TLS リバースプロキシを使用してください。AUTH_KEY と ENCRYPTION_KEY をリポジトリ、ログ、スクリーンショット、公開 issue に記載しないでください。

GPT-Load — セルフホスト AI ゲートウェイ