API Hop

ドキュメント

API Hop ドキュメント

Codex 連携

Codex CLI、VS Code 拡張機能、デスクトップアプリで、RequestBeam の OpenAI Responses 互換エンドポイントを使用します。

Codex は OpenAI Responses プロトコルでモデルを呼び出します。このページに示す OpenAI 互換 Base URL を使用して、モデルプロバイダーを設定してください。

text
Codex base_url: https://api.apihop.ai/openai

前提条件

まず有効な RequestBeam API キーを用意してください。キーはローカルの Codex 設定ディレクトリに書き込まれます。リポジトリにコミットしたり、ログやスクリーンショットに含めたりしないでください。

Codex の設定ファイルは、通常次の場所に保存されます。

  • macOS / Linux:~/.codex/
  • Windows:%userprofile%\.codex\

ディレクトリや設定ファイルがない場合は、先に作成してください。

bash
mkdir -p ~/.codex
touch ~/.codex/config.toml

Windows CMD の場合:

bat
mkdir %userprofile%\.codex
type nul > %userprofile%\.codex\config.toml

設定のバックアップ

以前に Codex を使用したことがある場合は、まず現在の設定をバックアップしてください。

bash
cp ~/.codex/config.toml ~/.codex/config.toml.bak
cp ~/.codex/auth.json ~/.codex/auth.json.bak

config.toml の更新

~/.codex/config.toml を開き、次の設定を追加または更新してください。

toml
model_provider = "requestbeam"
model = "gpt-5.4"
review_model = "gpt-5.4"
model_reasoning_effort = "high"
disable_response_storage = true
network_access = "enabled"

[model_providers.requestbeam]
name = "RequestBeam"
base_url = "https://api.apihop.ai/openai"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = true
websocket_connect_timeout_ms = 15000

[features]
responses_websockets = true

base_url は、このページに表示される公開 API Base URL に /openai を追加した値にします。

既存の config.toml に [marketplaces.*]、[plugins.*]、その他のツール設定がある場合は、それらを保持し、上記の Codex モデルプロバイダー設定のみを追加または更新してください。

WebSocket モード

supports_websockets = true と responses_websockets = true を有効にすると、Codex は次の Responses WebSocket エンドポイントを使用します。

text
https://api.apihop.ai/openai/responses

API Base URL が https:// の場合、Codex は対応する wss:// 接続を使用します。

この WebSocket モードは、Codex 専用の Responses-over-WebSocket ブリッジです。

  • response.create に対応
  • response.cancel に対応
  • response.completed を返す
  • 互換性のための response.processed イベントも保持

response.cancelled は、ローカルのキャンセル要求を受け付けたことを示します。上流での返金を確認するものではありません。上流の結果が不明なリクエストは、使用量または失敗が確認されるまで予約状態のままになります。

これは OpenAI Realtime API ではありません。session.update、conversation.item.*、input_audio_buffer.*、音声ストリーミング、バイナリメッセージ、Realtime のエンベロープには対応していません。

ネットワークプロキシ、社内ゲートウェイ、古い Codex のバージョンで WebSocket 接続を確立できない場合は、一時的に次の設定に切り替えてください。

toml
[model_providers.requestbeam]
supports_websockets = false

[features]
responses_websockets = false

この場合、Codex は HTTP の POST https://api.apihop.ai/openai/responses にフォールバックします。Compact は別の機能です。現在掲載されている 5 つの GPT モデルには、検証済みの Compact チャネルがありません。HTTP/WebSocket モードを切り替えても、コンパクションは有効になりません。モデルのコンテキスト上限を超える前に新しい会話を開始し、これらのルートで長いコンテキストが自動的に圧縮されることを前提にしないでください。

API キーの書き込み

YOUR_REQUESTBEAM_API_KEY を自分の RequestBeam API キーに置き換えてください。

bash
echo '{"OPENAI_API_KEY":"YOUR_REQUESTBEAM_API_KEY"}' > ~/.codex/auth.json

Windows CMD の場合:

bat
echo {"OPENAI_API_KEY":"YOUR_REQUESTBEAM_API_KEY"} > %userprofile%\.codex\auth.json

再起動とテスト

設定を保存し、Codex を完全に終了してから、もう一度開いてください。

CLI は次のコマンドでテストできます。

bash
codex "Reply in one sentence whether the current model is available."

VS Code 拡張機能またはデスクトップアプリでは、アプリを完全に終了して開き直し、通常のチャットを開始してください。

トラブルシューティング

  • base_url は、このページに表示される公開 API Base URL に /openai を追加した値にしてください。
  • wire_api は responses にする必要があります。chat に変更しないでください。
  • Compact が利用できないというエラーは、検証済みの Compact チャネルがないことを意味します。ローカルのトークンしきい値を変更しても有効にはなりません。
  • RequestBeam は HTTP Responses と Codex Responses WebSocket の両方に対応しています。既定では supports_websockets = true と responses_websockets = true を維持してください。Codex のバージョンやネットワークプロキシが WebSocket を使用できない場合は、一時的に supports_websockets = false にして HTTP にフォールバックしてください。
  • auth.json は有効な JSON でなければならず、キー名は OPENAI_API_KEY にしてください。
  • 401 または invalid key が返る場合は、API キーが有効で、古いローカルキーに上書きされていないか確認してください。
  • モデルが利用できない場合は、GET https://api.apihop.ai/v1/models を確認し、model と review_model に表示される GPT モデルを設定してください。既定の例では gpt-5.4 を使用しています。gpt-5.3-codex と gpt-5.6-luna は現在有効になっていません。
  • 設定を変更した後は Codex を完全に終了して開き直してください。ウィンドウを閉じるだけでは auth.json が再読み込みされない場合があります。
  • POST https://api.apihop.ai/openai/responses:推奨する RequestBeam の Responses 互換エンドポイントです。
  • POST https://api.apihop.ai/openai/responses/compact:明示的に有効化された Compact チャネルが必要です。ない場合は予約処理の前に 503 を返します。対応するチャネルは response.compaction を返します。
  • WS /openai/responses:Responses WebSocket 互換エンドポイントです。response.create、response.cancel に対応し、response.completed を返し、互換性のための response.processed イベントを保持します。
  • WS /openai/responses/compact:同じ Compact の機能確認とエンドポイントを使用します。WebSocket のハンドシェイクだけでは、モデルの対応を証明できません。