Primeros 60 segundos si algo está roto
Estado rápido
Informe pegable (seguro para compartir)
Estado del daemon + puerto
Sondas profundas
Seguir el log más reciente
Ejecutar doctor (reparaciones)
Instantánea del Gateway (solo WS)
Inicio rápido y configuración de primera ejecución
Las preguntas y respuestas de primera ejecución - instalación, incorporación, rutas de autenticación, suscripciones, fallos iniciales - están en las Preguntas frecuentes 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 espacio de trabajo y el historial de sesiones en local.
- Canales reales, no un sandbox web: Discord/iMessage/Signal/Slack/Telegram/WhatsApp/etc., además de voz móvil y Canvas en plataformas compatibles.
- Independiente del modelo: usa Anthropic, MiniMax, OpenAI, 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.
- Enrutamiento multiagente: agentes separados por canal, cuenta o tarea, cada uno con su propio espacio de trabajo 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?
¿Cuáles son los cinco principales casos de uso cotidianos de OpenClaw?
¿Cuáles son los cinco principales casos de uso cotidianos de OpenClaw?
- Informes personales: resúmenes de bandeja de entrada, calendario y noticias que te interesan.
- Investigación y redacción: investigación rápida, resúmenes y primeros borradores para correos o docs.
- Recordatorios y seguimientos: avisos y listas de comprobación impulsados por Cron o Heartbeat.
- Automatización del navegador: rellenar formularios, recopilar datos, 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, contacto, anuncios y blogs para un SaaS?
¿Puede OpenClaw ayudar con generación de leads, contacto, 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 y espacio de trabajo persistentes entre sesiones.
- Acceso multiplataforma (Telegram, WhatsApp, TUI, WebChat).
- Orquestación de herramientas (navegador, archivos, programación, hooks).
- Gateway siempre activo (ejecútalo en un VPS, interactúa desde cualquier lugar).
- Nodos para navegador/pantalla/cámara/exec locales.
Skills y automatización
¿Cómo personalizo skills sin mantener el repo sucio?
¿Cómo personalizo skills sin mantener el repo sucio?
~/.openclaw/skills/<name>/SKILL.md (o añade una carpeta mediante skills.load.extraDirs en ~/.openclaw/openclaw.json). Precedencia: <workspace>/skills -> <workspace>/.agents/skills -> ~/.agents/skills -> ~/.openclaw/skills -> incluidas -> skills.load.extraDirs, por lo que las sobrescrituras administradas ganan frente a las skills incluidas sin tocar git. Para instalar globalmente pero limitar la visibilidad a algunos agentes, mantén la copia compartida en ~/.openclaw/skills y controla la visibilidad con agents.defaults.skills / agents.list[].skills. Solo las ediciones que merezcan ir upstream deberían salir como PRs contra la copia del repo.¿Puedo cargar skills desde una carpeta personalizada?
¿Puedo cargar skills desde una carpeta personalizada?
skills.load.extraDirs en ~/.openclaw/openclaw.json (la precedencia más baja en el orden anterior). clawhub instala en ./skills de forma predeterminada, que OpenClaw trata como <workspace>/skills en la siguiente sesión. Para limitar la visibilidad a ciertos agentes, combínalo con agents.defaults.skills o agents.list[].skills.¿Cómo puedo usar modelos o ajustes diferentes para distintas tareas?
¿Cómo puedo usar modelos o ajustes diferentes para distintas tareas?
- Trabajos Cron: los trabajos aislados pueden establecer una sobrescritura de
modelpor trabajo. - Agentes: enruta tareas a agentes separados con modelos predeterminados, niveles de razonamiento y parámetros de stream diferentes.
- Cambio bajo demanda:
/modelcambia el modelo de la sesión actual en cualquier momento.
agents.defaults.models["provider/model"].params y luego las sobrescrituras específicas del agente en agents.list[].params plano. No dupliques el mismo modelo bajo agents.list[].models["provider/model"].params anidado; esa ruta es para el catálogo de modelos por agente y sobrescrituras de tiempo de ejecución.Consulta Trabajos Cron, Enrutamiento multiagente, Configuración, Comandos slash.El bot se congela mientras hace trabajo pesado. ¿Cómo lo descargo?
El bot se congela mientras hace trabajo pesado. ¿Cómo lo descargo?
/subagents. Usa /status para ver si el Gateway está ocupado actualmente.Tanto las tareas largas como los subagentes consumen tokens; establece un modelo más barato para subagentes mediante agents.defaults.subagents.model si el coste importa.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(opcionalmentemode: "session"para seguimiento persistente). - O vincula manualmente con
/focus <target>. /agentsinspecciona el estado de vinculación./session idle <duration|off>y/session max-age <duration|off>controlan el desenfoque automático./unfocusdesvincula el hilo.
session.threadBindings.enabled (interruptor global), session.threadBindings.idleHours (predeterminado 24, 0 desactiva), session.threadBindings.maxAgeHours (predeterminado 0 = sin límite estricto) y sobrescrituras por canal channels.discord.threadBindings.{enabled,idleHours,maxAgeHours}. channels.discord.threadBindings.spawnSessions controla la vinculación automática al generar (predeterminado true).Docs: Subagentes, Discord, Referencia de configuración, Comandos slash.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 un hilo vinculado o una ruta de conversación cuando existe.
- Si el origen de finalización solo lleva 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. - Sin ruta vinculada y sin ruta almacenada utilizable: la entrega directa puede fallar y el resultado recurre a la entrega de sesión en cola en lugar de publicarse inmediatamente.
- Los destinos no válidos u obsoletos también pueden forzar el fallback a cola o un fallo de entrega final.
- Si la última respuesta visible del asistente hijo es exactamente
NO_REPLY/no_replyoANNOUNCE_SKIP, OpenClaw suprime intencionalmente el anuncio en lugar de publicar progreso anterior obsoleto.
openclaw tasks show <lookup>, donde <lookup> es un id de tarea, id de ejecución o clave de sesión.Docs: Subagentes, Tareas en segundo plano, Herramientas de sesión.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á habilitado (
cron.enabled) y queOPENCLAW_SKIP_CRONno está establecido. - Confirma que el Gateway se ejecuta 24/7 (sin suspensión/reinicios).
- Verifica la 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": no se espera ningún envío de reserva del ejecutor.- Destino de anuncio ausente o no válido (
channel/to): el ejecutor omitió la entrega saliente. - Fallos de autenticación del canal (
unauthorized,Forbidden): el ejecutor intentó entregar, pero las credenciales lo bloquearon. - Un resultado aislado silencioso (solo
NO_REPLY/no_reply) se trata como intencionadamente no entregable, así que la entrega de reserva en cola también se suprime.
message cuando hay una ruta de chat disponible. --announce solo controla la entrega de reserva del ejecutor para el texto final que el agente no haya enviado ya por sí mismo.Depuración:¿Por qué una ejecución Cron aislada cambió de modelo o reintentó una vez?
¿Por qué una ejecución Cron aislada cambió de modelo o reintentó una vez?
LiveSessionModelSwitchError, conservando el proveedor/modelo cambiado (y cualquier anulación de perfil de autenticación cambiado) antes de reintentar.Precedencia de selección de modelo: primero la anulación de modelo del hook de Gmail (hooks.gmail.model), luego model por trabajo, luego cualquier anulación de modelo de sesión Cron almacenada y, después, la selección normal de modelo del agente/predeterminado.El bucle de reintento está limitado al intento inicial más 2 reintentos por cambio; después, Cron aborta en lugar de entrar en un bucle infinito.Depuración:¿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 Skills de 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 de forma predeterminada. Añade --global para instalar en el directorio compartido de Skills administradas para todos los agentes locales. Instala la CLI clawhub separada solo para publicar o sincronizar tus propias Skills. Usa agents.defaults.skills o agents.list[].skills para restringir qué agentes ven las Skills compartidas.¿OpenClaw puede ejecutar tareas según una programación o continuamente en segundo plano?
¿OpenClaw puede ejecutar tareas según una programación 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 en 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 solo se cargan cuando son elegibles en el host del Gateway. En Linux, las Skills solo para darwin (apple-notes, apple-reminders, things-mac) no se cargarán a menos que anules el control.Tres patrones compatibles:Opción A: ejecuta el Gateway en un Mac (lo más sencillo). Ejecuta el Gateway donde existan los binarios de macOS y 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: usa un Node de macOS (sin SSH). Ejecuta el Gateway en Linux, empareja un Node de macOS (aplicación de barra de menús) y configura Comandos de ejecución de Node como “Preguntar siempre” o “Permitir siempre” en el Mac. OpenClaw trata las Skills exclusivas de macOS como elegibles cuando los binarios requeridos existen en el Node; el agente las ejecuta mediante la herramienta nodes. Con “Preguntar siempre”, aprobar “Permitir siempre” en el aviso añade ese comando a la lista de permitidos.Opción C: proxy de binarios de macOS mediante 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 un Mac y 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 sesión nueva 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 fiable a la API (ambos tienen APIs).
- Automatización del navegador: funciona sin código, pero es más lenta y más frágil.
skills/ del espacio de trabajo activo; usa --global para todos los agentes locales, o configura agents.defaults.skills / agents.list[].skills para limitar la visibilidad. Algunas Skills esperan binarios instalados con Homebrew; en Linux eso significa Linuxbrew.Consulta Skills, Configuración de Skills, 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 frente al perfil administrado openclaw:click,type,hover,scrollIntoView,dragyselectrequieren referencias de instantánea, no selectores CSS.- Los hooks de carga requieren
refoinputRef, un archivo a la vez, sinelementCSS. responsebody, la exportación de PDF, la interceptación de descargas y las acciones por lotes aún requieren la ruta del navegador administrado.
Aislamiento y memoria
¿Hay una documentación dedicada sobre aislamiento?
¿Hay una documentación dedicada sobre aislamiento?
Docker se siente limitado: ¿cómo habilito todas las funciones?
Docker se siente limitado: ¿cómo habilito todas las funciones?
node, por lo que excluye paquetes del sistema, Homebrew y 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_IMAGE_APT_PACKAGES. - Instala navegadores de Playwright mediante la CLI incluida:
node /app/node_modules/playwright-core/cli.js install chromium. - Configura
PLAYWRIGHT_BROWSERS_PATHy persiste esa ruta.
¿Puedo mantener los DM personales pero hacer que los grupos sean públicos/aislados con un solo agente?
¿Puedo mantener los DM personales pero hacer que los grupos sean públicos/aislados 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 aislamiento configurado mientras la sesión principal de DM permanece en el host. Docker es el backend predeterminado una vez habilitado el aislamiento. Restringe las herramientas disponibles en sesiones aisladas mediante tools.sandbox.tools.Guía de configuración: Grupos: DM personales + grupos públicos. Referencia clave: Configuración del Gateway.¿Cómo enlazo una carpeta del host en el aislamiento?
¿Cómo enlazo una carpeta del host en el aislamiento?
agents.defaults.sandbox.docker.binds como ["host:container:mode"] (por ejemplo, "/home/user/src:/src:ro"). Los enlaces globales y por agente se combinan; los enlaces por agente se ignoran cuando scope: "shared". Usa :ro para cualquier cosa sensible; los enlaces eluden las barreras del sistema de archivos del aislamiento.OpenClaw valida las fuentes de enlace contra la ruta normalizada y la ruta canónica resuelta a través del ancestro existente más profundo, por lo que las fugas por padres de symlink fallan de forma cerrada incluso cuando el segmento de ruta final aún no existe.Consulta Aislamiento y Aislamiento vs. política de herramientas vs. elevado.¿Cómo funciona la memoria?
¿Cómo funciona la memoria?
memory/YYYY-MM-DD.md, notas seleccionadas a largo plazo en MEMORY.md (solo sesiones principales/privadas).OpenClaw también ejecuta un vaciado de memoria previo a Compaction silencioso antes de que Compaction resuma la conversación, recordando al modelo que escriba primero notas duraderas. Solo se ejecuta cuando el espacio de trabajo permite escritura (los aislamientos de solo lectura lo omiten); desactívalo con agents.defaults.compaction.memoryFlush.enabled: false. Consulta Memoria.La memoria sigue olvidando cosas. ¿Cómo hago que se mantengan?
La memoria sigue olvidando cosas. ¿Cómo hago que se mantengan?
MEMORY.md, el contexto a corto plazo en memory/YYYY-MM-DD.md. Recordarle al modelo que guarde recuerdos normalmente lo resuelve. Si sigue olvidando, verifica que el Gateway use el mismo espacio de trabajo en cada ejecución.Documentación: 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 semántica en memoria requiere una clave de API de OpenAI?
¿La búsqueda semántica en memoria requiere una clave de API de OpenAI?
OPENAI_API_KEY o models.providers.openai.apiKey).Para permanecer local, establece agents.defaults.memorySearch.provider: "local" (GGUF/llama.cpp). Otros proveedores compatibles: Bedrock, DeepInfra, Gemini (GEMINI_API_KEY o memorySearch.remote.apiKey), GitHub Copilot, LM Studio, Mistral, Ollama, compatible con OpenAI y Voyage. Consulta Memoria y Búsqueda de memoria para ver los detalles de configuración.Dónde viven 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 viven en el host del Gateway (
~/.openclawmás el directorio de tu espacio de trabajo). - Remoto por necesidad: los mensajes enviados a proveedores de modelos (Anthropic/OpenAI/etc.) van a sus APIs, y las plataformas de chat (Slack/Telegram/WhatsApp/etc.) almacenan datos de mensajes en sus servidores.
- Tú controlas la huella: los modelos locales mantienen los prompts en tu máquina, pero el tráfico del canal 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 (se copia 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, keyRef/tokenRef opcionales) |
$OPENCLAW_STATE_DIR/secrets.json | Carga útil secreta opcional respaldada por archivo para proveedores SecretRef de 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 conversaciones (por agente) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | Metadatos de sesión (por agente) |
~/.openclaw/agent/* se migra mediante 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 deberían vivir AGENTS.md / SOUL.md / USER.md / MEMORY.md?
¿Dónde deberían vivir 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.mdes solo entrada de reparación heredada;openclaw doctor --fixpuede fusionarla enMEMORY.mdcuando ambos existen. - Directorio de estado (
~/.openclaw): configuración, estado de canal/proveedor, perfiles de autenticación, sesiones, registros, Skills compartidas (~/.openclaw/skills).
~/.openclaw/workspace, configurable:¿Puedo hacer SOUL.md más grande?
¿Puedo hacer SOUL.md más grande?
SOUL.md es uno de los archivos de arranque del espacio de trabajo inyectados en el contexto del agente. El límite predeterminado de inyección por archivo es de 20000 caracteres; el presupuesto total de arranque entre archivos es de 60000 caracteres.Cambia los valores predeterminados compartidos:agents.list[].bootstrapMaxChars / bootstrapTotalMaxChars.Usa /context para comprobar los tamaños sin procesar frente a los inyectados y si hubo truncamiento. Mantén SOUL.md centrado en voz, postura y personalidad; pon las reglas operativas en AGENTS.md y los hechos duraderos en la memoria.Consulta Contexto y Configuración de agente.Estrategia de copia de seguridad recomendada
Estrategia de copia de seguridad recomendada
~/.openclaw (credenciales, sesiones, tokens, cargas útiles de secretos cifrados). Para una restauración completa, haz copias de seguridad del espacio de trabajo y del directorio de estado por separado.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 configuraciones de sandbox por agente. Para convertir un repositorio en el directorio de trabajo predeterminado, apunta el workspace de ese agente a la raíz del repositorio; el repositorio de OpenClaw en sí es solo código fuente, así que mantén separado el espacio de trabajo salvo que quieras intencionalmente que el agente trabaje dentro de él.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). Si falta el archivo, usa valores predeterminados relativamente seguros, incluido un espacio de trabajo predeterminado de ~/.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
gateway.auth.mode: "trusted-proxy" detrás de un proxy inverso consciente de identidad configurado correctamente.gateway.remote.token/.passwordno habilitan por sí solos la autenticación del gateway local; las rutas de llamada locales pueden usargateway.remote.*como fallback solo cuandogateway.auth.*no está configurado.- Para autenticación con contraseña, establece
gateway.auth.mode: "password"másgateway.auth.password(oOPENCLAW_GATEWAY_PASSWORD). - Si
gateway.auth.token/.passwordestá configurado explícitamente mediante SecretRef y no se resuelve, la resolución falla cerrada (sin enmascaramiento mediante fallback 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 URLs. - Con
gateway.auth.mode: "trusted-proxy", los proxies inversos loopback del mismo host requierengateway.auth.trustedProxy.allowLoopback = trueexplícito y una entrada loopback engateway.trustedProxies.
¿Por qué necesito ahora un token en localhost?
¿Por qué necesito ahora 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. También puedes elegir el modo contraseña, o trusted-proxy para proxies inversos conscientes de identidad. Para loopback abierto, establece gateway.auth.mode: "none" explícitamente. openclaw doctor --generate-gateway-token genera un token en cualquier momento.¿Tengo que reiniciar después de cambiar la configuración?
¿Tengo que reiniciar después de cambiar la configuración?
gateway.reload.mode: "hybrid" (valor predeterminado) aplica en caliente los cambios seguros y reinicia para los críticos. También se admiten hot, restart y off. La mayoría de los cambios en tools.*, políticas de agents.*, session.* y messages.* se aplican de inmediato sin ninguna acción de recarga; los cambios de enlace/puerto de gateway.* requieren un reinicio.¿Cómo deshabilito los lemas divertidos de la CLI?
¿Cómo deshabilito los lemas divertidos de la CLI?
cli.banner.taglineMode:off: oculta el texto del lema pero conserva la línea de título/versión del banner.default: siempre usaAll your chats, one OpenClaw..random: lemas divertidos/estacionales rotativos (comportamiento predeterminado).- Para no mostrar ningún banner, establece 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:| Proveedor | Sin clave | Variable(s) de entorno |
|---|---|---|
| Brave | No | BRAVE_API_KEY |
| DuckDuckGo | Sí (no oficial, basado en HTML) | - |
| Exa | No | EXA_API_KEY |
| Firecrawl | No | FIRECRAWL_API_KEY |
| Gemini | No | GEMINI_API_KEY |
| Grok | No (OAuth o clave de xAI) | XAI_API_KEY |
| Kimi | No | KIMI_API_KEY o MOONSHOT_API_KEY |
| MiniMax Search | No | MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY o MINIMAX_API_KEY |
| Ollama Web Search | Sí (requiere ollama signin) | - |
| Perplexity | No | PERPLEXITY_API_KEY o OPENROUTER_API_KEY |
| SearXNG | Sí (autohospedado) | SEARXNG_BASE_URL |
| Tavily | No | TAVILY_API_KEY |
openclaw onboard --auth-choice xai-oauth).Recomendado: openclaw configure --section web y elige un proveedor.plugins.entries.<plugin>.config.webSearch.*. Las rutas de proveedor heredadas tools.web.search.* todavía se cargan por compatibilidad, pero no deben usarse en configuraciones nuevas. La configuración de alternativa de obtención web de Firecrawl reside en plugins.entries.firecrawl.config.webFetch.*.- Listas de permitidos: agrega
web_search/web_fetch/x_search, ogroup:webpara los tres. web_fetchestá habilitado de forma predeterminada.- Si se omite
tools.web.fetch.provider, OpenClaw detecta automáticamente el primer proveedor alternativo de obtención listo a partir de las credenciales disponibles; el Plugin oficial de Firecrawl proporciona esa alternativa. - Los demonios 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 ocurra?
config.apply borró mi configuración. ¿Cómo la recupero y evito que ocurra?
config.apply reemplaza la configuración completa; un objeto parcial elimina todo lo demás.OpenClaw actual protege contra la mayoría de sobrescrituras accidentales:- Las escrituras de configuración propiedad de OpenClaw validan toda la configuración posterior al cambio antes de escribir.
- Las escrituras inválidas o destructivas propiedad de OpenClaw se rechazan y se guardan como
openclaw.json.rejected.*. - Una edición directa que rompe el arranque o la recarga en caliente hace que el Gateway falle en modo cerrado u omita la recarga; no reescribe
openclaw.json. openclaw doctor --fixes responsable de la reparación, puede restaurar la última configuración correcta conocida y 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. - Sin una última configuración correcta conocida ni una carga útil rechazada: restaura desde una copia de seguridad, o vuelve a ejecutar
openclaw doctory reconfigura canales/modelos. - Pérdida inesperada: informa un error con tu última configuración conocida o una copia de seguridad. Un agente de programación local a menudo puede reconstruir una configuración funcional a partir de registros o historial.
openclaw config set para cambios pequeños, openclaw configure para ediciones interactivas, config.schema.lookup para inspeccionar una ruta desconocida (devuelve un nodo de esquema superficial más resúmenes de hijos inmediatos) y config.patch para ediciones RPC parciales; reserva config.apply para el reemplazo de la configuración completa. La herramienta de runtime gateway orientada al agente se niega a reescribir tools.exec.ask / tools.exec.security incluso mediante alias heredados tools.bash.*.Docs: Configuración, Configurar, Solución de problemas del Gateway, Doctor.¿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): posee 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 frente a datos personales).
- Subagentes: generan trabajo en segundo plano desde un agente principal para paralelismo.
- TUI: conéctate al Gateway y cambia de agentes/sesiones.
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 WebSocket del Gateway.- Ejecuta el Gateway en el host siempre activo (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 se registre como nodo.
- Aprueba el nodo:
system.run en esa máquina. Empareja solo dispositivos en los que confíes; revisa Seguridad.Docs: Nodos, Protocolo del 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.auth.allowTailscale esté configurado correctamente; si te conectas mediante un túnel SSH, confirma que el túnel esté activo y apunte al puerto correcto; confirma que las listas de permitidos de tus DM/grupos incluyan tu cuenta.Docs: Tailscale, Acceso remoto, Canales.¿Pueden dos instancias de OpenClaw comunicarse entre sí (local + VPS)?
¿Pueden dos instancias de OpenClaw comunicarse entre sí (local + VPS)?
openclaw agent --message ... --deliver, apuntando a un chat donde el otro bot escuche. Si un bot está en un VPS remoto, apunta tu CLI a ese Gateway remoto mediante SSH/Tailscale (consulta Acceso remoto):¿Necesito VPS separados para varios agentes?
¿Necesito VPS separados para varios agentes?
¿Hay alguna ventaja en usar un nodo en mi laptop personal en vez de SSH desde un VPS?
¿Hay alguna ventaja en usar un nodo en mi laptop personal en vez de SSH desde un VPS?
- No se requiere SSH entrante - los nodos se conectan hacia el Gateway WebSocket mediante emparejamiento de dispositivos.
- Controles de ejecución más seguros -
system.runestá protegido por listas de permitidos/aprobaciones de nodos en esa laptop. - Más herramientas del dispositivo - los nodos exponen
canvas,camerayscreenademás desystem.run. - Automatización del navegador local - mantén el Gateway en un VPS, pero ejecuta Chrome localmente mediante un host de nodo, o conéctate a Chrome local mediante Chrome MCP.
¿Los nodos ejecutan un servicio de Gateway?
¿Los nodos ejecutan un servicio de Gateway?
gateway, discovery y superficies de plugins alojados.¿Hay una forma API / RPC de aplicar configuración?
¿Hay una forma API / RPC de aplicar configuración?
config.schema.lookup: inspecciona un subárbol de configuración con su nodo de esquema superficial, la sugerencia de UI coincidente y resúmenes de hijos inmediatos antes de escribir.config.get: obtiene la instantánea actual más el hash.config.patch: actualización parcial segura (preferida para la mayoría de ediciones RPC); recarga en caliente cuando es posible, reinicia cuando es necesario.config.apply: valida y reemplaza la configuración completa; recarga en caliente cuando es posible, reinicia cuando es necesario.- La herramienta de runtime
gatewayorientada al agente todavía se niega a reescribirtools.exec.ask/tools.exec.security; los alias heredadostools.bash.*se normalizan a las mismas rutas 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 usando la app de Tailscale, en la misma tailnet.
- Activa MagicDNS en la consola de administración de Tailscale 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; Gateway WSws://your-vps.tailnet-xxxx.ts.net:18789.
¿Cómo conecto un nodo Mac a un Gateway remoto (Tailscale Serve)?
¿Cómo conecto un nodo Mac a un Gateway remoto (Tailscale Serve)?
- Asegúrate de que el VPS y el 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): crea un túnel al puerto del Gateway y se conecta como nodo.
- Aprueba el nodo:
¿Debería instalarlo en una segunda laptop o solo agregar un nodo?
¿Debería instalarlo en una segunda laptop o solo agregar un nodo?
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.- una
.envglobal de respaldo desde~/.openclaw/.env($OPENCLAW_STATE_DIR/.env).
.env sobrescribe las variables de entorno existentes. Las claves de credenciales de proveedores son una excepción para el .env del espacio de trabajo: claves como GEMINI_API_KEY, XAI_API_KEY o MISTRAL_API_KEY (y otras variables de entorno de autenticación de proveedores incluidos) se ignoran desde el .env del espacio de trabajo y deberían vivir en el entorno del proceso, ~/.openclaw/.env o la configuración env.Las variables de entorno en línea en la configuración se aplican 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 carguen incluso cuando el servicio no herede el entorno de tu shell. - Habilita la importación del shell (comodidad opcional):
Esto ejecuta tu shell de inicio de sesión e importa solo las claves esperadas que falten (nunca sobrescribe). Equivalentes de variables de entorno:
OPENCLAW_LOAD_SHELL_ENV=1,OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.
Configuré COPILOT_GITHUB_TOKEN, pero el estado de modelos muestra "Shell env: off". ¿Por qué?
Configuré COPILOT_GITHUB_TOKEN, pero el estado de modelos muestra "Shell env: off". ¿Por qué?
openclaw models status informa si la importación del entorno del shell está habilitada. “Shell env: off” no significa que falten tus variables de entorno: solo significa que OpenClaw no cargará tu shell de inicio de sesión automáticamente.Si el Gateway se ejecuta como servicio (launchd/systemd), no heredará el entorno de tu shell. Soluciónalo colocando el token en ~/.openclaw/.env, habilitando env.shellEnv.enabled: true o agregándolo a la configuración env (se aplica solo si falta), luego reinicia el gateway y vuelve a comprobar:OPENCLAW_GITHUB_TOKEN, luego COPILOT_GITHUB_TOKEN, luego GH_TOKEN, luego 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.reset.atHour, valor predeterminado 4, 0-23), según cuándo comenzó la sesión actual. Cambia a un restablecimiento basado en inactividad con mode: "idle" y session.reset.idleMinutes, que expira una sesión después de un período de inactividad (según la última interacción real, no eventos del sistema de heartbeat/cron/exec).resetByType admite direct (alias heredado dm), group y thread. El session.idleMinutes de nivel superior heredado sigue funcionando como alias de compatibilidad para un valor predeterminado en modo inactivo cuando no se define ningún bloque session.reset/resetByType. Las sesiones con una sesión de CLI activa propiedad del proveedor no se cortan por el valor predeterminado diario implícito. Consulta Gestión de sesiones para ver el ciclo de vida completo.¿Hay una forma de crear un equipo de instancias de OpenClaw (un CEO y muchos agentes)?
¿Hay una forma de crear un equipo de instancias de OpenClaw (un CEO y muchos agentes)?
¿Por qué se truncó el contexto a mitad de una tarea? ¿Cómo lo evito?
¿Por qué se truncó el contexto a mitad de una tarea? ¿Cómo lo evito?
- Pide al bot que resuma el estado actual y lo escriba en un archivo.
- Usa
/compactantes de tareas largas,/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 trabajos largos o paralelos, de modo que el chat principal siga siendo más pequeño.
- Elige un modelo con una ventana de contexto mayor si esto ocurre con frecuencia.
¿Cómo restablezco OpenClaw por completo pero lo mantengo instalado?
¿Cómo restablezco OpenClaw por completo pero lo mantengo instalado?
--profile / OPENCLAW_PROFILE), restablece cada directorio de estado (predeterminado ~/.openclaw-<profile>). Restablecimiento solo para desarrollo: openclaw gateway --dev --reset borra la configuración de desarrollo, las credenciales, las sesiones y el espacio de trabajo.Recibo errores de "context too large": ¿cómo restablezco o compacto?
Recibo errores de "context too large": ¿cómo restablezco o compacto?
- Compactar (mantiene la conversación, resume turnos antiguos):
/compacto/compact <instructions>para orientar el resumen. - Restablecer (ID de sesión nuevo para la misma clave de chat):
/newo/reset.
agents.defaults.contextPruning) para recortar salidas antiguas de herramientas, o usa un modelo con una ventana de contexto mayor.Documentación: Compaction, Poda de sesiones, Gestión de sesiones.¿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. Por lo general significa que el historial de la sesión está obsoleto o dañado (a menudo después de hilos largos o 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.every no está configurado. Ajusta o deshabilita:HEARTBEAT.md existe pero está efectivamente vacío (solo líneas en blanco, comentarios Markdown/HTML, encabezados ATX, marcadores de bloque cercado o stubs de elementos de lista vacíos), OpenClaw omite la ejecución de heartbeat para ahorrar llamadas de API. Si falta el archivo, el heartbeat sigue ejecutándose y el modelo decide qué hacer.Las anulaciones por agente usan agents.list[].heartbeat. Documentación: Heartbeat.¿Necesito agregar una "cuenta de bot" a un grupo de WhatsApp?
¿Necesito agregar una "cuenta de bot" a un grupo de WhatsApp?
groupPolicy: "allowlist").Para restringir las respuestas en grupos solo a ti:¿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.Si ya está configurado/en allowlist, lista los grupos desde la configuración:¿Por qué OpenClaw no responde en un grupo?
¿Por qué OpenClaw no responde en un grupo?
mentionPatterns), o configuraste channels.whatsapp.groups sin "*" y el grupo no está en allowlist.Consulta Grupos y Mensajes de grupo.¿Los grupos/hilos comparten contexto con los DM?
¿Los grupos/hilos comparten contexto con los DM?
¿Cuántos espacios de trabajo y agentes puedo crear?
¿Cuántos espacios de trabajo y agentes puedo crear?
- Crecimiento del disco: las sesiones y transcripciones viven en
~/.openclaw/agents/<agentId>/sessions/. - Costo de tokens: más agentes implican más uso concurrente de modelos.
- Sobrecarga operativa: perfiles de autenticación, espacios de trabajo y enrutamiento de canales por agente.
agents.defaults.workspace), poda sesiones antiguas si el disco crece y usa openclaw doctor para detectar espacios de trabajo sueltos y discrepancias de perfiles.¿Puedo ejecutar varios bots o chats al mismo tiempo (Slack), y cómo debería configurarlo?
¿Puedo ejecutar varios bots o chats al mismo tiempo (Slack), y cómo debería configurarlo?
Modelos, conmutación por error y perfiles de autenticación
Las preguntas y respuestas sobre modelos (valores predeterminados, selección, alias, cambio, conmutación por error y perfiles de autenticación) están en las preguntas frecuentes sobre modelos.Gateway: puertos, “ya está 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: Probe target: (la URL que usó la sonda), Listening: (lo que realmente está enlazado en el puerto), Last gateway error: (causa raíz común cuando el proceso está activo pero el puerto no escucha).¿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: ejecútalo desde el mismo --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 enlace falla con EADDRINUSE, lanza GatewayLockError (“another gateway instance is already listening”).Solución: detén la otra instancia, libera el puerto o ejecútalo 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 WebSocket remota, opcionalmente con credenciales remotas de secreto compartido:openclaw gatewaysolo se inicia cuandogateway.modeeslocal(o pasas una marca de anulación).- 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í mismas la autenticación del gateway local.
Definí gateway.bind tailnet, pero no puede enlazar y nada escucha
Definí gateway.bind tailnet, pero no puede enlazar y nada escucha
tailnet elige una IP de Tailscale desde 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 enlazar.Solución: inicia Tailscale en ese host o cambia a gateway.bind: "loopback" / "lan".tailnet es explícito; auto prefiere loopback. Usa gateway.bind: "tailnet" para un enlace solo de tailnet.¿Puedo ejecutar varios Gateways en el mismo host?
¿Puedo ejecutar varios Gateways en el mismo host?
OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR, agents.defaults.workspace y gateway.port único.Recomendado: openclaw --profile <name> ... por instancia (crea automáticamente ~/.openclaw-<name>), un gateway.port único por configuración de perfil (o --port para ejecuciones manuales) y un servicio por perfil con openclaw --profile <name> gateway install.Los perfiles también añaden sufijos a los nombres de servicio: launchd ai.openclaw.<profile>, systemd openclaw-gateway-<profile>.service, Windows OpenClaw Gateway (<profile>). La unidad systemd sin calificador openclaw-gateway solo existe para el perfil predeterminado; el nombre de unidad systemd heredado anterior al cambio de nombre clawdbot-gateway se migra automáticamente.Guía completa: Varios gateways.¿Qué significa "invalid handshake" / código 1008?
¿Qué significa "invalid handshake" / código 1008?
connect. 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 en lugar de un cliente WS, usaste el puerto/ruta incorrectos o un proxy/túnel eliminó los encabezados de autenticación o envió una solicitud que no era de Gateway.Solución: usa la URL WS (ws://<host>:18789, o wss://... sobre HTTPS), no abras el puerto WS en una pestaña normal del navegador e incluye el token/contraseña en la trama connect cuando la autenticación esté activada. Ejemplo de CLI/TUI:Registro y depuración
¿Dónde están los registros?
¿Dónde están los registros?
/tmp/openclaw/openclaw-YYYY-MM-DD.log. Define una ruta estable mediante logging.file; el nivel de registro de archivo mediante logging.level; la verbosidad de consola mediante --verbose y logging.consoleLevel.Seguimiento más rápido:- stdout de launchd en macOS:
~/Library/Logs/openclaw/gateway.log(los perfiles usangateway-<profile>.log; stderr se suprime). - 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 Gateway?
¿Cómo inicio/detengo/reinicio el servicio 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?
openclaw gateway run.3) CLI/Gateway nativo de Windows: se ejecuta directamente en Windows.openclaw gateway run.Docs: Windows, runbook del servicio Gateway.El Gateway está activo, pero las respuestas nunca llegan. ¿Qué debo revisar?
El Gateway está activo, pero las respuestas nunca llegan. ¿Qué debo revisar?
models status), emparejamiento/lista de permitidos del canal bloqueando respuestas (revisa la configuración y los registros del canal), o WebChat/Panel abierto sin el token correcto. Si es remoto, confirma que la conexión de túnel/Tailscale esté activa y que el WebSocket del Gateway sea accesible.Docs: Canales, Solución de problemas, Acceso remoto."Disconnected from gateway: no reason": ¿qué hago ahora?
"Disconnected from gateway: no reason": ¿qué hago ahora?
openclaw gateway status)? ¿Está sano (openclaw status)? ¿Tiene la interfaz el token correcto (openclaw dashboard)? Si es remoto, ¿está activo el enlace de túnel/Tailscale?Luego sigue los registros:Telegram setMyCommands falla. ¿Qué debo revisar?
Telegram setMyCommands falla. ¿Qué debo revisar?
BOT_COMMANDS_TOO_MUCH: el menú de Telegram tiene demasiadas entradas. OpenClaw ya recorta al límite de Telegram y reintenta con menos comandos, pero algunas entradas del menú aún pueden descartarse. Reduce los comandos de plugin/skill/personalizados, o deshabilitachannels.telegram.commands.nativesi no necesitas el menú.TypeError: fetch failed,Network request for 'setMyCommands' failed!, o errores de red similares: 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é debo comprobar?
La TUI no muestra salida. ¿Qué debo comprobar?
/status para ver el estado actual. Si esperas respuestas en un canal de chat, confirma que la entrega esté habilitada (/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?
openclaw gateway run.Docs: runbook del servicio 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. Usa los subcomandos de gateway si instalaste el servicio; usa la ejecución en primer plano sin argumentos para una ejecución puntual.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 y luego inspecciona el archivo de registro para ver errores de autenticación de canales, enrutamiento de modelos y RPC.Medios y archivos adjuntos
Mi skill generó una imagen/PDF, pero no se envió nada
Mi skill generó una imagen/PDF, pero no se envió nada
media, mediaUrl, path o filePath. Consulta configuración del asistente OpenClaw y envío del agente.tools.fs.workspaceOnly=true limita los envíos de rutas locales al espacio de trabajo, temp/media-store y archivos validados por sandbox; tools.fs.workspaceOnly=false (predeterminado) permite que los envíos de medios locales estructurados usen archivos locales del host que el agente ya puede leer, para medios y tipos de documentos seguros (imágenes, audio, video, PDF, documentos de Office y documentos de texto validados como Markdown/MD, TXT, JSON, YAML/YML). Esto no es un escáner de secretos: un secret.txt o config.json legible por el agente se puede adjuntar cuando coincidan la validación de la extensión y del contenido. Mantén los archivos sensibles fuera de las rutas legibles por el agente, o conserva tools.fs.workspaceOnly=true para envíos de rutas locales más estrictos.Consulta imágenes.Seguridad y control de acceso
¿Es seguro exponer OpenClaw a mensajes directos entrantes?
¿Es seguro exponer OpenClaw a mensajes directos entrantes?
- El comportamiento predeterminado en canales que admiten mensajes directos es emparejamiento: los remitentes desconocidos reciben un código de emparejamiento y su mensaje no se procesa. Aprueba con
openclaw pairing approve --channel <channel> [--account <id>] <code>. Las solicitudes pendientes tienen un límite de 3 por canal; compruebaopenclaw pairing list --channel <channel> [--account <id>]si no llegó un código. - Abrir los mensajes directos públicamente requiere una aceptación explícita (
dmPolicy: "open"y lista de permitidos"*").
openclaw doctor para mostrar políticas de mensajes directos riesgosas.¿La inyección de prompts solo es una preocupación para bots públicos?
¿La inyección de prompts solo es una preocupación para bots públicos?
- usa un agente “lector” de solo lectura o con herramientas deshabilitadas para resumir contenido no confiable
- mantén
web_search/web_fetch/browserdesactivados para agentes con herramientas habilitadas - trata 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 - usa sandbox y listas estrictas de herramientas permitidas
¿OpenClaw es menos seguro porque usa TypeScript/Node en lugar de Rust/WASM?
¿OpenClaw es menos seguro porque usa TypeScript/Node en lugar de Rust/WASM?
openclaw security audit --deep después de cambios de configuración.Detalles: seguridad, sandboxing.Vi informes sobre instancias de OpenClaw expuestas. ¿Qué debo comprobar?
Vi informes sobre instancias de OpenClaw expuestas. ¿Qué debo comprobar?
loopback, o expuesto solo mediante acceso privado autenticado (tailnet, túnel SSH, autenticación con token/contraseña o un proxy de confianza correctamente configurado); mensajes directos en modo pairing o allowlist; grupos en lista de permitidos y con requerimiento de mención salvo que todos los miembros sean de confianza; herramientas de alto riesgo (exec, browser, gateway, cron) denegadas o con alcance muy restringido para agentes que leen contenido no confiable; sandboxing habilitado donde la ejecución de herramientas necesite un radio de impacto menor.Los hallazgos que debes corregir primero son enlaces públicos sin autenticación, mensajes directos/grupos abiertos con herramientas y control de navegador expuesto. Detalles: openclaw security audit.¿Es seguro instalar Skills de ClawHub y plugins de terceros?
¿Es seguro instalar Skills de ClawHub y plugins de terceros?
security.installPolicy, propiedad del operador, para decisiones locales de permitir/bloquear.Patrón más seguro: prefiere autores de confianza y versiones fijadas, lee la Skill/plugin antes de habilitarla, mantén listas de permitidos de plugins/Skills reducidas, ejecuta flujos de trabajo con entradas no confiables en un sandbox con herramientas mínimas y evita dar al código de terceros acceso amplio al sistema de archivos, exec, navegador o secretos.Detalles: Skills, Plugins, Seguridad.¿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?
¿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á habilitado; /start por sí solo no genera un código.Revisa 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, cancelación de tareas y “no se detiene”
¿Cómo evito que los mensajes internos del sistema aparezcan en el chat?
¿Cómo evito que los mensajes internos del sistema aparezcan en el chat?
verboseDefault: "on" en la configuración.Documentación: Pensamiento y verbose, Seguridad.¿Cómo detengo/cancelo una tarea en ejecución?
¿Cómo detengo/cancelo una tarea en ejecución?
stop, stop action, stop current action, stop run, stop current run, stop agent, stop the agent, stop openclaw, openclaw stop, stop don't do anything, stop do not do anything, stop doing anything, do not do that, please stop, stop please, abort, esc, wait, exit, interrupt, halt. También funcionan activadores comunes en idiomas distintos del inglés (francés, alemán, español, chino, japonés, hindi, árabe, ruso).Para procesos en segundo plano iniciados por la herramienta exec, pide al agente que ejecute:/, pero algunos atajos (como /status) también funcionan en línea para remitentes en lista de permitidos. Consulta Comandos con barra.¿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" los mensajes enviados en ráfaga?
¿Por qué parece que el bot "ignora" los mensajes enviados en ráfaga?
/queue para elegir el comportamiento de la ejecución activa:steer(predeterminado) - guía la ejecución activa en el siguiente límite del modelo.followup- pone los mensajes en cola y los ejecuta uno por uno después de que termine la ejecución actual.collect- pone en cola los mensajes compatibles y responde una vez después de que termine la ejecución actual.interrupt- cancela la ejecución actual y empieza de nuevo.
debounce:0.5s cap:25 drop:summarize. 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 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). 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 en ejecución.¿Aún tienes problemas? Pregunta en Discord o abre una discusión de GitHub.
Relacionado
- Preguntas frecuentes de 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 - triaje por síntomas