Limita il bot Archyl per canale: la stanza giusta, i progetti giusti
Quando a giugno abbiamo portato Archyl in Slack e Teams, il bot rispondeva su ogni progetto della tua organizzazione, in ogni canale. Per un team piccolo è il default giusto. Per un workspace con un team pagamenti, un team prestiti e un team piattaforma, significa che qualcuno in #payments chiede «cosa dipende dal ledger?» e ottiene una risposta sul ledger della piattaforma di prestiti, nella stanza sbagliata, e nessuno se ne accorge finché non viene presa una decisione su quella base.
Da oggi puoi limitare un canale a ciò che dovrebbe vedere. Un amministratore limita un canale Slack o una conversazione Teams a uno o più team, oppure a un elenco esplicito di progetti. Tutto il resto dell'organizzazione resta invisibile a quel canale. I canali che non hai limitato mantengono il default a livello di organizzazione.
Limitare #payments al team Payments
Supponiamo che il team Payments possieda tre progetti: Checkout, Billing e PaymentService. In Archyl, apri Organizzazione → Bot → Ambito del canale e clicca su Limita un canale. Tre passaggi:
- Cosa vede il canale. Scegli il team Payments. Oppure scegli i progetti uno per uno, se il canale non corrisponde a un team.
- Quale canale. Scegli Slack o Teams e digita un nome per l'elenco,
#payments. Clicca su Ottieni il comando. - Incollate questo in #payments. Archyl mostra un comando. Invialo nel canale:
@Archyl scope K7Q4M2PX
Il bot conferma nel canale con l'ambito che ha applicato e i progetti a cui lo ha risolto:
✅ This channel is now scoped to team "Payments" — Billing, Checkout, PaymentService.
Il canale compare nell'elenco di Archyl nel momento in cui il codice viene applicato, senza ricaricare la pagina. Da lì in poi, #payments risponde su quei tre progetti e su nient'altro. Chiedigli della piattaforma di prestiti e non ha nulla da cui rispondere: il progetto non è nel suo contesto, e gli strumenti si rifiutano di recuperarlo.
Poiché l'ambito è un team e non un elenco di ID di progetto, segue il team. Quando Payments prenderà in carico un quarto progetto il prossimo trimestre, il canale lo coprirà alla prossima domanda. Il collegamento viene espanso al momento della risposta, non copiato quando lo crei.
Perché un codice e non un pulsante
Il bot risponde con i permessi dell'amministratore che lo ha collegato, e non può sapere chi sta scrivendo in un canale. Un comando slash che chiunque potesse eseguire permetterebbe a qualsiasi membro del canale di ampliare o restringere ciò che il bot rivela. Per questo la limitazione parte da Archyl: il codice viene generato da un amministratore dell'organizzazione, è valido per 15 minuti e funziona una sola volta.
Incollarlo nel canale è ciò che dice ad Archyl quale canale intendevi, perché il bot non può leggere nemmeno i nomi dei canali. Il nome che hai digitato al passaggio 2 è un'etichetta per l'elenco. Il collegamento vero e proprio è con il canale in cui incolli il comando.
Imposto a livello di strumenti, non nel prompt
Un canale limitato riceve sì un prompt di sistema più ristretto che nomina i progetti di cui può parlare. Quella è un'indicazione, e un'indicazione non è un confine. Il confine sta più in basso.
Ogni chiamata che il bot fa al server MCP di Archyl porta con sé l'elenco dei progetti consentiti del canale, e il server lo applica a ogni chiamata. Uno strumento a cui viene chiesto un elemento per ID verifica in quale progetto vive quell'elemento e rifiuta se è fuori dall'ambito. Gli strumenti di elenco filtrano i risultati allo stesso modo. In modalità diretta, dove il bot risponde da un pacchetto di contesto invece di chiamare strumenti, lo stesso elenco di progetti consentiti restringe il pacchetto. Chiedere il container di un altro progetto tramite il suo ID non funziona, perché il rifiuto avviene prima che venga letto qualsiasi dato.
Due conseguenze che vale la pena conoscere:
- Gli ADR, la documentazione e i contratti API a livello di organizzazione restano visibili in un canale limitato. Appartengono all'organizzazione, non a un progetto, quindi il filtro per progetto non si applica a loro.
- L'ambito è fail-closed. Un canale collegato a un team che non possiede alcun progetto non risponde nulla e lo dice, invece di ricadere in silenzio sull'intera organizzazione.
Ampliarlo di nuovo
Clicca su Rimuovi accanto al canale nell'elenco di Archyl. Il canale torna al default a livello di organizzazione alla domanda successiva.
Disponibilità
Il bot Slack e Teams fa parte dei piani Business, Scale e Custom, e la limitazione per canale è inclusa. La guida completa è nella documentazione, sotto Limitare un canale a un team o a dei progetti.
Se il tuo bot vive già in un workspace condiviso, il primo canale da limitare è quello in cui la risposta sbagliata costerebbe di più. Per la maggior parte dei team è quello con «payments» nel nome.