Por que tu agente OpenClaw pierde conversaciones en WhatsApp (y como solucionarlo)
Tu agente dice que no tiene historial? Pierde contexto entre mensajes? Explicamos las causas reales y las soluciones que aplicamos en produccion.
Si tu agente OpenClaw en WhatsApp responde como si cada mensaje fuera el primero, pierde el hilo de la conversacion, o directamente dice "no tengo contexto de conversaciones previas", este articulo es para ti.
El problema real
OpenClaw mantiene el contexto de conversacion en la memoria RAM del proceso Node.js. Esto significa que cada vez que el gateway se reinicia, todo el contexto activo se pierde. El agente empieza cada sesion de cero.
Causa 1: Reinicios frecuentes del gateway
Cada vez que ejecutas `openclaw gateway restart`, el agente pierde toda la ventana de contexto. Si el agente ademas tiene permisos para reiniciar el gateway el mismo (via `openclaw doctor --fix` u otros comandos), puede estar borrando su propia memoria sin saberlo.
**Solucion**: Agregar en AGENTS.md una regla explicita: "NUNCA ejecutar openclaw gateway restart sin aprobacion". Los reinicios deben ser controlados y planificados.
Causa 2: dmScope incorrecto
Con `dmScope: "main"` (el default), todas las conversaciones de WhatsApp comparten la misma sesion. El agente mezcla contextos entre usuarios โ le responde a Maria con informacion de Juan.
**Solucion**: Configurar `session.dmScope: "per-channel-peer"`. Esto crea una sesion aislada para cada contacto de WhatsApp.
Causa 3: El modelo no retiene historial
Algunos modelos de IA tienen ventanas de contexto mas pequenas o manejan el historial de forma diferente. Con Kimi K2.5, por ejemplo, el historial de mensajes puede no cargarse correctamente en todas las sesiones.
**Solucion**: Usar modelos con ventanas de contexto amplias (GPT-5.4, Claude Sonnet) y configurar `compaction.mode: "safeguard"` con `reserveTokensFloor: 40000` para prevenir perdida silenciosa de contexto durante la compactacion.
Causa 4: No hay instrucciones de memoria
El agente necesita instrucciones explicitas para guardar informacion importante en archivos persistentes. Sin eso, depende unicamente de la ventana de contexto que se pierde en cada reinicio.
**Solucion**: Agregar en AGENTS.md instrucciones para que el agente escriba en `memory/YYYY-MM-DD.md` despues de interacciones importantes, y lea esos archivos al iniciar cada sesion.
El truco que nadie te cuenta: los transcripts JSONL
OpenClaw guarda transcripts completos de todas las conversaciones en `~/.openclaw/agents/main/sessions/*.jsonl`. Estos archivos sobreviven los reinicios y contienen todo: mensajes enviados, recibidos, numeros de telefono, timestamps.
El agente puede leer estos archivos con la herramienta `read` para consultar su propio historial antes de contactar a alguien. Es la solucion mas robusta para la persistencia de memoria.
Configuracion recomendada
Para un agente de ventas en produccion, estos son los valores que usamos:
- `session.dmScope`: "per-channel-peer"
- `channels.whatsapp.dmHistoryLimit`: 50
- `agents.defaults.compaction.mode`: "safeguard"
- `agents.defaults.compaction.reserveTokensFloor`: 40000
- AGENTS.md con instrucciones de memoria y acceso a transcripts
Con esta configuracion, el agente mantiene contexto consistente incluso despues de reinicios del gateway.
Necesitas ayuda con tu agente OpenClaw?
Configuramos, optimizamos y gestionamos agentes de ventas por WhatsApp.
Contactanos