Claude/Codex API 中継プロキシ (codex_cc_switch)

Tool

概要

codex_cc_switch は Claude(Anthropic 系)や Codex、OpenAI 形式のインターフェースを仲介(中継)するプロキシ/ルーターです。クライアント側は既存の OpenAI 風 API などの呼び出しをそのまま利用しつつ、サーバ側でリクエストやレスポンスのフォーマット変換やマッピングを行い、複数の上流 API に振り分けられる仕組みを提供します。FastAPI を採用しており、Python 3.8 以降で動作、Dockerfile や MIT ライセンスを含む構成で配布されています。用途としては、ベンダー切り替え、フォールバック構成、フォーマット互換レイヤーの導入が想定されます。

GitHub

リポジトリの統計情報

  • スター数: 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 環境定義、貢献ガイドなどで構成されています。)

まとめ

既存クライアントを変えずに複数ベンダーを扱う中継プロキシとして実用的で拡張性が高いリポジトリです。

リポジトリ情報:

READMEの抜粋:

Claude/Codex API 中转代理 - 完整使用指南

通用API中转代理 - 支持 Claude Code、Codex CLI 和 OpenAI 格式的智能转发与格式转换

Python 3.8+ FastAPI License: MIT

English | 简体中文