Introducción
Memory te permite guardar variables que persisten entre conversaciones, workflows y nodos. A diferencia de Context (que solo está disponible durante la conversación actual), Memory mantiene los datos disponibles para futuras interacciones con el usuario.Una sola memoria por usuario, cuatro formas de acceder. Memory es un único almacén por usuario que ves desde distintas superficies según dónde estés trabajando:
- Builder — placeholder
{{$memory.key}}y métodos$memory.set/get/...en nodos de código. - Functions — cliente
ctx.memory(ver guía dectx.memory). - AI Agent — tool nativa
memory_manager(ver Tools nativas). - REST API — endpoints
POST https://gateway.jelou.ai/workflows/v2/memory/users/{get-all|find-one|set}.
Características principales
Tipos de datos
TTL (Time To Live): Tiempo de vida en segundos de cada variable. Transcurrido el TTL, la variable se elimina automáticamente. Por ejemplo,
3600 = 1 hora, 86400 = 1 día.Cuánto dura Memory en total
Memory tiene dos relojes independientes funcionando a la vez:
Regla mental: si el usuario escribe algo en Memory al menos una vez cada 30 días, su memoria vive indefinidamente. Si pasa 30 días completos sin escribir, toda su memoria se borra. Cada variable puede caducar antes por su propio TTL sin afectar el resto.
Solo escribir (
set, setJson, setFile) renueva el hashTTL. Leer (get, getJson, getFile) no cuenta.Guardar variables
Usando el nodo Variable
Para guardar variables sin código, usa el nodo Variable dentro de la secciónLógica. En Variable coloca el nombre y en Valor lo que quieres guardar; puede ser texto plano, otra variable o un dato del contexto.
Cada nodo Variable permite un máximo de 20 variables. Si necesitas más, usa varios nodos o guarda los valores desde un nodo de código.
Usando nodos de código
Para mayor control sobre TTL y tipos de datos complejos, usa los métodos de$memory en nodos de código:
Leer variables
En cualquier nodo
Dentro de cualquier nodo puedes acceder a Memory con la sintaxis{{$memory.nombreVariable}}. Por ejemplo, si las variables en memoria son:
{{$memory.nombre}}muestraJuan{{$memory.ultimoPedido.estado}}muestraen camino
En nodos de código
Usa los métodos específicos según el tipo de dato:Trabajar con archivos
Al guardar un archivo en Memory, debes proporcionar el contenido en base64, el TTL y el tipo MIME:$memory.getFile() obtienes un FileHandle con tres métodos para acceder al contenido: