Channels und Routing in OpenClaw
Es ist oft nervig, wenn man mehrere Chat-Plattformen gleichzeitig bedienen muss. Nachrichten landen im falschen Kontext oder die Zuordnung zwischen Nutzer und Bot-Logik geht verloren. Man verbringt mehr Zeit mit dem Sortieren von IDs als mit dem eigentlichen Code, besonders wenn Gruppen und Threads ins Spiel kommen.
OpenClaw löst das durch deterministisches Routing. Antworten gehen immer dorthin zurück, wo die Nachricht herkam. Das Modell entscheidet nicht selbst; du steuerst alles über die Host-Konfiguration.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- OpenClaw Installation
- Zugriff auf das State-Verzeichnis (Standard:
~/.openclaw)
Schnellstart
Abschnitt betitelt „Schnellstart“Um einen Agenten für bestimmte Kanäle zu konfigurieren, definierst du ihn in der agents.list und verknüpfst ihn über bindings. Das dauert weniger als 5 Minuten.
Hier ist ein Beispiel für die Konfiguration:
{ agents: { list: [{ id: "support", name: "Support", workspace: "~/.openclaw/workspace-support" }], }, bindings: [ { match: { channel: "slack", teamId: "T123" }, agentId: "support" }, { match: { channel: "telegram", peer: { kind: "group", id: "-100123" } }, agentId: "support" }, ],}Key Terms
Abschnitt betitelt „Key Terms“- Channel:
whatsapp,telegram,discord,slack,signal,imessage,webchat. - AccountId: Instanz eines Accounts pro Channel (sofern unterstützt).
- AgentId: Isolierter Workspace und Session-Speicher (“Brain”).
- SessionKey: Der Schlüssel für den Speicher-Bucket, um Kontext zu speichern und Concurrency zu steuern.
Session Key Shapes
Abschnitt betitelt „Session Key Shapes“Direct Messages nutzen die main Session des Agenten:
agent:<agentId>:<mainKey>(Standard:agent:main:main)
Gruppen und Kanäle bleiben pro Channel isoliert:
- Gruppen:
agent:<agentId>:<channel>:group:<id> - Kanäle/Rooms:
agent:<agentId>:<channel>:channel:<id>
Bei Threads werden zusätzliche Informationen angehängt:
- Slack/Discord Threads hängen
:thread:<threadId>an den Basis-Key an. - Telegram Forum Topics betten
:topic:<topicId>in den Group-Key ein.
Routing Rules
Abschnitt betitelt „Routing Rules“OpenClaw wählt für jede eingehende Nachricht genau einen Agenten nach dieser Priorität aus:
- Exact peer match: Nutzt
bindingsmitpeer.kindundpeer.id. - Guild match: Speziell für Discord via
guildId. - Team match: Speziell für Slack via
teamId. - Account match: Nutzt die
accountIdauf dem Channel. - Channel match: Nutzt jeden Account auf diesem Channel.
- Default agent: Nutzt
agents.list[].default, sonst den ersten Listeneintrag odermain.
Der gefundene Agent bestimmt, welcher Workspace und welcher Session-Speicher genutzt werden.
Broadcast Groups
Abschnitt betitelt „Broadcast Groups“Mit Broadcast Groups kannst du mehrere Agenten für denselben Peer ausführen. Das greift dann, wenn OpenClaw normalerweise antworten würde (z. B. in WhatsApp-Gruppen nach einer Erwähnung).
{ broadcast: { strategy: "parallel", "120363403215116621@g.us": ["alfred", "baerbel"], "+15555550123": ["support", "logger"], },}Session Storage
Abschnitt betitelt „Session Storage“Session-Speicher liegen im State-Verzeichnis (Standard ~/.openclaw):
~/.openclaw/agents/<agentId>/sessions/sessions.json- JSONL-Transkripte liegen direkt neben dem Store.
Du kannst den Pfad über session.store und {agentId}-Templating überschreiben.
WebChat Verhalten
Abschnitt betitelt „WebChat Verhalten“WebChat verbindet sich mit dem ausgewählten Agenten und nutzt standardmäßig dessen Main-Session. Dadurch kannst du den kanalübergreifenden Kontext für diesen Agenten an einem Ort einsehen.
Reply Context
Abschnitt betitelt „Reply Context“Eingehende Antworten enthalten folgende Metadaten:
ReplyToId,ReplyToBodyundReplyToSender(falls verfügbar).- Zitierter Kontext wird als
[Replying to ...]Block an denBodyangehängt.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Problem: Nachrichten werden dem falschen Agenten zugeordnet.
Lösung: Überprüfe die Reihenfolge deiner bindings. OpenClaw arbeitet die Prioritätenliste von oben nach unten ab (beginnend bei Exact Peer Match).
Problem: Sessions werden nicht korrekt getrennt.
Lösung: Prüfe den generierten SessionKey. Gruppen und Threads erhalten automatisch eigene IDs, während Direct Messages immer in der main Session landen.
Hast du Fragen zur Einrichtung? Nutze den AI Setup Assistant.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.