OpenClaw’s Gateway stellt einen einfachen HTTP-Endpunkt bereit, um ein einzelnes Tool direkt aufzurufen. Er ist immer aktiviert und verwendet Gateway-Authentifizierung plus Tool-Richtlinie. Wie bei der OpenAI-kompatiblenDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
/v1/*-Schnittstelle wird Bearer-Authentifizierung mit gemeinsamem Secret als vertrauenswürdiger Operator-Zugriff für den gesamten Gateway behandelt.
POST /tools/invoke- Derselbe Port wie der Gateway (WS + HTTP-Multiplex):
http://<gateway-host>:<port>/tools/invoke
Authentifizierung
Verwendet die Gateway-Authentifizierungskonfiguration. Gängige HTTP-Authentifizierungspfade:- Authentifizierung mit gemeinsamem Secret (
gateway.auth.mode="token"oder"password"):Authorization: Bearer <token-or-password> - vertrauenswürdige identitätstragende HTTP-Authentifizierung (
gateway.auth.mode="trusted-proxy"): über den konfigurierten identitätsbewussten Proxy routen und ihn die erforderlichen Identitäts-Header einfügen lassen - offene Authentifizierung für privaten Ingress (
gateway.auth.mode="none"): kein Authentifizierungs-Header erforderlich
- Wenn
gateway.auth.mode="token"ist, verwenden Siegateway.auth.token(oderOPENCLAW_GATEWAY_TOKEN). - Wenn
gateway.auth.mode="password"ist, verwenden Siegateway.auth.password(oderOPENCLAW_GATEWAY_PASSWORD). - Wenn
gateway.auth.mode="trusted-proxy"ist, muss die HTTP-Anfrage von einer konfigurierten vertrauenswürdigen Proxy-Quelle kommen; Same-Host-Loopback-Proxys erfordern explizitgateway.auth.trustedProxy.allowLoopback = true. - Wenn
gateway.auth.rateLimitkonfiguriert ist und zu viele Authentifizierungsfehler auftreten, gibt der Endpunkt429mitRetry-Afterzurück.
Sicherheitsgrenze (wichtig)
Behandeln Sie diesen Endpunkt als Schnittstelle mit vollständigem Operator-Zugriff für die Gateway-Instanz.- HTTP-Bearer-Authentifizierung ist hier kein enges Pro-Benutzer-Scope-Modell.
- Ein gültiges Gateway-Token/Passwort für diesen Endpunkt sollte wie ein Owner-/Operator-Zugangsdatenwert behandelt werden.
- Bei Authentifizierungsmodi mit gemeinsamem Secret (
tokenundpassword) stellt der Endpunkt die normalen vollständigen Operator-Standardeinstellungen wieder her, auch wenn der Aufrufer einen engerenx-openclaw-scopes-Header sendet. - Authentifizierung mit gemeinsamem Secret behandelt direkte Tool-Aufrufe auf diesem Endpunkt außerdem als Turns mit Owner als Sender.
- Vertrauenswürdige identitätstragende HTTP-Modi (zum Beispiel Trusted-Proxy-Authentifizierung oder
gateway.auth.mode="none"auf einem privaten Ingress) berücksichtigenx-openclaw-scopes, wenn vorhanden, und fallen andernfalls auf den normalen Operator-Standard-Scope-Satz zurück. - Halten Sie diesen Endpunkt nur auf Loopback/Tailnet/privatem Ingress; setzen Sie ihn nicht direkt dem öffentlichen Internet aus.
gateway.auth.mode="token"oder"password"+Authorization: Bearer ...- weist den Besitz des gemeinsamen Gateway-Operator-Secrets nach
- ignoriert engere
x-openclaw-scopes - stellt den vollständigen Standard-Operator-Scope-Satz wieder her:
operator.admin,operator.approvals,operator.pairing,operator.read,operator.talk.secrets,operator.write - behandelt direkte Tool-Aufrufe auf diesem Endpunkt als Turns mit Owner als Sender
- vertrauenswürdige identitätstragende HTTP-Modi (zum Beispiel Trusted-Proxy-Authentifizierung oder
gateway.auth.mode="none"auf privatem Ingress)- authentifizieren eine äußere vertrauenswürdige Identität oder Deployment-Grenze
- berücksichtigen
x-openclaw-scopes, wenn der Header vorhanden ist - fallen auf den normalen Operator-Standard-Scope-Satz zurück, wenn der Header fehlt
- verlieren Owner-Semantik nur, wenn der Aufrufer Scopes explizit einschränkt und
operator.adminauslässt
Request-Body
tool(String, erforderlich): Name des aufzurufenden Tools.action(String, optional): wird in args abgebildet, wenn das Tool-Schemaactionunterstützt und die args-Payload es ausgelassen hat.args(Objekt, optional): Tool-spezifische Argumente.sessionKey(String, optional): Ziel-Session-Key. Wenn ausgelassen oder"main", verwendet der Gateway den konfigurierten Main-Session-Key (berücksichtigtsession.mainKeyund den Standard-Agenten, oderglobalim globalen Scope).dryRun(Boolesch, optional): für zukünftige Verwendung reserviert; derzeit ignoriert.
Richtlinien- und Routing-Verhalten
Die Tool-Verfügbarkeit wird über dieselbe Richtlinienkette gefiltert, die von Gateway-Agenten verwendet wird:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- Gruppenrichtlinien (wenn der Session-Key einer Gruppe oder einem Kanal zugeordnet ist)
- Subagent-Richtlinie (beim Aufruf mit einem Subagent-Session-Key)
- Exec-Genehmigungen sind Operator-Leitplanken, keine separate Autorisierungsgrenze für diesen HTTP-Endpunkt. Wenn ein Tool hier über Gateway-Authentifizierung + Tool-Richtlinie erreichbar ist, fügt
/tools/invokekeine zusätzliche Pro-Aufruf-Genehmigungsabfrage hinzu. - Wenn
exechier erreichbar ist, behandeln Sie es als mutierende Shell-Schnittstelle. Das Verweigern vonwrite,edit,apply_patchoder HTTP-Dateisystem-Schreibtools macht Shell-Ausführung nicht schreibgeschützt. - Teilen Sie Gateway-Bearer-Zugangsdaten nicht mit nicht vertrauenswürdigen Aufrufern. Wenn Sie Trennung über Vertrauensgrenzen hinweg benötigen, betreiben Sie separate Gateways (und idealerweise separate OS-Benutzer/Hosts).
exec- direkte Befehlsausführung (RCE-Schnittstelle)spawn- beliebige Erstellung von Kindprozessen (RCE-Schnittstelle)shell- Shell-Befehlsausführung (RCE-Schnittstelle)fs_write- beliebige Dateimutation auf dem Hostfs_delete- beliebiges Löschen von Dateien auf dem Hostfs_move- beliebiges Verschieben/Umbenennen von Dateien auf dem Hostapply_patch- Patch-Anwendung kann beliebige Dateien überschreibensessions_spawn- Session-Orchestrierung; Remote-Starten von Agenten ist RCEsessions_send- sitzungsübergreifende Nachrichteninjektioncron- persistente Automatisierungs-Steuerungsebenegateway- Gateway-Steuerungsebene; verhindert Rekonfiguration über HTTPnodes- Node-Befehlsweiterleitung kannsystem.runauf gekoppelten Hosts erreichenwhatsapp_login- interaktive Einrichtung, die einen Terminal-QR-Scan erfordert; hängt bei HTTP
gateway.tools anpassen:
x-openclaw-message-channel: <channel>(Beispiel:slack,telegram)x-openclaw-account-id: <accountId>(wenn mehrere Konten existieren)
Antworten
200→{ ok: true, result }400→{ ok: false, error: { type, message } }(ungültige Anfrage oder Tool-Eingabefehler)401→ nicht autorisiert429→ Authentifizierung ratenbegrenzt (Retry-Aftergesetzt)404→ Tool nicht verfügbar (nicht gefunden oder nicht auf der Allowlist)405→ Methode nicht erlaubt500→{ ok: false, error: { type, message } }(unerwarteter Tool-Ausführungsfehler; bereinigte Nachricht)