Introdução
A Memory permite armazenar variáveis que persistem entre conversas, workflows e nós. Ao contrário do Context (que está disponível apenas durante a conversa atual), a Memory mantém os dados disponíveis para interações futuras com o usuário.Uma única memória por usuário, quatro formas de acessá-la. A Memory é um único armazenamento por usuário que você acessa a partir de superfícies diferentes conforme onde estiver trabalhando:
- Builder — placeholder
{{$memory.key}}e métodos$memory.set/get/...nos nós de código. - Functions — cliente
ctx.memory(veja o guia dectx.memory). - AI Agent — tool nativa
memory_manager(veja Ferramentas nativas). - REST API — endpoints
POST https://gateway.jelou.ai/workflows/v2/memory/users/{get-all|find-one|set}.
Principais características
Tipos de dados
TTL (Time To Live): Tempo de vida em segundos de cada variável. Quando o TTL expira, a variável é automaticamente excluída. Por exemplo,
3600 = 1 hora, 86400 = 1 dia.Quanto tempo a Memory dura no total
A Memory tem dois relógios independentes funcionando ao mesmo tempo:
Regra mental: se o usuário escrever algo na Memory pelo menos uma vez a cada 30 dias, sua memória vive indefinidamente. Se passar 30 dias completos sem escrever, toda sua memória é apagada. Cada variável pode expirar antes pelo seu próprio TTL sem afetar o resto.
Somente escrever (
set, setJson, setFile) renova o hashTTL. Ler (get, getJson, getFile) não conta.Salvando variáveis
Usando o nó Variable
Para salvar variáveis sem código, use o nó Variable dentro da seçãoLogic. Em Variable insira o nome e em Value o que deseja salvar; pode ser texto simples, outra variável ou um valor do contexto.
Cada nó Variable permite um máximo de 20 variáveis. Se precisar de mais, use múltiplos nós ou salve os valores a partir de um nó de código.
Usando nós de código
Para maior controle sobre o TTL e tipos de dados complexos, use os métodos$memory em nós de código:
Lendo variáveis
Em qualquer nó
Dentro de qualquer nó você pode acessar a Memory com a sintaxe{{$memory.variableName}}. Por exemplo, se as variáveis na memória forem:
{{$memory.name}}mostraJohn{{$memory.lastOrder.status}}mostraon the way
Em nós de código
Use os métodos específicos de acordo com o tipo de dado:Trabalhando com arquivos
Ao salvar um arquivo na Memory, você deve fornecer o conteúdo em base64, o TTL e o tipo MIME:$memory.getFile() você obtém um FileHandle com três métodos para acessar o conteúdo: