Skip to main content
Stato: Sperimentale. Aggiunto nella versione 2026.1.9. Solo WhatsApp (canale web).

Panoramica

I gruppi broadcast eseguono più agenti sullo stesso messaggio in arrivo. Ogni agente elabora il messaggio nella propria sessione isolata e pubblica la propria risposta, quindi un singolo numero WhatsApp può ospitare un team di agenti specializzati in un’unica chat di gruppo o in un messaggio diretto. I gruppi broadcast vengono valutati dopo le liste di elementi consentiti del canale e le regole di attivazione dei gruppi. Nei gruppi WhatsApp, il broadcast avviene quando OpenClaw risponderebbe normalmente (ad esempio, in caso di menzione, a seconda delle impostazioni del gruppo). Modificano solo quali agenti vengono eseguiti, mai l’idoneità di un messaggio all’elaborazione. Il flusso QA WhatsApp live include whatsapp-broadcast-group-fanout, che verifica che un singolo messaggio di gruppo con menzione possa produrre risposte visibili distinte da due agenti configurati.

Configurazione

Configurazione di base

Aggiungi una sezione broadcast di primo livello (accanto a bindings). Le chiavi sono gli ID dei peer WhatsApp, mentre i valori sono array di ID agente:
  • chat di gruppo: JID del gruppo (ad es. 120363403215116621@g.us)
  • messaggi diretti: numero di telefono E.164 del mittente (ad es. +15551234567)
Risultato: quando OpenClaw risponderebbe in questa chat, esegue tutti e tre gli agenti. Ogni ID agente elencato deve esistere in agents.list: la convalida della configurazione segnala gli ID sconosciuti e il runtime li ignora con un avviso Broadcast agent <id> not found in agents.list; skipping.

Strategia di elaborazione

broadcast.strategy stabilisce come gli agenti elaborano il messaggio:

Esempio completo

Funzionamento

Flusso dei messaggi

1

Arriva un messaggio in ingresso

Arriva un messaggio da un gruppo WhatsApp o da un messaggio diretto.
2

Instradamento e ammissione

OpenClaw applica le liste di elementi consentiti del canale, le regole di attivazione dei gruppi e la proprietà dei binding ACP configurati.
3

Verifica del broadcast

Se nessun binding ACP configurato è proprietario della route, OpenClaw verifica se l’ID del peer è presente in broadcast.
4

Se si applica il broadcast

  • Tutti gli agenti elencati elaborano il messaggio.
  • Ogni agente dispone della propria chiave di sessione e di un contesto isolato.
  • Gli agenti elaborano in parallelo (impostazione predefinita) o in sequenza.
  • Gli allegati audio vengono trascritti una sola volta prima della distribuzione, così gli agenti condividono un’unica trascrizione anziché effettuare chiamate STT separate.
5

Se il broadcast non si applica

OpenClaw inoltra alla route ordinaria o alla route della sessione ACP configurata selezionata durante l’instradamento.
I gruppi broadcast non ignorano le liste di elementi consentiti del canale né le regole di attivazione dei gruppi (menzioni/comandi/ecc.). Modificano solo quali agenti vengono eseguiti quando un messaggio è idoneo all’elaborazione.

Isolamento delle sessioni

Ogni agente in un gruppo broadcast mantiene completamente separati:
  • Chiavi di sessione (agent:alfred:whatsapp:group:120363... rispetto a agent:baerbel:whatsapp:group:120363...)
  • Cronologia della conversazione (un agente non vede le risposte degli altri agenti)
  • Area di lavoro (sandbox separate, se configurate)
  • Accesso agli strumenti (elenchi di autorizzazioni/divieti differenti)
  • Memoria/contesto (IDENTITY.md, SOUL.md e così via separati)
Un’eccezione è intenzionalmente condivisa: il buffer del contesto di gruppo (i messaggi recenti del gruppo utilizzati come contesto) è condiviso per peer, quindi tutti gli agenti broadcast vedono lo stesso contesto quando vengono attivati. Viene svuotato una volta al termine della distribuzione. Ciò consente a ogni agente di avere personalità, modelli, Skills e accesso agli strumenti differenti (ad esempio, sola lettura rispetto a lettura e scrittura).

Esempio: sessioni isolate

Nel gruppo 120363403215116621@g.us con gli agenti ["alfred", "baerbel"]:

Casi d’uso

  • Team di agenti specializzati: un gruppo di sviluppo in cui code-reviewer, security-auditor, test-generator e docs-checker rispondono ciascuno allo stesso messaggio dalla propria prospettiva.
  • Supporto multilingue: un’unica chat di supporto con support-en, support-de e support-es che rispondono nelle rispettive lingue.
  • Garanzia della qualità: support-agent risponde mentre qa-agent esamina la risposta e interviene solo quando rileva problemi.
  • Automazione delle attività: task-tracker, time-logger e report-generator elaborano tutti lo stesso aggiornamento di stato.

Procedure consigliate

Assegna a ciascun agente un’unica responsabilità chiara (formatter, linter, tester) anziché utilizzare un agente generico “dev-helper”.
reviewer dispone dell’accesso in sola lettura. fixer può leggere e scrivere.
Con molti agenti, preferisci "strategy": "parallel" (impostazione predefinita), limita i gruppi broadcast a pochi agenti e usa modelli più veloci per gli agenti più semplici.
Gli agenti possono generare errori in modo indipendente. L’errore di un agente viene registrato (Broadcast agent <id> failed: ...) e non blocca gli altri.

Compatibilità

Provider

I gruppi broadcast sono attualmente implementati solo per WhatsApp (canale web). Gli altri canali ignorano la configurazione broadcast.

Instradamento

I gruppi broadcast funzionano insieme all’instradamento esistente:
  • GROUP_A: risponde solo alfred (instradamento normale).
  • GROUP_B: rispondono agent1 E agent2 (broadcast).
Precedenza: broadcast ha priorità sui binding di route ordinari. I binding ACP configurati (bindings[].type="acp") sono esclusivi: quando uno corrisponde, OpenClaw inoltra alla sessione ACP configurata anziché eseguire la distribuzione broadcast.

Risoluzione dei problemi

Verifica:
  1. Gli ID agente esistono in agents.list (la convalida della configurazione rifiuta gli ID sconosciuti).
  2. Il formato dell’ID peer è corretto (un JID di gruppo come 120363403215116621@g.us oppure un numero E.164 come +15551234567 per i messaggi diretti).
  3. Il messaggio ha superato i normali controlli di ammissione (le regole di menzione/attivazione continuano ad applicarsi).
Debug:
Una distribuzione riuscita registra Broadcasting message to <n> agents (<strategy>).
Causa: l’ID peer potrebbe essere presente nei binding di route ordinari ma non in broadcast, oppure potrebbe corrispondere a un binding ACP configurato esclusivo.Soluzione: aggiungi alla configurazione broadcast i peer associati a route ordinarie oppure rimuovi/modifica il binding ACP configurato se desideri la distribuzione broadcast.
Se le prestazioni sono lente con molti agenti: riduci il numero di agenti per gruppo, usa modelli più leggeri e controlla il tempo di avvio della sandbox.

Esempi

Un singolo frammento di codice nel gruppo produce quattro risposte: correzioni di formattazione, un problema di sicurezza, una lacuna nella copertura e un’osservazione minore sulla documentazione.

Riferimento API

Schema di configurazione

Campi

"parallel" | "sequential"
predefinito:"\"parallel\""
Modalità di elaborazione degli agenti. parallel esegue tutti gli agenti simultaneamente; sequential li esegue nell’ordine dell’array.
string[]
JID del gruppo WhatsApp o numero di telefono E.164. Il valore è l’array degli ID degli agenti che devono elaborare tutti i messaggi provenienti da quel peer.

Limitazioni

  1. Numero massimo di agenti: non esiste un limite rigido, ma molti agenti (10 o più) possono rallentare l’elaborazione.
  2. Contesto condiviso: gli agenti non vedono le risposte reciproche (per progettazione).
  3. Ordine dei messaggi: le risposte parallele possono arrivare in qualsiasi ordine.
  4. Limiti di frequenza: tutte le risposte provengono da un unico account WhatsApp, quindi la risposta di ogni agente contribuisce agli stessi limiti di frequenza di WhatsApp.

Argomenti correlati