Slack e canali
Collega Slack a un progetto e controlla le sessioni da un canale.
Un canale collega una piattaforma di chat a un progetto. Un messaggio in un canale collegato avvia una sessione. L’agente risponde nello stesso thread.
Canali disponibili
Al momento Beeuni supporta quattro piattaforme di canale:
- Slack — collega con un clic tramite l’app gestita da Beeuni oppure usa il tuo token bot.
- Microsoft Teams — collega tramite OAuth con consenso dell’amministratore dell’organizzazione oppure usa il tuo Azure Bot (sperimentale; abilitalo in Impostazioni → Flag delle funzionalità).
- Email — un canale basato su AgentMail (sperimentale; abilitalo in Impostazioni → Flag delle funzionalità).
- Voce — un canale vocale in tempo reale (sperimentale; abilitalo in Impostazioni → Flag delle funzionalità). Parla con un agente in tempo reale.
Solo Slack e Microsoft Teams si collegano tramite CLI e dashboard. Email e voce si gestiscono dalla dashboard. Questa pagina tratta Slack. Teams segue le stesse regole per sessioni, collegamento delle identità e credenziali.
Come un canale avvia una sessione
Il primo messaggio in un thread Slack o in una conversazione Teams crea una sessione. Il thread mantiene la sessione anche dopo l’arresto e la ripresa della sandbox.
In un canale Slack, un messaggio successivo raggiunge la sessione solo se menziona il bot. Le risposte senza menzione sono rivolte alle persone nel thread. L’agente le legge la volta successiva che qualcuno lo menziona. In un messaggio diretto, ogni messaggio raggiunge la sessione.
In un’area di lavoro Slack collegata a più di un progetto, alla prima menzione viene mostrato un selettore di progetto.
Collegamento delle identità
Beeuni collega ogni mittente della chat a un account Beeuni prima che l’agente operi per suo conto. Esegui /beeuni login in Slack e segui il link per accedere. Teams prevede lo stesso requisito. A un mittente non collegato viene chiesto di collegare il proprio account, anziché avviare una sessione.
Un link di accesso funziona una sola volta e scade dopo 10 minuti. Un account Slack collegato a un account Beeuni non può essere collegato a un altro: esegui prima /beeuni logout. Se la tua organizzazione richiede l’autenticazione a due fattori, Beeuni ti chiede il secondo fattore prima di collegarti; la chat viene eseguita con il fattore usato per il collegamento.
Ogni azione viene eseguita con l’account collegato della persona che l’ha intrapresa, usando il ruolo di quell’account nel progetto. I proprietari e gli amministratori degli account sono considerati responsabili del progetto.
| Azione | Chi può eseguirla |
|---|---|
| Menzionare il bot, in un nuovo messaggio o nel suo thread | Un account collegato con accesso al progetto, nel rispetto dei criteri del canale |
| Interrompere un’esecuzione | La persona che ha inviato il messaggio a cui si sta rispondendo, oppure chiunque sia stato approvato per la sessione e possa ancora usare il progetto |
| Modificare il progetto, l’agente, il modello o i criteri del canale | Un responsabile del progetto; in un messaggio diretto con il bot, qualsiasi membro del progetto |
| Intervenire su una revisione | Un responsabile del progetto |
| Approvare o negare una chiamata al connettore | Un responsabile del progetto o la persona che ha avviato la sessione |
Approvare qualcuno in un thread owner_approval |
Il proprietario della sessione |
link-bot |
Un responsabile del progetto |
Dove risiedono le credenziali
Il token bot di un canale collegato è un segreto associato al connettore. Non compare nella pagina Secrets del progetto. Beeuni non lo inietta mai in una sandbox. Beeuni recupera il token lato server quando l’agente invia o legge un messaggio in chat.
Collegare Slack
Avvia la connessione
Dalla CLI, esegui:
beeuni channels connectSu un host con l’app Slack condivisa configurata (ad esempio Beeuni Cloud), viene stampato un link per l’installazione con un clic. Apri il link e scegli l’area di lavoro. Fai clic su Consenti. Aggiungi --wait per fare in modo che il comando attenda fino al completamento dell’installazione.
In alternativa, apri la pagina Channels del progetto nella dashboard e collega Slack da lì. Verrà usato lo stesso flusso di installazione.
Usa la tua app Slack
Per usare la tua app Slack, esegui beeuni channels manifest per stampare un manifest dell’app. Crea l’app da quel manifest su api.slack.com/apps. Installa l’app nella tua area di lavoro. Poi esegui:
beeuni channels connect --manual --bot-token xoxb-... --signing-secret ...Verifica la connessione
beeuni channels statusEsegui beeuni channels disconnect per rimuovere la connessione. Consulta il riferimento della CLI per tutti i flag.
Collegando Slack viene aggiunta per te una voce channel connettore a beeuni.yaml. Non devi mai scrivere questa voce manualmente.
Usare Slack
Menziona il bot con un’attività in qualsiasi canale a cui ha accesso, oppure apri un messaggio diretto. Come descritto sopra, il thread mantiene la sessione. Per continuare, menziona di nuovo il bot nel thread del canale. Una menzione senza attività genera un promemoria che ti invita ad aggiungerne una, invece di avviare una sessione.
Cosa può leggere l’agente
L’agente legge Slack tramite il connettore Slack del progetto (beeuni_slack oppure il comando slack nella sandbox). Tutti i progetti collegati alla stessa area di lavoro Slack usano lo stesso bot, quindi Beeuni limita ogni lettura alle conversazioni del progetto interessato:
| Conversazione | Lettura |
|---|---|
| Un canale o un messaggio diretto collegato a questo progetto | Consentita |
| Un thread avviato o a cui ha partecipato una sessione di questo progetto, in qualsiasi canale | Consentita |
| Un canale, messaggio diretto o thread di un altro progetto | Rifiutata |
| Una conversazione non collegata ad alcun progetto | Consentita solo se all’area di lavoro non è collegato nessun altro progetto |
Una lettura rifiutata restituisce 403 con il motivo conversation_not_in_project e un messaggio che identifica la conversazione. Per leggere una conversazione non collegata ad alcun progetto, collegala prima: esegui /beeuni switch nella conversazione e scegli questo progetto.
- La cronologia del canale esclude i messaggi appartenenti al thread di un altro progetto.
get_historyeget_threadaggiungonouser_namea ogni messaggio il cui autore può essere identificato da Slack, accanto all’iduser. Ogni lettura identifica al massimo 25 persone; i nomi che Slack non restituisce entro 2 secondi vengono omessi.list_channelselenca tutti i canali pubblici e i canali privati e messaggi diretti che l’agente può leggere.channel_inforisponde per qualsiasi canale pubblico. Per un canale privato o un messaggio diretto, si applica la tabella sopra.file_inforisponde se il file è condiviso in una conversazione che l’agente può leggere o in un thread di questo progetto.slack downloadsegue la stessa regola: se un file è condiviso solo nella conversazione di un altro progetto, restituisce403. Il download si interrompe a 50 MB e restituisce413.search_messagesviene eseguito solo se all’area di lavoro non è collegato nessun altro progetto, perché la ricerca non può essere limitata alle conversazioni di un singolo progetto.list_users,user_infoeauth_testleggono la directory dell’area di lavoro e non sono soggetti a limitazioni.
Le scritture seguono la regola descritta di seguito.
Cosa può pubblicare l’agente
Pubblicare, inviare un file, modificare, eliminare, aggiungere una reazione, accedere a un canale e associare un thread seguono un’unica regola: l’agente non opera mai all’interno del canale o del thread di un altro progetto.
| Destinazione | Scrittura |
|---|---|
| Un canale di questo progetto oppure un thread avviato o a cui ha partecipato una delle sue sessioni | Consentita |
| Un canale non collegato ad alcun progetto | Consentita. Un nuovo messaggio avvia il thread di questo progetto, quindi una risposta che menziona il bot torna alla sessione |
| Un messaggio diretto con una persona | Consentita, anche se il messaggio diretto di quella persona con il bot è gestito da un altro progetto |
| Un canale o un messaggio diretto di gruppo di un altro progetto | Rifiutata |
| Un thread di un altro progetto, in qualsiasi conversazione | Rifiutata: nesbeeuni risposta, modifica, eliminazione o reazione |
Una scrittura rifiutata restituisce 403 con il motivo conversation_not_in_project e un messaggio che identifica la conversazione. slack send --file e slack bind-thread seguono la stessa regola.
channel deve essere l’id della conversazione o dell’utente, ad esempio C0123ABCD o U0123ABCD, non il nome di un canale. Slack pubblica in base a un nome, che non può essere verificato rispetto alla regola. Se Slack pubblica comunque un messaggio in una conversazione diversa da quella verificata, Beeuni lo elimina e rifiuta la pubblicazione.
Per pubblicare in un canale gestito da un altro progetto, esegui /beeuni switch nel canale e scegli questo progetto, oppure pubblica da quel progetto.
Controllare una sessione con i comandi slash
Digita questi comandi come /beeuni <command> in Slack o come testo normale in un messaggio diretto. I comandi slash non vengono eseguiti nel pannello dei messaggi diretti dell’Assistente, quindi Beeuni interpreta lì le stesse parole come testo normale.
| Comando | Funzione |
|---|---|
login, logout |
Collega o scollega la tua identità Slack |
switch, unbind |
Ricollega o scollega questo canale dal progetto |
projects |
Elenca i progetti a cui puoi collegarti |
sessions |
Elenca le sessioni recenti avviate in questa area di lavoro |
whoami |
Mostra il pannello del canale: progetto, agente, modello, criteri e identità collegata |
models |
Sceglie il modello per questo canale — vedi Modelli e chiavi |
agent <name>, model <id> |
Imposta l’agente o il modello usato da questo canale |
policy <mode> |
Imposta chi può avviare sessioni qui |
help |
Elenca tutti i comandi |
policy accetta project_open (impostazione predefinita: qualsiasi membro del progetto che menzioni il bot avvia una sessione), owner_approval o owner_only. È un’impostazione per singola risorsa, applicata a un canale, non un ruolo. Non concede alcun permesso negato dalla decisione sul ruolo: vedi Account e accesso.
Modelli e chiavi
/beeuni models elenca tutti i modelli che puoi usare qui, come nel selettore web: i modelli Beeuni e quelli accessibili tramite una chiave API del provider o un abbonamento ChatGPT. Per ciascuno indica come viene pagato. Se l’elenco è lungo, puoi digitare nel menu a discesa. Scegli un modello oppure digita /beeuni model <id>; /beeuni model default ripristina il valore predefinito del progetto.
Le chiavi disponibili dipendono dalla conversazione:
- Un messaggio diretto con il bot — le tue chiavi personali e il tuo abbonamento ChatGPT, oltre alle chiavi condivise con il progetto. Le sessioni sono private.
- Un canale o un messaggio diretto di gruppo — solo le chiavi condivise con l’intero progetto. Per usare un modello che si basa sulle tue chiavi personali, scegli un messaggio diretto.
Un modello che usa chiavi utilizza tutte le chiavi disponibili per il relativo provider, alternandole in caso di limiti di frequenza. Il modello del canale viene usato per avviare ogni nuovo thread; un thread mantiene il modello con cui è stato avviato. Se un thread non può più usare il proprio modello, per quel messaggio viene usato un modello sostitutivo invece di interromperlo. Vedi Chiavi dei provider e accesso dei membri.
Un messaggio di continuazione con un’immagine viene elaborato da un modello in grado di leggere immagini. Se nessun modello disponibile può farlo, il prompt informa l’agente che non riesce a vedere l’immagine e gli chiede di fornire il testo, invece di indovinare.
Nomi di canali e persone
Slack invia ID, come C0123ABCD e U0123ABCD. Beeuni mostra i nomi visibili alle persone in Slack e conserva gli ID per le operazioni.
| Dove | Cosa viene mostrato |
|---|---|
La pagina Channels, beeuni channels bindings |
#channel per un canale pubblico o privato, la persona per un messaggio diretto, i membri per un messaggio diretto di gruppo |
| Un messaggio Slack in una sessione | Il nome del mittente e #channel |
Una risposta slack send in una sessione |
#channel oppure la persona in un messaggio diretto |
| Il titolo della sessione | Le menzioni come appaiono in Slack: @Beeuni, non <@U0123ABCD> |
| Il prompt dell’agente | Nomi accanto agli ID: Sam Rivera (U0123ABCD), #general (C0123ABCD) |
| I passaggi del piano dell’agente in Slack | Una persona come @Sam Rivera, un canale come #general. Un passaggio non invia mai notifiche |
| Una scheda di approvazione in Slack | Un parametro di canale come link al canale, denominato da Slack in base ai tuoi accessi. Un parametro utente con il nome della persona |
Se Slack non riesce a trovare un canale, viene indicato come Canale non disponibile e l’ID viene conservato. Succede se il canale è stato eliminato o il bot è stato rimosso. I nomi che Slack non restituisce entro 2 secondi vengono omessi dal messaggio. Il prompt riporta solo gli ID e il turno non attende.
Approvazioni
Quando l’agente ha bisogno della decisione di una persona prima di procedere, crea un elemento di revisione. Se la sessione è stata avviata da questo thread, qui viene mostrata una scheda con il titolo, un riepilogo, un livello di rischio e le opzioni Approva, Richiedi modifiche e Nega.
Richiedi modifiche apre un campo per specificare cosa cambiare. Il testo inserito viene salvato insieme alla decisione e trasmesso all’agente, che non dovrà chiedertelo una seconda volta. È facoltativo: se invii il campo vuoto, all’agente viene detto di chiedere. Per approvare o negare basta un clic.
Per intervenire su una revisione serve un account Beeuni collegato con accesso in scrittura al progetto.
Interrompere un’esecuzione
Mentre l’agente lavora, il suo messaggio in tempo reale mostra un pulsante Interrompi. Arresta l’esecuzione nell’ambiente runtime, non solo nel messaggio: se l’esecuzione resta attiva, assorbe il messaggio successivo nel thread invece di rispondervi.
Può interromperla la persona che ha inviato il messaggio a cui si sta rispondendo, così come chiunque sia stato approvato per la sessione, purché possa ancora usare il progetto. Chiunque altro nel canale non può farlo e riceve una nota privata che lo informa.
Funzionalità non disponibili
- I comandi slash non vengono eseguiti nel pannello dei messaggi diretti dell’Assistente. Lì digita invece
/beeuni <command>come testo normale. - Al momento non sono supportate altre piattaforme di chat, incluso Telegram. Solo Slack e Microsoft Teams si collegano tramite CLI e dashboard; email e voce si collegano tramite dashboard.