Tutorial completo sobre como implementar memória persistente em…
INEMA
Aqui está um passo a passo completo com os motivos (porquês) de cada etapa para melhorar a memória do seu agente de IA no n8n usando PostgreSQL e Supabase:
Passo 1: Remover a memória padrão do n8n O que fazer: No seu fluxo n8n, delete o nó de memória padrão que vinha com o agente.
Por quê: A memória padrão do n8n é temporária e se perde após certo tempo ou reinício. Isso limita a continuidade da conversa com seu agente.
Passo 2: Adicionar memória com Memory PO ChatM O que fazer: Adicione um novo nó de memória com o tipo Memory PO ChatM e configure o parâmetro k=50.
Por quê: Isso define que o agente lembrará das últimas 50 mensagens, melhorando a consistência das respostas e evitando repetições.
Passo 3: Criar um projeto no Supabase O que fazer: Acesse o Supabase, clique em New Project, escolha uma organização, dê um nome e defina uma senha para o banco.
Por quê: O Supabase fornece um banco PostgreSQL gerenciado na nuvem, que será usado para guardar o histórico de conversas do seu agente.
Passo 4: Copiar as credenciais de conexão O que fazer: No projeto criado, vá em Project Settings > Database > Connection Info e copie:
host
port (5432)
database name
user
senha
Por quê: Você precisa dessas informações para conectar o n8n ao banco e armazenar os dados de forma segura e estruturada.
Passo 5: Criar uma credencial no n8n O que fazer: No n8n, vá até as credenciais, crie uma nova do tipo PostgreSQL, e cole as informações obtidas do Supabase.
Por quê: Sem essa conexão, o n8n não conseguirá enviar nem ler os dados no banco de dados.
Passo 6: Rodar o script SQL para criar a tabela de memória O que fazer: Vá no Supabase em SQL Editor, cole este script da documentação (abaixo) e execute:
```create table if not exists n8n_chat_histories ( session_id text, message_id uuid default uuid_generate_v4 (), role text, content text, timestamp timestamp with time zone default timezone('utc'::text, now()) );
``` Por quê: Isso cria a tabela n8n_chat_histories que será usada para guardar cada mensagem, com data, papel (usuário ou IA), conteúdo e ID da sessão.
Passo 7: Testar a integração com Telegram (ou outro canal) O que fazer: Envie uma mensagem para o agente (ex: “Oi”) e veja se aparece no banco.
Por quê: Você precisa garantir que o fluxo está funcionando e que o ID de sessão está sendo atribuído corretamente.
Passo 8: Ajustar o Session ID com o ID do usuário O que fazer: No nó de memória ou mapeamento do fluxo, pegue o ID do usuário do Telegram e use como session_id.
Por quê: Cada pessoa precisa ter sua própria memória separada. O session_id serve para identificar de quem é cada conversa.
Passo 9: Verificar os dados no Supabase O que fazer: Vá até o Table Editor > n8n_chat_histories e veja se as mensagens estão sendo salvas corretamente.
Por quê: Assim você garante que o histórico está sendo registrado e poderá ser recuperado em qualquer momento futuro.
Passo 10: Pronto! Memória persistente ativada Resultado final: Seu agente de IA agora tem memória persistente, capaz de lembrar de conversas anteriores, mesmo que a automação reinicie, o n8n caia ou a conversa continue outro dia.
Se quiser, posso criar um fluxograma visual, uma versão para impressão (PDF) ou até um template do fluxo no n8n. Deseja algum desses?
Resumo completo do vídeo "Melhore a Memória do Seu Agente de IA no n8n Usando PostgreSQL e Supabase":
O vídeo mostra como melhorar a memória de um agente de IA (via MCP) usando Supabase como banco de dados PostgreSQL integrado ao n8n, em vez da memória padrão da ferramenta, que é mais limitada. A melhoria permite que o agente recupere e mantenha o histórico das conversas, mesmo após reiniciar ou mudar de sessão.
Etapas explicadas no vídeo com exemplos:⌗
-
Remover a memória atual do agente - Exclui a memória anterior do agente no n8n.
-
Inserir nova memória usando
Memory PO ChatM- Altera o parâmetro para recuperar as últimas 50 mensagens (melhora a continuidade da conversa). -
Criar projeto no Supabase - Acessa o Supabase, cria um novo projeto e define uma senha para o banco.
-
Obter dados de conexão do banco - Vai em “Connect > Session Pooler” no Supabase e copia os dados:
host,database,user,password, eport (5432). -
Criar credencial no n8n - Usa os dados copiados do Supabase para configurar o nó
Postgres. -
Criar a estrutura de memória no banco - Abre o
SQL Editorno Supabase e cola um script SQL copiado da documentação doSupabase Vector Store. -
Executar o script SQL - Cria automaticamente a tabela
n8n_chat_historiesno Supabase para armazenar o histórico das conversas. -
Testar a integração com o Telegram - Envia mensagens para o bot do Telegram, verifica erros no n8n e ajusta o
session_idusando o ID do usuário do Telegram. -
Salvar e verificar resultados - Após corrigir o erro de chave da sessão, envia nova mensagem e valida que a conversa está sendo armazenada no banco.
-
Conferir no Supabase
- Acessa o
Table Editore vê que as mensagens “Oi” e “Boa noite” foram armazenadas com seus respectivossession_id.
- Acessa o
Benefícios demonstrados:⌗
- Persistência de memória: histórico de conversa é salvo mesmo após o fluxo ser reiniciado.
- Flexibilidade: é possível mudar o nome da tabela e criar várias por agente.
- Eficiência: respostas mais rápidas pois a consulta ao histórico é feita diretamente no banco.
c1 - Memoria PostgreSQL e Supabase
1