Routage des canaux
Canaux et routage
Section intitulée « Canaux et routage »OpenClaw route les réponses vers le canal d’où provient le message. Le model ne choisit pas de canal ; le routage est déterministe et contrôlé par la configuration de l’hôte.
Termes clés
Section intitulée « Termes clés »- Channel :
whatsapp,telegram,discord,slack,signal,imessage,webchat. - AccountId : instance de compte par canal (lorsque pris en charge).
- AgentId : un espace de travail isolé + magasin de session (« cerveau »).
- SessionKey : la clé de compartiment utilisée pour stocker le contexte et contrôler la concurrence.
Formes de clés de session (exemples)
Section intitulée « Formes de clés de session (exemples) »Les messages directs réduisent vers la session principale de l’agent :
agent:<agentId>:<mainKey>(par défaut :agent:main:main)
Les groupes et les canaux restent isolés par canal :
- Groupes :
agent:<agentId>:<channel>:group:<id> - Canaux/salons :
agent:<agentId>:<channel>:channel:<id>
Fils de discussion :
- Les fils de discussion Slack/Discord ajoutent
:thread:<threadId>à la clé de base. - Les sujets de forum Telegram intègrent
:topic:<topicId>dans la clé de groupe.
Exemples :
agent:main:telegram:group:-1001234567890:topic:42agent:main:discord:channel:123456:thread:987654
Règles de routage (choix d’un agent)
Section intitulée « Règles de routage (choix d’un agent) »Le routage choisit un agent pour chaque message entrant :
- Correspondance exacte des pairs (
bindingsavecpeer.kind+peer.id). - Correspondance de guilde (Discord) via
guildId. - Correspondance d’équipe (Slack) via
teamId. - Correspondance de compte (
accountIdsur le canal). - Correspondance de canal (n’importe quel compte sur ce canal).
- Agent par défaut (
agents.list[].default, sinon première entrée de la liste, repli surmain).
L’agent correspondant détermine quel espace de travail et quel magasin de session sont utilisés.
Groupes de diffusion (exécuter plusieurs agents)
Section intitulée « Groupes de diffusion (exécuter plusieurs agents) »Les groupes de diffusion vous permettent d’exécuter plusieurs agents pour le même pair quand OpenClaw répondrait normalement (par exemple : dans les groupes WhatsApp, après le filtrage par mention/activation).
Configuration :
{ broadcast: { strategy: "parallel", "+15555550123": ["support", "logger"], },}Voir : Groupes de diffusion.
Aperçu de la configuration
Section intitulée « Aperçu de la configuration »agents.list: définitions d’agents nommées (espace de travail, model, etc.).bindings: faire correspondre les channels/comptes/pairs entrants aux agents.
Exemple :
{ 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" }, ],}Stockage de session
Section intitulée « Stockage de session »Les magasins de session résident dans le répertoire d’état (par défaut ~/.openclaw) :
~/.openclaw/agents/<agentId>/sessions/sessions.json- Les transcriptions JSONL résident à côté du magasin
Vous pouvez remplacer le chemin du magasin via le modèle session.store et {agentId}.
Comportement WebChat
Section intitulée « Comportement WebChat »WebChat se rattache à l’agent sélectionné et utilise par défaut la session principale de cet agent. De ce fait, WebChat vous permet de voir le contexte inter-canal pour cet agent en un seul endroit.
Contexte de réponse
Section intitulée « Contexte de réponse »Les réponses entrantes incluent :
ReplyToId,ReplyToBodyetReplyToSenderlorsque disponibles.- Le contexte cité est ajouté à
Bodysous forme de bloc[Replying to ...].
Ceci est cohérent d’un channel à l’autre.