- エンドポイント:
POST /v1/chat/completions - ポート: ゲートウェイと同じポート(WebSocket と HTTP のマルチプレックス):
http://<gateway-host>:<port>/v1/chat/completions
openclaw agent と同じパス)として処理されます。そのため、ルーティング、権限、および構成設定はゲートウェイ本体の設定に従います。
認証 (Auth)
ゲートウェイの認証設定を使用します。リクエスト時に Bearer トークンを送信してください:Authorization: Bearer <トークン>
gateway.auth.mode="token"の場合、gateway.auth.token(または環境変数OPENCLAW_GATEWAY_TOKEN) を使用します。gateway.auth.mode="password"の場合、gateway.auth.password(または環境変数OPENCLAW_GATEWAY_PASSWORD) を使用します。gateway.auth.rateLimitが構成されている場合、認証失敗が繰り返されるとエンドポイントは429(Retry-After 付き) を返します。
セキュリティ境界 (重要)
このエンドポイントは、ゲートウェイインスタンスに対する フルアクセス(オペレーター権限) を持つインターフェースとして扱ってください。- ここでの HTTP Bearer 認証は、一般ユーザー向けの制限されたスコープを持つものではありません。
- このエンドポイントで使用する有効なトークンやパスワードは、オーナー/オペレーターの認証情報と同等に扱う必要があります。
- リクエストは、信頼されたオペレーターのアクションと同じコントロールプレーンのエージェントパスを通じて実行されます。
- このエンドポイントには、非所有者や一般ユーザー向けの個別のツール制限レイヤーはありません。ゲートウェイ認証を通過した呼び出し元は、OpenClaw によってこのゲートウェイの信頼されたオペレーターとして扱われます。
- ターゲットとなるエージェントのポリシーで機密ツールが許可されている場合、このエンドポイント経由でもそれらのツールが実行可能です。
- セキュリティのため、このエンドポイントはループバック、Tailnet、またはプライベートなネットワーク内でのみ公開し、インターネット上に直接公開することは避けてください。
エージェントの選択
カスタムヘッダーは不要です。OpenAI のmodel フィールドにエージェント ID を埋め込んでください:
model: "openclaw:<agentId>"(例:"openclaw:main","openclaw:beta")model: "agent:<agentId>"(エイリアス)
x-openclaw-agent-id: <agentId>(デフォルトはmain)
x-openclaw-session-key: <sessionKey>を指定することで、セッションルーティングを完全に制御できます。
有効化の手順
gateway.http.endpoints.chatCompletions.enabled を true に設定してください:
無効化の手順
gateway.http.endpoints.chatCompletions.enabled を false に設定してください:
セッションの挙動
デフォルトでは、エンドポイントは リクエストごとにステートレス です(呼び出しのたびに新しいセッションキーが生成されます)。 リクエストに OpenAI のuser 文字列が含まれている場合、ゲートウェイはそこから固定のセッションキーを導出します。これにより、同じユーザー文字列を使用する繰り返しの呼び出しで、エージェントセッションを共有することが可能になります。
ストリーミング (SSE)
stream: true を設定することで、Server-Sent Events (SSE) を受信できます:
Content-Type: text/event-stream- 各イベント行の形式:
data: <JSON> - ストリームの終了:
data: [DONE]