WebChat (Gateway-WebSocket-UI)

Status: Die macOS/iOS-SwiftUI-Chat-UI kommuniziert direkt mit dem Gateway-WebSocket.

Was es ist

  • Eine native Chat-UI für das Gateway (kein eingebetteter Browser und kein lokaler statischer Server).
  • Nutzt dieselben Sitzungen und Routing-Regeln wie andere Kanäle.
  • Deterministisches Routing: Antworten gehen immer zurück an WebChat.

Schnellstart

  1. Gateway starten.
  2. WebChat-UI (macOS/iOS-App) oder den Control-UI-Chat-Tab öffnen.
  3. Sicherstellen, dass Gateway-Auth konfiguriert ist (standardmäßig erforderlich, auch bei Loopback).

Wie es funktioniert (Verhalten)

  • Die UI verbindet sich mit dem Gateway-WebSocket und nutzt chat.history, chat.send und chat.inject.
  • chat.history ist für Stabilität größenbeschränkt: Das Gateway kann lange Textfelder kürzen, schwere Metadaten weglassen und übergroße Einträge durch [chat.history omitted: message too large] ersetzen.
  • chat.inject hängt eine Assistenten-Notiz direkt an das Transkript an und sendet sie an die UI (kein Agent-Run).
  • Abgebrochene Runs können partiellen Assistenten-Output in der UI sichtbar halten.
  • Das Gateway speichert abgebrochenen partiellen Assistententext in der Transkript-History, wenn gepufferter Output existiert, und markiert diese Einträge mit Abbruch-Metadaten.
  • History wird immer vom Gateway abgerufen (kein lokales Dateisystem-Watching).
  • Wenn das Gateway nicht erreichbar ist, ist WebChat schreibgeschützt.

Control-UI Agents-Tools-Panel

  • Das Control-UI /agents Tools-Panel ruft einen Laufzeitkatalog über tools.catalog ab und kennzeichnet jedes Tool als core oder plugin:<id> (plus optional für optionale Plugin-Tools).
  • Wenn tools.catalog nicht verfügbar ist, fällt das Panel auf eine eingebaute statische Liste zurück.
  • Das Panel bearbeitet Profil- und Override-Konfiguration, aber der tatsächliche Laufzeitzugriff folgt weiterhin der Richtlinien- Priorität (allow/deny, pro-Agent und Provider-/Kanal-Overrides).

Remote-Nutzung

  • Im Remote-Modus wird der Gateway-WebSocket über SSH/Tailscale getunnelt.
  • Du musst keinen separaten WebChat-Server betreiben.

Konfigurationsreferenz (WebChat)

Vollständige Konfiguration: Konfiguration

Kanaloptionen:

  • Kein dedizierter webchat.*-Block. WebChat nutzt die Gateway-Endpunkt- + Auth-Einstellungen unten.

Verwandte globale Optionen:

  • gateway.port, gateway.bind: WebSocket-Host/Port.
  • gateway.auth.mode, gateway.auth.token, gateway.auth.password: WebSocket-Auth (Token/Passwort).
  • gateway.auth.mode: "trusted-proxy": Reverse-Proxy-Auth für Browser-Clients (siehe Trusted Proxy Auth).
  • gateway.remote.url, gateway.remote.token, gateway.remote.password: Remote-Gateway-Ziel.
  • session.*: Sitzungsspeicher und Hauptschlüssel-Standards.