OpenAI Chat Completions (HTTP)
O Gateway do OpenClaw pode servir um pequeno endpoint de Chat Completions compatível com OpenAI. Este endpoint é desativado por padrão. Ative-o primeiro na configuração.POST /v1/chat/completions- Mesma porta do Gateway (multiplexação WS + HTTP):
http://<gateway-host>:<port>/v1/chat/completions
openclaw agent), portanto o roteamento/permissões/configuração correspondem ao seu Gateway.
Autenticação
Usa a configuração de autenticação do Gateway. Envie um token bearer:Authorization: Bearer <token>
- Quando
gateway.auth.mode="token", usegateway.auth.token(ouOPENCLAW_GATEWAY_TOKEN). - Quando
gateway.auth.mode="password", usegateway.auth.password(ouOPENCLAW_GATEWAY_PASSWORD). - Se
gateway.auth.rateLimitestiver configurado e ocorrerem muitas falhas de autenticação, o endpoint retorna429comRetry-After.
Escolhendo um agente
Nenhum header personalizado é necessário: codifique o id do agente no campo OpenAImodel:
model: "openclaw:<agentId>"(exemplo:"openclaw:main","openclaw:beta")model: "agent:<agentId>"(alias)
x-openclaw-agent-id: <agentId>(padrão:main)
x-openclaw-session-key: <sessionKey>para controlar totalmente o roteamento de sessão.
Ativando o endpoint
Definagateway.http.endpoints.chatCompletions.enabled como true:
Desativando o endpoint
Definagateway.http.endpoints.chatCompletions.enabled como false:
Comportamento de sessão
Por padrão, o endpoint é sem estado por requisição (uma nova chave de sessão é gerada a cada chamada). Se a requisição incluir uma string OpenAIuser, o Gateway deriva uma chave de sessão estável a partir dela, para que chamadas repetidas possam compartilhar uma sessão de agente.
Streaming (SSE)
Definastream: true para receber Server-Sent Events (SSE):
Content-Type: text/event-stream- Cada linha de evento é
data: <json> - O stream termina com
data: [DONE]