Claude/Codex API 中継プロキシ (codex_cc_switch)
概要
codex_cc_switch は Claude(Anthropic 系)や Codex、OpenAI 形式のインターフェースを仲介(中継)するプロキシ/ルーターです。クライアント側は既存の OpenAI 風 API などの呼び出しをそのまま利用しつつ、サーバ側でリクエストやレスポンスのフォーマット変換やマッピングを行い、複数の上流 API に振り分けられる仕組みを提供します。FastAPI を採用しており、Python 3.8 以降で動作、Dockerfile や MIT ライセンスを含む構成で配布されています。用途としては、ベンダー切り替え、フォールバック構成、フォーマット互換レイヤーの導入が想定されます。
リポジトリの統計情報
- スター数: 10
- フォーク数: 0
- ウォッチャー数: 10
- コミット数: 9
- ファイル数: 19
- メインの言語: Python
主な特徴
- Claude Code、Codex CLI、OpenAI 形式の相互変換とルーティングをサポート
- FastAPI ベースで非同期処理に対応し、軽量にデプロイ可能
- Dockerfile を提供しコンテナ化が容易、MIT ライセンスで商用利用も可能
- 多API を組み合わせたフォールバックや負荷分散的ルーティングに適用可能
技術的なポイント
このプロジェクトは主に「プロトコルの翻訳」と「動的ルーティング」にフォーカスしています。FastAPI を採用しているため、エンドポイント定義やバリデーションには Pydantic スキーマが自然に使われる構成が想定され、リクエスト受け取り→変換→上流 API 呼び出し→レスポンス変換というパイプラインを非同期で処理できます。上流 API 呼び出しは通常 httpx や aiohttp のような非同期 HTTP クライアントで行われ、API キーやエンドポイントは環境変数や設定ファイルで切り替え可能です。
フォーマット変換の実装はアダプターパターンに似た形で、OpenAI 風のリクエスト構造を Claude/Codex の要求するペイロードにマッピングし、逆に上流からの応答を OpenAI 互換のレスポンス構造に組み替えます。この層を用いることで、既存のクライアント実装を変更せずに別ベンダーへ切り替えられる利点があります。さらに、ルーティングのロジックはシンプルな条件分岐(モデル名やヘッダ、パラメータ)や重み付け、あるいはフェイルオーバー戦略を組み込めるため、可用性向上やコスト管理に活用できます。
運用面では Dockerfile が同梱されているためコンテナ化が容易で、CI/CD によるデプロイやクラウド上でのスケールアウトが容易です。ロギングやエラー変換、タイムアウト設定、レートリミットの導入は実運用で重要なポイントとなるため、プロキシ層で適切に制御することが推奨されます。セキュリティ面では API キーの取り扱いや TLS、アクセス制御を考慮する必要があります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .dockerignore: file
- .gitignore: file
- CONTRIBUTING.md: file
- CONTRIBUTING_CN.md: file
- Dockerfile: file
…他 14 ファイル
(リポジトリ全体は 19 ファイル構成で、主要実装は Python + FastAPI による API エンドポイント、設定ファイル、Docker 環境定義、貢献ガイドなどで構成されています。)
まとめ
既存クライアントを変えずに複数ベンダーを扱う中継プロキシとして実用的で拡張性が高いリポジトリです。
リポジトリ情報:
- 名前: codex_cc_switch
- 説明: Claude/Codex API中转、多API路由、OpenAI格式转换
- スター数: 10
- 言語: Python
- URL: https://github.com/cd555yong/codex_cc_switch
- オーナー: cd555yong
- アバター: https://avatars.githubusercontent.com/u/139604825?v=4
READMEの抜粋:
Claude/Codex API 中转代理 - 完整使用指南
通用API中转代理 - 支持 Claude Code、Codex CLI 和 OpenAI 格式的智能转发与格式转换
English | 简体中文