Status: de macOS/iOS SwiftUI-chat-UI praat rechtstreeks met de Gateway WebSocket.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Wat het is
- Een native chat-UI voor de Gateway (geen ingesloten browser en geen lokale statische server).
- Gebruikt dezelfde sessies en routeringsregels als andere kanalen.
- Deterministische routering: antwoorden gaan altijd terug naar WebChat.
Snel starten
- Start de Gateway.
- Open de WebChat-UI (macOS/iOS-app) of het chattabblad van de Control UI.
- Zorg dat een geldig Gateway-authenticatiepad is geconfigureerd (standaard shared-secret, zelfs op loopback).
Hoe het werkt (gedrag)
- De UI maakt verbinding met de Gateway WebSocket en gebruikt
chat.history,chat.sendenchat.inject. chat.historyis begrensd voor stabiliteit: Gateway kan lange tekstvelden inkorten, zware metadata weglaten en te grote vermeldingen vervangen door[chat.history omitted: message too large].chat.historyvolgt de actieve transcriptvertakking voor moderne append-only sessiebestanden, zodat verlaten herschrijfvertakkingen en vervangen promptkopieën niet worden weergegeven in WebChat.- Control UI voegt dubbele lopende verzendingen voor dezelfde sessie, hetzelfde bericht en dezelfde bijlagen samen voordat een nieuwe
chat.send-run-id wordt gegenereerd; de Gateway dedupliceert nog steeds herhaalde aanvragen die dezelfde idempotentiesleutel hergebruiken. chat.historyis ook genormaliseerd voor weergave: runtime-only OpenClaw-context, inkomende envelope-wrappers, inline tags voor afleveringsinstructies zoals[[reply_to_*]]en[[audio_as_voice]], tool-call-XML-payloads in platte tekst (waaronder<tool_call>...</tool_call>,<function_call>...</function_call>,<tool_calls>...</tool_calls>,<function_calls>...</function_calls>en ingekorte tool-call-blokken), en gelekte ASCII-/full-width-modelbesturingstokens worden uit zichtbare tekst verwijderd, en assistentvermeldingen waarvan de volledige zichtbare tekst alleen het exacte stille tokenNO_REPLY/no_replyis, worden weggelaten.- Antwoordpayloads met redeneermarkering (
isReasoning: true) worden uitgesloten van WebChat-assistentinhoud, transcript-replaytekst en audio-inhoudsblokken, zodat payloads die alleen denkstappen bevatten niet verschijnen als zichtbare assistentberichten of afspeelbare audio. chat.injectvoegt een assistentnotitie rechtstreeks toe aan het transcript en zendt die uit naar de UI (geen agent-run).- Afgebroken runs kunnen gedeeltelijke assistentuitvoer zichtbaar houden in de UI.
- Gateway bewaart afgebroken gedeeltelijke assistenttekst in de transcriptgeschiedenis wanneer gebufferde uitvoer bestaat, en markeert die vermeldingen met afbreekmetadata.
- Geschiedenis wordt altijd opgehaald uit de Gateway (geen lokale bestandsbewaking).
- Als de Gateway onbereikbaar is, is WebChat alleen-lezen.
Tools-paneel voor Control UI-agents
- Het Tools-paneel van Control UI
/agentsheeft twee afzonderlijke weergaven:- Nu beschikbaar gebruikt
tools.effective(sessionKey=...)en toont wat de huidige sessie daadwerkelijk tijdens runtime kan gebruiken, inclusief tools die eigendom zijn van core, Plugin en kanaal. - Toolconfiguratie gebruikt
tools.catalogen blijft gericht op profielen, overrides en catalogussemantiek.
- Nu beschikbaar gebruikt
- Runtimebeschikbaarheid is sessiegebonden. Sessies wisselen op dezelfde agent kan de lijst Nu beschikbaar wijzigen.
- De configuratie-editor impliceert geen runtimebeschikbaarheid; effectieve toegang volgt nog steeds de beleidsprioriteit
(
allow/deny, per-agent- en provider-/kanaaloverrides).
Gebruik op afstand
- Externe modus tunnelt de Gateway WebSocket via SSH/Tailscale.
- Je hoeft geen aparte WebChat-server uit te voeren.
Configuratiereferentie (WebChat)
Volledige configuratie: Configuratie WebChat-opties:gateway.webchat.chatHistoryMaxChars: maximaal aantal tekens voor tekstvelden inchat.history-antwoorden. Wanneer een transcriptvermelding deze limiet overschrijdt, kort Gateway lange tekstvelden in en kan het te grote berichten vervangen door een placeholder. Per aanvraag kanmaxCharsook door de client worden verzonden om deze standaardwaarde voor éénchat.history-aanroep te overschrijven.
gateway.port,gateway.bind: WebSocket-host/-poort.gateway.auth.mode,gateway.auth.token,gateway.auth.password: shared-secret WebSocket-authenticatie.gateway.auth.allowTailscale: het chattabblad van de browser-Control UI kan Tailscale Serve-identiteitsheaders gebruiken wanneer dit is ingeschakeld.gateway.auth.mode: "trusted-proxy": reverse-proxy-authenticatie voor browserclients achter een identiteitsbewuste niet-loopback proxybron (zie Trusted Proxy Auth).gateway.remote.url,gateway.remote.token,gateway.remote.password: extern Gateway-doel.session.*: sessieopslag en standaardwaarden voor de hoofdsleutel.