silasxbt/anti-api

Turn Antigravity / codex / github copilot into Anthropic & Openai API compatible server. Usable with Claude Code / Xcode etc.

Anti‑API – LLMプロバイダー向けのローカル互換性およびルーティングプロキシ

何であるか – Anti‑APIは、コード(または任意のOpenAI/Anthropic互換クライアント)と複数の大規模言語モデルプロバイダーの間にある自己ホスト型サービスです。標準的なOpenAI/Anthropicリクエスト形式を、6つの対応バックエンド(OpenAIスタイルのAntigravity、OpenAI Codex、GitHub Copilot、Zedホストモデル、Amazon Kiro、xAI Grok)のネイティブAPIに変換し、設定可能なポリシーに従ってリクエストをルーティングします。

なぜ重要か – 多くの開発者はアプリケーションでOpenAI APIの形状を使用していますが、複数の有料アカウントや代替プロバイダーにアクセスできる場合があります。Anti‑APIにより、以下が可能になります:

  • すべてのアカウントを単一のエンドポイント(http://localhost:8964)の背後に統合。
  • ロードバランス、クォータ制限の尊重、およびプロバイダーが429/404エラーを返した場合の自動フェイルオーバー。
  • 認証情報や管理UIを漏洩せずに、リモートクライアント向けにトークン保護された公開推論ゲートウェイ(ポート8966)を公開。
  • すべてのプロバイダーでテキストのみ、マルチモーダル(画像)およびツール呼び出しリクエストに同じクライアントコードを使用可能。

主な機能(READMEに記載)

  • 6つのプロバイダー – Antigravity、ChatGPT Codex、GitHub Copilot、Zedホストモデル、Amazon Kiro、xAI Grok。
  • 二重API互換性 – OpenAIスタイルおよびAnthropicスタイルのリクエストボディの両方を受け入れ。
  • スマートルーティング – 2つのルーティングモード:
    • フロールーティング – カスタムモデル識別子がユーザー定義の「フロー」にマップ。
    • アカウントルーティング – プロバイダー固有のモデルIDが特定のアカウントにディスパッチされ、クォータまたはエラー状態でスタック付きローテーションが実行。
  • マルチモーダルセーフティ – 画像URLやbase-64画像ブロックをターゲットプロバイダーに転送する前に検証および変換。
  • OAuth & PKCE処理 – Copilot用のデバイスコードフロー、Antigravity/Codex用のセキュアなPKCEフローを内蔵。ループバックコールバックと、制限付きネットワーク向けのオプションの非安全TLSオーバーライドをサポート。
  • ダッシュボード – ローカルWeb UI(ループバックのみ)でクォータ使用状況、ルーティング設定、アカウント診断を表示。
  • リモートトンネリング – 1クリックでngrok/cloudflared/localtunnelのセットアップが可能で、推論専用リスナーを公開。
  • Dockerおよびパッケージマネージャー対応 – 事前ビルド済みのマルチアーキテクチャDockerイメージ、Homebrew、WinGet、ポータブルWindowsバンドルをサポート。
  • セキュリティ境界 – 管理APIおよびダッシュボードは127.0.0.1にバインド。公開推論リスナーはシークレットトークン(ANTI_API_PUBLIC_TOKEN)が必要。認証情報ファイルは~/.anti-apiにローカルに保存され、ログに記録されません。

クイックスタート(概要)

  • Linux/macOSbun install && bun run src/main.ts start(デフォルトポート8964)。
  • Windowsstart.batをダブルクリック(またはインストールされたanti-apiコマンドを実行)。
  • Dockerghcr.io/silasxbt/anti-api:latestをプルし、コントロールプレーントークンで実行。例:
export ANTI_API_CONTROL_TOKEN=$(openssl rand -hex 32)

docker run -d \
  -p 127.0.0.1:8964:8964 \
  -e ANTI_API_CONTAINER_CONTROL_PLANE=1 \
  -e ANTI_API_CONTROL_TOKEN=$ANTI_API_CONTROL_TOKEN \
  -v anti-api-data:/app/data \
  ghcr.io/silasxbt/anti-api:latest
  • http://localhost:8964/quota?control_token=<your-token>を開き、希望するプロバイダーのOAuthログインをブートストラップし、クライアントをhttp://localhost:8964に接続。

アーキテクチャのスナップショット

Anti‑API(ポート8964) ──► ダッシュボード / 設定 / ルーティングUI(ループバックのみ)
                     │
                     ├─► スマートルーティングエンジン
                     │    • フロールーティング(カスタムID)
                     │    • アカウントルーティング(プロバイダー固有ID)
                     │    • クールダウン対応フェイルオーバーおよびスタックローテーション
                     │
                     └─► プロバイダーアダプター
                          ├─ Antigravity(OpenAIスタイル)
                          ├─ Codex
                          ├─ GitHub Copilot(デバイスコードフロー)
                          ├─ Zedホストモデル
                          ├─ Amazon Kiro
                          └─ xAI Grok

上流呼び出しはそれぞれのクラウドAPI(Google、OpenAI、GitHub、Zedなど)に送信されます。別途、ANTI_API_PUBLIC_TOKENが設定されている場合、ポート8966に公開リスナーが存在し、推論専用リクエストを処理します。

誰が使うか

  • 複数の有料LLMアカウントを持つチームで、単一で一貫したエンドポイントを希望する人。
  • OpenAI/Anthropic APIの形状を想定しているオープンソースツールを開発し、ローカルで代替バックエンドを実行したい開発者。
  • 認証情報ファイルを公開せずにLLMゲートウェイを公開したい自己ホストサービス。

制限事項 / 注意点

  • このプロジェクトは非公式です。一部のプロバイダーがプライベートエンドポイントを変更すると、動作が破綻する可能性があります。
  • リモート推論はトークン保護されています。強いトークンなしで公開リスナーを公開するとセキュリティリスクがあります。
  • 特定のプロバイダー(例:Antigravity)は定期的なクライアントバージョンの更新が必要です。このチェックを無効にすると互換性の問題が発生する可能性があります。
  • マルチモーダル変換は、各下流プロバイダーがサポートする画像フォーマットに限定されています。

  • 上記のすべての情報はリポジトリのREADMEから直接取得;追加の機能は推測されていません。*

関連

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