Respuestas rápidas y solución de problemas más profunda para configuraciones del mundo real (desarrollo local, VPS, multiagente, claves OAuth/API, conmutación por error de modelos). Para el diagnóstico en tiempo de ejecución, consulte Solución de problemas. Para la referencia completa de configuración, consulte Configuración.
Resumen local rápido: SO + actualización, accesibilidad de puerta de enlace/servicio, agentes/sesiones, configuración del proveedor + problemas de tiempo de ejecución (cuando la puerta de enlace es accesible).
Informe copiable (seguro para compartir)
Ventana de terminal
openclawstatus--all
Diagnóstico de solo lectura con el final del registro (tokens redactados).
Demonio + estado del puerto
Ventana de terminal
openclawgatewaystatus
Muestra el tiempo de ejecución del supervisor frente a la accesibilidad RPC, la URL de destino de la sonda y qué configuración usó probablemente el servicio.
Sondas profundas
Ventana de terminal
openclawstatus--deep
Ejecuta una prueba de estado de la puerta de enlace en vivo, incluyendo pruebas de canal cuando es compatible
(requiere una puerta de enlace accesible). Consulte Salud.
Preguntas y respuestas de la primera ejecución — instalación, incorporación, rutas de autenticación, suscripciones, fallos iniciales —
residen en las Preguntas frecuentes de la primera ejecución.
OpenClaw es un asistente de IA personal que ejecuta en sus propios dispositivos. Responde en las superficies de mensajería que ya utiliza (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat y complementos de canal incluidos como QQ Bot) y también puede hacer voz + un Canvas en vivo en plataformas compatibles. La Puerta de enlace es el plano de control siempre activo; el asistente es el producto.
Propuesta de valor
OpenClaw no es “simplemente un envoltorio de Claude”. Es un plano de control local-first que te permite ejecutar un
asistente capaz en tu propio hardware, accesible desde las aplicaciones de chat que ya usas, con
sesiones con estado, memoria y herramientas, sin entregar el control de tus flujos de trabajo a un
SaaS alojado.
Destacados:
Tus dispositivos, tus datos: ejecuta el Gateway donde quieras (Mac, Linux, VPS) y mantén el
espacio de trabajo + historial de sesiones localmente.
Canales reales, no un sandbox web: WhatsApp/Telegram/Slack/Discord/Signal/iMessage/etc.,
más voz móvil y Canvas en plataformas compatibles.
Agnóstico 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 pueden permanecer en tu dispositivo si lo deseas.
Enrutamiento multiagente: agentes separados por canal, cuenta o tarea, cada uno con su propio
espacio de trabajo y configuraciones predeterminadas.
Código abierto y modificable: inspecciona, extiende y autoaloja sin bloqueo de proveedor.
Acabo de configurarlo: ¿qué debería hacer primero?
Buenos primeros proyectos:
Construir un sitio web (WordPress, Shopify o un sitio estático simple).
Prototipar una aplicación móvil (esquema, pantallas, plan de API).
Organizar archivos y carpetas (limpieza, nomenclatura, etiquetado).
Conectar Gmail y automatizar resúmenes o seguimientos.
Puede manejar tareas grandes, pero funciona mejor cuando las divides en fases y
usas subagentes para trabajo en paralelo.
¿Cuáles son los cinco principales casos de uso cotidianos para OpenClaw?
Los logros cotidianos generalmente se ven así:
Briefings personales: resúmenes de la bandeja de entrada, el calendario y las noticias que te interesan.
Investigación y redacción: investigación rápida, resúmenes y primeros borradores para correos electrónicos o documentos.
Recordatorios y seguimientos: empujones y listas de verificación impulsados por cron o latidos.
Automatización del navegador: llenar formularios, recopilar datos y repetir tareas web.
Coordinación entre dispositivos: enviar una tarea desde tu teléfono, dejar que el Gateway la ejecute en un servidor y recibir el resultado de vuelta en el chat.
¿Puede OpenClaw ayudar con la generación de clientes, prospección, anuncios y blogs para un SaaS?
Sí para investigación, calificación y redacción. Puede escanear sitios, crear listas cortas,
resumir prospectos y escribir borradores de correos de prospección o anuncios.
Para campañas de prospección o anuncios, mantén a un humano en el bucle. Evita el spam, cumple las leyes locales y
las políticas de la plataforma, y revisa todo antes de enviarlo. El patrón más seguro es dejar que
OpenClaw redacte y tú apruebes.
¿Cuáles son las ventajas frente a Claude Code para el desarrollo web?
OpenClaw es un asistente personal y una capa de coordinación, no un reemplazo de IDE. Usa
Claude Code o Codex para el bucle de codificación directa más rápido dentro de un repositorio. Usa OpenClaw cuando quieras
memoria duradera, acceso entre dispositivos y orquestación de herramientas.
Ventajas:
Memoria persistente + espacio de trabajo a través de sesiones
¿Cómo personalizo las habilidades sin ensuciar el repositorio?
Use anulaciones administradas en lugar de editar la copia del repositorio. Ponga sus cambios en `~/.openclaw/skills/
/SKILL.md(o añada una carpeta medianteskills.load.extraDirsen~/.openclaw/openclaw.json). La precedencia es
/skills→
/.agents/skills→/.agents/skills→/.openclaw/skills→ bundled →skills.load.extraDirs, por lo que las anulaciones administradas siguen ganando a las habilidades empaquetadas sin tocar git. Si necesita que la habilidad esté instalada globalmente pero solo sea visible para algunos agentes, mantenga la copia compartida en ~/.openclaw/skillsy controle la visibilidad conagents.defaults.skillsyagents.list[].skills`. Solo las ediciones dignas de upstream deben vivir en el repositorio y salir como PRs.
¿Puedo cargar habilidades desde una carpeta personalizada?
Sí. Añada directorios adicionales mediante skills.load.extraDirs en ~/.openclaw/openclaw.json (menor precedencia). La precedencia predeterminada es `
/skills→
/.agents/skills→/.agents/skills→/.openclaw/skills→ bundled →skills.load.extraDirs. clawhubse instala en./skillsde manera predeterminada, lo que OpenClaw trata como
/skillsen la siguiente sesión. Si la habilidad solo debe ser visible para ciertos agentes, combínelo conagents.defaults.skillsoagents.list[].skills`.
¿Cómo puedo usar diferentes modelos o configuraciones para diferentes tareas?
Hoy los patrones compatibles son:
Cron jobs: los trabajos aislados pueden establecer una anulación de model por trabajo.
Agentes: enruta tareas a agentes separados con diferentes modelos predeterminados, niveles de pensamiento y parámetros de transmisión.
Cambio bajo demanda: usa /model para cambiar el modelo de la sesión actual en cualquier momento.
Por ejemplo, usa el mismo modelo con diferentes configuraciones por agente:
{
agents: {
list: [
{
id: "coder",
model: "xiaomi/mimo-v2.5-pro",
thinkingDefault: "high",
params: { temperature: 0.1 },
},
{
id: "chat",
model: "xiaomi/mimo-v2.5-pro",
thinkingDefault: "off",
params: { temperature: 0.8 },
},
],
},
}
Pon los valores predeterminados compartidos por modelo en agents.defaults.models["provider/model"].params, luego pon las anulaciones específicas del agente en agents.list[].params plano. No definas entradas agents.list[].models["provider/model"].params anidadas separadas para el mismo modelo; agents.list[].models es para el catálogo de modelos por agente y anulaciones en tiempo de ejecución.
El bot se congela mientras realiza un trabajo pesado. ¿Cómo puedo externalizar eso?
Usa sub-agentes para tareas largas o paralelas. Los sub-agentes se ejecutan en su propia sesión,
devuelven un resumen y mantienen tu chat principal receptivo.
Pide a tu bot que “genere un sub-agente para esta tarea” o usa /subagents.
Usa /status en el chat para ver qué está haciendo el Gateway ahora mismo (y si está ocupado).
Consejo sobre tokens: las tareas largas y los sub-agentes consumen tokens. Si el costo es una preocupación, establece un
modelo más barato para los sub-agentes a través de agents.defaults.subagents.model.
¿Cómo funcionan las sesiones de subagentes vinculadas a hilos en Discord?
Utilice enlaces de hilos. Puede vincular un hilo de Discord a un subagente o un objetivo de sesión para que los mensajes de seguimiento en ese hilo permanezcan en esa sesión vinculada.
Flujo básico:
Genere con sessions_spawn usando thread: true (y opcionalmente mode: "session" para un seguimiento persistente).
O vincule manualmente con `/focus
. - Use /agentspara inspeccionar el estado del vínculo. - Use/session idle
y/session max-age
para controlar el auto-desenfoque. - Use/unfocus` para desvincular el hilo.
- Sobrescrituras de Discord: `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`.
- Vinculación automática al generar: `channels.discord.threadBindings.spawnSessions` se predetermina a `true`; establézcalo en `false` para desactivar la generación de sesiones vinculadas a hilos.
Documentación: [Sub-agentes](/es/tools/subagents), [Discord](/es/channels/discord), [Referencia de configuración](/es/gateway/configuration-reference), [Comandos de barra](/es/tools/slash-commands).
Un subagente terminó, pero la actualización de finalización fue al lugar incorrecto o nunca se publicó. ¿Qué debería comprobar?
Primero verifique la ruta del solicitante resuelta:
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 lleva un canal, OpenClaw recurre a la ruta almacenada de la sesión del solicitante (lastChannel / lastTo / lastAccountId) para que la entrega directa aún pueda tener éxito.
Si no existe una ruta vinculada ni una 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 en el chat.
Los objetivos inválidos o obsoletos aún pueden forzar la reversión a la cola o el fallo final de la entrega.
Si la última respuesta visible del asistente del hijo es el token silencioso exacto NO_REPLY / no_reply, o exactamente ANNOUNCE_SKIP, OpenClaw suprime intencionalmente el anuncio en lugar de publicar un progreso anterior obsoleto.
La salida de herramienta/toolResult no se promueve al texto de resultado del hijo; el resultado es la última respuesta visible del asistente del hijo.
Depuración:
Ventana de terminal
openclawtasksshow
Documentación: [Sub-agentes](/es/tools/subagents), [Tareas en segundo plano](/es/automation/tasks), [Herramientas de sesión](/es/concepts/session-tool).
Cron o recordatorios no se activan. ¿Qué debería comprobar?
Cron se ejecuta dentro del proceso Gateway. Si el Gateway no se está ejecutando continuamente,
los trabajos programados no se ejecutarán.
Lista de verificación:
Confirme que cron está habilitado (cron.enabled) y OPENCLAW_SKIP_CRON no está establecido.
Compruebe que el Gateway está funcionando 24/7 (sin suspensiones/reinicios).
Verifique la configuración de zona horaria para el trabajo (--tz vs zona horaria del host).
Depuración:
Ventana de terminal
openclawcronrun
openclaw cron runs —id
—limit 50
Documentación: [Trabajos de Cron](/es/automation/cron-jobs), [Automatización](/es/automation).
Se disparó el cron, pero no se envió nada al canal. ¿Por qué?
Primero verifique el modo de entrega:
--no-deliver / delivery.mode: "none" significa que no se espera un envío de reserva por parte del ejecutor.
Un destino de anuncio faltante 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 (solo NO_REPLY / no_reply) se trata como no entregable intencionalmente, por lo que el ejecutor también suprime la entrega de reserva en cola.
Para trabajos cron aislados, el agente aún puede enviar directamente con la herramienta message cuando hay una ruta de chat disponible. --announce solo controla la ruta de reserva del ejecutor para el texto final que el agente aún no ha enviado.
¿Por qué una ejecución de cron aislada cambió de modelos o reintentó una vez?
Esa suele ser la ruta de cambio de modelo en vivo, no una programación duplicada.
El cron aislado puede persistir un cambio de modelo en tiempo de ejecución y reintentar cuando la ejecución activa lanza LiveSessionModelSwitchError. El reintento mantiene el proveedor/modelo cambiado, y si el cambio llevó una nueva anulación de perfil de autenticación, el cron también lo persiste antes de reintentar.
Reglas de selección relacionadas:
La anulación del modelo del enlace de Gmail gana primero cuando es aplicable.
Luego por trabajo model.
Luego cualquier anulación de modelo de sesión de cron almacenada.
Luego la selección normal de modelo del agente/predeterminado.
El bucle de reintento está limitado. Después del intento inicial más 2 reintentos de cambio, el cron aborta en lugar de bucle infinito.
Utilice comandos nativos de openclaw skills o coloque las habilidades en su espacio de trabajo. La interfaz de usuario de habilidades de macOS no está disponible en Linux.
Explore habilidades en https://clawhub.ai.
¿Puedo ejecutar habilidades exclusivas de Apple macOS desde Linux?
No directamente. Las habilidades de macOS están controladas por metadata.openclaw.os además de los binarios necesarios, y las habilidades solo aparecen en el prompt del sistema cuando son elegibles en el host de la Gateway (pasarela). En Linux, las habilidades exclusivas de darwin (como apple-notes, apple-reminders, things-mac) no se cargarán a menos que anules el control de acceso.
Tienes tres patrones admitidos:
Opción A: ejecutar la Gateway en un Mac (lo más sencillo).
Ejecuta la Gateway donde existen los binarios de macOS, luego conéctate desde Linux en modo remoto o a través de Tailscale. Las habilidades se cargan normalmente porque el host de la Gateway es macOS.
Opción B: usar un nodo macOS (sin SSH).
Ejecuta la Gateway en Linux, empareja un nodo macOS (aplicación de la barra de menús) y establece Node Run Commands (Ejecutar comandos de nodo) en “Always Ask” (Preguntar siempre) o “Always Allow” (Permitir siempre) en el Mac. OpenClaw puede tratar las habilidades exclusivas de macOS como elegibles cuando los binarios necesarios existen en el nodo. El agente ejecuta esas habilidades a través de la herramienta nodes. Si eliges “Preguntar siempre”, aprobar “Permitir siempre” en el prompt añade ese comando a la lista de permitidos.
Opción C: hacer proxy de los binarios de macOS a través de SSH (avanzado).
Mantén la Gateway en Linux, pero haz que los binarios de CLI necesarios resuelvan a envoltorios SSH que se ejecutan en un Mac. Luego anula la habilidad para permitir Linux de modo que permanezca elegible.
Crea un envoltorio SSH para el binario (ejemplo: memo para Apple Notes):
#!/usr/bin/env bash
set-euopipefail
execssh-Tuser@mac-host/opt/homebrew/bin/memo"$@"
Coloca el envoltorio en PATH en el host de Linux (por ejemplo ~/bin/memo).
Anula los metadatos de la habilidad (espacio de trabajo o ~/.openclaw/skills) para permitir Linux:
---
name: apple-notes
description: Manage Apple Notes via the memo CLI on macOS.
Inicia una nueva sesión para que se actualice la instantánea de habilidades.
¿Tienen una integración con Notion o HeyGen?
No está integrado de forma nativa hoy en día.
Opciones:
Habilidad / complemento personalizado: es lo mejor para un acceso confiable a la API (tanto Notion como HeyGen tienen APIs).
Automatización del navegador: funciona sin código, pero es más lento y más frágil.
Si desea mantener el contexto por cliente (flujos de trabajo de agencias), un patrón sencillo es:
Una página de Notion por cliente (contexto + preferencias + trabajo activo).
Pida al agente que obtenga esa página al inicio de una sesión.
Si desea una integración nativa, abra una solicitud de función o cree una habilidad
dirigida a esas APIs.
Instalar habilidades:
Ventana de terminal
openclawskillsinstall
openclaw skills update —all
Las instalaciones nativas se ubican en el directorio del espacio de trabajo activo `skills/`. Para habilidades compartidas entre todos los agentes locales, use `openclaw skills install
/SKILL.md). Si solo algunos agentes deben ver una instalación compartida, configure agents.defaults.skillsoagents.list[].skills`. Algunas habilidades esperan binarios instalados a través de Homebrew; en Linux eso significa Linuxbrew (consulte la entrada de Homebrew Linux FAQ anterior). Consulte Skills, Skills config y ClawHub.
¿Cómo uso mi Chrome existente con la sesión iniciada con OpenClaw?
Use el perfil de navegador user integrado, que se adjunta a través de Chrome DevTools MCP:
Ventana de terminal
openclawbrowser--browser-profileusertabs
openclawbrowser--browser-profileusersnapshot
Si desea un nombre personalizado, cree un perfil MCP explícito:
Esta ruta puede usar el navegador host local o un nodo de navegador conectado. Si la Gateway se ejecuta en otro lugar, ejecute un host de nodo en la máquina del navegador o use CDP remoto en su lugar.
Límites actuales en existing-session / user:
las acciones están basadas en referencias, no en selectores CSS
las cargas requieren ref / inputRef y actualmente admiten un archivo a la vez
responsebody, exportación de PDF, intercepción de descargas y acciones por lotes aún necesitan un navegador administrado o un perfil CDP sin procesar
Sí. Consulte Sandboxing. Para la configuración específica de Docker (puerta de enlace completa en Docker o imágenes de sandbox), consulte Docker.
Docker se siente limitado: ¿cómo habilito todas las funciones?
La imagen predeterminada prioriza la seguridad y se ejecuta como el usuario node, por lo que no incluye
paquetes del sistema, Homebrew ni navegadores integrados. Para una configuración más completa:
Mantenga /home/node con OPENCLAW_HOME_VOLUME para que las cachés sobrevivan.
Integre dependencias del sistema en la imagen con OPENCLAW_IMAGE_APT_PACKAGES.
Instale los navegadores Playwright a través de la CLI incluida:
node /app/node_modules/playwright-core/cli.js install chromium
Configure PLAYWRIGHT_BROWSERS_PATH y asegúrese de que la ruta se mantenga.
¿Puedo mantener los MDs personales pero hacer que los grupos sean públicos/sandboxed con un agente?
Sí, siempre que su tráfico privado sean los MDs y su tráfico público sean los grupos.
Use 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 se mantiene en el host. Docker es el backend predeterminado si no elige uno. Luego, restrinja las herramientas disponibles en las sesiones de sandbox a través de tools.sandbox.tools.
¿Cómo vinculo una carpeta del host dentro del sandbox?
Establezca agents.defaults.sandbox.docker.binds en ["host:path:mode"] (por ejemplo, "/home/user/src:/src:ro"). Los vínculos globales + por agente se combinan; los vínculos por agente se ignoran cuando scope: "shared". Use :ro para cualquier cosa sensible y recuerde que los vínculos saltan las paredes del sistema de archivos del sandbox.
OpenClaw valida los orígenes de los vínculos tanto con la ruta normalizada como con la ruta canónica resuelta a través del ancestro existente más profundo. Eso significa que los escapes por enlace simbólico del padre todavía fallan cerrados incluso cuando el último segmento de la ruta todavía no existe, y las comprobaciones de raíz permitida todavía se aplican después de la resolución del enlace simbólico.
La memoria de OpenClaw son solo archivos Markdown en el espacio de trabajo del agente:
Notas diarias en memory/YYYY-MM-DD.md
Notas curadas a largo plazo en MEMORY.md (solo sesiones principales/privadas)
OpenClaw también ejecuta un flush de memoria silencioso pre-compacción para recordar al modelo
que escriba notas duraderas antes de la auto-compacción. Esto solo se ejecuta cuando el espacio de trabajo
es escribible (los sandbox de solo lectura lo omiten). Consulte Memory.
La memoria sigue olvidando cosas. ¿Cómo hago que persista?
Pída al bot que escriba el hecho en la memoria. Las notas a largo plazo pertenecen a MEMORY.md,
el contexto a corto plazo va en memory/YYYY-MM-DD.md.
Esto todavía es un área que estamos mejorando. Ayuda recordar al modelo que almacene memorias;
sabrá qué hacer. Si sigue olvidando, verifique que la Gateway esté usando el mismo
espacio de trabajo en cada ejecución.
¿La memoria persiste para siempre? ¿Cuáles son los límites?
Los archivos de memoria residen en el disco y persisten hasta que los eliminas. El límite es tu
almacenamiento, no el modelo. El contexto de la sesión todavía está limitado por la ventana de
contexto del modelo, por lo que las conversaciones largas pueden compactarse o truncarse. Es por eso que
existe la búsqueda de memoria: recupera solo las partes relevantes al contexto.
¿La búsqueda de memoria semántica requiere una clave de API de OpenAI?
Solo si usas embeddings de OpenAI. Codex OAuth cubre el chat/completions y
no otorga acceso a embeddings, por lo que iniciar sesión con Codex (OAuth o el
inicio de sesión de la CLI de Codex) no ayuda para la búsqueda de memoria semántica. Los embeddings de
OpenAI aún necesitan una clave de API real (OPENAI_API_KEY o models.providers.openai.apiKey).
Si no configuras un proveedor explícitamente, OpenClaw usa embeddings de OpenAI. Las configuraciones
heredadas que todavía dicen memorySearch.provider = "auto" también se resuelven a OpenAI.
Si no hay ninguna clave de API de OpenAI disponible, la búsqueda de memoria semántica permanece no disponible
hasta que configures una clave o elijas explícitamente otro proveedor.
Si prefieres mantenerte local, establece memorySearch.provider = "local" (y opcionalmente
memorySearch.fallback = "none"). Si quieres embeddings de Gemini, establece
memorySearch.provider = "gemini" y proporciona GEMINI_API_KEY (o
memorySearch.remote.apiKey). Admitimos modelos de embeddings OpenAI, compatibles con OpenAI, Gemini,
Voyage, Mistral, Bedrock, Ollama, LM Studio, GitHub Copilot, DeepInfra o locales
consulta Memory para conocer los detalles de configuración.
¿Todos los datos utilizados con OpenClaw se guardan localmente?
No - el estado de OpenClaw es local, pero los servicios externos todavía ven lo que les envías.
Local de forma predeterminada: las sesiones, los archivos de memoria, la configuración y el espacio de trabajo residen en el host de la puerta de enlace
(~/.openclaw + tu directorio de espacio de trabajo).
Remoto por necesidad: los mensajes que envías a los proveedores de modelos (Anthropic/OpenAI/etc.) van a
sus API, y las plataformas de chat (WhatsApp/Telegram/Slack/etc.) almacenan los datos de los mensajes en sus
servidores.
Controlas la huella: el uso de modelos locales mantiene los mensajes (prompts) en tu máquina, pero el tráfico
del canal todavía pasa a través de los servidores del canal.
Todo se encuentra bajo $OPENCLAW_STATE_DIR (predeterminado: ~/.openclaw):
Ruta
Propósito
$OPENCLAW_STATE_DIR/openclaw.json
Configuración principal (JSON5)
$OPENCLAW_STATE_DIR/credentials/oauth.json
Importación heredada de OAuth (copiada en los perfiles de autenticación en el primer uso)
`$OPENCLAW_STATE_DIR/agents/
/agent/auth-profiles.json| Perfiles de autenticación (OAuth, claves API y opcionaleskeyRef/tokenRef) | | $OPENCLAW_STATE_DIR/secrets.json | Carga secreta opcional respaldada en archivo para proveedoresfileSecretRef | |$OPENCLAW_STATE_DIR/agents/
/agent/auth.json | Archivo de compatibilidad heredada (entradas estáticasapi_keylimpiadas) | |$OPENCLAW_STATE_DIR/credentials/ | Estado del proveedor (ej.whatsapp/
/creds.json) | | $OPENCLAW_STATE_DIR/agents/ | Estado por agente (agentDir + sesiones) | |$OPENCLAW_STATE_DIR/agents/
/sessions/ | Historial y estado de la conversación (por agente) | |$OPENCLAW_STATE_DIR/agents/
/sessions/sessions.json` | Metadatos de la sesión (por agente) |
Ruta heredada de agente único: `~/.openclaw/agent/*` (migrada por `openclaw doctor`).
Su **espacio de trabajo** (AGENTS.md, archivos de memoria, habilidades, etc.) es independiente y se configura a través de `agents.defaults.workspace` (predeterminado: `~/.openclaw/workspace`).
Estos archivos viven en el espacio de trabajo del agente, no en ~/.openclaw.
Espacio de trabajo (por agente): AGENTS.md, SOUL.md, IDENTITY.md, USER.md,
MEMORY.md, memory/YYYY-MM-DD.md y opcional HEARTBEAT.md.
El raíz en minúsculas memory.md es solo para entrada de reparación heredada; openclaw doctor --fix
puede fusionarlo en MEMORY.md cuando ambos archivos existen.
Directorio de estado (~/.openclaw): configuración, estado del canal/proveedor, perfiles de autenticación, sesiones, registros,
y habilidades compartidas (~/.openclaw/skills).
El espacio de trabajo predeterminado es ~/.openclaw/workspace, configurable a través de:
Si el bot “olvida” después de un reinicio, confirme que el Gateway está usando el mismo
espacio de trabajo en cada lanzamiento (y recuerde: el modo remoto usa el espacio de trabajo del host del gateway,
no su computadora portátil local).
Consejo: si desea un comportamiento o preferencia duradero, pida al bot que lo escriba en
AGENTS.md o MEMORY.md en lugar de confiar en el historial de chat.
Sí. SOUL.md es uno de los archivos de arranque del espacio de trabajo que se inyectan en el
contexto del agente. El límite de inyección predeterminado por archivo es de 20000 caracteres,
y el presupuesto total de arranque entre archivos es de 60000 caracteres.
Cambie los valores predeterminados compartidos en su configuración de OpenClaw:
{
agents: {
defaults: {
bootstrapMaxChars: 50000,
bootstrapTotalMaxChars: 300000,
},
},
}
O anule un agente:
{
agents: {
list: [
{
id: "main",
bootstrapMaxChars: 50000,
bootstrapTotalMaxChars: 300000,
},
],
},
}
Use /context para verificar los tamaños brutos frente a los inyectados y si ocurrió truncamiento.
Mantenga SOUL.md enfocado en la voz, la postura y la personalidad; ponga las reglas de operación
en AGENTS.md y los hechos duraderos en la memoria.
Ponga su espacio de trabajo del agente en un repositorio git privado y respáldelo en algún lugar
privado (por ejemplo, GitHub privado). Esto captura la memoria + los archivos AGENTS/SOUL/USER
y le permite restaurar la “mente” del asistente más tarde.
No confíe nada bajo ~/.openclaw (credenciales, sesiones, tokens o cargas útiles de secretos cifrados).
Si necesita una restauración completa, respalde tanto el espacio de trabajo como el directorio de estado
por separado (consulte la pregunta sobre migración anterior).
¿Pueden los agentes trabajar fuera del espacio de trabajo?
Sí. El espacio de trabajo es el cwd predeterminado y el ancla de memoria, no un espacio aislado estricto.
Las rutas relativas se resuelven dentro del espacio de trabajo, pero las rutas absolutas pueden acceder a otras
ubicaciones del host a menos que se habilite el espacio aislado. Si necesita aislamiento, use
agents.defaults.sandbox o configuraciones de espacio aislado por agente. Si
quiere que un repositorio sea el directorio de trabajo predeterminado, apunte el
workspace de ese agente a la raíz del repositorio. El repositorio de OpenClaw es solo código fuente; mantenga el
espacio de trabajo separado a menos que intencionalmente quiera que el agente trabaje dentro de él.
Ejemplo (repositorio como cwd predeterminado):
{
agents: {
defaults: {
workspace: "~/Projects/my-repo",
},
},
}
Modo remoto: ¿dónde está el almacenamiento de sesión?
El estado de la sesión es propiedad del host de la puerta de enlace. Si está en modo remoto, el almacenamiento de sesión que le importa está en la máquina remota, no en su computadora portátil local. Consulte Gestión de sesiones.
OpenClaw lee una configuración opcional de JSON5 desde $OPENCLAW_CONFIG_PATH (predeterminado: ~/.openclaw/openclaw.json):
$OPENCLAW_CONFIG_PATH
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 IU dice no autorizado
Los enlaces no de bucle invertido (non-loopback) requieren una ruta de autenticación de puerta de enlace válida. En la práctica, esto significa:
autenticación de secreto compartido: token o contraseña
gateway.auth.mode: "trusted-proxy" detrás de un proxy inverso con reconocimiento de identidad configurado correctamente
{
gateway: {
bind: "lan",
auth: {
mode: "token",
token: "replace-me",
},
},
}
Notas:
gateway.remote.token / .passwordno habilitan la autenticación de puerta de enlace local por sí mismos.
Las rutas de llamadas locales pueden usar gateway.remote.* como alternativa solo cuando gateway.auth.* no está configurado.
Para la autenticación por contraseña, configure gateway.auth.mode: "password" más gateway.auth.password (o OPENCLAW_GATEWAY_PASSWORD) en su lugar.
Si gateway.auth.token / gateway.auth.password se configura explícitamente mediante SecretRef y no se resuelve, la resolución falla de forma cerrada (sin enmascaramiento de reserva remota).
Las configuraciones de IU de Control con secreto compartido se autentican mediante connect.params.auth.token o connect.params.auth.password (almacenados en la configuración de la aplicación/IU). Los modos con identidad, como Tailscale Serve o trusted-proxy, utilizan encabezados de solicitud en su lugar. Evite poner secretos compartidos en URL.
Con gateway.auth.mode: "trusted-proxy", los proxies inversos de bucle invertido del mismo host requieren gateway.auth.trustedProxy.allowLoopback = true explícito y una entrada de bucle invertido en gateway.trustedProxies.
¿Por qué ahora necesito un token en localhost?
OpenClaw exige la autenticación de la puerta de enlace (gateway) de forma predeterminada, incluido el bucle local (loopback). En la ruta predeterminada normal, esto significa autenticación por token: si no se configura una ruta de autenticación explícita, el inicio de la puerta de enlace se resuelve en modo token y genera un token solo para el tiempo de ejecución para ese inicio, por lo que los clientes WS locales deben autenticarse. Configure 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 a la puerta de enlace.
Si prefiere una ruta de autenticación diferente, puede elegir explícitamente el modo de contraseña (o, para proxies inversos con reconocimiento de identidad, trusted-proxy). Si realmente desea un bucle local abierto, establezca gateway.auth.mode: "none" explícitamente en su configuración. Doctor puede generar un token para usted en cualquier momento: openclaw doctor --generate-gateway-token.
¿Tengo que reiniciar después de cambiar la configuración?
La puerta de enlace (Gateway) supervisa la configuración y admite la recarga en caliente (hot-reload):
gateway.reload.mode: "hybrid" (predeterminado): aplica cambios seguros en caliente, reinicia para los críticos
hot, restart, off también son compatibles
¿Cómo desactivo los lemas divertidos de la CLI?
Establezca cli.banner.taglineMode en la configuración:
{
cli: {
banner: {
taglineMode: "off", // random | default | off
},
},
}
off: oculta el texto del lema pero mantiene la línea de título/versión del banner.
default: usa All your chats, one OpenClaw. cada vez.
Si no desea ningún banner, establezca la variable de entorno OPENCLAW_HIDE_BANNER=1.
¿Cómo habilito la búsqueda web (y la recuperación web)?
web_fetch funciona sin una clave API. web_search depende de su proveedor
seleccionado:
Los proveedores con API como Brave, Exa, Firecrawl, Gemini, Kimi, MiniMax Search, Perplexity y Tavily requieren su configuración normal de clave API.
Grok puede reutilizar xAI OAuth desde la autenticación del modelo, o recurrir a XAI_API_KEY / configuración de web-search del complemento.
Ollama Web Search no requiere clave, pero utiliza su host Ollama configurado y requiere ollama signin.
DuckDuckGo no requiere clave, pero es una integración HTML no oficial.
SearXNG no requiere clave / es autoalojado; configure SEARXNG_BASE_URL o plugins.entries.searxng.config.webSearch.baseUrl.
Recomendado: ejecute openclaw configure --section web y elija un proveedor.
Alternativas de entorno:
Brave: BRAVE_API_KEY
Exa: EXA_API_KEY
Firecrawl: FIRECRAWL_API_KEY
Gemini: GEMINI_API_KEY
Grok: xAI OAuth, XAI_API_KEY
Kimi: KIMI_API_KEY o MOONSHOT_API_KEY
MiniMax Search: MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY o MINIMAX_API_KEY
Perplexity: PERPLEXITY_API_KEY o OPENROUTER_API_KEY
SearXNG: SEARXNG_BASE_URL
Tavily: TAVILY_API_KEY
{
plugins: {
entries: {
brave: {
config: {
webSearch: {
apiKey: "BRAVE_API_KEY_HERE",
},
},
},
},
},
tools: {
web: {
search: {
enabled: true,
provider: "brave",
maxResults: 5,
},
fetch: {
enabled: true,
provider: "firecrawl", // optional; omit for auto-detect
},
},
},
}
La configuración de búsqueda web específica del proveedor ahora se encuentra en `plugins.entries.
.config.webSearch.. Las rutas de proveedor heredadas tools.web.search.todavía se cargan temporalmente por compatibilidad, pero no se deben usar para configuraciones nuevas. La configuración alternativa de web-fetch de Firecrawl se encuentra enplugins.entries.firecrawl.config.webFetch.*`.
Notas:
- Si usa listas de permitidos, añada `web_search`/`web_fetch`/`x_search` o `group:web`.
- `web_fetch` está habilitado de forma predeterminada (a menos que se deshabilite explícitamente).
- Si se omite `tools.web.fetch.provider`, OpenClaw detecta automáticamente el primer proveedor de recuperación alternativo listo a partir de las credenciales disponibles. Hoy, el proveedor incluido es Firecrawl.
- Los demonios leen las variables de entorno de `~/.openclaw/.env` (o el entorno del servicio).
Documentación: [Herramientas web](/es/tools/web).
config.apply borró mi configuración. ¿Cómo me recupero y evito esto?
config.apply reemplaza la configuración completa. Si envía un objeto parcial, todo lo demás se elimina.
El OpenClaw actual protege contra muchos sobrescrituras accidentales:
Las escrituras de configuración propiedad de OpenClaw validan la configuración completa posterior al cambio antes de escribir.
Las escrituras propiedad de OpenClaw que no son válidas o destructivas se rechazan y guardan como openclaw.json.rejected.*.
Si una edición directa interrumpe el inicio o la recarga en caliente, Gateway falla de forma segura (closed) o omite la recarga; no reescribe openclaw.json.
openclaw doctor --fix es propietario de la reparación y puede restaurar el último estado conocido bueno (last-known-good) mientras guarda el archivo rechazado como openclaw.json.clobbered.*.
Recuperación:
Compruebe openclaw logs --follow para ver Invalid config at, Config write rejected: o config reload skipped (invalid config).
Inspeccione el openclaw.json.clobbered.* o openclaw.json.rejected.* más reciente junto con la configuración activa.
Ejecute openclaw config validate y openclaw doctor --fix.
Copie solo las claves deseadas con openclaw config set o config.patch.
Si no tiene un último estado conocido bueno o una carga útil rechazada, restaure desde una copia de seguridad, o vuelva a ejecutar openclaw doctor y reconfigure los canales/modelos.
Si esto fue inesperado, informe un error e incluya su última configuración conocida o cualquier copia de seguridad.
Un agente de codificación local a menudo puede reconstruir una configuración funcional desde los registros o el historial.
Evítelo:
Use openclaw config set para cambios pequeños.
Use openclaw configure para ediciones interactivas.
Use config.schema.lookup primero cuando no esté seguro de una ruta exacta o la forma del campo; devuelve un nodo de esquema superficial más resúmenes de hijos inmediatos para profundizar (drill-down).
Use config.patch para ediciones RPC parciales; mantenga config.apply solo para el reemplazo de configuración completa.
Si está utilizando la herramienta gateway orientada al agente desde una ejecución de agente, aún rechazará las escrituras en tools.exec.ask / tools.exec.security (incluidos los alias tools.bash.* heredados que se normalizan a las mismas rutas de ejecución protegidas).
¿Puede ejecutarse el navegador de OpenClaw en modo headless?
Sí. Es una opción de configuración:
{
browser: { headless: true },
agents: {
defaults: {
sandbox: { browser: { headless: true } },
},
},
}
El valor predeterminado es false (con interfaz gráfica). Es más probable que el modo headless active comprobaciones anti-bot en algunos sitios. Consulte Navegador.
El modo headless utiliza el mismo motor Chromium y funciona para la mayoría de las automatizaciones (formularios, clics, scraping, inicios de sesión). Las principales diferencias son:
Sin ventana de navegador visible (use capturas de pantalla si necesita elementos visuales).
Algunos sitios son más estrictos con la automatización en modo headless (CAPTCHAs, anti-bot).
Por ejemplo, X/Twitter a menudo bloquea las sesiones headless.
¿Cómo uso Brave para el control del navegador?
Establezca browser.executablePath en su binario de Brave (o cualquier navegador basado en Chromium) y reinicie la puerta de enlace (Gateway).
Vea los ejemplos completos de configuración en Navegador.
¿Cómo se propagan los comandos entre Telegram, el gateway y los nodos?
Los mensajes de Telegram son manejados por el gateway. El gateway ejecuta el agente y
solo entonces llama a los nodos a través del Gateway WebSocket cuando se necesita una herramienta de nodo:
Los nodos no ven el 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?
Respuesta corta: empareja tu computadora como un nodo. El Gateway se ejecuta en otro lugar, pero puede
llamar a herramientas node.* (pantalla, cámara, sistema) en tu máquina local a través del Gateway WebSocket.
Configuración típica:
Ejecuta el Gateway en el host siempre activo (VPS/servidor doméstico).
Pon el host del Gateway + 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 aplicación de macOS localmente y conéctate en el modo Remoto por SSH (o tailnet directa)
para que pueda registrarse como un nodo.
Aproba el nodo en el Gateway:
Ventana de terminal
openclawdeviceslist
openclawdevicesapprove
No se requiere un puente TCP separado; los nodos se conectan a través del Gateway WebSocket.
Recordatorio de seguridad: emparejar un nodo de macOS permite `system.run` en esa máquina. Solo
empareja dispositivos en los que confíes y revisa [Seguridad](/es/gateway/security).
Documentación: [Nodos](/es/nodes), [Protocolo del Gateway](/es/gateway/protocol), [Modo remoto de macOS](/es/platforms/mac/remote), [Seguridad](/es/gateway/security).
Tailscale está conectado pero no recibo respuestas. ¿Qué hago?
Comprueba lo básico:
La puerta de enlace (Gateway) está ejecutándose: openclaw gateway status
Estado de la puerta de enlace: openclaw status
Estado del canal: openclaw channels status
A continuación, verifica la autenticación y el enrutamiento:
Si usas Tailscale Serve, asegúrate de que gateway.auth.allowTailscale esté configurado correctamente.
Si te conectas a través de un túnel SSH, confirma que el túnel local está activo y apunta al puerto correcto.
Confirma que tus listas de permitidos (DM o grupo) incluyen tu cuenta.
¿Pueden dos instancias de OpenClaw comunicarse entre sí (local + VPS)?
Sí. No hay un puente “bot-a-bot” integrado, pero puedes configurarlo de algunas
formas fiables:
Lo más simple: usa un canal de chat normal al que ambos bots puedan acceder (Telegram/Slack/WhatsApp).
Haz que el Bot A envíe un mensaje al Bot B y luego deja que el Bot B responda como de costumbre.
Puente CLI (genérico): ejecuta un script que llame a la otra puerta de enlace con
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 esa puerta de enlace remota
a través de SSH/Tailscale (ver Acceso remoto).
Patrón de ejemplo (ejecutar desde una máquina que pueda alcanzar la puerta de enlace objetivo):
Ventana de terminal
openclawagent--message"Hello from local bot"--deliver--channeltelegram--reply-to
Consejo: añade una restricción para que los dos bots no entren en un bucle infinito (solo menciones, listas
de permitidos de canal, o una regla de "no responder a mensajes de bots").
Documentación: [Acceso remoto](/es/gateway/remote), [CLI del Agente](/es/cli/agent), [Envío del Agente](/es/tools/agent-send).
¿Necesito VPS separados para múltiples agentes?
No. Una única puerta de enlace (Gateway) puede alojar múltiples agentes, cada uno con su propio espacio de trabajo, configuraciones predeterminadas de modelo
y enrutamiento. Esa es la configuración normal y es mucho más económica y sencilla que ejecutar
una VPS por agente.
Use VPS separadas solo cuando necesite un aislamiento estricto (límites de seguridad) o configuraciones
muy diferentes que no desee compartir. De lo contrario, mantenga una puerta de enlace (Gateway)
y use múltiples agentes o subagentes.
¿Hay algún beneficio en usar un nodo en mi laptop personal en lugar de SSH desde una VPS?
Sí: los nodos son la forma principal de llegar a su laptop desde una puerta de enlace (Gateway) remota, y permiten
más que solo el acceso a la shell. La puerta de enlace (Gateway) se ejecuta en macOS/Linux (Windows a través de WSL2) y es
ligera (una VPS pequeña o una caja tipo Raspberry Pi está bien; 4 GB de RAM son suficientes), por lo que una configuración
común es un host siempre activo más su laptop como un nodo.
No se requiere SSH entrante. Los nodos se conectan al WebSocket de la puerta de enlace (Gateway) y usan el emparejamiento de dispositivos.
Controles de ejecución más seguros.system.run está limitado por listas de aprobación/aprobaciones de nodos en esa laptop.
Más herramientas de dispositivo. Los nodos exponen canvas, camera y screen además de system.run.
Automatización del navegador local. Mantenga la puerta de enlace (Gateway) en una VPS, pero ejecute Chrome localmente a través de un host de nodo en la laptop, o conéctese al Chrome local en el host a través de Chrome MCP.
SSH está bien para el acceso ad-hoc a la shell, pero los nodos son más simples para los flujos de trabajo continuos de agentes y
la automatización de dispositivos.
¿Los nodos ejecutan un servicio de puerta de enlace?
No. Solo debe ejecutarse una puerta de enlace por host, a menos que ejecute intencionadamente perfiles aislados (consulte Múltiples puertas de enlace). Los nodos son periféricos que se conectan
a la puerta de enlace (nodos iOS/Android o “modo nodo” de macOS en la aplicación de la barra de menús). Para hosts de nodos sin interfaz gráfica
y control por CLI, consulte CLI de host de nodos.
Se requiere un reinicio completo para gateway, discovery, y los cambios en la superficie de complementos alojados.
¿Hay alguna forma API / RPC para aplicar la configuración?
Sí.
config.schema.lookup: inspeccionar un subárbol de configuración con su nodo de esquema superficial, sugerencia de interfaz coincidente y resúmenes de hijos inmediatos antes de escribir
config.get: obtener la instantánea actual + hash
config.patch: actualización parcial segura (preferida para la mayoría de ediciones RPC); recarga en caliente cuando es posible y se reinicia cuando es necesario
config.apply: validar + reemplazar la configuración completa; recarga en caliente cuando es posible y se reinicia cuando es necesario
La herramienta de tiempo de ejecución gateway orientada al agente aún se niega a reescribir tools.exec.ask / tools.exec.security; los alias tools.bash.* heredados se normalizan a las mismas rutas de ejecución protegidas
Configuración mínima sensata para una primera instalación
Si deseas la interfaz de usuario de control sin SSH, usa Tailscale Serve en el VPS:
Ventana de terminal
openclawgateway--tailscaleserve
Esto mantiene el enlace vinculado al loopback y expone HTTPS a través de Tailscale. Consulta Tailscale.
¿Cómo conecto un nodo Mac a un Gateway remoto (Tailscale Serve)?
Serve expone la Interfaz de usuario de control del Gateway + WS. Los nodos se conectan a través del mismo endpoint del Gateway WS.
Configuración recomendada:
Asegúrate de que el VPS y el Mac estén en la misma tailnet.
Usa la aplicación macOS en modo remoto (el destino SSH puede ser el nombre de host de la tailnet).
La aplicación realizará un túnel del puerto del Gateway y se conectará como un nodo.
Aprobar el nodo en el gateway:
Ventana de terminal
openclawdeviceslist
openclawdevicesapprove
Documentación: [Protocolo del Gateway](/es/gateway/protocol), [Descubrimiento](/es/gateway/discovery), [Modo remoto de macOS](/es/platforms/mac/remote).
¿Debo instalar en un segundo portátil o simplemente agregar un nodo?
Si solo necesitas herramientas locales (pantalla/cámara/exec) en el segundo portátil, agrégalo como un
nodo. Esto mantiene un solo Gateway y evita configuraciones duplicadas. Las herramientas de nodo local son
actualmente exclusivas de macOS, pero planeamos extenderlas a otros sistemas operativos.
Instala un segundo Gateway solo cuando necesites aislamiento estricto o dos bots completamente separados.
OpenClaw lee las variables de entorno del proceso principal (shell, launchd/systemd, CI, etc.) y additionally carga:
.env desde el directorio de trabajo actual
un .env de respaldo global desde ~/.openclaw/.env (también conocido como $OPENCLAW_STATE_DIR/.env)
Ningún archivo .env anula las variables de entorno existentes.
Las variables de credenciales del proveedor son una excepción para el .env del espacio de trabajo: claves como
GEMINI_API_KEY, XAI_API_KEY o MISTRAL_API_KEY se ignoran del .env del espacio de trabajo
y deben residir en el entorno del proceso, ~/.openclaw/.env, o en el archivo de configuración env.
También puedes definir variables de entorno en línea en la configuración (se aplican solo si faltan en el entorno del proceso):
{
env: {
OPENROUTER_API_KEY: "sk-or-...",
vars: { GROQ_API_KEY: "gsk-..." },
},
}
Consulta /environment para obtener información completa sobre la precedencia y las fuentes.
Inicié el Gateway mediante el servicio y mis variables de entorno desaparecieron. ¿Qué hago ahora?
Dos soluciones comunes:
Coloca las claves faltantes en ~/.openclaw/.env para que se detecten incluso cuando el servicio no hereda tu entorno de shell.
Habilita la importación de shell (comodidad opcional):
{
env: {
shellEnv: {
enabled: true,
timeoutMs: 15000,
},
},
}
Esto ejecuta tu shell de inicio de sesión e importa solo las claves esperadas faltantes (nunca las anula). Equivalentes de variables de entorno:
OPENCLAW_LOAD_SHELL_ENV=1, OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.
He configurado 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á 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 un servicio (launchd/systemd), no heredará tu entorno
de shell. Soluciónalo haciendo una de estas cosas:
Pon el token en ~/.openclaw/.env:
COPILOT_GITHUB_TOKEN=...
O habilita la importación de shell (env.shellEnv.enabled: true).
O agrégalo a tu bloque de configuración env (se aplica solo si falta).
Envía /new o /reset como un mensaje independiente. Consulta Gestión de sesiones.
¿Las sesiones se reinician automáticamente si nunca envío /new?
Las sesiones pueden expirar después de session.idleMinutes, pero esto está deshabilitado por defecto (por defecto 0).
Establécelo en un valor positivo para habilitar la expiración por inactividad. Cuando está habilitado, 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 nueva sesión.
{
session: {
idleMinutes: 240,
},
}
¿Hay alguna forma de crear un equipo de instancias de OpenClaw (un CEO y muchos agentes)?
Sí, a través del enrutamiento multiagente y los subagentes. Puedes crear un agente
coordinador y varios agentes trabajadores con sus propios espacios de trabajo y modelos.
Dicho esto, esto es mejor visto como un experimento divertido. Consume muchos tokens y a menudo
es menos eficiente que usar un solo bot con sesiones separadas. El modelo típico que
imaginamos es un bot con el que hablas, con diferentes sesiones para trabajo paralelo. Ese
bot también puede generar subagentes cuando sea necesario.
¿Por qué se truncó el contexto a mitad de la tarea? ¿Cómo lo evito?
El contexto de la sesión está limitado por la ventana del modelo. Los chats largos, las grandes salidas de herramientas o muchos
archivos pueden desencadenar una compactación o truncamiento.
Lo que ayuda:
Pide al bot que resuma el estado actual y lo escriba en un archivo.
Usa /compact antes de tareas largas, y /new al 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 para que el chat principal se mantenga más pequeño.
Elige un modelo con una ventana de contexto más grande si esto sucede a menudo.
¿Cómo restablezco completamente OpenClaw pero lo mantengo instalado?
Usa el comando de restablecimiento:
Ventana de terminal
openclawreset
Restablecimiento completo no interactivo:
Ventana de terminal
openclawreset--scopefull--yes--non-interactive
Luego vuelve a ejecutar la configuración:
Ventana de terminal
openclawonboard--install-daemon
Notas:
La incorporación también ofrece Restablecer si ve una configuración existente. Consulta Incorporación (CLI).
Si usaste perfiles (--profile / OPENCLAW_PROFILE), restablece cada directorio de estado (los predeterminados son `~/.openclaw-
). - Restablecimiento de desarrollo: openclaw gateway —dev —reset` (solo desarrollo; borra la configuración de desarrollo + credenciales + sesiones + espacio de trabajo).
Estoy recibiendo errores de "contexto demasiado grande" - ¿cómo lo restablezco o compacto?
Utilice uno de estos:
Compactar (mantiene la conversación pero resume los turnos anteriores):
/compact
o `/compact
` para guiar el resumen.
- **Restablecer** (ID de sesión nueva para la misma clave de chat):
```
/new
/reset
```
Si sigue ocurriendo:
- Habilite o ajuste la **poda de sesión** (`agents.defaults.contextPruning`) para recortar el resultado de herramientas antiguo.
- Utilice un modelo con una ventana de contexto más grande.
Documentación: [Compactación](/es/concepts/compaction), [Poda de sesión](/es/concepts/session-pruning), [Gestión de sesiones](/es/concepts/session).
¿Por qué veo "LLM request rejected: messages.content.tool_use.input field required"?
Este es un error de validación del proveedor: el modelo emitió un bloque tool_use sin el input requerido. Generalmente significa que el historial de la sesión está obsoleto o corrupto (a menudo después de hilos largos o un cambio de herramienta/esquema).
Solución: inicie una sesión nueva con /new (mensaje independiente).
¿Por qué recibo mensajes de latido cada 30 minutos?
Los latidos se ejecutan cada 30m de forma predeterminada (1h al usar autenticación OAuth). Ajuste o desactívelos:
{
agents: {
defaults: {
heartbeat: {
every: "2h", // or "0m" to disable
},
},
},
}
Si HEARTBEAT.md existe pero está efectivamente vacío (solo líneas en blanco y encabezados de markdown como # Heading), OpenClaw omite la ejecución del latido para ahorrar llamadas a la API.
Si falta el archivo, el latido aún se ejecuta y el modelo decide qué hacer.
Las anulaciones por agente usan agents.list[].heartbeat. Documentación: Latido.
¿Necesito agregar una "cuenta de bot" a un grupo de WhatsApp?
No. OpenClaw se ejecuta en tu propia cuenta, por lo que si estás en el grupo, OpenClaw puede verlo.
De manera predeterminada, las respuestas grupales están bloqueadas hasta que permitas remitentes (groupPolicy: "allowlist").
Si deseas que solo tú puedas activar respuestas grupales:
{
channels: {
whatsapp: {
groupPolicy: "allowlist",
groupAllowFrom: ["+15551234567"],
},
},
}
¿Cómo obtengo el JID de un grupo de WhatsApp?
Opción 1 (la más rápida): observa los registros y envía un mensaje de prueba en el grupo:
Ventana de terminal
openclawlogs--follow--json
Busca chatId (o from) que termine en @g.us, como:
[email protected].
Opción 2 (si ya está configurado/en la lista de permitidos): lista los grupos desde la configuración:
¿Los grupos/hilos comparten el contexto con los MD?
Los chats directos se colapsan en la sesión principal de manera predeterminada. Los grupos/canales tienen sus propias claves de sesión, y los temas de Telegram / los hilos de Discord son sesiones separadas. Consulta Grupos y Mensajes grupales.
¿Cuántos espacios de trabajo y agentes puedo crear?
No hay límites estrictos. Docenas (incluso cientos) están bien, pero vigile lo siguiente:
Crecimiento del disco: las sesiones + transcripciones viven en `~/.openclaw/agents/
/sessions/`.
- Costo de tokens: más agentes significan mayor uso simultáneo del modelo.
- Sobrecarga operativa: perfiles de autenticación por agente, espacios de trabajo y enrutamiento de canales.
Consejos:
- Mantenga un espacio de trabajo **activo** por agente (`agents.defaults.workspace`).
- Pode sesiones antiguas (elimine JSONL o entradas de almacén) si el disco crece.
- Use `openclaw doctor` para detectar espacios de trabajo huérfanos y discordancias en los perfiles.
¿Puedo ejecutar varios bots o chats al mismo tiempo (Slack) y cómo debo configurarlo?
Sí. Use Enrutamiento Multiagente para ejecutar múltiples agentes aislados y enrutar mensajes entrantes por
canal/cuenta/par. Slack es compatible como canal y puede vincularse a agentes específicos.
El acceso al navegador es potente pero no “hacer cualquier cosa que un humano pueda”; los anti-bot, CAPTCHAs y MFA aún
pueden bloquear la automatización. Para el control del navegador más confiable, use Chrome MCP local en el host,
o use CDP en la máquina que realmente ejecuta el navegador.
Configuración recomendada:
Host de Gateway siempre activo (VPS/Mac mini).
Un agente por rol (vinculaciones).
Canal(es) de Slack vinculados a esos agentes.
Navegador local a través de Chrome MCP o un nodo cuando sea necesario.
Preguntas y respuestas sobre modelos — valores predeterminados, selección, alias, cambio, conmutación por error, perfiles de autenticación —
se encuentran en Preguntas frecuentes sobre modelos.
Gateway: puertos, “ya se está ejecutando” y modo remoto
¿Por qué el estado de la puerta de enlace de openclaw dice "Runtime: running" pero "Connectivity probe: failed"?
Porque “running” es la vista del supervisor (launchd/systemd/schtasks). La prueba de conectividad es la CLI conectándose realmente al WebSocket de la puerta de enlace.
Use openclaw gateway status y confíe en estas líneas:
Probe target: (la URL que usó realmente la prueba)
Listening: (lo que realmente está vinculado al puerto)
Last gateway error: (causa raíz común cuando el proceso está vivo pero el puerto no está escuchando)
¿Por qué el estado de la puerta de enlace de openclaw muestra "Config (cli)" y "Config (service)" diferentes?
Está editando un archivo de configuración mientras el servicio está ejecutando otro (a menudo una discrepancia de --profile / OPENCLAW_STATE_DIR).
Solución:
Ventana de terminal
openclawgatewayinstall--force
Ejecute eso desde el mismo --profile / entorno que desea que use el servicio.
¿Qué significa "another gateway instance is already listening"?
OpenClaw aplica un bloqueo de tiempo de ejecución vinculando el escucha WebSocket inmediatamente al inicio (por defecto ws://127.0.0.1:18789). Si la vinculación falla con EADDRINUSE, lanza GatewayLockError indicando que otra instancia ya está escuchando.
Solución: detenga la otra instancia, libere el puerto o ejecute con `openclaw gateway —port
`.
¿Cómo ejecuto OpenClaw en modo remoto (el cliente se conecta a un Gateway en otro lugar)?
Establezca gateway.mode: "remote" y apunte a una URL de WebSocket remota, opcionalmente con credenciales remotas de secreto compartido:
{
gateway: {
mode: "remote",
remote: {
url: "ws://gateway.tailnet:18789",
token: "your-token",
password: "your-password",
},
},
}
Notas:
openclaw gateway solo se inicia cuando gateway.mode es local (o pasas la marca de anulación).
La aplicación de macOS observa el archivo de configuración y cambia los modos en vivo cuando estos valores cambian.
gateway.remote.token / .password son solo credenciales remotas del lado del cliente; no habilitan la autenticación del gateway local por sí mismas.
La interfaz de control (Control UI) dice "no autorizado" (o sigue reconectando). ¿Qué hacer ahora?
La ruta de autenticación de tu puerta de enlace (gateway) y el método de autenticación de la interfaz no coinciden.
Datos (del código):
La interfaz de control mantiene el token en sessionStorage para la sesión actual de la pestaña del navegador y la URL de la puerta de enlace seleccionada, por lo que las actualizaciones en la misma pestaña siguen funcionando sin restaurar la persistencia del token de localStorage a largo plazo.
En AUTH_TOKEN_MISMATCH, los clientes de confianza pueden intentar un reintento limitado con un token de dispositivo almacenado en caché cuando la puerta de enlace devuelve sugerencias de reintento (canRetryWithDeviceToken=true, recommendedNextStep=retry_with_device_token).
Ese reintento con token en caché ahora reutiliza los alcances (scopes) aprobados en caché almacenados con el token del dispositivo. Los que llaman con deviceToken explícita / scopes explícita todavía mantienen su conjunto de alcances solicitados en lugar de heredar los alcances en caché.
Fuera de esa ruta de reintento, la precedencia de autenticación de conexión es primero token/contraseña compartido explícito, luego deviceToken explícita, luego token de dispositivo almacenado, luego token de arranque (bootstrap).
El arranque (bootstrap) mediante código de configuración integrado es solo para nodos. Después de la aprobación, devuelve un token de dispositivo de nodo con scopes: [] y no devuelve un token de operador entregado.
Solución:
El más rápido: openclaw dashboard (imprime + copia la URL del tablero, intenta abrirla; muestra un hint de SSH si no tiene interfaz gráfica/headless).
Si aún no tienes un token: openclaw doctor --generate-gateway-token.
Si es remoto, abre un túnel primero: ssh -N -L 18789:127.0.0.1:18789 user@host y luego abre http://127.0.0.1:18789/.
Modo de secreto compartido: establece gateway.auth.token / OPENCLAW_GATEWAY_TOKEN o gateway.auth.password / OPENCLAW_GATEWAY_PASSWORD, luego pega el secreto correspondiente en la configuración de la interfaz de control.
Modo Tailscale Serve: asegúrate de que gateway.auth.allowTailscale esté habilitado y de que estás abriendo la URL de Serve, no una URL de loopback/tailnet sin procesar que omita los encabezados de identidad de Tailscale.
Modo de proxy de confianza: asegúrate de que estás accediendo a través del proxy con reconocimiento de identidad configurado, no a través de una URL de puerta de enlace sin procesar. Los proxies de loopback del mismo host también necesitan gateway.auth.trustedProxy.allowLoopback = true.
Si la discrepancia persiste después del reintento único, rota/vuelve a aprobar el token del dispositivo emparejado:
openclaw devices list
`openclaw devices rotate —device
—role operator`
Si esa llamada de rotación indica que fue denegada, verifica dos cosas:
las sesiones de dispositivo emparejado (paired-device) solo pueden rotar su propio dispositivo a menos que también tengan operator.admin
los valores --scope explícitos no pueden exceder los alcances del operador actual de quien llama
I set gateway.bind tailnet but it cannot bind and nothing listens
tailnet bind selecciona 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 enlazarse.
Solución:
Inicia Tailscale en ese host (para que tenga una dirección 100.x), o
Cambia a gateway.bind: "loopback" / "lan".
Nota: tailnet es explícito. auto prefiere loopback; usa gateway.bind: "tailnet" cuando quieras un enlace exclusivo de tailnet.
Can I run multiple Gateways on the same host?
Generalmente no: un Gateway puede ejecutar múltiples canales de mensajería y agentes. Usa múltiples Gateways solo cuando necesites redundancia (ej: bot de rescate) o aislamiento estricto.
Sí, pero debes aislar:
OPENCLAW_CONFIG_PATH (configuración por instancia)
OPENCLAW_STATE_DIR (estado por instancia)
agents.defaults.workspace (aislamiento del espacio de trabajo)
gateway.port (puertos únicos)
Configuración rápida (recomendada):
Usa `openclaw —profile
…por instancia (crea automáticamente~/.openclaw-
). - Establece un gateway.portúnico en cada configuración de perfil (o pasa—portpara ejecuciones manuales). - Instala un servicio por perfil:openclaw —profile
gateway install`.
Los perfiles también añaden sufijos a los nombres de servicio (`ai.openclaw.
El Gateway es un servidor WebSocket, y espera que el primer mensaje sea
un trama connect. Si recibe cualquier otra cosa, cierra la conexión
con el código 1008 (violación de política).
Causas comunes:
Abrió la URL HTTP en un navegador (http://...) en lugar de un cliente WS.
Usó el puerto o la ruta incorrecta.
Un proxy o túnel eliminó los encabezados de autenticación o envió una solicitud que no es del Gateway.
Soluciones rápidas:
Use la URL WS: `ws://
:18789(owss://…si es HTTPS). 2. No abra el puerto WS en una pestaña normal del navegador. 3. Si la autenticación está activada, incluya el token/contraseña en la tramaconnect`.
Si está usando la CLI o la TUI, la URL debería verse así:
```
openclaw tui --url ws://
:18789 —token
Detalles del protocolo: [Gateway protocol](/es/gateway/protocol).
Puede establecer una ruta estable a través de logging.file. El nivel de registro de archivo está controlado por logging.level. La verbosidad de la consola está controlada por --verbose y logging.consoleLevel.
Seguimiento de registros más rápido:
Ventana de terminal
openclawlogs--follow
Registros de servicio/supervisor (cuando el gateway se ejecuta a través de launchd/systemd):
¿Falla el setMyCommands de Telegram? ¿Qué debo comprobar?
Empiece con los registros y el estado del canal:
Ventana de terminal
openclawchannelsstatus
openclawchannelslogs--channeltelegram
Luego compare el error:
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 así algunas entradas del menú deben eliminarse. Reduzca los comandos de complemento/habilidad/personalizados, o deshabilite channels.telegram.commands.native si no necesita el menú.
TypeError: fetch failed, Network request for 'setMyCommands' failed!, o errores de red similares: si está en un VPS o detrás de un proxy, confirme que el HTTPS saliente está permitido y que el DNS funciona para api.telegram.org.
Si el Gateway es remoto, asegúrese de estar mirando los registros en el host del Gateway.
ELI5: reinicio de openclaw gateway 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.
Si instaló el servicio, use los comandos de gateway. Use openclaw gateway cuando
desee una ejecución única en primer plano.
La forma más rápida de obtener más detalles cuando algo falla
Inicie el Gateway con --verbose para obtener más detalles en la consola. Luego inspeccione el archivo de registro para ver la autenticación del canal, el enrutamiento del modelo y los errores de RPC.
openclawmessagesend--target+15555550123--message"Here you go"--media/path/to/file.png
También revise:
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 2048 px).
tools.fs.workspaceOnly=true limita los envíos de ruta local al espacio de trabajo, temp/media-store y archivos validados por el sandbox.
tools.fs.workspaceOnly=false permite que los envíos de medios locales estructurados usen archivos locales del host que el agente ya puede leer, pero solo para medios más tipos de documentos seguros (imágenes, audio, video, PDF, documentos de Office y documentos de texto validados como Markdown/MD, TXT, JSON, YAML y YML). Esto no es un escáner de secretos: un archivo secret.txt o config.json legible por el agente se puede adjuntar cuando la extensión y la validación de contenido coinciden. Mantenga los archivos confidenciales fuera de las rutas legibles por el agente o mantenga tools.fs.workspaceOnly=true para envíos de ruta local más estrictos.
¿Es seguro exponer OpenClaw a mensajes entrantes (DMs)?
Trate los mensajes entrantes como entrada no confiable. Los valores predeterminados están diseñados para reducir el riesgo:
El comportamiento predeterminado en los canales que permiten MDs es emparejamiento (pairing):
Los remitentes desconocidos reciben un código de emparejamiento; el bot no procesa su mensaje.
Apruebe con: `openclaw pairing approve —channel
[—account
]
- Las solicitudes pendientes están limitadas a **3 por canal**; verifiqueopenclaw pairing list —channel
[—account
] si un código no llegó. - Abrir los MDs públicamente requiere una aceptación explícita (dmPolicy: “open”y lista de permitidos”*”`).
Ejecute `openclaw doctor` para mostrar las políticas de MDs riesgosas.
¿Es la inyección de comandos (prompt injection) solo una preocupación para los bots públicos?
No. La inyección de comandos se trata de contenido no confiable, no solo de quién puede enviar MDs al bot.
Si su asistente lee contenido externo (búsqueda web/obtención, páginas del navegador, correos electrónicos,
documentos, archivos adjuntos, registros pegados), ese contenido puede incluir instrucciones que intentan
secuestrar el modelo. Esto puede suceder incluso si usted es el único remitente.
El mayor riesgo es cuando las herramientas están habilitadas: el modelo puede ser engañado para
filtrar contexto o llamar herramientas en su nombre. Reduzca el radio de impacto por:
usando un agente de “lectura” de solo lectura o sin herramientas para resumir contenido no confiable
manteniendo web_search / web_fetch / browser desactivados para agentes con herramientas habilitadas
tratando el texto de archivos/documentos decodificados como no confiable también: OpenResponses
input_file y la extracción de archivos adjuntos multimedia envuelven el texto extraído en
marcadores de límite de contenido externo explícito en lugar de pasar el texto sin procesar del archivo
sandboxing y listas de permitidos de herramientas estrictas
¿Es OpenClaw menos seguro porque usa TypeScript/Node en lugar de Rust/WASM?
El lenguaje y el tiempo de ejecución son importantes, pero no son el principal riesgo para un agente personal. Los riesgos prácticos de OpenClaw son la exposición de la puerta de enlace (gateway), quién puede enviar mensajes al bot, la inyección de prompts, el alcance de las herramientas, el manejo de credenciales, el acceso al navegador, el acceso de ejecución y la confianza en habilidades (skills) o complementos de terceros.
Rust y WASM pueden proporcionar un aislamiento más fuerte para algunas clases de código, pero no resuelven la inyección de prompts, listas permitidas (allowlists) deficientes, la exposición pública de la puerta de enlace, herramientas demasiado amplias o un perfil de navegador que ya ha iniciado sesión en cuentas sensibles. Trata esos elementos como los controles principales:
mantén la puerta de enlace privada o autenticada
usa emparejamiento y listas permitidas para mensajes directos y grupos
deniega o pone en sandbox herramientas arriesgadas para entradas no confiables
instala solo complementos y habilidades de confianza
ejecuta openclaw security audit --deep después de cambios en la configuración
Vi informes sobre instancias de OpenClaw expuestas. ¿Qué debería verificar?
Primero verifica tu implementación real:
Ventana de terminal
openclawsecurityaudit--deep
openclawgatewaystatus
Una línea base más segura es:
Puerta de enlace vinculada a loopback, o expuesta solo a través de acceso privado autenticado como una tailnet, túnel SSH, autenticación de token/contraseña, o un proxy de confianza configurado correctamente
Mensajes directos en modo pairing o allowlist
grupos en lista permitida y restringidos por mención, a menos que cada miembro sea de confianza
herramientas de alto riesgo (exec, browser, gateway, cron) denegadas o con alcance estricto para agentes que leen contenido no confiable
sandboxing habilitado donde la ejecución de herramientas necesita un radio de explosión más pequeño
Los enlaces públicos sin autenticación, mensajes directos/grupos abiertos con herramientas y el control del navegador expuesto son los hallazgos que debes corregir primero. Detalles:
Lista de verificación de auditoría de seguridad.
¿Es seguro instalar habilidades de ClawHub y complementos de terceros?
Trate las habilidades y complementos de terceros como código que elige confiar.
Las páginas de habilidades de ClawHub exponen el estado del escaneo antes de la instalación, y los flujos de instalación/actualización de complementos de OpenClaw ejecutan comprobaciones de código peligroso integradas, pero los escaneos no son un límite de seguridad completo.
Patrón más seguro:
prefiera autores confiables y versiones fijas
lea la habilidad o el complemento antes de habilitarlo
mantenga las listas de permitidos de complementos y habilidades reducidas
ejecute flujos de trabajo con entradas que no son de confianza en un entorno sandbox con herramientas mínimas
evite dar al código de terceros acceso amplio al sistema de archivos, ejecución, navegador o secretos
¿Mi bot debería tener su propio correo electrónico, cuenta de GitHub o número de teléfono?
Sí, para la mayoría de las configuraciones. Aislar el bot con cuentas y números de teléfono separados reduce el radio de expansión si algo sale mal. Esto también facilita la rotación de credenciales o la revocación de acceso sin afectar sus cuentas personales.
Empiece pequeño. Otorgue acceso solo a las herramientas y cuentas que realmente necesite y amplíelo más tarde si es necesario.
¿Puedo darle autonomía sobre mis mensajes de texto y eso es seguro?
No recomendamos la autonomía completa sobre sus mensajes personales. El patrón más seguro es:
Mantener los MD en modo de emparejamiento o una lista de permitidos estricta.
Usar un número o cuenta separado si desea que envíe mensajes en su nombre.
Permitir que redacte y luego aprobar antes de enviar.
Si desea experimentar, hágalo en una cuenta dedicada y manténgala aislada. Vea
Seguridad.
¿Puedo usar modelos más baratos para tareas de asistente personal?
Sí, siempre que el agente sea solo de chat y la entrada sea confiable. Los niveles inferiores son más susceptibles al secuestro de instrucciones, así que evítalos para agentes con herramientas habilitadas o al leer contenido que no es de confianza. Si debes usar un modelo más pequeño, bloquea las herramientas y ejecútalo dentro de un entorno protegido (sandbox). Consulta
Seguridad.
Ejecuté /start en Telegram pero no recibí un código de emparejamiento
Los códigos de emparejamiento se envían solo cuando un remitente desconocido envía un mensaje al bot y
dmPolicy: "pairing" está habilitado. /start por sí solo no genera un código.
Comprueba las solicitudes pendientes:
Ventana de terminal
openclawpairinglisttelegram
Si deseas acceso inmediato, añade tu id de remitente a la lista de permitidos o establece dmPolicy: "open"
para esa cuenta.
WhatsApp: ¿enviará mensajes a mis contactos? ¿Cómo funciona el emparejamiento?
No. La política predeterminada de MD de WhatsApp es emparejamiento. Los remitentes desconocidos solo reciben un código de emparejamiento y su mensaje no se procesa. OpenClaw solo responde a los chats que recibe o a los envíos explícitos que tú activas.
Aprueba el emparejamiento con:
Ventana de terminal
openclawpairingapprovewhatsapp
Lista las solicitudes pendientes:
```bash
openclaw pairing list whatsapp
El asistente para el número de teléfono: se usa para configurar tu lista de permitidos/propietario para que se permitan tus propios MD. No se usa para el envío automático. Si ejecutas en tu número personal de WhatsApp, usa ese número y habilita channels.whatsapp.selfChatMode.
Comandos de chat, abortar tareas y “no se detendrá”
¿Cómo evito que los mensajes internos del sistema aparezcan en el chat?
La mayoría de los mensajes internos o de herramientas solo aparecen cuando verbose, trace o reasoning están activados
para esa sesión.
Solución en el chat donde lo veas:
/verbose off
/trace off
/reasoning off
Si sigue siendo ruidoso, verifica la configuración de la sesión en la Interfaz de Control (Control UI) y establece verbose
en inherit (heredar). También confirma que no estás usando un perfil de bot con verboseDefault establecido
en on en la configuración.
La mayoría de los comandos deben enviarse como un mensaje independiente que comienza con /, pero algunos atajos (como /status) también funcionan en línea para remitentes autorizados.
¿Cómo envío un mensaje de Discord desde Telegram? ("Cross-context messaging denied")
OpenClaw bloquea la mensajería entre proveedores (cross-provider) de forma predeterminada. Si una llamada a una herramienta está vinculada
a Telegram, no se enviará a Discord a menos que lo permitas explícitamente.
Activa la mensajería entre proveedores para el agente:
Reinicia la puerta de enlace (gateway) después de editar la configuración.
¿Por qué parece que el bot "ignora" los mensajes rápidos?
De forma predeterminada, los indicadores de ejecución intermedia se dirigen a la ejecución activa. Use /queue para elegir el comportamiento de ejecución activa:
steer - guiar la ejecución activa en el siguiente límite del modelo
followup - poner en cola los mensajes y ejecutarlos uno a uno después de que termine la ejecución actual
collect - poner en cola los mensajes compatibles y responder una vez después de que termine la ejecución actual
interrupt - abortar la ejecución actual y comenzar de nuevo
El modo predeterminado es steer. Puede agregar opciones como debounce:0.5s cap:25 drop:summarize para los modos en cola. Consulte Cola de comandos y Cola de dirección.
¿Cuál es el modelo predeterminado para Anthropic con una clave API?
En OpenClaw, las credenciales y la selección del modelo son independientes. Configurar ANTHROPIC_API_KEY (o almacenar una clave API de Anthropic en perfiles de autenticación) habilita la autenticación, pero el modelo predeterminado real es el que configure en agents.defaults.model.primary (por ejemplo, anthropic/claude-sonnet-4-6 o anthropic/claude-opus-4-6). Si ve No credentials found for profile "anthropic:default", significa que la puerta de enlace no pudo encontrar las credenciales de Anthropic en el auth-profiles.json esperado para el agente que se está ejecutando.