Threads e sessões do Matrix no OpenClaw
Escopo de sessão de DMs, modos de resposta em thread, herança de threads, vínculos de conversa ACP, a política de vínculo de threads e o histórico de sala só com mensagens pendentes
O Matrix suporta threads nativas, e o OpenClaw trata o encadeamento em threads e o roteamento de sessões como duas decisões independentes: onde uma resposta é publicada e a qual sessão uma conversa pertence. Acrescente os vínculos ACP, que transformam uma sala ou thread em um espaço de trabalho de programação durável, e uma janela de histórico de sala que só carrega o que o agente ainda não viu, e você tem o quadro completo. A seguir: os dois controles, herança e comandos, os vínculos ACP e sua configuração, e as regras de histórico.
Os dois controles
- O escopo de sessão de DMs decide como as salas de DM são mapeadas para sessões: por usuário, o padrão, compartilha uma única sessão entre todas as salas de DM com o mesmo interlocutor roteado, enquanto por sala dá a cada sala de DM do Matrix a sua própria chave de sessão, mesmo para o mesmo interlocutor.
- O encadeamento de respostas decide onde o bot publica: off mantém as respostas no nível superior e as mensagens recebidas em threads na sessão pai, inbound responde dentro de uma thread só quando a mensagem recebida já estava nela, e always responde dentro de uma thread iniciada na mensagem que acionou o bot e roteia essa conversa por uma sessão restrita à thread desde o primeiro acionamento; uma substituição só para DMs pode manter as DMs sem threads enquanto as threads das salas continuam isoladas.
- Selecionar um destino de resposta dentro de uma thread preserva tanto a thread quanto a mensagem selecionada, e os metadados de resposta que clientes mais antigos recebem em mensagens de threads não são tratados como uma mensagem citada no contexto do agente.
- As mensagens recebidas em threads incluem a raiz da thread como contexto extra, os envios da ferramenta de mensagens herdam automaticamente a thread atual quando visam a mesma sala ou o mesmo usuário de DM, a menos que um ID de thread seja informado, a reutilização do usuário de DM como destino só se aplica quando os metadados da sessão comprovam o mesmo interlocutor na mesma conta, e os comandos de sessão unbind, agents, idle e max-age, além dos spawns de ACP vinculados a threads, funcionam todos em salas e DMs do Matrix.
Vínculos de conversa explícitos sempre prevalecem sobre sessionScope; salas e threads vinculadas mantêm a sessão de destino escolhida.
Vínculos ACP
Salas, DMs e threads existentes do Matrix podem virar espaços de trabalho ACP duráveis sem mudar a superfície de chat. O fluxo do operador é um único comando: um spawn de ACP com a flag bind-here dentro da DM, sala ou thread que você quer continuar usando; em uma DM ou sala de nível superior, a superfície atual continua sendo o chat e as mensagens futuras são roteadas para a sessão ACP criada, dentro de uma thread existente a flag vincula essa thread no lugar, os comandos de nova sessão e de reset reiniciam a mesma sessão vinculada no lugar, e um comando de fechamento de ACP encerra a sessão e remove o vínculo. A flag bind-here nunca cria uma thread filha; criar ou vincular uma thread filha pela opção de thread do comando spawn depende da configuração spawn-sessions. Quando o OpenClaw detecta uma sala de DM colidindo com outra na mesma sessão compartilhada, ele publica um aviso único sugerindo o escopo por sala, apenas enquanto os vínculos de threads estiverem ativados.
Configuração e histórico
- O Matrix herda os padrões globais de vínculo de threads, com substituições por canal: enabled, horas de inatividade, idade máxima, uma flag spawn-sessions que controla tanto os spawns de threads de subagentes quanto os de ACP e vem ativada por padrão, e um contexto de spawn padrão; as chaves de spawn por tipo, obsoletas, são migradas pela correção do doctor, e um contexto de spawn isolado impede que spawns nativos de threads de subagentes bifurquem a transcrição do pai.
- Um limite de histórico define quantas mensagens recentes da sala entram como histórico recebido quando uma mensagem da sala aciona o agente, recorrendo ao limite global de chat em grupo e ficando em zero, desativado, quando nenhum dos dois está definido; o histórico de sala vale só para salas, e as DMs mantêm o histórico normal da sessão.
- O histórico de sala contém só mensagens pendentes: o OpenClaw armazena em buffer as mensagens da sala que não acionaram uma resposta, tira um snapshot dessa janela quando chega uma menção ou outro gatilho, deixa o gatilho atual fora do bloco de histórico, já que ele é o corpo recebido, e reutiliza o snapshot original nas novas tentativas do mesmo evento em vez de avançar a janela.
OpenClaw no Matrix é o artigo sobre o canal que este aprofunda, e sessões no OpenClaw, as chaves e resets sobre os quais esses mapeamentos são construídos.
O mesmo formato no Discord
Vínculos de threads, controles de inatividade e de idade máxima e vínculos ACP são uma política compartilhada entre canais, então um fluxo aprendido em um deles vale para os outros. Threads e sessões do Discord no OpenClaw é a versão Discord da mesma página, e subagentes no OpenClaw, os spawns que recebem sessões vinculadas a threads.
Na Diali
O Matrix está na lista de canais conectáveis da Diali, ao lado de WhatsApp, Telegram, Discord, Slack, Mattermost, SMS e voz: a conta no homeserver e a lista de permissões de salas são suas, o Gateway é nosso. OpenClaw hospedado na Diali é o assistente, e conecte seu primeiro canal em cinco minutos explica como esses canais são conectados.
- O escopo decide a sessão; o encadeamento decide a resposta.
- Vínculos prevalecem; bind-here nunca cria uma thread.
- O histórico só tem mensagens pendentes, e o snapshot fica estável nas novas tentativas.
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.
