james-6-23/codex2api
Codex2API 是一个基于 Go + Gin + React/Vite 的 Codex 反向代理与管理后台项目
Codex2API – プールされた Codex アカウント用の OpenAI 互換ゲートウェイ
何であるか – Codex2API は、複数の Codex(OpenAI 風)リフレッシュトークンまたはアクセストークンアカウントを1つの生産用 API エンドポイントに統合する自己ホスト型サービスです。OpenAI/Anthropic HTTP ルート(/v1/chat/completions、/v1/images/...、/v1/models など)をサポートしながら、トークンのリフレッシュ、ヘルススコアリング、動的並行処理、レート制限回復、使用量ベースの課金、管理者操作をすべて処理します。
なぜ重要か – 複数の個人用 Codex アカウントを取得してクォータ制限を回避する開発者が多くいます。これらのトークンを手動で管理するのはエラーが発生しやすく、セキュリティ上も危険です。Codex2API はプールを自動化し、最も健全なアカウントにリクエストをスケジューリングし、どのクライアント(Codex CLI、Claude Code、公式 OpenAI SDK など)でも呼び出せる統一された OpenAI 互換インターフェースを提供します。
コア機能
| 機能 | 得られるもの |
|---|---|
| 統一された OpenAI 風 API | チャット補完、応答、画像/動画生成、モデル一覧、ヘルスチェックのエンドポイントがすべて /v1/* の下で利用可能。 |
| アカウントプールスケジューラ | ヘルスティア、並行処理制限、クールダウン、最近の使用状況に基づいてアカウントを選択。round_robin および remaining_quota 戦略をサポート。 |
| 管理者ダッシュボード | React + Vite UI でトークンのインポート、アカウントのテスト、APIキー管理、プロキシプール、プロンプトフィルタ、使用状況分析、システム設定を操作可能。 |
| 2種類のデプロイ形状 | 本番モード:PostgreSQL + Redis;軽量モード:SQLite + インメモリキャッシュ(単一コンテナ)。 |
| 課金と監視 | アカウントごとの USD 課金追跡(5時間/7日スライディングウィンドウ)、クレジットクォータフラグ、APIキー使用ログ、トレンドチャート、リクエストログ。 |
| OAuth PKCE フロー | 標準の OAuth PKCE 交換を介してリフレッシュトークンを取得するための組み込みエンドポイント。手動でのトークン抽出を回避。 |
| Docker 対応 | 本番用の公式 docker-compose.yml に加え、ローカルソースビルド用および SQLite 唯一のデプロイ用のバリエーションも提供。 |
クイックスタート(Docker、本番モード)
# リポジトリをクローンして移動
git clone https://github.com/james-6-23/codex2api.git && cd codex2api
# 環境テンプレートをコピーして必要に応じて編集
cp .env.example .env # DBパスワード、ADMIN_SECRET などを設定
# イメージを取得してスタックを起動
docker compose pull
docker compose up -d
# ログを監視
docker compose logs -f codex2api
管理者UIは http://localhost:8080/admin/ にアクセス可能(ADMIN_SECRET で保護)。
PostgreSQL/Redis なしの単一ノード設定の場合は、SQLite のコンポーズファイルを使用:
cp .env.sqlite.example .env
docker compose -f docker-compose.sqlite.yml up -d
API の使い方
すべてのエンドポイントは OpenAI の仕様に従うため、既存の SDK はそのまま使用可能。チャット補完の例:
curl https://your-host/v1/chat/completions \
-H "Authorization: Bearer <your‑public‑api‑key>" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.5","messages":[{"role":"user","content":"Hello"}]}'
公開APIキーが設定されていない場合、ゲートウェイはキー検証をスキップします。
管理
- トークンインポート – POST
/api/admin/accounts(リフレッシュトークン)または/api/admin/accounts/at(アクセストークン)。単一またはバッチ(改行区切り)アップロードをサポート。 - ファイルインポート – TXT または JSON トークンファイル用のマルチパート
/api/admin/accounts/import。 - OAuth PKCE – 認証URLを生成し、ブラウザでフローを完了した後、
/api/admin/oauth/exchange-codeでコードを交換。 - APIキー –
/admin/api-keysでクライアントごとにキーを作成。キーはDBに保存され、無効化可能。 - スケジューラ設定 – 設定ページから
SchedulerMode、MaxConcurrency、GlobalRPMなどを調整。変更はすべて実行中のインスタンスに即時反映。
監視と課金
- ダッシュボードではリクエスト数、レイテンシ、トークンの健全性、モデル使用状況を表示。
- アカウントごとのコスト追跡(USD)は5時間/7日スライディングウィンドウを使用。クレジットクォータフラグで支出を制限可能。
- Redisキャッシュ(またはインメモリフォールバック)は、継続呼び出し(
previous_response_id)をサポートするための最近の応答コンテキストを保存。
どのデプロイモードを選ぶべきか
| 場合 | 推奨モード |
|---|---|
| 複数のアカウントを扱う本番サービス、永続性と水平スケーリングが必要 | PostgreSQL + Redis(標準コンポーズ) |
| 小規模な個人利用、迅速なテスト、またはCIパイプライン | SQLite + インメモリ(sqliteコンポーズ) |
| GoバックエンドやReact UIをカスタマイズしたい | docker-compose.local.yml(または docker-compose.sqlite.local.yml)を使用してソースからビルド |
コミュニティとサポート
- イシューと貢献 – PRワークフローは
docs/CONTRIBUTING.mdを参照。 - デモ – 公開デモは https://codex2api‑latest‑vu8j.onrender.com にホスト(パスワード:
codex2api)。UIの探索にのみ使用。実際のトークンはアップロードしないでください。 - スポンサー – FastAIToken、AiXor、星辰·AI がスポンサーとして掲載。商用AI-APIゲートウェイサービスを提供しています。
ライセンスと免責事項
リポジトリは MIT ライセンスでリリースされています。作者はデモを実際の資格情報で使用しないよう警告しており、トークンプールゲートウェイを運用することは、下位のプロバイダーの利用規約に違反する可能性があると述べています。
結論 – Codex2API は、多数の Codex アカウントを統合し、標準的な OpenAI 互換 API を提供し、トークン管理、課金、監視に富んだ豊かな管理者UIを備えた、完全に機能した Docker 対応ゲートウェイです。より高いスループットが必要なチームや、独自のスケジューラを書かずにトークン管理を集中化したいチームに適しています。
関連
- Dispatch
- プロジェクト
- プロジェクト
- Dispatch
- Dispatch