VolundOS

Thread e mensagens

A conversa é a unidade de trabalho: guarda o histórico, hospeda as execuções e pode ser renomeada, fixada, arquivada e marcada como lida. Cada conversa pertence a um agente…

Atualizado em 05 de setembro de 2026

Thread e mensagens

Camada funcional

A conversa é a unidade de trabalho: guarda o histórico, hospeda as execuções e pode ser renomeada, fixada, arquivada e marcada como lida. Cada conversa pertence a um agente e a uma organização.

O que uma conversa carrega

Título, agente dono, pessoa que criou, organização, canal de origem, se está fixada ou arquivada, o estado de execução, a visibilidade, quando foi criada, quando recebeu a última mensagem e — quando houver — o modelo escolhido só para ela. No detalhe, ainda aparece se há uma execução em andamento e se um cancelamento foi pedido.

Estado de execução

EstadoSignificado
Livresem execução ativa
Trabalhandoo agente está executando
Esperando aprovaçãouma pessoa precisa decidir para continuar
Esperando credencialfalta uma credencial para continuar

Decisão de design: uma conversa livre não vira "concluída" como acontece na leitura de uma execução isolada — porque a conversa não é a execução; ela sobrevive a várias.

Visibilidade

Cinco níveis, do mais fechado ao mais aberto:

NívelQuem alcança
Privadasó quem é dono
Editores podem verquem edita o agente enxerga a conversa
Editores podem participarquem edita o agente vê e participa
Qualquer um com o link pode verleitura por link
Qualquer um com o link pode participarleitura e participação por link

O agente tem uma visibilidade padrão na configuração, que define com que nível as conversas novas nascem. Os dois níveis de link são o mecanismo de compartilhamento externo por link.

Canal de origem

A conversa registra por onde nasceu: painel, delegação de outro agente, ou um dos canais externos.

Paginação do histórico

O histórico é paginado em ordem cronológica, com limite padrão de 100 mensagens por página — a mesma lógica serve a interface e a superfície de gestão, então o que se lê pela API é o que se vê na tela.

O que dá para fazer

AçãoOnde
Listar, criar, ler, renomear, fixar, arquivar, excluirpainel e API de conversas
Marcar como lidapainel e API de conversas
Ver conversas recentespainel e API de conversas
Enviar mensagemAPI de chat
Operar tudo isso de dentro de um agenteferramenta de gestão de conversas

Lista de conversas agrupada por data, com o menu de uma delas aberto mostrando as opções de fixar, renomear e arquivar

Limites conhecidos

  • Renomear ou fixar uma conversa podia só aparecer na tela depois de recarregar — falha de atualização da interface, não do dado em si.
  • Uma mensagem grande (a partir de ~2KB) podia sumir da tela momentaneamente depois de concluída, e um recarregamento a trazia de volta — o dado salvo sempre esteve correto. A causa estava na atualização em tempo real: a notificação de que o turno terminou às vezes chegava sem o texto completo da mensagem, e a interface tratava essa ausência como se o texto tivesse sumido. Corrigido em 12/08/2026: a atualização em tempo real passa a mesclar sobre a mensagem já conhecida em vez de substituir por um valor incompleto.
  • A conversa é serial por construção: uma execução por vez. Enviar uma mensagem durante uma execução ativa é recusado por padrão; enfileirar é uma escolha explícita de quem envia.
  • Mensagem que chegou enquanto você estava fora deixou de sumir (04/09/2026). A conversa se atualiza sozinha, mas o que acontecia enquanto a sua janela estava desconectada — você trocou de conversa e voltou, ou saiu e voltou ao navegador no celular — simplesmente não aparecia, e só recarregando a página é que voltava. Agora, toda vez que a conexão se restabelece, a conversa se compara com o que de fato existe e completa o que faltou. Isso cobre inclusive o caso mais traiçoeiro: o agente terminou o trabalho enquanto você estava fora, e portanto não há nenhuma mensagem nova chegando para avisar que algo mudou.

On this page