Die OpenClaw Control UI
Was Port 18789 ausliefert und wonach er Sie fragt
Sie haben OpenClaw installiert, das Gateway gestartet und irgendwo gelesen, dass es ein Dashboard im Browser gibt. Zum Öffnen genügt eine URL, doch die geladene Seite verlangt ein Gateway secret, das Ihnen niemand gegeben hat, und die im Terminal ausgegebene LAN-Adresse antwortet von Ihrem Laptop aus womöglich überhaupt nicht. Hier erfahren Sie, was die Control UI tatsächlich ist, was dieses einzelne Feld akzeptiert und was die Agentenübersicht dahinter leistet.
Was das Gateway auf Port 18789 ausliefert
- Die Control UI ist eine kleine Single-Page-App aus Vite und Lit, die das Gateway selbst ausliefert, standardmäßig unter http://your-host:18789/, mit einem optionalen Präfix, wenn Sie gateway.controlUi.basePath setzen, zum Beispiel /openclaw. Sie spricht direkt mit dem Gateway-WebSocket auf demselben Port, es gibt also keinen zweiten Dienst zu starten und keinen separaten API-Host, auf den sie verweisen müsste.
- Öffnen Sie auf dem Gateway-Host http://127.0.0.1:18789/ oder http://localhost:18789/. Wenn die Seite überhaupt nicht lädt, starten Sie zuerst das Gateway mit openclaw gateway.
- gateway.controlUi.enabled wird im laufenden Betrieb übernommen. Schalten Sie es aus, liefert das Gateway keine Dashboard-Seiten und -Assets mehr aus, während Bots und bestehende Gateway-Verbindungen weiterlaufen; schalten Sie es wieder ein, wird die Auslieferung fortgesetzt, und fehlende Assets werden im Hintergrund vorbereitet. Eine Änderung des Basispfads der Auslieferung oder des Asset-Stammverzeichnisses erfordert weiterhin einen Neustart des Gateways.
- Wenn die LAN-URL auf dem Host funktioniert, aber nicht von einem anderen Rechner aus, verdächtigen Sie zuerst den Host und erst dann das Netzwerk. Bei nativen LAN-Bindungen unter Windows können die Windows-Firewall oder eine von der Organisation verwaltete Gruppenrichtlinie die angekündigte LAN-URL blockieren, selbst wenn 127.0.0.1 auf dem Gateway-Host funktioniert, und openclaw gateway status --deep, auf diesem Windows-Host ausgeführt, meldet wahrscheinlich blockierte Ports, nicht passende Profile und lokale Firewall-Regeln, die von der Richtlinie womöglich ignoriert werden.
Eine direkte Loopback-Verbindung umgeht die Token- oder Passwort-Authentifizierung nicht.
Warum die Seite auf Ihrem eigenen Rechner trotzdem ein Secret verlangt
Die Authentifizierung findet beim WebSocket-Handshake statt, nicht in einem Anmeldeformular, das die App für lokale Besucher stillschweigend überspringen könnte. Das Gateway akzeptiert das konfigurierte gemeinsame Secret entweder in connect.params.auth.token oder in connect.params.auth.password, wobei gateway.auth.mode festlegt, welcher konfigurierte Wert gilt; außerdem akzeptiert es Tailscale-Serve-Identitäts-Header, wenn gateway.auth.allowTailscale auf true steht, und Identitäts-Header eines vertrauenswürdigen Proxys, wenn gateway.auth.mode auf trusted-proxy steht. Die Gateway-Authentifizierung läuft vor der Gerätekopplung, sodass sich ein Browser mit dem gemeinsamen Secret ausweist, bevor er überhaupt eine Kopplungsanfrage stellen kann. Ein direkter Loopback-Browser braucht nur dann kein gemeinsames Secret, wenn gateway.auth.mode ausdrücklich auf none gesetzt ist, was die Gateway-Authentifizierung vollständig deaktiviert und nicht die empfohlene Einrichtung für die Control UI ist.
Ein Feld, zwei Arten von Werten
- Der Anmeldebildschirm und Settings, dann Gateway, verwenden dasselbe einzelne Feld Gateway secret: Fügen Sie das Token ein oder geben Sie das Passwort ein. Der Browser wählt den Modus nicht; gateway.auth.mode hat ihn auf dem Host bereits gewählt.
- Nach einer erfolgreichen Verbindung speichert die UI das Secret im Session Storage, begrenzt auf den aktuellen Browser-Tab und den Gateway-Origin, und nur dann, wenn das Gateway Token-Authentifizierung meldet. Passwörter bleiben im Arbeitsspeicher und werden nie dauerhaft gespeichert, und sobald das Gerät gekoppelt ist, kann der Browser bei späteren Verbindungen sein gespeichertes gerätespezifisches Token verwenden.
- Ein Einrichtungscode, kopiert über Devices, Pair device, Copy setup code, ist eine andere Anmeldeinformation. Fügen Sie einen solchen Code in Gateway secret ein, zeigt die UI vor dem Verbinden einen Inline-Hinweis: Dieser Code gehört in der OpenClaw-Mobile-App unter Settings, dann Gateway, während die Control UI das gemeinsame Token aus openclaw gateway auth-token --show erwartet, ausgeführt in einem interaktiven Terminal auf dem Gateway-Host.
Ein Zustand sieht wie ein Bug aus und ist keiner. Das lokale Onboarding erzeugt standardmäßig ein Gateway secret im Token-Modus, ohne Auswahl zwischen Token und Passwort, und behält einen bestehenden Passwort-Modus bei; eine explizite Passwort-Einrichtung erfolgt über --gateway-auth password oder --gateway-password mit dem Wert Ihrer Wahl, und Tailscale Funnel erfordert den Passwort-Modus. Startet das Gateway jedoch im Token-Modus ohne konfiguriertes Token, erzeugt es stattdessen ein kurzlebiges Laufzeit-Token für diesen Prozess. Dieses Token wird nicht in die Konfiguration geschrieben, lässt sich also nicht wiederherstellen, und ein Loopback-Browser ohne dieses Token wird abgewiesen: Das Feld vor Ihnen verlangt einen Wert, der nirgends existiert, wo Sie ihn lesen könnten. Der Ausweg: Führen Sie openclaw doctor --generate-gateway-token aus, starten Sie das Gateway neu, führen Sie dann openclaw gateway auth-token --show in einem interaktiven Terminal aus und fügen Sie die Ausgabe in Gateway secret ein; der Artikel zum OpenClaw-Doctor beschreibt, was dieses Reparaturwerkzeug sonst noch anfassen kann, und der Artikel zum Gateway behandelt den Prozess, dem der Port überhaupt gehört.
Die Agentenübersicht und der Team-Modus
Öffnen Sie Agents in der Seitenleiste, wählen Sie All agents im Agentenwechsler oder rufen Sie /agents auf, und Sie erhalten statt eines Chats eine Übersicht: eine Karte pro konfiguriertem Agenten mit seiner Identität, seinem Modell, dem aktuellen Arbeitsstatus, der letzten Aktivität und einer Vorschau aus seinem Haupt-Chat, arbeitende Agenten zuerst und die zuletzt aktiven dahinter. Open chat springt in die Hauptsitzung dieses Agenten, Manage agents öffnet /settings/agents, und New agent öffnet den Custodian-Chat, der einen Chief of Staff, einen Rechercheur, einen Autor, einen Reviewer oder ein kleines Team aus allen vieren empfiehlt, dabei dieselben Rollenvorlagen wie die CLI verwendet und auf die Freigabe durch den Operator wartet, bevor irgendetwas angelegt wird. Mit Show all agents schalten Sie den Team-Modus ein: Sitzungen gruppieren sich unter einklappbaren Agenten-Kopfzeilen in der konfigurierten Reihenfolge der Übersicht, die oberste Zeile wird zu einer Workspace-Kopfzeile mit dem konfigurierten Anzeigenamen des Gateways, und der gemeinsame Seitenbereich steht standardmäßig auf All agents, sodass Automations, Dashboards, Sessions, Tasks und Usage Zeilen verschiedener Agenten mit der jeweiligen Agentenidentität zeigen. Der Team-Modus ist eine Browser-Einstellung, standardmäßig aus und pro Gateway in diesem Browser gespeichert, sodass dasselbe Gateway, aus einem anderen Profil oder über den Fernzugriff auf OpenClaw erreicht, im Einzelagenten-Modus startet, bis Sie ihn dort einschalten. Wie mehrere isolierte Agenten in einem einzigen Gateway-Prozess landen, ist ein eigenes Thema, das der Artikel über mehrere Agenten in einem Gateway behandelt.
Bei Diali
Diali hostet OpenClaw, sodass Port, Token und Zertifikat nicht mehr Ihr Problem sind: Jeder Kunde betreibt seinen eigenen Assistenten auf seiner eigenen Instanz, und wir liefern die Control UI über HTTPS unter einer echten Adresse aus statt über eine unverschlüsselte LAN-URL. Die Laufzeitkonfiguration wird aus Ihrem Diali-Dashboard erzeugt und bei jedem Release neu geschrieben, sodass das, was läuft, immer Ihrer Auswahl entspricht, und der Agentenzustand liegt auf einem persistenten Volume, mit täglichen Snapshots und Wiederherstellung per Klick über das Backups-Add-on (in Max enthalten). Gehostetes OpenClaw bei Diali beschreibt, was der gehostete Assistent umfasst, und die Preisseite von Diali listet die Tarife auf.
- Das Dashboard ist das Gateway selbst, auf einem einzigen Port.
- Auch ein Loopback-Browser braucht das konfigurierte Secret.
- Ein kurzlebiges Laufzeit-Token lässt sich nie wieder auslesen.
Genug gelesen, bauen Sie selbst einen
Richten Sie einen Agenten ein, wählen Sie einen Kanal und lassen Sie ihn in der App arbeiten, die Sie ohnehin geöffnet haben.
