Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Canales: Descripción general

Un channel es una superficie de mensajería a través de la cual se comunica el agente. Una instancia de ZeroClaw puede vincular múltiples canales simultáneamente: el mismo agente puede responder en Discord, Telegram, correo electrónico y a través del gateway REST sin que tengas que ejecutar procesos separados.

Un agente lista los canales en los que responde; consulta Agentes para saber cómo los canales se adjuntan a un agente (y cómo un grupo de pares permite que los agentes en un canal compartido se dirijan entre sí).

Los canales son implementaciones del rasgo Channel en zeroclaw-api. Cada uno está protegido por una característica en tiempo de compilación, por lo que una compilación mínima solo incluye los canales que deseas.

La compilación predeterminada de ZeroClaw incluye un conjunto reducido de canales: ACP, webhook, correo electrónico, Telegram, Discord y sistema de archivos. Estos cubren las sesiones locales/de editor, la entrada del gateway y la mensajería externa habitual durante el primer uso, sin compilar todas las integraciones de plataforma incluidas. Los artefactos de distribución estándar añaden Git, Matrix, Lark y WhatsApp Web; el artefacto de Android omite WhatsApp Web por compatibilidad con el destino. Para las instalaciones desde el código fuente que necesiten el conjunto histórico de canales amplio, ejecuta install.sh --source --preset full, compila con --features channels-full o usa funciones channel-* individuales para compilaciones selectivas:

sh

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

Categorías

Plataformas de chat

Mensajería en tiempo real donde el agente puede mantener una conversación, recibir notificaciones de nuevos mensajes mediante push o long-poll, y responder como un usuario bot.

CanalBandera de funciónGuía dedicada
Matrixmatriz-de-canalesMatrix
Telegramchannel-telegramTelegram
Discordchannel-discordDiscord
Slackchannel-slackSlack
Mattermostchannel-mattermostMattermost
LINElínea-de-canalLINE
Nextcloud Talkchannel-nextcloudNextcloud Talk
Signalchannel-signalSignal
Twitchchannel-twitchTwitch
WhatsApp Cloud APIchannel-whatsapp-cloudWhatsApp
WhatsApp Webwhatsapp-webWhatsApp
WeCom (Bot Webhook / AI Bot WS)channel-wecom, channel-wecom-wsOtras plataformas de chat
iMessage, WeChat personal iLink Bot, DingTalk, Lark, QQ, IRC, Mochat, Notionpor canalOtras plataformas de chat

Social y difusión

Integraciones de uno a muchos o de feed público.

CanalBandera de funciónProtocolo / servicio
Blueskychannel-blueskyProtocolo AT
Nostrchannel-nostrRelays NIP-01
Twitter / Xchannel-twitterAPI v2
Redditchannel-redditAPI JSON

Consulta Canales sociales.

Plataformas para desarrolladores

CanalBandera de funciónProtocolo / servicio
Gitchannel-gitGit forge detrás de una capa de proveedor (GitHub, Gitea, Forgejo); sondeo REST de issues, PRs, ejecuciones de CI y lanzamientos con enrutamiento por evento

Ver Git.

Correo electrónico

CanalBandera de funciónNotas
IMAP / SMTPchannel-emailBandeja de entrada clásica basada en encuestas
Gmail Pushchannel-emailNotificaciones push de Google Pub/Sub: en tiempo real, sin sondeo

Ver Correo electrónico.

Voz y telefonía

CanalBandera de funciónServicio
ClawdTalkchannel-clawdtalkVoz en tiempo real de Telnyx SIP
Llamada de vozchannel-voice-callTwilio / Telnyx / Plivo
Despertar por vozvoice-wakeDetección de palabra clave local
TTSsiempre compilado con soporte de canalesSíntesis de voz saliente (OpenAI, ElevenLabs, Google Cloud, Edge, Piper)

Consulta Voz y telefonía.

Webhooks y programación

CanalBandera de funciónForma
Webhookchannel-webhookHTTP entrante → agente
CLIsiempre activoEntrada/salida estándar local
Puerta de enlace REST/WSgateway (habilitado por defecto)HTTP + WebSocket
ACP (Protocolo de Cliente de Agente)channel-acp-serverJSON-RPC 2.0 sobre stdio: sesiones de editor/IDE

Consulta Webhooks y ACP.

Fuentes de eventos

Transportes de solo entrada que alimentan eventos en el bucle del agente o en el motor SOP. No tienen respuesta de salida; cada uno también es un SOP fan-in.

CanalBandera de funciónForma
MQTTchannel-mqttMensajes del corredor → agente o SOP
AMQPchannel-amqpEntregas del broker → agente o SOP
Filesystemchannel-filesystemCambios de ruta → agente o SOP

See MQTT, AMQP, and Filesystem.

Configuración

Las instancias modernas de canales se configuran bajo [channels.<type>.<alias>], con default como el primer alias más común. Configúralas a través de cualquier superficie de configuración:

Panel de control del gateway

Abre /config/channels en el panel web.

zerocode

En el panel Config, en Channels.

Los secrets (tokens de bot, claves de API, contraseñas) se almacenan cifrados; configúralos a través del gateway, zerocode o zeroclaw config set (enmascarado), nunca en texto plano. La entrada channels en un agente vincula un alias de canal a ese agente. Los nombres de campo difieren según el canal; zeroclaw config schema es la lista autoritativa. Campos que se repiten en muchos canales:

ClaveQué hace
enabledActivar/desactivar sin eliminar la sección
mention_onlyIgnorar los mensajes que no mencionen al bot con @ (plataformas de chat)
proxy_urlProxy por canal (http/https/socks5/socks5h); anula la configuración global de [proxy]
excluded_toolsHerramientas retenidas del modelo al responder en este canal
draft_update_interval_msFrecuencia de edición en streaming (predeterminado 500 ms)
approval_timeout_secsSegundos a esperar por la aprobación del operador en herramientas always_ask antes de denegar automáticamente

Los remitentes entrantes se controlan mediante grupos de pares, no mediante un campo por canal.

Avisos de respaldo de modelo

channels.model_fallback_notice controla los avisos de la reversión ordinaria a un modelo distinto dentro de la misma familia de proveedores. El valor predeterminado es off. Los avisos de reversión entre familias y los avisos de salvaguarda mantienen su comportamiento actual en todos los modos.

ModoAviso entregado
offAviso de respaldo de modelo de la misma familia no habitual
redactedEsta respuesta fue generada por un modelo alternativo.
detailedLos identificadores de proveedor/modelo solicitados y servidos

El ajuste se aplica globalmente a todos los canales que usan el orquestador de canales compartido. Elige el modo para cada audiencia que pueda recibir una respuesta, incluidas las salas compartidas y los canales públicos. detailed expone los identificadores de enrutamiento a esas audiencias; redacted informa de la recuperación sin esos identificadores. No hay anulaciones por canal.

Esta configuración no controla los avisos de respaldo en el chat web de la puerta de enlace, en ZeroCode ni en las sesiones RPC; esos usan la ruta de turnos del agente y conservan sus avisos detallados existentes con los identificadores de proveedor y modelo.

Establece el modo mediante ZeroCode Config u otro editor de configuración compatible, o usa:

zeroclaw config set channels.model_fallback_notice redacted

El orquestador lee la configuración activa vigente al entregar la respuesta, por lo que un cambio de modo publicado puede afectar a un turno que ya está en curso. Guardar un archivo por sí solo no actualiza la configuración activa de un daemon en ejecución. Utilice las rutas existentes de publicación y recarga de configuración descritas en Ciclo de vida de la configuración; las escrituras independientes de la CLI surten efecto en la siguiente carga o recarga.

Estos avisos se añaden únicamente a la entrega saliente. El historial del asistente almacenado conserva la respuesta del modelo sin el aviso, por lo que los turnos posteriores no reciben estos metadatos de entrega como contenido de la conversación. La atribución debe identificar un fallback exitoso a un modelo diferente antes de añadir un aviso; los cambios de perfil dentro de la misma familia o del mismo modelo siguen sin distinguirse en el registro de atribución actual.

Capacidad de transmisión

Los canales declaran qué tipo de streaming admiten: consulta Proveedores → Streaming para ver la matriz de capacidades y qué significan supports_draft_updates / supports_multi_message_streaming.

Añadiendo un canal

Implementar un nuevo canal significa agregar un archivo a crates/zeroclaw-channels/src/ que implemente el trait Channel. La referencia canónica es cualquier canal existente de forma similar: discord.rs para basados en push, email_channel.rs para sondeo, webhook.rs para los dirigidos por HTTP.