Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Canaux : aperçu

Un channel est une surface de messagerie par laquelle l’agent communique. Une seule instance ZeroClaw peut lier plusieurs channels simultanément : le même agent peut répondre dans Discord, Telegram, par e-mail et via la passerelle REST sans que vous ayez à exécuter des processus séparés.

Un agent liste les canaux sur lesquels il répond ; consultez Agents pour savoir comment les canaux sont rattachés à un agent (et comment un groupe de pairs permet aux agents d’un canal partagé de s’adresser les uns aux autres).

Les canaux sont des implémentations du trait Channel dans zeroclaw-api. Chaque canal est conditionné par une fonctionnalité au moment de la compilation, de sorte qu’une compilation minimale n’inclut que les canaux que vous souhaitez.

La compilation ZeroClaw par défaut inclut un ensemble de canaux allégé : ACP, webhook, email, Telegram, Discord et filesystem. Ceux-ci couvrent les sessions locales ou dans l’éditeur, l’entrée via passerelle et la messagerie externe courante lors de la première utilisation, sans compiler chaque intégration de plateforme incluse. Les artefacts de distribution standard ajoutent Git, Matrix, Lark et WhatsApp Web ; l’artefact Android omet WhatsApp Web pour assurer la compatibilité avec la cible. Pour les installations depuis les sources qui nécessitent l’ensemble historique étendu de canaux, exécutez install.sh --source --preset full, compilez avec --features channels-full ou utilisez des fonctionnalités channel-* individuelles pour des compilations sélectives :

sh

./install.sh --source --preset full
cargo build --features channels-full
cargo build --no-default-features --features agent-runtime,gateway,channel-slack

Catégories

Plateformes de chat

Messagerie en temps réel où l’agent peut maintenir une conversation, recevoir des notifications de nouveaux messages via push ou long-poll, et répondre en tant qu’utilisateur bot.

CanalIndicateur de fonctionnalitéGuide dédié
Matrixmatrice-de-canauxMatrix
Telegramchannel-telegramTelegram
Discordchannel-discordDiscord
Slackchannel-slackSlack
Mattermostchannel-mattermostMattermost
LINEchannel-lineLINE
Nextcloud Talkchannel-nextcloudNextcloud Talk
Signalchannel-signalSignal
Twitchchannel-twitchTwitch
API Cloud WhatsAppchannel-whatsapp-cloudWhatsApp
WhatsApp Webwhatsapp-webWhatsApp
iMessage, WeChat personal iLink Bot, DingTalk, Lark, QQ, IRC, Mochat, Notionpar canalAutres plateformes de chat

Social et diffusion

Intégrations de type un-à-plusieurs ou de flux public.

CanalIndicateur de fonctionnalitéProtocole / service
Blueskychannel-blueskyProtocole AT
Nostrchannel-nostrRelais NIP-01
Twitter / Xchannel-twitterAPI v2
Redditchannel-redditAPI JSON

Voir les réseaux sociaux.

Plateformes pour les développeurs

CanalIndicateur de fonctionnalitéProtocole / service
Gitchannel-gitGit forge derrière une interface de fournisseur (GitHub, Gitea, Forgejo) ; polling REST des tickets, PRs, exécutions CI et releases avec routage par événement

Voir Git.

E-mail

CanalIndicateur de fonctionnalitéNotes
IMAP / SMTPchannel-emailBoîte de réception classique basée sur les sondages
Gmail Pushchannel-emailNotifications push Google Pub/Sub : en temps réel, sans interrogation (polling)

Voir Email.

Voix et téléphonie

CanalIndicateur de fonctionnalitéService
ClawdTalkchannel-clawdtalkVoix en temps réel Telnyx SIP
Appel vocalchannel-voice-callTwilio / Telnyx / Plivo
Réveil vocalvoice-wakeDétection locale de mots-réveils
Synthèse vocaletoujours compilé avec la prise en charge des canauxSynthèse vocale sortante (OpenAI, ElevenLabs, Google Cloud, Edge, Piper)

Voir Voix et téléphonie.

Webhooks et programmation

CanalIndicateur de fonctionnalitéForme
Webhookchannel-webhookHTTP entrant → agent
CLItoujours activéEntrée/sortie standard locale
Passerelle REST/WSgateway (activé par défaut)HTTP + WebSocket
ACP (Agent Client Protocol)channel-acp-serverJSON-RPC 2.0 via stdio : sessions éditeur/IDE

Voir Webhooks et ACP.

Sources d’événements

Transports uniquement en entrée qui injectent des événements dans la boucle d’agent ou le moteur SOP. Ils ne génèrent aucune réponse sortante ; chacun est également un SOP fan-in.

CanalIndicateur de fonctionnalitéForme
MQTTchannel-mqttMessages du broker → agent ou SOP
AMQPchannel-amqpLivraisons par courtier → agent ou SOP
Filesystemchannel-filesystemChangements de chemin → agent ou SOP

Voir MQTT, AMQP, et Filesystem.

Configuration

Les instances de canal modernes sont configurées sous [channels.<type>.<alias>], avec default comme premier alias courant. Définissez-les via n’importe quelle surface de configuration :

Tableau de bord de la passerelle

Ouvrez /config/channels dans le tableau de bord web.

zerocode

Dans le volet Config, sous Channels.

Les secrets (jetons de bot, clés API, mots de passe) sont stockés chiffrés ; définissez-les via la gateway, zerocode ou zeroclaw config set (masqué), jamais en texte clair. L’entrée channels d’un agent lie un alias de canal à cet agent. Les noms de champs diffèrent selon le canal ; zeroclaw config schema constitue la liste de référence. Champs récurrents dans de nombreux canaux :

CléCe que cela fait
enabledActiver/désactiver sans supprimer la section
mention_onlyIgnorer les messages qui ne mentionnent pas le bot avec @ (plateformes de chat)
proxy_urlProxy par canal (http/https/socks5/socks5h) ; remplace la configuration globale [proxy]
excluded_toolsOutils non mis à la disposition du modèle lors de la réponse sur ce canal
draft_update_interval_msCadence d’édition en streaming (par défaut 500 ms)
approval_timeout_secsSecondes d’attente pour l’approbation de l’opérateur sur les outils always_ask avant le refus automatique

Les expéditeurs entrants sont contrôlés via les groupes de pairs, et non par un champ par canal.

Capacité de streaming

Les canaux déclarent le type de streaming qu’ils prennent en charge : consultez Providers → Streaming pour la matrice des capacités et la signification de supports_draft_updates / supports_multi_message_streaming.

Ajout d’un canal

Implémenter un nouveau canal consiste à ajouter un fichier dans crates/zeroclaw-channels/src/ qui implémente le trait Channel. La référence canonique est n’importe quel canal existant de forme similaire : discord.rs pour le mode push, email_channel.rs pour l’interrogation (polling), webhook.rs pour le mode piloté par HTTP.