Respuestas rápidas y resolución de problemas más profunda para configuraciones reales (desarrollo local, VPS, multiagente, OAuth/claves de API, conmutación por error de modelos). Para diagnósticos de tiempo de ejecución, consulta Resolución de problemas. Para la referencia completa de configuración, consulta Configuración.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.
Primeros 60 segundos si algo está roto
-
Estado rápido (primera comprobación)
Resumen local rápido: SO + actualización, accesibilidad de Gateway/servicio, agentes/sesiones, configuración de proveedores + problemas de tiempo de ejecución (cuando se puede acceder al Gateway).
-
Informe copiable (seguro para compartir)
Diagnóstico de solo lectura con cola de logs (tokens redactados).
-
Estado de daemon + puerto
Muestra el tiempo de ejecución del supervisor frente a la accesibilidad RPC, la URL objetivo de la sonda y qué configuración probablemente usó el servicio.
-
Sondas profundas
Ejecuta una sonda de estado del Gateway en vivo, incluidas sondas de canales cuando son compatibles (requiere un Gateway accesible). Consulta Salud.
-
Seguir el log más reciente
Si RPC no funciona, recurre a:Los logs de archivo están separados de los logs del servicio; consulta Registro y Resolución de problemas.
-
Ejecutar el doctor (reparaciones)
Repara/migra configuración/estado + ejecuta comprobaciones de salud. Consulta Doctor.
-
Instantánea del Gateway
Solicita al Gateway en ejecución una instantánea completa (solo WS). Consulta Salud.
Inicio rápido y configuración inicial
Las preguntas y respuestas de primera ejecución — instalación, incorporación, rutas de autenticación, suscripciones, fallos iniciales — están en la FAQ de primera ejecución.¿Qué es OpenClaw?
¿Qué es OpenClaw, en un párrafo?
¿Qué es OpenClaw, en un párrafo?
Propuesta de valor
Propuesta de valor
- Tus dispositivos, tus datos: ejecuta el Gateway donde quieras (Mac, Linux, VPS) y mantén el workspace + historial de sesiones en local.
- Canales reales, no un sandbox web: WhatsApp/Telegram/Slack/Discord/Signal/iMessage/etc, además de voz móvil y Canvas en plataformas compatibles.
- Agnóstico respecto al modelo: usa Anthropic, OpenAI, MiniMax, OpenRouter, etc., con enrutamiento y conmutación por error por agente.
- Opción solo local: ejecuta modelos locales para que todos los datos puedan permanecer en tu dispositivo si quieres.
- Enrutamiento multiagente: agentes separados por canal, cuenta o tarea, cada uno con su propio workspace y valores predeterminados.
- Código abierto y modificable: inspecciona, amplía y autoaloja sin dependencia de proveedor.
Acabo de configurarlo: ¿qué debería hacer primero?
Acabo de configurarlo: ¿qué debería hacer primero?
- Crear un sitio web (WordPress, Shopify o un sitio estático sencillo).
- Crear un prototipo de app móvil (esquema, pantallas, plan de API).
- Organizar archivos y carpetas (limpieza, nombres, etiquetas).
- Conectar Gmail y automatizar resúmenes o seguimientos.
¿Cuáles son los cinco casos de uso cotidianos principales para OpenClaw?
¿Cuáles son los cinco casos de uso cotidianos principales para OpenClaw?
- Informes personales: resúmenes de bandeja de entrada, calendario y noticias que te importan.
- Investigación y redacción: investigación rápida, resúmenes y primeros borradores para correos o documentos.
- Recordatorios y seguimientos: avisos y listas de comprobación impulsados por Cron o Heartbeat.
- Automatización del navegador: rellenar formularios, recopilar datos y repetir tareas web.
- Coordinación entre dispositivos: envía una tarea desde tu teléfono, deja que el Gateway la ejecute en un servidor y recibe el resultado de vuelta en el chat.
¿Puede OpenClaw ayudar con generación de leads, prospección, anuncios y blogs para un SaaS?
¿Puede OpenClaw ayudar con generación de leads, prospección, anuncios y blogs para un SaaS?
¿Cuáles son las ventajas frente a Claude Code para desarrollo web?
¿Cuáles son las ventajas frente a Claude Code para desarrollo web?
- Memoria persistente + workspace entre sesiones
- Acceso multiplataforma (WhatsApp, Telegram, TUI, WebChat)
- Orquestación de herramientas (navegador, archivos, programación, hooks)
- Gateway siempre activo (ejecútalo en un VPS, interactúa desde cualquier lugar)
- Nodes para navegador/pantalla/cámara/exec local
Skills y automatización
¿Cómo personalizo Skills sin mantener el repo con cambios?
¿Cómo personalizo Skills sin mantener el repo con cambios?
~/.openclaw/skills/<name>/SKILL.md (o añade una carpeta mediante skills.load.extraDirs en ~/.openclaw/openclaw.json). La precedencia es <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → incluidas → skills.load.extraDirs, así que las sobrescrituras gestionadas siguen teniendo prioridad sobre las Skills incluidas sin tocar git. Si necesitas que la Skill esté instalada globalmente pero solo sea visible para algunos agentes, mantén la copia compartida en ~/.openclaw/skills y controla la visibilidad con agents.defaults.skills y agents.list[].skills. Solo las ediciones dignas de upstream deberían vivir en el repo y salir como PRs.¿Puedo cargar Skills desde una carpeta personalizada?
¿Puedo cargar Skills desde una carpeta personalizada?
skills.load.extraDirs en ~/.openclaw/openclaw.json (precedencia más baja). La precedencia predeterminada es <workspace>/skills → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → incluidas → skills.load.extraDirs. clawhub instala en ./skills de forma predeterminada, lo que OpenClaw trata como <workspace>/skills en la siguiente sesión. Si la Skill solo debe ser visible para ciertos agentes, combínalo con agents.defaults.skills o agents.list[].skills.¿Cómo puedo usar diferentes modelos para diferentes tareas?
¿Cómo puedo usar diferentes modelos para diferentes tareas?
- Trabajos Cron: los trabajos aislados pueden establecer una sobrescritura de
modelpor trabajo. - Subagentes: enruta tareas a agentes separados con modelos predeterminados diferentes.
- Cambio bajo demanda: usa
/modelpara cambiar el modelo de la sesión actual en cualquier momento.
El bot se congela al hacer trabajo pesado. ¿Cómo lo descargo?
El bot se congela al hacer trabajo pesado. ¿Cómo lo descargo?
/subagents.
Usa /status en el chat para ver qué está haciendo el Gateway ahora mismo (y si está ocupado).Consejo de tokens: las tareas largas y los subagentes consumen tokens. Si el coste es una preocupación, establece un
modelo más barato para subagentes mediante agents.defaults.subagents.model.Docs: Subagentes, Tareas en segundo plano.¿Cómo funcionan las sesiones de subagente vinculadas a hilos en Discord?
¿Cómo funcionan las sesiones de subagente vinculadas a hilos en Discord?
- Genera con
sessions_spawnusandothread: true(y opcionalmentemode: "session"para seguimiento persistente). - O vincula manualmente con
/focus <target>. - Usa
/agentspara inspeccionar el estado de vinculación. - Usa
/session idle <duration|off>y/session max-age <duration|off>para controlar el desenfoque automático. - Usa
/unfocuspara desvincular el hilo.
- Valores predeterminados globales:
session.threadBindings.enabled,session.threadBindings.idleHours,session.threadBindings.maxAgeHours. - Sobrescrituras de Discord:
channels.discord.threadBindings.enabled,channels.discord.threadBindings.idleHours,channels.discord.threadBindings.maxAgeHours. - Vinculación automática al generar:
channels.discord.threadBindings.spawnSessionstienetruecomo valor predeterminado; establécelo enfalsepara desactivar la generación de sesiones vinculadas a hilos.
Un subagente terminó, pero la actualización de finalización fue al lugar equivocado o nunca se publicó. ¿Qué debería comprobar?
Un subagente terminó, pero la actualización de finalización fue al lugar equivocado o nunca se publicó. ¿Qué debería comprobar?
- La entrega de subagente en modo de finalización prefiere cualquier ruta de hilo o conversación vinculada cuando existe una.
- Si el origen de finalización solo contiene un canal, OpenClaw recurre a la ruta almacenada de la sesión solicitante (
lastChannel/lastTo/lastAccountId) para que la entrega directa aún pueda tener éxito. - Si no existe ni una ruta vinculada ni una ruta almacenada utilizable, la entrega directa puede fallar y el resultado recurre a la entrega en cola de sesión en lugar de publicarse inmediatamente en el chat.
- Los objetivos no válidos u obsoletos aún pueden forzar el fallback a cola o el fallo final de entrega.
- Si la última respuesta visible del asistente hijo es el token silencioso exacto
NO_REPLY/no_reply, o exactamenteANNOUNCE_SKIP, OpenClaw suprime intencionadamente el anuncio en lugar de publicar progreso anterior obsoleto. - Si el hijo agotó el tiempo de espera después de solo llamadas a herramientas, el anuncio puede condensarlo en un breve resumen de progreso parcial en lugar de reproducir la salida sin procesar de la herramienta.
Cron o los recordatorios no se disparan. ¿Qué debería comprobar?
Cron o los recordatorios no se disparan. ¿Qué debería comprobar?
- Confirma que cron está activado (
cron.enabled) y queOPENCLAW_SKIP_CRONno está configurado. - Comprueba que el Gateway se ejecuta 24/7 (sin suspensión/reinicios).
- Verifica la configuración de zona horaria del trabajo (
--tzfrente a la zona horaria del host).
Cron se ejecutó, pero no se envió nada al canal. ¿Por qué?
Cron se ejecutó, pero no se envió nada al canal. ¿Por qué?
--no-deliver/delivery.mode: "none"significa que no se espera ningún envío de respaldo del ejecutor.- Un destino de anuncio ausente o no válido (
channel/to) significa que el ejecutor omitió la entrega saliente. - Los fallos de autenticación del canal (
unauthorized,Forbidden) significan que el ejecutor intentó entregar, pero las credenciales lo bloquearon. - Un resultado aislado silencioso (
NO_REPLY/no_replyúnicamente) se trata como intencionalmente no entregable, por lo que el ejecutor también suprime la entrega de respaldo en cola.
message
cuando hay una ruta de chat disponible. --announce solo controla la ruta de respaldo
del ejecutor para el texto final que el agente aún no haya enviado.Depuración:¿Por qué una ejecución Cron aislada cambió de modelos o reintentó una vez?
¿Por qué una ejecución Cron aislada cambió de modelos o reintentó una vez?
LiveSessionModelSwitchError. El reintento conserva el
proveedor/modelo cambiado y, si el cambio incluía una nueva anulación de perfil de autenticación, Cron
también la persiste antes de reintentar.Reglas de selección relacionadas:- La anulación de modelo del hook de Gmail gana primero cuando corresponde.
- Luego el
modelpor trabajo. - Luego cualquier anulación de modelo almacenada de la sesión Cron.
- Luego la selección normal de modelo del agente/predeterminado.
¿Cómo instalo Skills en Linux?
¿Cómo instalo Skills en Linux?
openclaw skills o coloca Skills en tu espacio de trabajo. La interfaz de usuario de Skills para macOS no está disponible en Linux.
Explora Skills en https://clawhub.ai.openclaw skills install nativo escribe en el directorio skills/ del
espacio de trabajo activo. Instala la CLI clawhub separada solo si quieres publicar o
sincronizar tus propias Skills. Para instalaciones compartidas entre agentes, coloca la Skill en
~/.openclaw/skills y usa agents.defaults.skills o
agents.list[].skills si quieres limitar qué agentes pueden verla.¿Puede OpenClaw ejecutar tareas en un horario o continuamente en segundo plano?
¿Puede OpenClaw ejecutar tareas en un horario o continuamente en segundo plano?
- Trabajos Cron para tareas programadas o recurrentes (persisten entre reinicios).
- Heartbeat para comprobaciones periódicas de la “sesión principal”.
- Trabajos aislados para agentes autónomos que publican resúmenes o entregan a chats.
¿Puedo ejecutar Skills exclusivas de Apple macOS desde Linux?
¿Puedo ejecutar Skills exclusivas de Apple macOS desde Linux?
metadata.openclaw.os más los binarios requeridos, y las Skills solo aparecen en el prompt del sistema cuando son elegibles en el host del Gateway. En Linux, las Skills exclusivas de darwin (como apple-notes, apple-reminders, things-mac) no se cargarán a menos que anules la restricción.Tienes tres patrones compatibles:Opción A - ejecutar el Gateway en una Mac (lo más simple).
Ejecuta el Gateway donde existan los binarios de macOS, luego conéctate desde Linux en modo remoto o mediante Tailscale. Las Skills se cargan normalmente porque el host del Gateway es macOS.Opción B - usar un Node de macOS (sin SSH).
Ejecuta el Gateway en Linux, empareja un Node de macOS (aplicación de la barra de menús) y establece Comandos de ejecución de Node en “Preguntar siempre” o “Permitir siempre” en la Mac. OpenClaw puede tratar las Skills exclusivas de macOS como elegibles cuando los binarios requeridos existen en el Node. El agente ejecuta esas Skills mediante la herramienta nodes. Si eliges “Preguntar siempre”, aprobar “Permitir siempre” en el prompt agrega ese comando a la lista de permitidos.Opción C - proxy de binarios de macOS por SSH (avanzado).
Mantén el Gateway en Linux, pero haz que los binarios de CLI requeridos se resuelvan a envoltorios SSH que se ejecutan en una Mac. Luego anula la Skill para permitir Linux, de modo que siga siendo elegible.-
Crea un envoltorio SSH para el binario (ejemplo:
memopara Apple Notes): -
Coloca el envoltorio en
PATHen el host Linux (por ejemplo~/bin/memo). -
Anula los metadatos de la Skill (espacio de trabajo o
~/.openclaw/skills) para permitir Linux: - Inicia una nueva sesión para que la instantánea de Skills se actualice.
¿Tienen una integración con Notion o HeyGen?
¿Tienen una integración con Notion o HeyGen?
- Skill / Plugin personalizado: lo mejor para acceso confiable mediante API (Notion/HeyGen ambos tienen API).
- Automatización de navegador: funciona sin código, pero es más lenta y más frágil.
- Una página de Notion por cliente (contexto + preferencias + trabajo activo).
- Pide al agente que recupere esa página al inicio de una sesión.
skills/ del espacio de trabajo activo. Para Skills compartidas entre agentes, colócalas en ~/.openclaw/skills/<name>/SKILL.md. Si solo algunos agentes deben ver una instalación compartida, configura agents.defaults.skills o agents.list[].skills. Algunas Skills esperan binarios instalados mediante Homebrew; en Linux eso significa Linuxbrew (consulta la entrada de preguntas frecuentes de Homebrew Linux anterior). Consulta Skills, Configuración de Skills y ClawHub.¿Cómo uso mi Chrome existente con sesión iniciada con OpenClaw?
¿Cómo uso mi Chrome existente con sesión iniciada con OpenClaw?
user integrado, que se adjunta mediante Chrome DevTools MCP:existing-session / user:- las acciones se basan en ref, no en selectores CSS
- las cargas requieren
ref/inputRefy actualmente admiten un archivo a la vez responsebody, la exportación a PDF, la interceptación de descargas y las acciones por lotes todavía necesitan un navegador administrado o un perfil CDP sin procesar
Sandboxing y memoria
¿Hay un documento dedicado sobre Sandboxing?
¿Hay un documento dedicado sobre Sandboxing?
Docker se siente limitado - ¿cómo habilito todas las funciones?
Docker se siente limitado - ¿cómo habilito todas las funciones?
node, por lo que no
incluye paquetes del sistema, Homebrew ni navegadores incluidos. Para una configuración más completa:- Persiste
/home/nodeconOPENCLAW_HOME_VOLUMEpara que las cachés sobrevivan. - Incorpora dependencias del sistema en la imagen con
OPENCLAW_DOCKER_APT_PACKAGES. - Instala navegadores Playwright mediante la CLI incluida:
node /app/node_modules/playwright-core/cli.js install chromium - Establece
PLAYWRIGHT_BROWSERS_PATHy asegúrate de que la ruta persista.
¿Puedo mantener los MD personales, pero hacer que los grupos sean públicos/en sandbox con un solo agente?
¿Puedo mantener los MD personales, pero hacer que los grupos sean públicos/en sandbox con un solo agente?
agents.defaults.sandbox.mode: "non-main" para que las sesiones de grupo/canal (claves no principales) se ejecuten en el backend de sandbox configurado, mientras que la sesión principal de MD permanece en el host. Docker es el backend predeterminado si no eliges uno. Luego restringe qué herramientas están disponibles en sesiones en sandbox mediante tools.sandbox.tools.Recorrido de configuración + ejemplo de config: Grupos: MD personales + grupos públicosReferencia clave de config: Configuración del Gateway¿Cómo vinculo una carpeta del host al sandbox?
¿Cómo vinculo una carpeta del host al sandbox?
agents.defaults.sandbox.docker.binds en ["host:path:mode"] (p. ej., "/home/user/src:/src:ro"). Los vínculos globales y por agente se combinan; los vínculos por agente se ignoran cuando scope: "shared". Usa :ro para cualquier cosa sensible y recuerda que los vínculos eluden las barreras del sistema de archivos del sandbox.OpenClaw valida los orígenes de vínculo contra la ruta normalizada y la ruta canónica resuelta mediante el ancestro existente más profundo. Eso significa que los escapes por padre de enlace simbólico siguen fallando de forma cerrada incluso cuando el último segmento de ruta aún no existe, y las comprobaciones de raíz permitida siguen aplicándose después de la resolución de enlaces simbólicos.Consulta Sandboxing y Sandbox frente a política de herramientas frente a elevado para ejemplos y notas de seguridad.¿Cómo funciona la memoria?
¿Cómo funciona la memoria?
- Notas diarias en
memory/YYYY-MM-DD.md - Notas seleccionadas de largo plazo en
MEMORY.md(solo sesiones principales/privadas)
La memoria sigue olvidando cosas. ¿Cómo hago que se conserve?
La memoria sigue olvidando cosas. ¿Cómo hago que se conserve?
MEMORY.md,
el contexto de corto plazo va en memory/YYYY-MM-DD.md.Esta sigue siendo un área que estamos mejorando. Ayuda recordarle al modelo que almacene recuerdos;
sabrá qué hacer. Si sigue olvidando, verifica que el Gateway esté usando el mismo
espacio de trabajo en cada ejecución.Docs: Memoria, Espacio de trabajo del agente.¿La memoria persiste para siempre? ¿Cuáles son los límites?
¿La memoria persiste para siempre? ¿Cuáles son los límites?
¿La búsqueda de memoria semántica requiere una clave de API de OpenAI?
¿La búsqueda de memoria semántica requiere una clave de API de OpenAI?
OPENAI_API_KEY o models.providers.openai.apiKey).Si no configuras un proveedor explícitamente, OpenClaw selecciona automáticamente un proveedor cuando
puede resolver una clave de API (perfiles de autenticación, models.providers.*.apiKey o variables de entorno).
Prefiere OpenAI si se resuelve una clave de OpenAI; de lo contrario, Gemini si se
resuelve una clave de Gemini; luego Voyage y luego Mistral. Si no hay ninguna clave remota disponible, la búsqueda de
memoria permanece deshabilitada hasta que la configures. Si tienes una ruta de modelo local
configurada y presente, OpenClaw
prefiere local. Ollama es compatible cuando configuras explícitamente
memorySearch.provider = "ollama".Si prefieres mantenerte en local, configura memorySearch.provider = "local" (y opcionalmente
memorySearch.fallback = "none"). Si quieres embeddings de Gemini, configura
memorySearch.provider = "gemini" y proporciona GEMINI_API_KEY (o
memorySearch.remote.apiKey). Admitimos modelos de embeddings de OpenAI, Gemini, Voyage, Mistral, Ollama o locales:
consulta Memoria para ver los detalles de configuración.Dónde se ubican las cosas en el disco
¿Todos los datos usados con OpenClaw se guardan localmente?
¿Todos los datos usados con OpenClaw se guardan localmente?
- Local de forma predeterminada: las sesiones, los archivos de memoria, la configuración y el espacio de trabajo residen en el host del Gateway
(
~/.openclaw+ tu directorio de espacio de trabajo). - Remoto por necesidad: los mensajes que envías a proveedores de modelos (Anthropic/OpenAI/etc.) van a sus API, y las plataformas de chat (WhatsApp/Telegram/Slack/etc.) almacenan datos de mensajes en sus servidores.
- Tú controlas la huella: usar modelos locales mantiene los prompts en tu máquina, pero el tráfico de canales sigue pasando por los servidores del canal.
¿Dónde almacena OpenClaw sus datos?
¿Dónde almacena OpenClaw sus datos?
$OPENCLAW_STATE_DIR (valor predeterminado: ~/.openclaw):| Ruta | Propósito |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json | Configuración principal (JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json | Importación OAuth heredada (copiada en los perfiles de autenticación en el primer uso) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | Perfiles de autenticación (OAuth, claves de API y keyRef/tokenRef opcionales) |
$OPENCLAW_STATE_DIR/secrets.json | Carga útil de secretos opcional respaldada por archivo para proveedores SecretRef file |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json | Archivo de compatibilidad heredado (entradas estáticas api_key depuradas) |
$OPENCLAW_STATE_DIR/credentials/ | Estado del proveedor (por ejemplo, whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ | Estado por agente (agentDir + sesiones) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | Historial y estado de conversación (por agente) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | Metadatos de sesión (por agente) |
~/.openclaw/agent/* (migrada por openclaw doctor).Tu espacio de trabajo (AGENTS.md, archivos de memoria, Skills, etc.) está separado y se configura mediante agents.defaults.workspace (valor predeterminado: ~/.openclaw/workspace).¿Dónde deben estar AGENTS.md / SOUL.md / USER.md / MEMORY.md?
¿Dónde deben estar AGENTS.md / SOUL.md / USER.md / MEMORY.md?
~/.openclaw.- Espacio de trabajo (por agente):
AGENTS.md,SOUL.md,IDENTITY.md,USER.md,MEMORY.md,memory/YYYY-MM-DD.md,HEARTBEAT.mdopcional. La raíz en minúsculasmemory.mdsolo es entrada de reparación heredada;openclaw doctor --fixpuede fusionarla enMEMORY.mdcuando ambos archivos existen. - Directorio de estado (
~/.openclaw): configuración, estado de canales/proveedores, perfiles de autenticación, sesiones, registros y Skills compartidas (~/.openclaw/skills).
~/.openclaw/workspace, configurable mediante:Estrategia de copia de seguridad recomendada
Estrategia de copia de seguridad recomendada
~/.openclaw (credenciales, sesiones, tokens o cargas útiles de secretos cifrados).
Si necesitas una restauración completa, haz copias de seguridad del espacio de trabajo y del directorio de estado
por separado (consulta la pregunta de migración anterior).Documentación: Espacio de trabajo del agente.¿Cómo desinstalo OpenClaw por completo?
¿Cómo desinstalo OpenClaw por completo?
¿Pueden los agentes trabajar fuera del espacio de trabajo?
¿Pueden los agentes trabajar fuera del espacio de trabajo?
agents.defaults.sandbox o ajustes de sandbox por agente. Si
quieres que un repositorio sea el directorio de trabajo predeterminado, apunta el
workspace de ese agente a la raíz del repositorio. El repositorio de OpenClaw es solo código fuente; mantén el
espacio de trabajo separado a menos que quieras intencionalmente que el agente trabaje dentro de él.Ejemplo (repositorio como cwd predeterminado):Modo remoto: ¿dónde está el almacén de sesiones?
Modo remoto: ¿dónde está el almacén de sesiones?
Conceptos básicos de configuración
¿Qué formato tiene la configuración? ¿Dónde está?
¿Qué formato tiene la configuración? ¿Dónde está?
$OPENCLAW_CONFIG_PATH (valor predeterminado: ~/.openclaw/openclaw.json):~/.openclaw/workspace).Configuré gateway.bind: "lan" (o "tailnet") y ahora nada escucha / la UI dice no autorizado
Configuré gateway.bind: "lan" (o "tailnet") y ahora nada escucha / la UI dice no autorizado
- autenticación con secreto compartido: token o contraseña
gateway.auth.mode: "trusted-proxy"detrás de un proxy inverso con reconocimiento de identidad configurado correctamente
gateway.remote.token/.passwordno habilitan por sí solos la autenticación del gateway local.- Las rutas de llamadas locales pueden usar
gateway.remote.*como respaldo solo cuandogateway.auth.*no está configurado. - Para autenticación con contraseña, configura
gateway.auth.mode: "password"másgateway.auth.password(oOPENCLAW_GATEWAY_PASSWORD) en su lugar. - Si
gateway.auth.token/gateway.auth.passwordse configura explícitamente mediante SecretRef y no se puede resolver, la resolución falla de forma cerrada (sin enmascaramiento por respaldo remoto). - Las configuraciones de Control UI con secreto compartido se autentican mediante
connect.params.auth.tokenoconnect.params.auth.password(almacenados en la configuración de la app/UI). Los modos con identidad, como Tailscale Serve otrusted-proxy, usan encabezados de solicitud en su lugar. Evita poner secretos compartidos en las URL. - Con
gateway.auth.mode: "trusted-proxy", los proxies inversos local loopback del mismo host requierengateway.auth.trustedProxy.allowLoopback = trueexplícito y una entrada loopback engateway.trustedProxies.
¿Por qué ahora necesito un token en localhost?
¿Por qué ahora necesito un token en localhost?
gateway.auth.token, gateway.auth.password, OPENCLAW_GATEWAY_TOKEN o OPENCLAW_GATEWAY_PASSWORD explícitamente cuando los clientes necesiten un secreto estable entre reinicios. Esto bloquea que otros procesos locales llamen al Gateway.Si prefieres una ruta de autenticación diferente, puedes elegir explícitamente el modo de contraseña (o, para proxies inversos con reconocimiento de identidad, trusted-proxy). Si realmente quieres loopback abierto, configura gateway.auth.mode: "none" explícitamente en tu configuración. Doctor puede generar un token por ti en cualquier momento: openclaw doctor --generate-gateway-token.¿Tengo que reiniciar después de cambiar la configuración?
¿Tengo que reiniciar después de cambiar la configuración?
gateway.reload.mode: "hybrid"(predeterminado): aplica en caliente los cambios seguros, reinicia para los críticoshot,restart,offtambién son compatibles
¿Cómo deshabilito los lemas graciosos de la CLI?
¿Cómo deshabilito los lemas graciosos de la CLI?
cli.banner.taglineMode en la configuración:off: oculta el texto del lema, pero conserva la línea de título/versión del banner.default: usaAll your chats, one OpenClaw.siempre.random: lemas graciosos/de temporada rotativos (comportamiento predeterminado).- Si no quieres ningún banner, configura la variable de entorno
OPENCLAW_HIDE_BANNER=1.
¿Cómo habilito la búsqueda web (y la obtención web)?
¿Cómo habilito la búsqueda web (y la obtención web)?
web_fetch funciona sin una clave de API. web_search depende del proveedor
seleccionado:- Los proveedores respaldados por API, como Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity y Tavily, requieren su configuración normal de clave de API.
- Ollama Web Search no requiere clave, pero usa tu host de Ollama configurado y requiere
ollama signin. - DuckDuckGo no requiere clave, pero es una integración no oficial basada en HTML.
- SearXNG no requiere clave/es autoalojado; configura
SEARXNG_BASE_URLoplugins.entries.searxng.config.webSearch.baseUrl.
openclaw configure --section web y elige un proveedor.
Alternativas de entorno:- Brave:
BRAVE_API_KEY - Exa:
EXA_API_KEY - Firecrawl:
FIRECRAWL_API_KEY - Gemini:
GEMINI_API_KEY - Grok:
XAI_API_KEY - Kimi:
KIMI_API_KEYoMOONSHOT_API_KEY - MiniMax Search:
MINIMAX_CODE_PLAN_KEY,MINIMAX_CODING_API_KEYoMINIMAX_API_KEY - Perplexity:
PERPLEXITY_API_KEYoOPENROUTER_API_KEY - SearXNG:
SEARXNG_BASE_URL - Tavily:
TAVILY_API_KEY
plugins.entries.<plugin>.config.webSearch.*.
Las rutas heredadas de proveedor tools.web.search.* todavía se cargan temporalmente por compatibilidad, pero no deben usarse para configuraciones nuevas.
La configuración de respaldo de obtención web de Firecrawl vive en plugins.entries.firecrawl.config.webFetch.*.Notas:- Si usas listas de permitidos, agrega
web_search/web_fetch/x_searchogroup:web. web_fetchestá habilitado de forma predeterminada (salvo que se deshabilite explícitamente).- Si se omite
tools.web.fetch.provider, OpenClaw detecta automáticamente el primer proveedor de respaldo de obtención listo a partir de las credenciales disponibles. Hoy el proveedor incluido es Firecrawl. - Los daemons leen variables de entorno desde
~/.openclaw/.env(o desde el entorno del servicio).
config.apply borró mi configuración. ¿Cómo la recupero y evito que esto pase?
config.apply borró mi configuración. ¿Cómo la recupero y evito que esto pase?
config.apply reemplaza la configuración completa. Si envías un objeto parcial, todo
lo demás se elimina.La versión actual de OpenClaw protege contra muchos sobrescritos accidentales:- Las escrituras de configuración propiedad de OpenClaw validan la configuración completa posterior al cambio antes de escribir.
- Las escrituras inválidas o destructivas propiedad de OpenClaw se rechazan y se guardan como
openclaw.json.rejected.*. - Si una edición directa rompe el arranque o la recarga en caliente, Gateway falla en modo cerrado u omite la recarga; no reescribe
openclaw.json. openclaw doctor --fixes responsable de la reparación y puede restaurar la última configuración válida conocida mientras guarda el archivo rechazado comoopenclaw.json.clobbered.*.
- Revisa
openclaw logs --followpara buscarInvalid config at,Config write rejected:oconfig reload skipped (invalid config). - Inspecciona el
openclaw.json.clobbered.*oopenclaw.json.rejected.*más reciente junto a la configuración activa. - Ejecuta
openclaw config validateyopenclaw doctor --fix. - Copia de vuelta solo las claves previstas con
openclaw config setoconfig.patch. - Si no tienes una última configuración válida conocida ni una carga útil rechazada, restaura desde una copia de seguridad, o vuelve a ejecutar
openclaw doctory reconfigura canales/modelos. - Si esto fue inesperado, informa de un bug e incluye tu última configuración conocida o cualquier copia de seguridad.
- Un agente de codificación local a menudo puede reconstruir una configuración funcional a partir de registros o historial.
- Usa
openclaw config setpara cambios pequeños. - Usa
openclaw configurepara ediciones interactivas. - Usa primero
config.schema.lookupcuando no tengas certeza sobre una ruta exacta o la forma de un campo; devuelve un nodo de esquema superficial más resúmenes de sus hijos inmediatos para profundizar. - Usa
config.patchpara ediciones RPC parciales; reservaconfig.applysolo para reemplazar la configuración completa. - Si estás usando la herramienta
gatewaysolo para propietarios desde una ejecución de agente, seguirá rechazando escrituras entools.exec.ask/tools.exec.security(incluidos los alias heredadostools.bash.*que se normalizan a las mismas rutas de exec protegidas).
¿Cómo ejecuto un Gateway central con trabajadores especializados en varios dispositivos?
¿Cómo ejecuto un Gateway central con trabajadores especializados en varios dispositivos?
- Gateway (central): administra canales (Signal/WhatsApp), enrutamiento y sesiones.
- Nodos (dispositivos): Macs/iOS/Android se conectan como periféricos y exponen herramientas locales (
system.run,canvas,camera). - Agentes (trabajadores): cerebros/espacios de trabajo separados para roles especiales (por ejemplo, “operaciones de Hetzner”, “datos personales”).
- Subagentes: generan trabajo en segundo plano desde un agente principal cuando quieres paralelismo.
- TUI: conéctate al Gateway y cambia de agentes/sesiones.
¿Puede el navegador de OpenClaw ejecutarse en modo headless?
¿Puede el navegador de OpenClaw ejecutarse en modo headless?
¿Cómo uso Brave para controlar el navegador?
¿Cómo uso Brave para controlar el navegador?
Gateways y nodos remotos
¿Cómo se propagan los comandos entre Telegram, el gateway y los nodos?
¿Cómo se propagan los comandos entre Telegram, el gateway y los nodos?
node.* → Nodo → Gateway → TelegramLos nodos no ven tráfico entrante del proveedor; solo reciben llamadas RPC de nodo.¿Cómo puede mi agente acceder a mi computadora si el Gateway está alojado de forma remota?
¿Cómo puede mi agente acceder a mi computadora si el Gateway está alojado de forma remota?
node.* (pantalla, cámara, sistema) en tu máquina local mediante el Gateway WebSocket.Configuración típica:- Ejecuta el Gateway en el host siempre encendido (VPS/servidor doméstico).
- Pon el host del Gateway y tu computadora en la misma tailnet.
- Asegúrate de que el WS del Gateway sea accesible (enlace de tailnet o túnel SSH).
- Abre la app de macOS localmente y conéctate en modo Remoto por SSH (o tailnet directa) para que pueda registrarse como nodo.
-
Aprueba el nodo en el Gateway:
system.run en esa máquina. Empareja
solo dispositivos en los que confíes y revisa Seguridad.Docs: Nodos, Protocolo de Gateway, modo remoto de macOS, Seguridad.Tailscale está conectado, pero no recibo respuestas. ¿Qué hago ahora?
Tailscale está conectado, pero no recibo respuestas. ¿Qué hago ahora?
- Gateway en ejecución:
openclaw gateway status - Estado de Gateway:
openclaw status - Estado de los canales:
openclaw channels status
- Si usas Tailscale Serve, asegúrate de que
gateway.auth.allowTailscaleesté establecido correctamente. - Si te conectas mediante un túnel SSH, confirma que el túnel local esté activo y apunte al puerto correcto.
- Confirma que tus listas de permitidos (DM o grupo) incluyan tu cuenta.
¿Pueden dos instancias de OpenClaw hablar entre sí (local + VPS)?
¿Pueden dos instancias de OpenClaw hablar entre sí (local + VPS)?
openclaw agent --message ... --deliver, apuntando a un chat donde el otro bot
escucha. Si un bot está en un VPS remoto, apunta tu CLI a ese Gateway remoto
mediante SSH/Tailscale (consulta Acceso remoto).Patrón de ejemplo (ejecútalo desde una máquina que pueda alcanzar el Gateway objetivo):¿Necesito VPS separados para varios agentes?
¿Necesito VPS separados para varios agentes?
¿Hay alguna ventaja en usar un nodo en mi laptop personal en lugar de SSH desde un VPS?
¿Hay alguna ventaja en usar un nodo en mi laptop personal en lugar de SSH desde un VPS?
- No requiere SSH entrante. Los nodos se conectan hacia el Gateway WebSocket y usan emparejamiento de dispositivos.
- Controles de ejecución más seguros.
system.runestá protegido por listas de permitidos/aprobaciones del nodo en esa laptop. - Más herramientas de dispositivo. Los nodos exponen
canvas,camerayscreenademás desystem.run. - Automatización local del navegador. Mantén el Gateway en un VPS, pero ejecuta Chrome localmente a través de un host de nodo en la laptop, o conéctate a Chrome local en el host mediante Chrome MCP.
¿Los nodos ejecutan un servicio de gateway?
¿Los nodos ejecutan un servicio de gateway?
gateway, discovery y la superficie de Plugin alojada.¿Hay una forma de API / RPC para aplicar configuración?
¿Hay una forma de API / RPC para aplicar configuración?
config.schema.lookup: inspecciona un subárbol de configuración con su nodo de esquema superficial, la pista de UI coincidente y resúmenes de hijos inmediatos antes de escribirconfig.get: obtiene la instantánea actual + hashconfig.patch: actualización parcial segura (preferida para la mayoría de ediciones RPC); recarga en caliente cuando es posible y reinicia cuando es necesarioconfig.apply: valida + reemplaza la configuración completa; recarga en caliente cuando es posible y reinicia cuando es necesario- La herramienta de runtime
gatewaysolo para el propietario aún se niega a reescribirtools.exec.ask/tools.exec.security; los alias heredadostools.bash.*se normalizan a las mismas rutas de exec protegidas
Configuración mínima sensata para una primera instalación
Configuración mínima sensata para una primera instalación
¿Cómo configuro Tailscale en un VPS y me conecto desde mi Mac?
¿Cómo configuro Tailscale en un VPS y me conecto desde mi Mac?
-
Instala + inicia sesión en el VPS
-
Instala + inicia sesión en tu Mac
- Usa la app de Tailscale e inicia sesión en la misma tailnet.
-
Activa MagicDNS (recomendado)
- En la consola de administración de Tailscale, activa MagicDNS para que el VPS tenga un nombre estable.
-
Usa el nombre de host de la tailnet
- SSH:
ssh user@your-vps.tailnet-xxxx.ts.net - WS del Gateway:
ws://your-vps.tailnet-xxxx.ts.net:18789
- SSH:
¿Cómo conecto un Node de Mac a un Gateway remoto (Tailscale Serve)?
¿Cómo conecto un Node de Mac a un Gateway remoto (Tailscale Serve)?
- Asegúrate de que el VPS + Mac estén en la misma tailnet.
- Usa la app de macOS en modo remoto (el destino SSH puede ser el nombre de host de la tailnet). La app tunelizará el puerto del Gateway y se conectará como Node.
-
Aprueba el Node en el Gateway:
¿Debo instalar en una segunda laptop o solo añadir un Node?
¿Debo instalar en una segunda laptop o solo añadir un Node?
Variables de entorno y carga de .env
¿Cómo carga OpenClaw las variables de entorno?
¿Cómo carga OpenClaw las variables de entorno?
.envdesde el directorio de trabajo actual- un
.envglobal de reserva desde~/.openclaw/.env(también conocido como$OPENCLAW_STATE_DIR/.env)
.env sobrescribe variables de entorno existentes.También puedes definir variables de entorno inline en la configuración (aplicadas solo si faltan en el entorno del proceso):Inicié el Gateway mediante el servicio y mis variables de entorno desaparecieron. ¿Qué hago ahora?
Inicié el Gateway mediante el servicio y mis variables de entorno desaparecieron. ¿Qué hago ahora?
- Coloca las claves faltantes en
~/.openclaw/.envpara que se recojan incluso cuando el servicio no herede tu entorno de shell. - Activa la importación de shell (comodidad opcional):
OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.Configuré COPILOT_GITHUB_TOKEN, pero el estado de los modelos muestra "Shell env: off." ¿Por qué?
Configuré COPILOT_GITHUB_TOKEN, pero el estado de los modelos muestra "Shell env: off." ¿Por qué?
openclaw models status informa si la importación de entorno de shell está activada. “Shell env: off”
no significa que falten tus variables de entorno; solo significa que OpenClaw no cargará
automáticamente tu shell de inicio de sesión.Si el Gateway se ejecuta como servicio (launchd/systemd), no heredará tu entorno de shell.
Arréglalo haciendo una de estas cosas:-
Coloca el token en
~/.openclaw/.env: -
O activa la importación de shell (
env.shellEnv.enabled: true). -
O añádelo al bloque
envde tu configuración (se aplica solo si falta).
COPILOT_GITHUB_TOKEN (también GH_TOKEN / GITHUB_TOKEN).
Consulta /concepts/model-providers y /environment.Sesiones y múltiples chats
¿Cómo inicio una conversación nueva?
¿Cómo inicio una conversación nueva?
/new o /reset como mensaje independiente. Consulta gestión de sesiones.¿Las sesiones se restablecen automáticamente si nunca envío /new?
¿Las sesiones se restablecen automáticamente si nunca envío /new?
session.idleMinutes, pero esto está desactivado de forma predeterminada (valor predeterminado 0).
Configúralo con un valor positivo para activar la caducidad por inactividad. Cuando está activado, el siguiente
mensaje después del periodo de inactividad inicia un id de sesión nuevo para esa clave de chat.
Esto no elimina las transcripciones; solo inicia una sesión nueva.¿Hay alguna forma de crear un equipo de instancias de OpenClaw (un CEO y muchos agentes)?
¿Hay alguna forma de crear un equipo de instancias de OpenClaw (un CEO y muchos agentes)?
¿Por qué se truncó el contexto a mitad de tarea? ¿Cómo lo evito?
¿Por qué se truncó el contexto a mitad de tarea? ¿Cómo lo evito?
- Pide al bot que resuma el estado actual y lo escriba en un archivo.
- Usa
/compactantes de tareas largas y/newal cambiar de tema. - Mantén el contexto importante en el espacio de trabajo y pide al bot que lo vuelva a leer.
- Usa subagentes para trabajo largo o paralelo, de modo que el chat principal permanezca más pequeño.
- Elige un modelo con una ventana de contexto más grande si esto ocurre a menudo.
¿Cómo restablezco completamente OpenClaw pero lo mantengo instalado?
¿Cómo restablezco completamente OpenClaw pero lo mantengo instalado?
- La incorporación también ofrece Restablecer si detecta una configuración existente. Consulta incorporación (CLI).
- Si usaste perfiles (
--profile/OPENCLAW_PROFILE), restablece cada directorio de estado (los predeterminados son~/.openclaw-<profile>). - Restablecimiento de desarrollo:
openclaw gateway --dev --reset(solo desarrollo; borra configuración de desarrollo + credenciales + sesiones + espacio de trabajo).
Estoy recibiendo errores de "context too large"; ¿cómo restablezco o compacto?
Estoy recibiendo errores de "context too large"; ¿cómo restablezco o compacto?
-
Compactar (mantiene la conversación pero resume turnos anteriores):
o
/compact <instructions>para guiar el resumen. -
Restablecer (id de sesión nuevo para la misma clave de chat):
- Activa o ajusta la poda de sesiones (
agents.defaults.contextPruning) para recortar salidas antiguas de herramientas. - Usa un modelo con una ventana de contexto más grande.
¿Por qué veo "LLM request rejected: messages.content.tool_use.input field required"?
¿Por qué veo "LLM request rejected: messages.content.tool_use.input field required"?
tool_use sin el
input requerido. Normalmente significa que el historial de la sesión está obsoleto o corrupto (a menudo después de hilos largos
o de un cambio de herramienta/esquema).Solución: inicia una sesión nueva con /new (mensaje independiente).¿Por qué recibo mensajes de Heartbeat cada 30 minutos?
¿Por qué recibo mensajes de Heartbeat cada 30 minutos?
HEARTBEAT.md existe pero está efectivamente vacío (solo líneas en blanco y encabezados markdown
como # Heading), OpenClaw omite la ejecución de Heartbeat para ahorrar llamadas a la API.
Si el archivo falta, el Heartbeat igualmente se ejecuta y el modelo decide qué hacer.Las anulaciones por agente usan agents.list[].heartbeat. Docs: Heartbeat.¿Necesito añadir una "cuenta de bot" a un grupo de WhatsApp?
¿Necesito añadir una "cuenta de bot" a un grupo de WhatsApp?
groupPolicy: "allowlist").Si quieres que solo tú puedas activar respuestas en grupos:¿Cómo obtengo el JID de un grupo de WhatsApp?
¿Cómo obtengo el JID de un grupo de WhatsApp?
chatId (o from) que termine en @g.us, como:
1234567890-1234567890@g.us.Opción 2 (si ya está configurado/en allowlist): lista grupos desde la configuración:¿Por qué OpenClaw no responde en un grupo?
¿Por qué OpenClaw no responde en un grupo?
- La compuerta por mención está activada (predeterminado). Debes @mencionar al bot (o coincidir con
mentionPatterns). - Configuraste
channels.whatsapp.groupssin"*"y el grupo no está en allowlist.
¿Los grupos/hilos comparten contexto con los MD?
¿Los grupos/hilos comparten contexto con los MD?
¿Cuántos espacios de trabajo y agentes puedo crear?
¿Cuántos espacios de trabajo y agentes puedo crear?
- Crecimiento del disco: las sesiones y las transcripciones viven en
~/.openclaw/agents/<agentId>/sessions/. - Costo de tokens: más agentes significa más uso concurrente de modelos.
- Sobrecarga operativa: perfiles de autenticación, espacios de trabajo y enrutamiento de canales por agente.
- Mantén un espacio de trabajo activo por agente (
agents.defaults.workspace). - Depura sesiones antiguas (elimina JSONL o entradas de almacenamiento) si el disco crece.
- Usa
openclaw doctorpara detectar espacios de trabajo sueltos y discrepancias de perfiles.
¿Puedo ejecutar varios bots o chats al mismo tiempo (Slack), y cómo debo configurarlo?
¿Puedo ejecutar varios bots o chats al mismo tiempo (Slack), y cómo debo configurarlo?
- Host de Gateway siempre activo (VPS/Mac mini).
- Un agente por rol (vinculaciones).
- Canal(es) de Slack vinculados a esos agentes.
- Navegador local mediante Chrome MCP o un nodo cuando sea necesario.
Modelos, conmutación por error y perfiles de autenticación
Las preguntas frecuentes sobre modelos — valores predeterminados, selección, alias, cambio, conmutación por error, perfiles de autenticación — viven en las Preguntas frecuentes sobre modelos.Gateway: puertos, “ya en ejecución” y modo remoto
¿Qué puerto usa el Gateway?
¿Qué puerto usa el Gateway?
gateway.port controla el único puerto multiplexado para WebSocket + HTTP (interfaz de control, hooks, etc.).Precedencia:¿Por qué openclaw gateway status dice "Runtime: running" pero "Connectivity probe: failed"?
¿Por qué openclaw gateway status dice "Runtime: running" pero "Connectivity probe: failed"?
openclaw gateway status y confía en estas líneas:Probe target:(la URL que la sonda usó realmente)Listening:(lo que realmente está vinculado en el puerto)Last gateway error:(causa raíz común cuando el proceso está activo pero el puerto no está escuchando)
¿Por qué openclaw gateway status muestra "Config (cli)" y "Config (service)" diferentes?
¿Por qué openclaw gateway status muestra "Config (cli)" y "Config (service)" diferentes?
--profile / OPENCLAW_STATE_DIR).Solución:--profile / entorno que quieres que use el servicio.¿Qué significa "another gateway instance is already listening"?
¿Qué significa "another gateway instance is already listening"?
ws://127.0.0.1:18789). Si el vínculo falla con EADDRINUSE, lanza GatewayLockError, lo que indica que otra instancia ya está escuchando.Solución: detén la otra instancia, libera el puerto o ejecuta con openclaw gateway --port <port>.¿Cómo ejecuto OpenClaw en modo remoto (el cliente se conecta a un Gateway en otro lugar)?
¿Cómo ejecuto OpenClaw en modo remoto (el cliente se conecta a un Gateway en otro lugar)?
gateway.mode: "remote" y apunta a una URL remota de WebSocket, opcionalmente con credenciales remotas de secreto compartido:openclaw gatewaysolo se inicia cuandogateway.modeeslocal(o si pasas la marca de sobrescritura).- La app de macOS observa el archivo de configuración y cambia de modo en vivo cuando estos valores cambian.
gateway.remote.token/.passwordson solo credenciales remotas del lado del cliente; no habilitan por sí solas la autenticación del Gateway local.
La interfaz de control dice "unauthorized" (o se sigue reconectando). ¿Qué hago ahora?
La interfaz de control dice "unauthorized" (o se sigue reconectando). ¿Qué hago ahora?
Configuré gateway.bind tailnet, pero no puede vincularse y nada escucha
Configuré gateway.bind tailnet, pero no puede vincularse y nada escucha
tailnet elige una IP de Tailscale de tus interfaces de red (100.64.0.0/10). Si la máquina no está en Tailscale (o la interfaz está caída), no hay nada a lo que vincularse.Solución:- Inicia Tailscale en ese host (para que tenga una dirección 100.x), o
- Cambia a
gateway.bind: "loopback"/"lan".
tailnet es explícito. auto prefiere loopback; usa gateway.bind: "tailnet" cuando quieras un vínculo solo para tailnet.¿Puedo ejecutar varios Gateways en el mismo host?
¿Puedo ejecutar varios Gateways en el mismo host?
OPENCLAW_CONFIG_PATH(configuración por instancia)OPENCLAW_STATE_DIR(estado por instancia)agents.defaults.workspace(aislamiento de espacio de trabajo)gateway.port(puertos únicos)
- Usa
openclaw --profile <name> ...por instancia (crea automáticamente~/.openclaw-<name>). - Establece un
gateway.portúnico en la configuración de cada perfil (o pasa--portpara ejecuciones manuales). - Instala un servicio por perfil:
openclaw --profile <name> gateway install.
ai.openclaw.<profile>; heredados com.openclaw.*, openclaw-gateway-<profile>.service, OpenClaw Gateway (<profile>)).
Guía completa: Varios Gateways.¿Qué significa "invalid handshake" / código 1008?
¿Qué significa "invalid handshake" / código 1008?
connect. Si recibe cualquier otra cosa, cierra la conexión
con código 1008 (infracción de política).Causas comunes:- Abriste la URL HTTP en un navegador (
http://...) en lugar de un cliente WS. - Usaste el puerto o la ruta incorrectos.
- Un proxy o túnel eliminó encabezados de autenticación o envió una solicitud que no era del Gateway.
- Usa la URL WS:
ws://<host>:18789(owss://...si es HTTPS). - No abras el puerto WS en una pestaña normal del navegador.
- Si la autenticación está activada, incluye el token/contraseña en el frame
connect.
Registro y depuración
¿Dónde están los logs?
¿Dónde están los logs?
logging.file. El nivel de logs de archivo se controla con logging.level. La verbosidad de consola se controla con --verbose y logging.consoleLevel.Seguimiento rápido de logs:- macOS:
$OPENCLAW_STATE_DIR/logs/gateway.logygateway.err.log(predeterminado:~/.openclaw/logs/...; los perfiles usan~/.openclaw-<profile>/logs/...) - Linux:
journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager - Windows:
schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST
¿Cómo inicio/detengo/reinicio el servicio del Gateway?
¿Cómo inicio/detengo/reinicio el servicio del Gateway?
openclaw gateway --force puede recuperar el puerto. Consulta Gateway.Cerré mi terminal en Windows: ¿cómo reinicio OpenClaw?
Cerré mi terminal en Windows: ¿cómo reinicio OpenClaw?
El Gateway está activo, pero las respuestas nunca llegan. ¿Qué debo comprobar?
El Gateway está activo, pero las respuestas nunca llegan. ¿Qué debo comprobar?
- Autenticación de modelo no cargada en el host del Gateway (comprueba
models status). - Emparejamiento/lista de permitidos del canal bloqueando respuestas (comprueba la configuración del canal y los registros).
- WebChat/Dashboard está abierto sin el token correcto.
"Desconectado del gateway: sin motivo" - ¿qué hago ahora?
"Desconectado del gateway: sin motivo" - ¿qué hago ahora?
- ¿Está el Gateway en ejecución?
openclaw gateway status - ¿Está sano el Gateway?
openclaw status - ¿Tiene la interfaz el token correcto?
openclaw dashboard - Si es remoto, ¿está activo el enlace del túnel/Tailscale?
Telegram setMyCommands falla. ¿Qué debería comprobar?
Telegram setMyCommands falla. ¿Qué debería comprobar?
BOT_COMMANDS_TOO_MUCH: el menú de Telegram tiene demasiadas entradas. OpenClaw ya recorta hasta el límite de Telegram y reintenta con menos comandos, pero aún se deben eliminar algunas entradas del menú. Reduce los comandos de Plugin/skill/personalizados, o desactivachannels.telegram.commands.nativesi no necesitas el menú.TypeError: fetch failed,Network request for 'setMyCommands' failed!, o errores de red similares: si estás en un VPS o detrás de un proxy, confirma que HTTPS saliente esté permitido y que DNS funcione paraapi.telegram.org.
La TUI no muestra salida. ¿Qué debería comprobar?
La TUI no muestra salida. ¿Qué debería comprobar?
/status para ver el estado actual. Si esperas respuestas en un canal
de chat, asegúrate de que la entrega esté activada (/deliver on).Docs: TUI, Comandos de barra.¿Cómo detengo por completo y luego inicio el Gateway?
¿Cómo detengo por completo y luego inicio el Gateway?
ELI5: openclaw gateway restart frente a openclaw gateway
ELI5: openclaw gateway restart frente a openclaw gateway
openclaw gateway restart: reinicia el servicio en segundo plano (launchd/systemd).openclaw gateway: ejecuta el gateway en primer plano para esta sesión de terminal.
openclaw gateway cuando
quieras una ejecución puntual en primer plano.La forma más rápida de obtener más detalles cuando algo falla
La forma más rápida de obtener más detalles cuando algo falla
--verbose para obtener más detalle en la consola. Luego inspecciona el archivo de registro para ver errores de autenticación de canales, enrutamiento de modelos y RPC.Medios y adjuntos
Mi skill generó una imagen/PDF, pero no se envió nada
Mi skill generó una imagen/PDF, pero no se envió nada
MEDIA:<path-or-url> (en su propia línea). Consulta Configuración del asistente OpenClaw y Envío de agente.Envío por CLI:- El canal de destino admite medios salientes y no está bloqueado por listas de permitidos.
- El archivo está dentro de los límites de tamaño del proveedor (las imágenes se redimensionan a un máximo de 2048px).
tools.fs.workspaceOnly=truemantiene los envíos de rutas locales limitados al espacio de trabajo, temp/media-store y archivos validados por el sandbox.tools.fs.workspaceOnly=falsepermite queMEDIA:envíe archivos locales del host que el agente ya puede leer, pero solo para medios y tipos de documento seguros (imágenes, audio, video, PDF y documentos de Office). Los archivos de texto sin formato y los que parecen secretos siguen bloqueados.
Seguridad y control de acceso
¿Es seguro exponer OpenClaw a MD entrantes?
¿Es seguro exponer OpenClaw a MD entrantes?
- El comportamiento predeterminado en canales con MD es emparejamiento:
- Los remitentes desconocidos reciben un código de emparejamiento; el bot no procesa su mensaje.
- Aprueba con:
openclaw pairing approve --channel <channel> [--account <id>] <code> - Las solicitudes pendientes tienen un límite de 3 por canal; comprueba
openclaw pairing list --channel <channel> [--account <id>]si no llegó un código.
- Abrir los MD públicamente requiere adhesión explícita (
dmPolicy: "open"y lista de permitidos"*").
openclaw doctor para detectar políticas de MD riesgosas.¿La inyección de prompts solo preocupa en bots públicos?
¿La inyección de prompts solo preocupa en bots públicos?
- usar un agente “lector” de solo lectura o con herramientas desactivadas para resumir contenido no confiable
- mantener
web_search/web_fetch/browserdesactivados para agentes con herramientas habilitadas - tratar también el texto decodificado de archivos/documentos como no confiable: OpenResponses
input_filey la extracción de adjuntos multimedia envuelven el texto extraído en marcadores explícitos de límite de contenido externo en lugar de pasar texto de archivo sin procesar - sandboxing y listas de permitidos estrictas para herramientas
¿Mi bot debería tener su propio correo electrónico, cuenta de GitHub o número de teléfono?
¿Mi bot debería tener su propio correo electrónico, cuenta de GitHub o número de teléfono?
¿Puedo darle autonomía sobre mis mensajes de texto y es seguro?
¿Puedo darle autonomía sobre mis mensajes de texto y es seguro?
- Mantén los MD en modo de emparejamiento o con una lista de permitidos estricta.
- Usa un número o cuenta separados si quieres que envíe mensajes en tu nombre.
- Deja que redacte, luego aprueba antes de enviar.
¿Puedo usar modelos más baratos para tareas de asistente personal?
¿Puedo usar modelos más baratos para tareas de asistente personal?
Ejecuté /start en Telegram pero no recibí un código de emparejamiento
Ejecuté /start en Telegram pero no recibí un código de emparejamiento
dmPolicy: "pairing" está activado. /start por sí solo no genera un código.Comprueba las solicitudes pendientes:dmPolicy: "open"
para esa cuenta.WhatsApp: ¿enviará mensajes a mis contactos? ¿Cómo funciona el emparejamiento?
WhatsApp: ¿enviará mensajes a mis contactos? ¿Cómo funciona el emparejamiento?
channels.whatsapp.selfChatMode.Comandos de chat, abortar tareas y “no se detiene”
¿Cómo evito que los mensajes internos del sistema se muestren en el chat?
¿Cómo evito que los mensajes internos del sistema se muestren en el chat?
verboseDefault establecido
en on en la configuración.Docs: Pensamiento y verbose, Seguridad.¿Cómo detengo/cancelo una tarea en ejecución?
¿Cómo detengo/cancelo una tarea en ejecución?
/, pero algunos atajos (como /status) también funcionan en línea para remitentes en la lista de permitidos.¿Cómo envío un mensaje de Discord desde Telegram? ("Mensajería entre contextos denegada")
¿Cómo envío un mensaje de Discord desde Telegram? ("Mensajería entre contextos denegada")
¿Por qué parece que el bot "ignora" mensajes rápidos consecutivos?
¿Por qué parece que el bot "ignora" mensajes rápidos consecutivos?
/queue para cambiar de modo:steer- pone en cola toda la orientación pendiente para el siguiente límite del modelo en la ejecución actualqueue- orientación heredada de una en unafollowup- ejecuta mensajes de uno en unocollect- agrupa mensajes y responde una vezsteer-backlog- orienta ahora y luego procesa la acumulacióninterrupt- aborta la ejecución actual y empieza de nuevo
steer. Puedes añadir opciones como debounce:0.5s cap:25 drop:summarize para los modos de seguimiento. Consulta Cola de comandos y Cola de dirección.Varios
¿Cuál es el modelo predeterminado para Anthropic con una clave de API?
¿Cuál es el modelo predeterminado para Anthropic con una clave de API?
ANTHROPIC_API_KEY (o guardar una clave de API de Anthropic en los perfiles de autenticación) habilita la autenticación, pero el modelo predeterminado real es el que configures en agents.defaults.model.primary (por ejemplo, anthropic/claude-sonnet-4-6 o anthropic/claude-opus-4-6). Si ves No credentials found for profile "anthropic:default", significa que el Gateway no pudo encontrar credenciales de Anthropic en el auth-profiles.json esperado para el agente que se está ejecutando.¿Sigues atascado? Pregunta en Discord o abre una conversación en GitHub.
Relacionado
- Preguntas frecuentes sobre la primera ejecución — instalación, incorporación, autenticación, suscripciones, errores iniciales
- Preguntas frecuentes sobre modelos — selección de modelo, conmutación por error, perfiles de autenticación
- Solución de problemas — clasificación inicial por síntoma