Pular para o conteúdo
Guias

Threads e sessões do Slack no OpenClaw

Como mensagens diretas, canais e mensagens diretas em grupo viram sessões, sufixos de thread e raízes semeadas, escopo de histórico e herança da mensagem pai, menções implícitas, modos de resposta e broadcast, o opt-out de nível superior, e as mensagens diretas do Agent View

6 min de leitura

As threads do Slack escondem suas mensagens do canal, e é exatamente por isso que o modelo de sessões precisa ser preciso sobre a qual sessão do OpenClaw uma mensagem pertence e onde a resposta chega. Aqui estão o mapeamento das superfícies do Slack para sessões, as regras de thread, os controles de resposta, com a única diferença em relação ao Telegram que vale lembrar, e a experiência Agent View, em que o próprio Slack controla as threads.

Sessões

  • Mensagens diretas são roteadas como direct, canais como channel e mensagens diretas em grupo como group; os vínculos de rota aceitam IDs brutos de peer, além das formas de destino do Slack para um canal, um usuário ou uma menção a usuário; com o escopo main de mensagens diretas, que é o padrão, as mensagens diretas comuns se juntam na sessão principal do agente, enquanto as raízes do Agent View e as threads existentes do Assistant View continuam isoladas como sessões de thread; e as sessões de canal são indexadas por agente, canal e ID do canal.
  • Mensagens comuns de nível superior no canal ficam na sessão por canal mesmo quando o modo de resposta não é off, enquanto as respostas em thread de canais, de mensagens diretas em grupo, do Agent View e do Assistant View usam o timestamp da thread pai como sufixo de thread; uma thread de resposta em uma mensagem direta comum continua sendo apenas um recurso de interface sobre a sessão base da mensagem direta.
  • O OpenClaw semeia uma raiz de canal de nível superior elegível em uma sessão de thread indexada pelo timestamp dessa raiz quando se espera que a raiz inicie uma thread visível, para que a raiz e as respostas posteriores compartilhem uma única sessão; isso se aplica a eventos app-mention, a correspondências explícitas com o bot ou com padrões de menção configurados, e a canais sem exigência de menção cujo modo de resposta não é off.
  • O escopo de histórico da thread tem thread como padrão, a herança da mensagem pai tem false como padrão, e o limite de histórico inicial decide quantas mensagens existentes da thread são buscadas quando uma nova sessão de thread começa: 20 por padrão, e zero para desativar.
As threads do Slack escondem mensagens do canal, enquanto as respostas do Telegram continuam visíveis inline.

Respostas, tags e broadcast

Duas flags de menção implícita decidem o que dispensa a exigência de menção: uma resposta a uma mensagem do próprio bot e uma continuação em uma thread em que o bot já respondeu, ambas true por padrão, com a segunda definida como false quando você quer uma nova menção explícita nas continuações; a correção do doctor migra a antiga chave de thread require-explicit-mention para essa flag positiva, as substituições por conta ficam no bloco implicit-mentions da conta e os padrões compartilhados, nos padrões dos canais. O modo de resposta é off por padrão, com first, all e batched como alternativas, e pode ser definido por canal, por tipo de chat para direct, group e channel, e pelo modo de resposta legado de mensagens diretas para chats diretos. As tags de resposta manuais apontam para a mensagem atual ou para um ID de mensagem específico. Uma resposta explícita em thread feita pela ferramenta de mensagens pode definir reply-broadcast para que o Slack também publique a resposta no canal pai, o que corresponde à flag de broadcast do post-message e só funciona para envios de texto ou Block Kit, não para uploads de mídia. Uma chamada da ferramenta de mensagens executada dentro de uma thread e com destino ao mesmo canal normalmente herda a thread atual de acordo com o modo de resposta efetivo da conta, do tipo de chat ou do canal; as respostas automáticas e as chamadas de envio ou upload no mesmo canal usam a mesma substituição; e uma flag de nível superior ou um ID de thread nulo força, em vez disso, uma nova mensagem no canal pai. O modo de resposta off desativa as threads de saída opcionais, incluindo as tags explícitas, o que é diferente do Telegram, em que as tags explícitas continuam sendo respeitadas em off; o Agent View e o Assistant View são experiências em thread gerenciadas pelo Slack, cujas respostas e status ficam na raiz visível de qualquer forma, e off não achata as outras sessões de thread de entrada.

Mensagens diretas do Agent View

  • O Agent View é a experiência de mensagens do Slack para apps de IA: o Slack marca o app como agente, cada mensagem digitada no campo de composição de nível superior da aba Messages inicia uma nova raiz que o Slack organiza em thread por conta própria, as continuações ficam dentro da thread dessa raiz, e o OpenClaw trata cada raiz como uma conversa separada, com um sufixo de thread sobre a sessão base que o escopo de mensagens diretas selecionar, então as raízes continuam isoladas mesmo com o escopo main.
  • As continuações dentro da thread de uma raiz ficam na sessão dessa raiz, uma nova mensagem no campo de composição inicia uma nova sessão, as respostas e o status da thread ficam na raiz visível independentemente do modo de resposta, porque é o Slack que controla as threads, e as entidades da visualização ativa chegam ao agente apenas como contexto estruturado não confiável, na ordem de relevância do Slack; uma mensagem direta que não traz nenhuma delas as limpa naquele turno, em vez de reutilizar entidades antigas.
  • O Slack nunca informa qual experiência um app usa, então o OpenClaw registra o Agent View a partir do primeiro sinal que vê: um evento app-context-changed, uma mensagem direta com contexto do app, ou a chamada de suggested-prompts sem thread que ele faz quando um membro abre a aba Messages, em que tanto ok quanto internal-error contam como evidência e uma resposta not-agent-app significa Assistant View; uma mensagem direta cujo timestamp de thread é igual ao próprio timestamp é reconhecida por si só como uma raiz gerenciada pelo Slack, o marcador é durável e indexado por conta, espaço de trabalho e ID do app, o Socket Mode lê o ID do app a partir do token do app na inicialização, o modo HTTP o aprende a partir do primeiro evento assinado e o registra no log uma vez, e o modo relay guarda o marcador apenas no processo em execução.

O OpenClaw no Slack é o artigo sobre o canal ao qual essas sessões pertencem, e o comportamento das mensagens do Slack no OpenClaw, como a conversa fica enquanto uma resposta está sendo produzida.

Uma sessão por thread, de propósito

Semear a raiz na sessão de thread é o que permite que uma menção em um canal movimentado vire uma thread de trabalho privada com memória própria, em vez de cada resposta voltar para a sessão compartilhada do canal. O roteamento de canais do OpenClaw explica como a sessão de canal escolhe o agente, e a busca de sessões do OpenClaw, como encontrar de novo uma dessas sessões de thread mais tarde.

Na Diali

O Slack é um dos canais que a Diali conecta pelo painel, com a configuração do motor gerada e substituída a cada versão, então as chaves de thread e de resposta descritas aqui mostram como um agente hospedado se comporta no seu espaço de trabalho, e não um arquivo que você mantém. O Slack na Diali é o canal na Diali, e o OpenClaw hospedado na Diali, o assistente por trás dele.

  • Uma raiz mencionada e sua thread compartilham uma única sessão.
  • Off no Slack também silencia as tags de resposta explícitas; o Telegram as mantém.
  • Cada raiz do Agent View é uma conversa própria.
Começar

Pare de ler sobre isso e crie o seu

Configure um agente, escolha um canal e coloque-o para trabalhar dentro do app que você já deixa aberto.