MAXeaglet/commandcode-proxy

Command Code API 反代代理,兼容 OpenAI 与 Anthropic 接口 | Reverse proxy exposing Command Code API as OpenAI- and Anthropic-compatible endpoints

何を解決するか

Command Code の独自 API はプロプライエタリであり、CLI に束縛されています。このプロジェクトは、広く使われている OpenAI Chat Completions および Anthropic Messages 形式にそのプロトコルを変換する軽量なリバースプロキシを提供し、これらの標準に対応するツール(Python SDK、Cursor、OpenCode など)がカスタムコードなしで Command Code モデルを呼び出せるようにします。

動作方法

このプロキシは外部依存関係のない単一の Node.js ファイルです。公式 CLI のネットワークトラフィックを観察して、Command Code のリクエストプロトコルを再現します。各リクエストに対して、デバイスフィンガープリントとライフサイクルの事前リクエストを実行し、CLI 風のエンベロープ(config、memory、taste、skills、permission mode、params)を構築して Command Code API に転送します。その後、レスポンスを OpenAI または Anthropic 形式に変換し、ストリーミング Server-Sent Events、ツール呼び出し、マルチモーダル画像入力、推論努力マッピング、キャッシュヒット使用メトリクスを含めます。また、検出防止信号をマスク:定期的に更新されるキーごとのデバイスフィンガープリント、ランダム化されたセッション有効期限、npm から自動取得されたバージョンヘッダー、OpenTelemetry traceparent ヘッダー。耐障害性機能には、クライアント切断時のアップストリーム中断、出力ゼロおよび連続タイムアウト時の再試行で HTTP 429 を返却、100 MB のリクエストボディ制限が含まれます。

対象ユーザー

Command Code のサブスクリプションを有し、既存の OpenAI または Anthropic 互換ツール(Python スクリプト、Cursor のカスタムプロバイダー、OpenCode など)を通じてモデルを使用したい開発者。本プロジェクトは個人的・教育的利用を目的としており、Command Code とは関係ありません。

主な特徴

  • 2 つの互換性エンドポイント:OpenAI Chat Completions(/v1/chat/completions)および Anthropic Messages(/v1/messages)、両方ともストリーミングと非ストリーミングをサポート。
  • 自動プロトコル変換:Anthropic のシステムプロンプト、tool_result ブロック、input_schema、tool_choice、思考予算は OpenAI の同等物にマッピングされます。
  • /v1/models による動的モデルリスト:5 分間のキャッシュとハードコードされたフォールバックを備えています。
  • デバイスフィンガープリントの偽装とライフサイクルエミュレーションにより、通常の CLI トラフィックを模倣します。
  • 出力ゼロおよびアイドルタイムアウト検出時に HTTP 429 を返却し、SDK が自動再試行されるようにし、誤った課金を回避します。
  • 外部依存関係なしの単一ファイルで実行可能。amd64 および arm64 向けの Docker イメージは GHCR に公開されています。

関連

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