Kanalen & routering
OpenClaw routeert antwoorden terug naar het kanaal waar een bericht vandaan kwam. Het model kiest geen kanaal; routering is deterministisch en wordt beheerd door de hostconfiguratie.Belangrijke termen
- Kanaal:
whatsapp,telegram,discord,slack,signal,imessage,webchat. - AccountId: per‑kanaal accountinstantie (indien ondersteund).
- AgentId: een geïsoleerde werkruimte + sessieopslag (“brein”).
- SessionKey: de bucketsleutel die wordt gebruikt om context op te slaan en gelijktijdigheid te beheren.
Vormen van sessiesleutels (voorbeelden)
Directe berichten worden samengevoegd tot de hoofdsessie van de agent:agent:<agentId>:<mainKey>(standaard:agent:main:main)
- Groepen:
agent:<agentId>:<channel>:group:<id> - Kanalen/rooms:
agent:<agentId>:<channel>:channel:<id>
- Slack/Discord-threads voegen
:thread:<threadId>toe aan de basissleutel. - Telegram-forumtopics embedden
:topic:<topicId>in de groepssleutel.
agent:main:telegram:group:-1001234567890:topic:42agent:main:discord:channel:123456:thread:987654
Routeringsregels (hoe een agent wordt gekozen)
Routering kiest één agent voor elk inkomend bericht:- Exacte peer-match (
bindingsmetpeer.kind+peer.id). - Overeenkomende bovenliggende peer (thread-overerving).
- Guild + rollen komen overeen (Discord) via
guildId+roles. - Guild-match (Discord) via
guildId. - Team-match (Slack) via
teamId. - Account-match (
accountIdop het kanaal). - Kanaal-match (elk account op dat kanaal).
- Standaardagent (
agents.list[].default, anders eerste lijstitem, fallback naarmain).
peer, guildId, teamId, roles), moeten alle opgegeven velden overeenkomen voordat die binding wordt toegepast.
De gematchte agent bepaalt welke werkruimte en sessieopslag worden gebruikt.
Broadcast-groepen (meerdere agents draaien)
Broadcast-groepen laten je meerdere agents draaien voor dezelfde peer wanneer OpenClaw normaal gesproken zou antwoorden (bijvoorbeeld: in WhatsApp-groepen, na mention-/activeringsgating). Config:Config-overzicht
agents.list: benoemde agentdefinities (werkruimte, model, enz.).bindings: koppelt inkomende kanalen/accounts/peers aan agents.
Sessiesopslag
Sessiestores bevinden zich onder de state-directory (standaard~/.openclaw):
~/.openclaw/agents/<agentId>/sessions/sessions.json- JSONL-transcripten staan naast de store
session.store en {agentId}-templating.
WebChat-gedrag
WebChat koppelt aan de geselecteerde agent en gebruikt standaard de hoofd- sessie van de agent. Hierdoor kun je met WebChat de context over meerdere kanalen voor die agent op één plek bekijken.Antwoordcontext
Inkomende antwoorden bevatten:ReplyToId,ReplyToBodyenReplyToSenderwanneer beschikbaar.- Geciteerde context wordt toegevoegd aan
Bodyals een[Replying to ...]-blok.