Skip to main content

Creación de un asistente personal con OpenClaw

OpenClaw es un gateway de WhatsApp + Telegram + Discord + iMessage para agentes Pi. Los plugins agregan Mattermost. Esta guía es la configuración de “asistente personal”: un número de WhatsApp dedicado que se comporta como su agente siempre activo.

⚠️ Seguridad ante todo

Está poniendo a un agente en posición de:
  • ejecutar comandos en su máquina (según su configuración de herramientas de Pi)
  • leer/escribir archivos en su espacio de trabajo
  • enviar mensajes hacia afuera vía WhatsApp/Telegram/Discord/Mattermost (plugin)
Empiece de forma conservadora:
  • Establezca siempre channels.whatsapp.allowFrom (nunca ejecute abierto al mundo en su Mac personal).
  • Use un número de WhatsApp dedicado para el asistente.
  • Los heartbeats ahora tienen un valor predeterminado de cada 30 minutos. Desactívelos hasta confiar en la configuración estableciendo agents.defaults.heartbeat.every: "0m".

Requisitos previos

  • OpenClaw instalado e incorporado — vea Primeros pasos si aún no lo ha hecho
  • Un segundo número de teléfono (SIM/eSIM/prepago) para el asistente

La configuración de dos teléfonos (recomendada)

Quiere esto: Si vincula su WhatsApp personal a OpenClaw, cada mensaje hacia usted se convierte en “entrada del agente”. Eso rara vez es lo que quiere.

Inicio rápido de 5 minutos

  1. Empareje WhatsApp Web (muestra un QR; escanéelo con el teléfono del asistente):
  1. Inicie el Gateway (déjelo en ejecución):
  1. Coloque una configuración mínima en ~/.openclaw/openclaw.json:
Ahora envíe un mensaje al número del asistente desde su teléfono en la lista de permitidos. Cuando finaliza la incorporación, abrimos automáticamente el panel y mostramos un enlace limpio (sin tokenizar). Si solicita autenticación, pegue el token de gateway.auth.token en la configuración de Control UI. Para reabrir más tarde: openclaw dashboard.

Darle al agente un espacio de trabajo (AGENTS)

OpenClaw lee las instrucciones operativas y la “memoria” desde su directorio de espacio de trabajo. De forma predeterminada, OpenClaw usa ~/.openclaw/workspace como espacio de trabajo del agente y lo creará (más los archivos iniciales AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) automáticamente durante la configuración o la primera ejecución del agente. BOOTSTRAP.md solo se crea cuando el espacio de trabajo es completamente nuevo (no debería volver a aparecer después de eliminarlo). MEMORY.md es opcional (no se crea automáticamente); cuando está presente, se carga para sesiones normales. Las sesiones de subagentes solo inyectan AGENTS.md y TOOLS.md. Consejo: trate esta carpeta como la “memoria” de OpenClaw y conviértala en un repositorio git (idealmente privado) para que sus AGENTS.md + archivos de memoria tengan respaldo. Si git está instalado, los espacios de trabajo completamente nuevos se inicializan automáticamente.
Diseño completo del espacio de trabajo + guía de respaldo: Espacio de trabajo del agente
Flujo de trabajo de memoria: Memoria
Opcional: elija un espacio de trabajo diferente con agents.defaults.workspace (admite ~).
Si ya distribuye sus propios archivos de espacio de trabajo desde un repositorio, puede desactivar por completo la creación de archivos de arranque:

La configuración que lo convierte en “un asistente”

OpenClaw tiene valores predeterminados adecuados para un asistente, pero normalmente querrá ajustar:
  • la persona/instrucciones en SOUL.md
  • valores predeterminados de razonamiento (si lo desea)
  • heartbeats (una vez que confíe en él)
Ejemplo:

Sesiones y memoria

  • Archivos de sesión: ~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl
  • Metadatos de sesión (uso de tokens, última ruta, etc.): ~/.openclaw/agents/<agentId>/sessions/sessions.json (legado: ~/.openclaw/sessions/sessions.json)
  • /new o /reset inicia una sesión nueva para ese chat (configurable mediante resetTriggers). Si se envía solo, el agente responde con un saludo breve para confirmar el reinicio.
  • /compact [instructions] compacta el contexto de la sesión e informa el presupuesto de contexto restante.

Heartbeats (modo proactivo)

De forma predeterminada, OpenClaw ejecuta un heartbeat cada 30 minutos con el prompt: Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK. Establezca agents.defaults.heartbeat.every: "0m" para desactivar.
  • Si HEARTBEAT.md existe pero está efectivamente vacío (solo líneas en blanco y encabezados markdown como # Heading), OpenClaw omite la ejecución del heartbeat para ahorrar llamadas a la API.
  • Si el archivo falta, el heartbeat se ejecuta y el modelo decide qué hacer.
  • Si el agente responde con HEARTBEAT_OK (opcionalmente con relleno corto; vea agents.defaults.heartbeat.ackMaxChars), OpenClaw suprime la entrega saliente para ese heartbeat.
  • Los heartbeats ejecutan turnos completos del agente — intervalos más cortos consumen más tokens.

Medios de entrada y salida

Los adjuntos entrantes (imágenes/audio/documentos) pueden exponerse a su comando mediante plantillas:
  • {{MediaPath}} (ruta de archivo temporal local)
  • {{MediaUrl}} (pseudo-URL)
  • {{Transcript}} (si la transcripción de audio está habilitada)
Adjuntos salientes del agente: incluya MEDIA:<path-or-url> en su propia línea (sin espacios). Ejemplo:
OpenClaw los extrae y los envía como medios junto con el texto.

Lista de verificación operativa

Los registros se encuentran en /tmp/openclaw/ (predeterminado: openclaw-YYYY-MM-DD.log).

Siguientes pasos