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 rescue und 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.

bash
# Rettungs-Bot (separater Telegram-Bot, separates Profil, Port 19789)openclaw --profile rescue onboardopenclaw --profile rescue gateway install --port 19789

Wenn 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 rescue bei.
  • 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:

bash
# Hauptinstanz (Standardprofil)openclaw setupopenclaw gateway --port 18789 # Zusätzliches Gatewayopenclaw --profile ops setupopenclaw --profile ops gateway --port 19789

Benannte Profile auf beiden Seiten funktionieren ebenfalls:

bash
openclaw --profile main setupopenclaw --profile main gateway --port 18789 openclaw --profile ops setupopenclaw --profile ops gateway --port 19789

Für Dienste gilt dasselbe Muster:

bash
openclaw gateway installopenclaw --profile ops gateway install --port 19789

Verwenden 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 + 9 bis + 108 zugewiesen.

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.cdpUrl nicht 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>.cdpPort pro Instanz fest.
  • Verwenden Sie für eine entfernte Chrome-Instanz browser.profiles.<name>.cdpUrl (pro Profil und Instanz).

Manuelles Beispiel mit Umgebungsvariablen

bash
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 19789

Schnellprüfungen

bash
openclaw gateway status --deepopenclaw --profile rescue gateway status --deepopenclaw --profile rescue gateway probeopenclaw statusopenclaw --profile rescue statusopenclaw --profile rescue browser status
  • gateway status --deep erkennt veraltete launchd-/systemd-/schtasks-Dienste aus älteren Installationen.
  • Warntexte von gateway probe wie multiple reachable gateway identities detected sind 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.

Verwandte Themen

Was this useful?
On this page

On this page