API Hop ドキュメント
Codex 連携
Codex CLI、VS Code 拡張機能、デスクトップアプリで、RequestBeam の OpenAI Responses 互換エンドポイントを使用します。
Codex は OpenAI Responses プロトコルでモデルを呼び出します。このページに示す OpenAI 互換 Base URL を使用して、モデルプロバイダーを設定してください。
Codex base_url: https://api.apihop.ai/openai前提条件
まず有効な RequestBeam API キーを用意してください。キーはローカルの Codex 設定ディレクトリに書き込まれます。リポジトリにコミットしたり、ログやスクリーンショットに含めたりしないでください。
Codex の設定ファイルは、通常次の場所に保存されます。
- macOS / Linux:
~/.codex/ - Windows:
%userprofile%\.codex\
ディレクトリや設定ファイルがない場合は、先に作成してください。
mkdir -p ~/.codex
touch ~/.codex/config.tomlWindows CMD の場合:
mkdir %userprofile%\.codex
type nul > %userprofile%\.codex\config.toml設定のバックアップ
以前に Codex を使用したことがある場合は、まず現在の設定をバックアップしてください。
cp ~/.codex/config.toml ~/.codex/config.toml.bak
cp ~/.codex/auth.json ~/.codex/auth.json.bakconfig.toml の更新
~/.codex/config.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 = truebase_url は、このページに表示される公開 API Base URL に /openai を追加した値にします。
既存の config.toml に [marketplaces.*]、[plugins.*]、その他のツール設定がある場合は、それらを保持し、上記の Codex モデルプロバイダー設定のみを追加または更新してください。
WebSocket モード
supports_websockets = true と responses_websockets = true を有効にすると、Codex は次の Responses WebSocket エンドポイントを使用します。
https://api.apihop.ai/openai/responsesAPI 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 接続を確立できない場合は、一時的に次の設定に切り替えてください。
[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 キーに置き換えてください。
echo '{"OPENAI_API_KEY":"YOUR_REQUESTBEAM_API_KEY"}' > ~/.codex/auth.jsonWindows CMD の場合:
echo {"OPENAI_API_KEY":"YOUR_REQUESTBEAM_API_KEY"} > %userprofile%\.codex\auth.json再起動とテスト
設定を保存し、Codex を完全に終了してから、もう一度開いてください。
CLI は次のコマンドでテストできます。
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 のハンドシェイクだけでは、モデルの対応を証明できません。