OpenClaw es un gateway autohospedado que conecta Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo y más con agentes de IA. Esta guía cubre la configuración de “asistente personal”: un número dedicado de WhatsApp que se comporta como tu asistente de IA siempre activo.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
⚠️ La seguridad primero
Estás poniendo a un agente en posición de:- ejecutar comandos en tu máquina (según tu política de herramientas)
- leer/escribir archivos en tu espacio de trabajo
- enviar mensajes de vuelta mediante WhatsApp/Telegram/Discord/Mattermost y otros canales incluidos
- Define siempre
channels.whatsapp.allowFrom(nunca lo ejecutes abierto a todo el mundo en tu Mac personal). - Usa un número dedicado de WhatsApp para el asistente.
- Los Heartbeats ahora se ejecutan de forma predeterminada cada 30 minutos. Desactívalos hasta que confíes en la configuración estableciendo
agents.defaults.heartbeat.every: "0m".
Requisitos previos
- OpenClaw instalado y configurado inicialmente; consulta Primeros pasos si todavía no lo has hecho
- Un segundo número de teléfono (SIM/eSIM/prepago) para el asistente
La configuración con dos teléfonos (recomendada)
Quieres esto: Si vinculas tu WhatsApp personal con OpenClaw, cada mensaje que recibas se convierte en “entrada del agente”. Eso rara vez es lo que quieres.Inicio rápido en 5 minutos
- Empareja WhatsApp Web (muestra un QR; escanéalo con el teléfono del asistente):
- Inicia el Gateway (déjalo en ejecución):
- Coloca una configuración mínima en
~/.openclaw/openclaw.json:
gateway.auth.token), pero la autenticación con contraseña también funciona si cambiaste gateway.auth.mode a password. Para volver a abrirlo más tarde: openclaw dashboard.
Dale al agente un espacio de trabajo (AGENTS)
OpenClaw lee instrucciones operativas y “memoria” desde su directorio de espacio de trabajo. De forma predeterminada, OpenClaw usa~/.openclaw/workspace como espacio de trabajo del agente y lo creará (junto con 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 después de que lo elimines). MEMORY.md es opcional (no se crea automáticamente); cuando está presente, se carga para las sesiones normales. Las sesiones de subagentes solo inyectan AGENTS.md y TOOLS.md.
agents.defaults.workspace (admite ~).
La configuración que lo convierte en “un asistente”
OpenClaw tiene valores predeterminados adecuados para una configuración de asistente, pero normalmente querrás ajustar:- la personalidad/instrucciones en
SOUL.md - los valores predeterminados de razonamiento (si lo deseas)
- los Heartbeats (cuando ya confíes en él)
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(heredado:~/.openclaw/sessions/sessions.json) /newo/resetinicia una sesión nueva para ese chat (configurable medianteresetTriggers). Si se envía solo, OpenClaw confirma el reinicio sin invocar el modelo./compact [instructions]compacta el contexto de la sesión e informa del 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.
Define agents.defaults.heartbeat.every: "0m" para desactivarlo.
- Si
HEARTBEAT.mdexiste 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 falta el archivo, el Heartbeat se sigue ejecutando y el modelo decide qué hacer.
- Si el agente responde con
HEARTBEAT_OK(opcionalmente con relleno breve; consultaagents.defaults.heartbeat.ackMaxChars), OpenClaw suprime el envío saliente para ese Heartbeat. - De forma predeterminada, se permite la entrega de Heartbeats a destinos de estilo DM
user:<id>. Defineagents.defaults.heartbeat.directPolicy: "block"para suprimir la entrega a destinos directos mientras mantienes activas las ejecuciones de Heartbeat. - Los Heartbeats ejecutan turnos completos del agente; los intervalos más cortos consumen más tokens.
Medios de entrada y salida
Los adjuntos entrantes (imágenes/audio/documentos) pueden exponerse a tu comando mediante plantillas:{{MediaPath}}(ruta de archivo temporal local){{MediaUrl}}(pseudo-URL){{Transcript}}(si la transcripción de audio está habilitada)
MEDIA:<path-or-url> en su propia línea (sin espacios). Ejemplo:
- Si
tools.fs.workspaceOnlyestrue, las rutas locales salientes deMEDIA:quedan restringidas a la raíz temporal de OpenClaw, la caché de medios, las rutas del espacio de trabajo del agente y los archivos generados por el sandbox. - Si
tools.fs.workspaceOnlyesfalse,MEDIA:saliente puede usar archivos locales del host que el agente ya tenga permitido leer. - Las rutas locales pueden ser absolutas, relativas al espacio de trabajo o relativas al directorio personal con
~/. - Los envíos locales del host siguen permitiendo solo medios y tipos de documentos seguros (imágenes, audio, vídeo, PDF y documentos de Office). Los archivos de texto sin formato y los archivos con apariencia de secretos no se tratan como medios enviables.
Lista de comprobación de operaciones
/tmp/openclaw/ (predeterminado: openclaw-YYYY-MM-DD.log).
Próximos pasos
- WebChat: WebChat
- Operaciones del Gateway: Runbook del Gateway
- Cron + activaciones: Trabajos de Cron
- Complemento de barra de menús de macOS: Aplicación OpenClaw para macOS
- Aplicación de nodo de iOS: Aplicación iOS
- Aplicación de nodo de Android: Aplicación Android
- Estado de Windows: Windows (WSL2)
- Estado de Linux: Aplicación Linux
- Seguridad: Seguridad