Guía OpenClaw — setup hecho el 19-09-2026

Qué es OpenClaw

  • Asistente/agente IA open-source, self-hosted (MIT, corre local en la máquina Arch 192.168.0.143).
  • Arquitectura de Gateway: un proceso escucha en 0.0.0.0:18789 y conecta canales (WhatsApp, Telegram, Discord, Instagram…) con el agente IA.
  • El agente lee/escribe mensajes en los chats vinculados y tiene herramientas: navegar web, ejecutar comandos, leer/escribir archivos.
  • No es “leer el historial de tu WhatsApp”: vive como una sesión de WhatsApp Web.

Estado actual

  • Versión: OpenClaw 2026.7.1-2 (npm, node 26.8.2).
  • Gateway: corriendo como servicio systemd usuario → systemctl --user status openclaw-gateway.
  • Config: ~/.openclaw/openclaw.json.
  • Auth: token mode. Token: ed9e1620103b0eb2d1223ade7090ff24e66957b8894a90c3.
  • Dashboard: http://192.168.0.143:18789/ (y http://127.0.0.1:18789/ en la máquina host).
  • Canales:
    • WhatsApp: instalado, configurado y vinculado (sesión activa, health healthy).
    • Instagram DMs: instalado, sin configurar (requiere credenciales/cookie).
    • Telegram: instalable, sin configurar (requiere bot token de @BotFather).
  • Modelo del agente: groq/qwen/qwen3.8-27b (Groq, free tier, thinking off).
    • Key guardada como GROQ_API_KEY en el servicio (~/.config/systemd/user/openclaw-gateway.service.d/groq.conf) y como secret en config.
    • tools.profile: minimal + lista de tools vacía → el agente solo responde texto (prompt chico para el límite free de ~7.000 tokens/min).
    • channels.whatsapp.dmHistoryLimit: 2 → limita el historial que entra al modelo (evita que la sesión crezca y reviente el límite).
    • groq/compound-mini (ITPM 70k) NO sirve como modelo principal: no soporta tool calling (schema de OpenClaw).
    • Ojo: el tier gratis de Groq limita entrada a ~7.000 tokens/min → con tráfico alto o varios mensajes seguidos pueden verse errores 429/413 (el bot reintenta). Alternativa sin límite: Ollama local (más lento).

Comandos útiles

Comando Qué hace
openclaw status Estado general (gateway, canales, agente)
openclaw channels status --probe Estado/diagnóstico de canales
openclaw channels login --channel whatsapp Vincular WhatsApp (muestra QR)
openclaw channels list --all Catálogo de canales
openclaw dashboard Abre el Control UI en el navegador
openclaw config set <path> <valor> Cambiar config (valida contra schema)
openclaw doctor Diagnóstico/arreglos

Cómo se vinculó WhatsApp

  1. openclaw channels login --channel whatsapp (QR en terminal; los QR rotan cada ~25s).
  2. Como la máquina es headless, se sirvió el QR vivo en http://192.168.0.143:8090/qrv.html (auto-refresco 4s).
  3. Escaneo con el teléfono → WhatsApp → Dispositivos vinculados.
  4. Resultado: enabled, configured, linked, running, connected, transport:just now, health:healthy.

Acceso al Control UI (dashboard)

  • El Control UI exige contexto seguro: desde http://127.0.0.1 (localhost) o https://.
  • Desde otra PC por HTTP LAN da: control ui requires device identity (use HTTPS or localhost secure context).
  • Soluciones:
    • SSH tunnel (recomendada): ssh -N -L 18789:127.0.0.1:18789 esotericwarfare@192.168.0.143 y abrir http://127.0.0.1:18789/.
    • TLS en gateway (gateway.tls.enabled) → https://192.168.0.143:18789/.
    • Temporal (solo red de confianza): gateway.controlUi.allowInsecureAuth y gateway.controlUi.dangerouslyDisableDeviceAuth = true → funciona por HTTP LAN. Apagar de nuevo al terminar.

Cómo leer/gestionar mensajes (“directo con OpenClaw”)

Importante: OpenClaw no es un “clon” de tu WhatsApp — es un agente que vive en tu sesión de WhatsApp Web. No hay un visor de historial completo; los mensajes se procesan al llegar.

Formas de operarlo:

1. Hablarle desde el propio WhatsApp

  • Escribile al número vinculado (o mandale mensaje a un chat/contacto).
  • El agente lee el contexto del chat y responde/actúa (ordenes, búsquedas, etc.).
  • Requiere permitir quién le escribe (ver seguridad).

2. Ver actividad reciente del canal (CLI)

openclaw channels logs --channel whatsapp --lines 100
openclaw channels logs --channel whatsapp --json

Muestra los eventos/logs recientes del canal WhatsApp (los mensajes que llegan se reflejan acá).

3. Correr una “vuelta” del agente por terminal

openclaw agent -m "Resumí los mensajes recientes de hoy" --channel whatsapp
# Para que además envíe la respuesta al chat:
openclaw agent -m "Resumí los mensajes recientes" --channel whatsapp --deliver
  • --channel whatsapp elige la sesión; sin eso usa la sesión principal.
  • --deliver publica la respuesta del agente en el chat.
  • --json devuelve el resultado estructurado.

4. Dashboard / Control UI

  • Abrir el dashboard (sección Acceso) y usar el chat: hablás con el agente desde el navegador y ves la sesión activa.

Nota sobre el almacenamiento

  • La sesión de WhatsApp Web autenticada vive en: ~/.openclaw/credentials/whatsapp/default/session-*.json (solo credenciales, no mensajes).
  • El gateway registra eventos entrantes en ~/.openclaw/state/openclaw.sqlite (tabla channel_ingress_events, no es un historial persistente de mensajes).

Auto-respuesta de WhatsApp (activada)

  • Config: channels.whatsapp.dmPolicy = "open" + channels.whatsapp.allowFrom = ["*"] → cualquier número puede escribir y recibe respuesta automática.
  • Regla del agente: ~/.openclaw/workspace/AGENTS.md → sección “Auto-Respuesta WhatsApp”. Responde SIEMPRE un texto fijo (horario de atención). Editá ahí el mensaje/horarios.
  • Estado: openclaw channels status --probedm:open, allow:* health:healthy.
  • OJO seguridad: el agente queda expuesto a cualquier persona; la regla le prohíbe usar herramientas con desconocidos, pero revisá de vez en cuando qué responde.

Recomendaciones de seguridad

  • Configurar quién puede escribirle al bot (permitir solo tu número): openclaw config set channels.whatsapp.allowFrom '["+549XXXXXXXXXX"]'
  • El token de gateway da control total: no compartir, el dashboard no debe exponerse a internet.
  • El gateway escucha en 0.0.0.0 (bind lan): mantener auth token siempre activo.
  • Instagram/Telegram: crear cuentas/bots dedicados o revisar bien los alcances que se otorgan.

Notas

  • openclaw gateway run no se ejecuta a la par del servicio systemd (conflicto de puerto 18789). Para correrlo a mano: systemctl --user stop openclaw-gateway && openclaw gateway run.
  • Logs del gateway: /tmp/openclaw/openclaw-2026-09-19.log.
  • Procesos temporales del setup QR (ya limpiados): servidor http 8090, loop de refresco del QR.