Restrinja o bot do Archyl por canal: a sala certa, os projetos certos

Quando colocamos o Archyl no Slack e no Teams em junho, o bot respondia sobre todos os projetos da sua organização, em todos os canais. Para uma equipe pequena, esse é o padrão certo. Para um workspace com uma equipe de pagamentos, uma equipe de empréstimos e uma equipe de plataforma, significa que alguém no #payments pergunta "o que depende do ledger?" e recebe uma resposta sobre o ledger da plataforma de empréstimos, na sala errada, e ninguém percebe até que uma decisão seja tomada com base nela.

A partir de hoje você pode restringir um canal ao que ele deveria ver. Um administrador restringe um canal do Slack ou uma conversa do Teams a uma ou mais equipes, ou a uma lista explícita de projetos. Todo o resto da organização fica invisível para esse canal. Os canais que você não restringiu mantêm o padrão de toda a organização.

Restringindo o #payments à equipe de Payments

Digamos que a equipe de Payments seja dona de três projetos: Checkout, Billing e PaymentService. No Archyl, abra Organização → Bot → Âmbito do canal e clique em Restringir um canal. Três passos:

  1. O que o canal vê. Escolha a equipe de Payments. Ou escolha os projetos um a um, se o canal não corresponder a uma equipe.
  2. Que canal. Escolha Slack ou Teams e digite um nome para a lista, #payments. Clique em Obter o comando.
  3. Cole isto em #payments. O Archyl mostra um comando. Envie-o no canal:
@Archyl scope K7Q4M2PX

O bot confirma no canal com o escopo que aplicou e os projetos para os quais ele foi resolvido:

✅ This channel is now scoped to team "Payments" — Billing, Checkout, PaymentService.

O canal aparece na lista do Archyl no momento em que o código é aplicado, sem recarregar a página. A partir daí, o #payments responde sobre esses três projetos e nada mais. Pergunte a ele sobre a plataforma de empréstimos e ele não tem de onde responder: o projeto não está no seu contexto, e as ferramentas se recusam a buscá-lo.

Como o escopo é uma equipe e não uma lista de IDs de projeto, ele acompanha a equipe. Quando a Payments assumir um quarto projeto no próximo trimestre, o canal o cobrirá na próxima vez que alguém perguntar. A vinculação é expandida no momento da resposta, não copiada quando você a cria.

Por que um código e não um botão

O bot responde com as permissões do administrador que o conectou, e não consegue saber quem está digitando em um canal. Um comando de barra que qualquer um pudesse executar permitiria a qualquer membro do canal ampliar ou reduzir o que o bot revela. Por isso a restrição começa no Archyl: o código é gerado por um administrador da organização, é válido por 15 minutos e funciona uma única vez.

Colá-lo no canal é o que diz ao Archyl qual canal você quis dizer, porque o bot também não consegue ler nomes de canais. O nome que você digitou no passo 2 é um rótulo para a lista. A vinculação em si é com o canal em que você colar o comando.

Imposto na camada de ferramentas, não no prompt

Um canal restrito recebe, sim, um prompt de sistema mais estreito que nomeia os projetos sobre os quais ele pode falar. Isso é uma orientação, e uma orientação não é um limite. O limite fica mais abaixo.

Toda chamada que o bot faz ao servidor MCP do Archyl carrega a lista de projetos permitidos do canal, e o servidor a aplica a cada chamada. Uma ferramenta que recebe um pedido de elemento por ID verifica em qual projeto esse elemento vive e recusa se ele estiver fora do escopo. As ferramentas de listagem filtram seus resultados da mesma forma. No modo direto, em que o bot responde a partir de um pacote de contexto em vez de chamar ferramentas, a mesma lista de permitidos reduz o pacote. Pedir o container de outro projeto pelo seu ID não funciona, porque a recusa acontece antes de qualquer dado ser lido.

Duas consequências que vale a pena conhecer:

  • ADRs, documentação e contratos de API no nível da organização continuam visíveis em um canal restrito. Eles pertencem à organização, não a um projeto, então o filtro por projeto não se aplica a eles.
  • O escopo falha fechado. Um canal vinculado a uma equipe que não é dona de nenhum projeto não responde nada e diz isso, em vez de voltar silenciosamente para toda a organização.

Ampliando de novo

Clique em Remover ao lado do canal na lista do Archyl. O canal volta ao padrão de toda a organização na próxima pergunta.

Disponibilidade

O bot do Slack e Teams faz parte dos planos Business, Scale e Custom, e a restrição por canal vem junto. O passo a passo completo está na documentação, em Restringir um canal a uma equipe ou a projetos.

Se o seu bot já vive em um workspace compartilhado, o primeiro canal a restringir é aquele em que a resposta errada custaria mais caro. Para a maioria das equipes, é o que tem "payments" no nome.