Vai al contenuto
BeeuniBeeuni
Italiano
Esc
↑↓naviga↵apri⌘Janteprima
In questa pagina

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:

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 connect

Su 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 status

Esegui 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_history e get_thread aggiungono user_name a ogni messaggio il cui autore può essere identificato da Slack, accanto all’id user. Ogni lettura identifica al massimo 25 persone; i nomi che Slack non restituisce entro 2 secondi vengono omessi.
  • list_channels elenca tutti i canali pubblici e i canali privati e messaggi diretti che l’agente può leggere.
  • channel_info risponde per qualsiasi canale pubblico. Per un canale privato o un messaggio diretto, si applica la tabella sopra.
  • file_info risponde se il file è condiviso in una conversazione che l’agente può leggere o in un thread di questo progetto. slack download segue la stessa regola: se un file è condiviso solo nella conversazione di un altro progetto, restituisce 403. Il download si interrompe a 50 MB e restituisce 413.
  • search_messages viene 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_info e auth_test leggono 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.

Questa pagina ti è stata utile?