Gateway
Mehrere Gateways
Die meisten Setups benötigen ein Gateway – ein einzelnes Gateway verwaltet mehrere Messaging-Verbindungen und Agenten. Führen Sie separate Gateways mit isolierten Profilen/Ports nur aus, wenn Sie eine stärkere Isolation oder Redundanz benötigen (z. B. einen Rettungs-Bot).
Schnellstart für einen Rettungs-Bot
Das einfachste Setup für einen Rettungs-Bot:
- Behalten Sie für den Haupt-Bot das Standardprofil bei.
- Führen Sie den Rettungs-Bot mit
--profile rescueund einem eigenen Telegram-Bot-Token aus. - Verwenden Sie für den Rettungs-Bot einen anderen Basisport, z. B.
19789.
So kann der Rettungs-Bot weiterhin Fehler diagnostizieren oder Konfigurationsänderungen anwenden, wenn der primäre Bot ausgefallen ist. Lassen Sie zwischen den Basisports mindestens 20 Ports Abstand, damit abgeleitete Browser-/CDP-Ports niemals kollidieren.
# Rettungs-Bot (separater Telegram-Bot, separates Profil, Port 19789)openclaw --profile rescue onboardopenclaw --profile rescue gateway install --port 19789Wenn Ihr Haupt-Bot bereits läuft, ist das normalerweise alles, was Sie benötigen. Falls das Onboarding den Rettungsdienst bereits installiert hat, überspringen Sie den abschließenden Befehl gateway install.
Während openclaw --profile rescue onboard:
- Verwenden Sie ein separates Telegram-Bot-Token, das ausschließlich für das Rettungskonto bestimmt ist (so lässt es sich problemlos auf Operatoren beschränken, bleibt unabhängig von der Kanal-/App-Installation des Haupt-Bots und bietet einen einfachen DM-basierten Wiederherstellungsweg).
- Behalten Sie den Profilnamen
rescuebei. - Verwenden Sie einen Basisport, der mindestens 20 höher als der des Haupt-Bots ist.
- Übernehmen Sie den standardmäßigen Rettungs-Workspace, sofern Sie nicht bereits selbst einen verwalten.
Was --profile rescue onboard ändert
--profile rescue onboard führt den normalen Onboarding-Ablauf aus, schreibt jedoch alles in ein separates Profil. Dadurch erhält der Rettungs-Bot eigene Ressourcen:
- Profil-/Konfigurationsdatei
- Zustandsverzeichnis
- Workspace (Standard:
~/.openclaw/workspace-rescue) - Name des verwalteten Dienstes
- Basisport (einschließlich abgeleiteter Ports)
- Telegram-Bot-Token
Die Eingabeaufforderungen sind ansonsten mit dem normalen Onboarding identisch.
Allgemeines Multi-Gateway-Setup
Dasselbe Isolationsmuster funktioniert für jedes Paar oder jede Gruppe von Gateways auf einem Host – weisen Sie jedem zusätzlichen Gateway ein eigenes benanntes Profil und einen eigenen Basisport zu:
# Hauptinstanz (Standardprofil)openclaw setupopenclaw gateway --port 18789 # Zusätzliches Gatewayopenclaw --profile ops setupopenclaw --profile ops gateway --port 19789Benannte Profile auf beiden Seiten funktionieren ebenfalls:
openclaw --profile main setupopenclaw --profile main gateway --port 18789 openclaw --profile ops setupopenclaw --profile ops gateway --port 19789Für Dienste gilt dasselbe Muster:
openclaw gateway installopenclaw --profile ops gateway install --port 19789Verwenden Sie den Schnellstart für einen Rettungs-Bot als Ausweichkanal für Operatoren. Verwenden Sie das allgemeine Profilmuster für mehrere langlebige Gateways über verschiedene Kanäle, Mandanten, Workspaces oder Betriebsrollen hinweg.
Isolationscheckliste
Halten Sie diese Einstellungen für jede Gateway-Instanz eindeutig:
| Einstellung | Zweck |
|---|---|
OPENCLAW_CONFIG_PATH |
Konfigurationsdatei pro Instanz |
OPENCLAW_STATE_DIR |
Sitzungen, Anmeldedaten und Caches pro Instanz |
agents.defaults.workspace |
Workspace-Stammverzeichnis pro Instanz |
gateway.port (oder --port) |
Eindeutig pro Instanz |
| Abgeleitete Browser-/CDP-Ports | Siehe unten |
Wenn Sie eine dieser Ressourcen gemeinsam verwenden, führt dies zu Konflikten beim Konfigurationszugriff und bei den Ports.
Portzuordnung (abgeleitet)
Basisport = gateway.port (oder OPENCLAW_GATEWAY_PORT / --port).
- Port des Browsersteuerungsdienstes = Basisport + 2 (nur local loopback).
- Der Canvas-Host wird direkt über den HTTP-Server des Gateway bereitgestellt (derselbe Port wie
gateway.port). - Die CDP-Ports der Browserprofile werden automatisch im Bereich von
browser control port + 9bis+ 108zugewiesen.
Wenn Sie einen dieser Werte in der Konfiguration oder über Umgebungsvariablen überschreiben, müssen Sie ihn für jede Instanz eindeutig halten.
Hinweise zu Browser/CDP (häufige Fehlerquelle)
- Legen Sie
browser.cdpUrlnicht für mehrere Instanzen auf denselben Wert fest. - Jede Instanz benötigt einen eigenen Browsersteuerungsport und CDP-Bereich (abgeleitet von ihrem Gateway-Port).
- Legen Sie für explizite CDP-Ports
browser.profiles.<name>.cdpPortpro Instanz fest. - Verwenden Sie für eine entfernte Chrome-Instanz
browser.profiles.<name>.cdpUrl(pro Profil und Instanz).
Manuelles Beispiel mit Umgebungsvariablen
OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \OPENCLAW_STATE_DIR=~/.openclaw \openclaw gateway --port 18789 OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \OPENCLAW_STATE_DIR=~/.openclaw-rescue \openclaw gateway --port 19789Schnellprüfungen
openclaw gateway status --deepopenclaw --profile rescue gateway status --deepopenclaw --profile rescue gateway probeopenclaw statusopenclaw --profile rescue statusopenclaw --profile rescue browser statusgateway status --deeperkennt veraltete launchd-/systemd-/schtasks-Dienste aus älteren Installationen.- Warntexte von
gateway probewiemultiple reachable gateway identities detectedsind nur zu erwarten, wenn Sie absichtlich mehr als ein isoliertes Gateway ausführen oder wenn OpenClaw nicht nachweisen kann, dass die erreichbaren Prüfziele dasselbe Gateway sind. Ein SSH-Tunnel, eine Proxy-URL oder eine konfigurierte Remote-URL zum selben Gateway stellen ein Gateway mit mehreren Transportwegen dar, selbst wenn sich deren Ports unterscheiden.