Vai al contenuto
Guide

Thread e sessioni Slack in OpenClaw

Come messaggi diretti, canali e messaggi diretti di gruppo diventano sessioni, suffissi di thread e radici inizializzate, ambito della cronologia e padre ereditato, menzioni implicite, modalità di risposta e broadcast, l’opzione top-level e i messaggi diretti Agent View

6 min di lettura

I thread di Slack nascondono i loro messaggi dal canale, ed è proprio per questo che il modello delle sessioni deve essere preciso su quale sessione OpenClaw contiene un messaggio e dove arriva la risposta. Ecco la corrispondenza tra superfici Slack e sessioni, le regole dei thread, i controlli delle risposte con l’unica differenza rispetto a Telegram che vale la pena ricordare, e l’esperienza Agent View, in cui è Slack stesso a gestire i thread.

Sessioni

  • I messaggi diretti vengono instradati come direct, i canali come channel e i messaggi diretti di gruppo come group; i binding di instradamento accettano gli ID peer grezzi più i formati di destinazione Slack per un canale, un utente o una menzione utente; con l’ambito dei messaggi diretti main predefinito, i messaggi diretti ordinari confluiscono nella sessione principale dell’agente, mentre le radici Agent View e i thread Assistant View esistenti restano isolati come sessioni di thread; e le sessioni dei canali sono indicizzate per agente, canale e ID del canale.
  • I messaggi ordinari di primo livello nei canali restano sulla sessione per canale anche quando la modalità di risposta non è off, mentre le risposte nei thread di canali, messaggi diretti di gruppo, Agent View e Assistant View usano il timestamp del thread padre come suffisso di thread; il thread di risposta di un messaggio diretto ordinario resta un semplice elemento dell’interfaccia sulla sessione di base del messaggio diretto.
  • OpenClaw inizializza una radice di primo livello idonea di un canale in una sessione di thread indicizzata con il timestamp di quella radice quando ci si aspetta che la radice avvii un thread visibile, così la radice e le sue risposte successive condividono un’unica sessione; questo vale per gli eventi app-mention, le corrispondenze esplicite con il bot o con un pattern di menzione configurato, e i canali senza obbligo di menzione la cui modalità di risposta non è off.
  • L’ambito della cronologia dei thread è thread per impostazione predefinita, l’ereditarietà dal padre è false per impostazione predefinita, e il limite della cronologia iniziale decide quanti messaggi esistenti del thread vengono recuperati quando inizia una nuova sessione di thread: 20 per impostazione predefinita, zero per disattivarlo.
I thread di Slack nascondono i messaggi dal canale, mentre le risposte su Telegram restano visibili in linea.

Risposte, tag e broadcast

Due flag di menzione implicita decidono cosa aggira il filtro sulle menzioni: una risposta a un messaggio del bot stesso e un messaggio successivo in un thread in cui il bot ha risposto, entrambi true per impostazione predefinita, con il secondo da impostare su false quando vuoi una nuova menzione esplicita nei messaggi successivi; il fix di doctor migra la vecchia chiave dei thread require-explicit-mention a questo flag positivo, gli override per account si trovano nel blocco implicit-mentions dell’account e i valori predefiniti condivisi nei valori predefiniti del canale. La modalità di risposta è off per impostazione predefinita, con first, all e batched come alternative, e si può impostare per canale, per tipo di chat (direct, group e channel) e, per le chat dirette, tramite la modalità di risposta legacy dei messaggi diretti. I tag di risposta manuali puntano al messaggio corrente o a un ID messaggio specifico. Una risposta esplicita in un thread inviata dallo strumento message può impostare reply-broadcast così che Slack pubblichi la risposta anche nel canale padre; questo corrisponde al flag broadcast di post-message e funziona solo per invii di testo o Block Kit, non per caricamenti di media. Una chiamata allo strumento message eseguita all’interno di un thread e diretta allo stesso canale normalmente eredita il thread corrente secondo la modalità di risposta effettiva dell’account, del tipo di chat o del canale, le risposte automatiche e le chiamate di invio o caricamento sullo stesso canale usano lo stesso override, e un flag top-level o un ID thread null forzano invece un nuovo messaggio nel canale padre. La modalità di risposta off disattiva il threading facoltativo in uscita, compresi i tag espliciti, a differenza di Telegram, dove i tag espliciti vengono comunque rispettati in off; Agent View e Assistant View sono esperienze a thread gestite da Slack, le cui risposte e il cui stato restano comunque sulla radice visibile, e off non appiattisce le altre sessioni di thread in entrata.

Messaggi diretti Agent View

  • Agent View è l’esperienza di messaggistica di Slack per le app di IA: Slack contrassegna l’app come agente, ogni messaggio scritto nel composer di primo livello della scheda Messages avvia una nuova radice che Slack mette in thread da sé, i messaggi successivi appartengono al thread di quella radice, e OpenClaw tratta ogni radice come una conversazione separata con un suffisso di thread sopra qualunque sessione di base selezioni l’ambito dei messaggi diretti, così le radici restano isolate anche con l’ambito main.
  • I messaggi successivi nel thread di una radice restano sulla sessione di quella radice, un nuovo messaggio nel composer avvia una nuova sessione, le risposte e lo stato del thread restano sulla radice visibile indipendentemente dalla modalità di risposta perché è Slack a gestire i thread, e le entità della vista attiva raggiungono l’agente solo come contesto strutturato non attendibile, nell’ordine di rilevanza di Slack; un messaggio diretto che non ne contiene nessuna le azzera per quel turno invece di riutilizzare quelle vecchie.
  • Slack non dichiara mai quale esperienza usa un’app, quindi OpenClaw registra Agent View dal primo segnale che vede: un evento app-context-changed, un messaggio diretto che porta un contesto dell’app, oppure la chiamata suggested-prompts senza thread che effettua quando un membro apre la scheda Messages, dove sia ok sia internal-error valgono come prova e una risposta not-agent-app significa Assistant View; un messaggio diretto il cui timestamp del thread coincide con il proprio timestamp viene riconosciuto da solo come radice gestita da Slack, il marcatore è persistente e indicizzato per account, spazio di lavoro e ID dell’app, Socket Mode legge l’ID dell’app dal token dell’app all’avvio, la modalità HTTP lo apprende dal primo evento firmato e lo registra nei log una volta, e la modalità relay conserva il marcatore solo nel processo in esecuzione.

OpenClaw su Slack è l’articolo sul canale a cui appartengono queste sessioni, e il comportamento dei messaggi Slack in OpenClaw mostra come appare la conversazione mentre viene prodotta una risposta.

Una sessione per thread, di proposito

Inizializzare la radice nella sessione di thread è ciò che permette a una menzione in un canale affollato di diventare un thread di lavoro privato con la propria memoria, invece di far ricadere ogni risposta nella sessione condivisa del canale. L’instradamento dei canali in OpenClaw spiega come la sessione del canale sceglie il proprio agente, e la guida alla ricerca delle sessioni in OpenClaw come ritrovare in seguito una di queste sessioni di thread.

Su Diali

Slack è uno dei canali che Diali collega dalla dashboard, con la configurazione del motore generata e sostituita a ogni rilascio, quindi le chiavi di thread e di risposta descritte qui indicano come si comporta un agente ospitato nel tuo spazio di lavoro, non un file che devi mantenere. Slack su Diali è il canale su Diali e OpenClaw ospitato su Diali l’assistente che c’è dietro.

  • Una radice con menzione e il suo thread condividono un’unica sessione.
  • Su Slack off silenzia anche i tag di risposta espliciti; Telegram li mantiene.
  • Ogni radice Agent View è una conversazione a sé.
Inizia ora

Basta leggere, creane uno tuo

Configura un agente, scegli un canale e fallo lavorare dentro l’app che tieni già aperta.