Zum Inhalt springen

OpenAI Chat Completions mit dem OpenClaw Gateway nutzen

Kennst du das? Du hast ein cooles neues Tool oder ein schickes Frontend, aber es spricht nur “OpenAI”. Anstatt jetzt mühsam eigene Adapter zu schreiben, kannst du einfach das OpenClaw Gateway nutzen. Es tarnt sich als OpenAI-kompatibler Endpunkt und lässt sich so direkt in deine bestehenden Workflows einbinden.

Hier ist der Deal: Das Gateway von OpenClaw kann einen kleinen OpenAI-kompatiblen Chat Completions Endpunkt bereitstellen. Dieser Endpunkt ist standardmäßig deaktiviert. Du musst ihn also zuerst in deiner Konfiguration einschalten.

  • POST /v1/chat/completions
  • Gleicher Port wie das Gateway (WS + HTTP Multiplex): http://<gateway-host>:<port>/v1/chat/completions

Wenn die OpenAI-kompatible HTTP-Schnittstelle des Gateways aktiviert ist, werden auch folgende Endpunkte bereitgestellt:

  • GET /v1/models
  • GET /v1/models/{id}
  • POST /v1/embeddings
  • POST /v1/responses

Unter der Haube werden Anfragen wie ein normaler Gateway-Agent-Run ausgeführt (derselbe Codepfad wie openclaw agent). Das bedeutet, dass Routing, Berechtigungen, Konfiguration und die gesamte Logik exakt deinem Gateway entsprechen.

Hier wird die Gateway-Auth-Konfiguration genutzt. Sende einfach einen Bearer-Token mit:

  • Authorization: Bearer <token>

Hinweise:

  • Wenn gateway.auth.mode="token" eingestellt ist, verwende gateway.auth.token (oder OPENCLAW_GATEWAY_TOKEN).
  • Wenn gateway.auth.mode="password" eingestellt ist, verwende gateway.auth.password (oder OPENCLAW_GATEWAY_PASSWORD).
  • Falls gateway.auth.rateLimit konfiguriert ist und zu viele Fehlversuche auftreten, gibt der Endpunkt 429 mit einem Retry-After Header zurück.

Betrachte diesen Endpunkt als vollständigen Operator-Zugang für die Gateway-Instanz.

  • Die HTTP-Bearer-Authentifizierung ist hier kein feingranulares Modell pro Benutzer.
  • Ein gültiger Gateway-Token oder ein Passwort für diesen Endpunkt sollte wie ein Administrator-Credential behandelt werden.
  • Anfragen laufen über denselben Pfad wie vertrauenswürdige Operator-Aktionen.
  • Es gibt keine separate Grenze für Tools; sobald ein Aufrufer die Authentifizierung besteht, behandelt OpenClaw ihn als vertrauenswürdigen Operator.
  • Bei Modi mit geteilten Geheimnissen (token und password) stellt der Endpunkt die vollen Operator-Standardrechte wieder her, selbst wenn der Aufrufer einen eingeschränkten x-openclaw-scopes Header sendet.
  • Vertrauenswürdige identitätsbasierte HTTP
{
gateway: {
http: {
endpoints: {
chatCompletions: { enabled: true },
},
},
},
}
{
gateway: {
http: {
endpoints: {
chatCompletions: { enabled: false },
},
},
},
}
Terminal-Fenster
curl -sS http://127.0.0.1:18789/v1/models \
-H 'Authorization: Bearer YOUR_TOKEN'
Terminal-Fenster
curl -sS http://127.0.0.1:18789/v1/chat/completions \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"model": "openclaw/default",
"messages": [{"role":"user","content":"hi"}]
}'
Terminal-Fenster
curl -N http://127.0.0.1:18789/v1/chat/completions \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-H 'x-openclaw-model: openai/gpt-5.4' \
-d '{
"model": "openclaw/research",
"stream": true,
"messages": [{"role":"user","content":"hi"}]
}'
Terminal-Fenster
curl -sS http://127.0.0.1:18789/v1/models \
-H 'Authorization: Bearer YOUR_TOKEN'
Terminal-Fenster
curl -sS http://127.0.0.1:18789/v1/models/openclaw%2Fdefault \
-H 'Authorization: Bearer YOUR_TOKEN'
Terminal-Fenster
curl -sS http://127.0.0.1:18789/v1/embeddings \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-H 'x-openclaw-model: openai/text-embedding-3-small' \
-d '{
"model": "openclaw/default",
"input": ["alpha", "beta"]
}'
OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.