Soju06/codex-lb

Codex/ChatGPT multiple account load balancer & proxy with usage tracking, dashboard, and OpenCode-compatible endpoints

codex‑lb – ChatGPTアカウント用のロードバランサーおよびプロキシ

何であるか

  • OpenAI互換クライアント(Codex CLI、OpenCode、公式OpenAI Python SDKなど)と1つ以上のChatGPTアカウントの間に配置される自己ホスト型サービス。
  • 複数のアカウントのプールにリクエストを分散し、各アカウントのトークン使用量とコストを追跡し、APIキーごとのレート制限を設定できます。
  • すべての機能は認証(パスワード+任意のTOTP)付きのWebダッシュボードで確認可能です。

主な機能

機能 機能の概要
アカウントプール 複数のChatGPTアカウントを登録;リクエストごとに最適なアカウントを選択し、全体のクォータを効果的に増加します。
使用量の追跡 SQLite(デフォルト)またはPostgreSQLデータベースに、アカウントごとのトークン数、コスト、28日間のトレンドを保存します。
APIキー管理 トークン数、コスト、時間枠、モデルなど、カスタム制限を設定できるキーを作成し、他のユーザーまたはサービスにプロキシを公開する際の保護を可能にします。
OpenAI互換エンドポイント 公式OpenAI APIを想定している任意のクライアントと互換性のある /v1 および /backend-api/codex エンドポイントを提供します。
ダッシュボード Web UI(デフォルトでは http://localhost:2455)でアカウント、使用量グラフ、キー管理を確認できます。
自動モデル同期 OpenAIから利用可能なモデルの一覧を取得し、プロキシが各アカウントが提供可能なモデルを常に把握できるようにします。
あらゆる場所にデプロイ可能 Dockerイメージ、uvxワンライナー、Nixパッケージに対応;Kubernetesデプロイもサポートしています。

クイックスタート(Docker、推奨方法)

# SQLite DB用の永続ボリュームを作成
docker volume create codex-lb-data
# オプション:コンテナ用の分離ネットワーク
docker network create codex-lb-net
# 最新版イメージを実行
docker run -d --name codex-lb \
  --network codex-lb-net \
  -p 2455:2455 -p 1455:1455 \
  -v codex-lb-data:/var/lib/codex-lb \
  ghcr.io/soju06/codex-lb:latest

http://localhost:2455 を開き、最初のChatGPTアカウントを追加して、任意のクライアントをプロキシに接続してください。

クライアント設定例(Codex CLI)

model = "gpt-5.6-sol"
model_reasoning_effort = "xhigh"
model_provider = "codex-lb"

[model_providers.codex-lb]
name = "openai"
base_url = "http://127.0.0.1:2455/backend-api/codex"
wire_api = "responses"
supports_websockets = true
requires_openai_auth = true

OpenCode、OpenClaw、公式OpenAI Python SDK、その他のツールに対しても同様の設定手順が用意されています。詳細は https://soju06.github.io/codex-lb/ で確認できます。

設定

  • 設定は CODEX_LB_ で始まる環境変数、または .env.local ファイルから読み込まれます。例として .env.example ファイルが提供されています。
  • デフォルトではSQLiteが使用されます(Dockerでは /var/lib/codex-lb/)。大規模な展開の場合は CODEX_LB_DATABASE_URL をPostgreSQLインスタンスに設定できます。

開発

  • バックエンドは uv run codex-lb で実行(ポート2455でリッスン)。
  • フロントエンド(React/Vite)は frontend ディレクトリにあり、bun run dev で起動(ポート5173)し、ホットリロードが可能です。
  • Docker ComposeのウォッチモードやNix flakesもサポートされています。

なぜ使うべきか

  • クォータの拡張:複数の個人またはチーム用ChatGPTアカウントを持っている場合、codex‑lbを使えばそれらを単一の論理的なAPIエンドポイントとして利用できます。
  • コストの可視化:各アカウントがどれだけのトークンを消費し、どのくらいの金額がかかるかを正確に把握できます。
  • 安全性:チームメイトやCIパイプラインにスコープ制限付きのAPIキーを発行し、1人のユーザーが全プールを枯渇させることを防げます。
  • 互換性:既存のOpenAI互換ツールにコード変更は不要。新しいベースURLに接続するだけでOKです。

さらに読む

  • 完全なドキュメント、トラブルシューティング、デプロイガイド: https://soju06.github.io/codex-lb/。
  • macOS、Linux、Home Assistantなど向けのコミュニティ作成のステータスバー統合はREADMEに一覧されています。

関連

  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト