Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Canales sociales

Integraciones de difusión / redes sociales. Estas difieren de los canales de chat en dos aspectos: los mensajes suelen ser públicos y el agente a menudo actúa como publicador en lugar de un respondedor bidireccional.

Nota de compilación: Los canales sociales no están incluidos en la compilación predeterminada ligera. Para usarlos, compila con --features channels-full (todos los canales) o con el flag de característica específico (p. ej. --features channel-twitter). Los binarios precompilados no incluyen estos canales de forma predeterminada. Consulta Channels → Overview para ver la tabla completa de opciones de compilación.

Twitch

El chat de Twitch es un adaptador ligero sobre IRC. Compílalo con --features channel-twitch o inclúyelo mediante --features channels-full; la compilación predeterminada reducida no lo incluye.

Configura enabled, bot_username, oauth_token y los canales a los que unirse bajo un alias de Twitch. mention_only es opcional y su valor predeterminado es false. Una instancia mínima tiene este aspecto:

[channels.twitch.default]
enabled = true
bot_username = "zeroclaw_bot"
oauth_token = "replace-with-twitch-token"
channels = ["zeroclaw_channel"]
mention_only = true

[peer_groups.twitch_default]
channel = "twitch.default"
external_peers = ["zeroclaw_user"]
  • Autenticación: usa un token de acceso de usuario de Twitch para la cuenta del bot con chat:read y chat:edit. Después de configurar la Twitch CLI, genéralo con la sesión iniciada en esa cuenta mediante twitch token -u -s 'chat:read chat:edit' y guárdalo mediante una interfaz de configuración protegida. ZeroClaw elimina los espacios en blanco del valor y añade el prefijo oauth: requerido cuando se omite.
  • Canales: las entradas en channels pueden incluir el # inicial; ZeroClaw lo añade cuando falta y normaliza los nombres de los canales a minúsculas.
  • Entrantes y salientes: los mensajes del canal reciben respuesta en el mismo canal. mention_only = true ignora los mensajes del canal que no mencionan a bot_username. Si Twitch entrega un PRIVMSG de IRC que no es de canal a la cuenta del bot, ZeroClaw responde a ese remitente; el adaptador no configura un transporte de susurros independiente.
  • Formato: Las respuestas de Twitch utilizan texto sin formato y se dividen para ajustarse a los marcos de IRC. El formato Markdown no se conserva.
  • Límites de frecuencia: el adaptador escribe directamente tramas IRC PRIVMSG y no tiene ningún limitador de frecuencia específico de Twitch ni mecanismo de espera tras un HTTP 429. Mantén la frecuencia de publicación del agente dentro de los límites del chat de Twitch y limita los flujos de trabajo con ráfagas en su origen.

Bluesky (Protocolo AT)

  • Autenticación: Contraseña de aplicación de Bluesky (no tu contraseña real). Crea una en la configuración.
  • Saliente: publicaciones de 300 caracteres; las respuestas más largas se dividen automáticamente en hilos.
  • Protocol: AT Protocol mediante el crate atrium-api.

Nostr

Los remitentes entrantes se filtran contra el conjunto de pares resuelto para el agente vinculado, obtenido de la configuración peer_groups a la que pertenece el agente. La coincidencia elimina el @ inicial y no distingue mayúsculas de minúsculas frente al identificador nativo de remitente del canal. Un conjunto vacío deniega a todos; un conjunto que contiene "*" acepta a cualquiera; en caso contrario, solo se aceptan los pares externos listados (y los agentes pares). Esto es independiente del emparejamiento de la puerta de enlace (gateway.require_pairing), que autentica clientes HTTP/WebSocket, no remitentes de canales de chat.

Un grupo de pares para nostr establece channel en nostr, enumera los remitentes permitidos en external_peers (para nostr, la clave pública hexadecimal del remitente; ["*"] acepta a cualquiera), opcionalmente nombra agents pares para el despacho entre agentes, una lista de bloqueo ignore y un output_modality (mirror, voice o text). Consulte Peer Groups para la referencia de campos.

Dónde configurar esto:

Panel de control del gateway

Abra /config/peer_groups en el panel de control web.

zerocode

En el panel Config, en Peer groups.

  • Autenticación: clave privada sin procesar (nsec bech32 o hexadecimal).
  • Entrante: kind-1 (texto), kind-4 (DM, NIP-04) y kind-1059 (gift-wrap, NIP-17).
  • Saliente: mismos tipos. El manejo de Zap es experimental.
  • Relays: el agente se conecta a todos los relays indicados; usa 3-5 para mayor fiabilidad. Si se omite relays, ZeroClaw se conecta a un conjunto integrado de relays públicos populares.

Twitter / X

Los remitentes entrantes se filtran contra el conjunto de pares resuelto para el agente vinculado, obtenido de la configuración peer_groups a la que pertenece el agente. La coincidencia elimina el @ inicial y no distingue mayúsculas de minúsculas frente al identificador nativo de remitente del canal. Un conjunto vacío deniega a todos; un conjunto que contiene "*" acepta a cualquiera; en caso contrario, solo se aceptan los pares externos listados (y los agentes pares). Esto es independiente del emparejamiento de la puerta de enlace (gateway.require_pairing), que autentica clientes HTTP/WebSocket, no remitentes de canales de chat.

Un grupo de pares para twitter establece channel en twitter, lista los remitentes permitidos en external_peers (para twitter, el @username de Twitter/X; ["*"] acepta a cualquiera), opcionalmente nombra agents pares para el despacho entre agentes, una lista de bloqueo ignore y un output_modality (mirror, voice o text). Consulta Peer Groups para la referencia de campos.

Dónde configurar esto:

Panel de control del gateway

Abra /config/peer_groups en el panel de control web.

zerocode

En el panel Config, en Peer groups.

  • Autenticación: Solo Twitter API v2 OAuth 2.0 Bearer Token.
  • Entrante: menciones a través del punto final de la secuencia filtrada.
  • Saliente: publicaciones, respuestas, hilos.
  • Aviso: la capa gratuita está limitada por tasa hasta el punto de ser casi inútil. Presupueste en consecuencia.

Reddit

  • Auth: OAuth 2.0 con un token de actualización. Genera uno con una app de Reddit de tipo script y el flujo password o code.
  • Entrante: publicaciones y comentarios nuevos en los subreddits configurados (o todos los subreddits a los que el bot tiene acceso cuando subreddits está vacío), además de las respuestas a las publicaciones del propio agente.
  • Saliente: publicaciones, comentarios, mensajes privados.

Operar los canales sociales de forma segura

Los bots en redes sociales públicas atraen entradas adversarias. Dos precauciones:

  1. Restringe a quién responderá el agente. Controla los remitentes entrantes con un grupo de pares (por canal, arriba): un conjunto de pares vacío deniega a todos, ["*"] acepta a cualquiera. Bluesky no tiene un campo de remitente de grupo de pares; aplica el control en la capa de autonomía / herramientas en su lugar.
  2. Mantén el nivel de autonomía en Supervised o inferior. Un agente de cara al público en autonomía Full es efectivamente un shell público. Para canales de cara al público, restringe la superficie de herramientas en la configuración global de tool-policy en lugar de esperar un tools_allow por canal (no existe tal campo por canal).

Límites de frecuencia

La gestión de los límites de frecuencia varía según el canal. Twitch escribe directamente tramas IRC PRIVMSG y no tiene ningún limitador específico del adaptador. Si te encuentras con una limitación de frecuencia persistente, reduce desde el origen la cadencia de publicación del agente en lugar de depender de ajustes de streaming por canal (ninguno de estos canales expone intervalos de actualización de borradores; su esquema es intencionadamente minimalista).