agents.*, multiAgent.*, session.*,
messages.* y talk.*. Para canales, herramientas, tiempo de ejecución del gateway y otras
claves de nivel superior, consulta Referencia de configuración.
Valores predeterminados del agente
agents.defaults.workspace
Predeterminado: ~/.openclaw/workspace.
agents.defaults.repoRoot
Raíz opcional del repositorio mostrada en la línea Runtime del prompt del sistema. Si no se define, OpenClaw la detecta automáticamente recorriendo hacia arriba desde el espacio de trabajo.
agents.defaults.skills
Allowlist predeterminada opcional de Skills para agentes que no establecen
agents.list[].skills.
- Omite
agents.defaults.skillspara Skills sin restricciones por defecto. - Omite
agents.list[].skillspara heredar los valores predeterminados. - Establece
agents.list[].skills: []para no tener Skills. - Una lista no vacía en
agents.list[].skillses el conjunto final para ese agente; no se fusiona con los valores predeterminados.
agents.defaults.skipBootstrap
Deshabilita la creación automática de archivos bootstrap del espacio de trabajo (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md).
agents.defaults.contextInjection
Controla cuándo se inyectan los archivos bootstrap del espacio de trabajo en el prompt del sistema. Predeterminado: "always".
"continuation-skip": los turnos seguros de continuación (después de una respuesta completada del asistente) omiten la reinyección del bootstrap del espacio de trabajo, reduciendo el tamaño del prompt. Las ejecuciones de Heartbeat y los reintentos posteriores a Compaction siguen reconstruyendo el contexto.
agents.defaults.bootstrapMaxChars
Máximo de caracteres por archivo bootstrap del espacio de trabajo antes del truncamiento. Predeterminado: 12000.
agents.defaults.bootstrapTotalMaxChars
Máximo total de caracteres inyectados entre todos los archivos bootstrap del espacio de trabajo. Predeterminado: 60000.
agents.defaults.bootstrapPromptTruncationWarning
Controla el texto de advertencia visible para el agente cuando el contexto bootstrap se trunca.
Predeterminado: "once".
"off": nunca inyecta texto de advertencia en el prompt del sistema."once": inyecta la advertencia una vez por firma de truncamiento única (recomendado)."always": inyecta la advertencia en cada ejecución cuando exista truncamiento.
Mapa de propiedad del presupuesto de contexto
OpenClaw tiene varios presupuestos de prompt/contexto de alto volumen, y están divididos intencionadamente por subsistema en lugar de pasar todos por un único control genérico.agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: inyección bootstrap normal del espacio de trabajo.agents.defaults.startupContext.*: preludio de inicio de una sola vez para ejecuciones/newy/reset, incluidos archivos recientes diariosmemory/*.md.skills.limits.*: la lista compacta de Skills inyectada en el prompt del sistema.agents.defaults.contextLimits.*: extractos acotados en tiempo de ejecución y bloques inyectados propiedad del tiempo de ejecución.memory.qmd.limits.*: tamaño de fragmentos e inyección de búsqueda en memoria indexada.
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextLimits.*
agents.defaults.startupContext
Controla el preludio de inicio del primer turno inyectado en ejecuciones /new y /reset
sin contenido.
agents.defaults.contextLimits
Valores predeterminados compartidos para superficies de contexto acotadas en tiempo de ejecución.
memoryGetMaxChars: límite predeterminado del extractomemory_getantes de que se agreguen metadatos de truncamiento y aviso de continuación.memoryGetDefaultLines: ventana predeterminada de líneas dememory_getcuandolinesse omite.toolResultMaxChars: límite activo de resultado de herramienta usado para resultados persistidos y recuperación de desbordamiento.postCompactionMaxChars: límite del extracto de AGENTS.md usado durante la inyección de actualización posterior a Compaction.
agents.list[].contextLimits
Sobrescritura por agente para los controles compartidos de contextLimits. Los campos omitidos heredan
de agents.defaults.contextLimits.
skills.limits.maxSkillsPromptChars
Límite global para la lista compacta de Skills inyectada en el prompt del sistema. Esto
no afecta la lectura de archivos SKILL.md bajo demanda.
agents.list[].skillsLimits.maxSkillsPromptChars
Sobrescritura por agente para el presupuesto del prompt de Skills.
agents.defaults.imageMaxDimensionPx
Tamaño máximo en píxeles del lado más largo de la imagen en bloques de imagen de transcripción/herramienta antes de las llamadas al proveedor.
Predeterminado: 1200.
Los valores más bajos suelen reducir el uso de tokens de visión y el tamaño de la carga útil de la solicitud en ejecuciones con muchas capturas de pantalla.
Los valores más altos preservan más detalle visual.
agents.defaults.userTimezone
Zona horaria para el contexto del prompt del sistema (no para marcas de tiempo de mensajes). Recurre a la zona horaria del host.
agents.defaults.timeFormat
Formato de hora en el prompt del sistema. Predeterminado: auto (preferencia del SO).
agents.defaults.model
model: acepta una cadena ("provider/model") o un objeto ({ primary, fallbacks }).- La forma de cadena establece solo el modelo principal.
- La forma de objeto establece el principal más los modelos de conmutación por error en orden.
imageModel: acepta una cadena ("provider/model") o un objeto ({ primary, fallbacks }).- Lo usa la ruta de herramienta
imagecomo configuración de su modelo de visión. - También se usa como enrutamiento alternativo cuando el modelo seleccionado/predeterminado no puede aceptar entrada de imagen.
- Lo usa la ruta de herramienta
imageGenerationModel: acepta una cadena ("provider/model") o un objeto ({ primary, fallbacks }).- Lo usa la capacidad compartida de generación de imágenes y cualquier futura superficie de herramienta/plugin que genere imágenes.
- Valores típicos:
google/gemini-3.1-flash-image-previewpara generación nativa de imágenes con Gemini,fal/fal-ai/flux/devpara fal, oopenai/gpt-image-2para OpenAI Images. - Si seleccionas un proveedor/modelo directamente, configura también la autenticación correspondiente del proveedor (por ejemplo
GEMINI_API_KEYoGOOGLE_API_KEYparagoogle/*,OPENAI_API_KEYu OAuth de OpenAI Codex paraopenai/gpt-image-2,FAL_KEYparafal/*). - Si se omite,
image_generateaún puede inferir un proveedor predeterminado respaldado por autenticación. Primero intenta con el proveedor predeterminado actual y luego con los demás proveedores de generación de imágenes registrados en orden por ID de proveedor.
musicGenerationModel: acepta una cadena ("provider/model") o un objeto ({ primary, fallbacks }).- Lo usa la capacidad compartida de generación de música y la herramienta integrada
music_generate. - Valores típicos:
google/lyria-3-clip-preview,google/lyria-3-pro-previewominimax/music-2.5+. - Si se omite,
music_generateaún puede inferir un proveedor predeterminado respaldado por autenticación. Primero intenta con el proveedor predeterminado actual y luego con los demás proveedores de generación de música registrados en orden por ID de proveedor. - Si seleccionas un proveedor/modelo directamente, configura también la autenticación/clave API correspondiente del proveedor.
- Lo usa la capacidad compartida de generación de música y la herramienta integrada
videoGenerationModel: acepta una cadena ("provider/model") o un objeto ({ primary, fallbacks }).- Lo usa la capacidad compartida de generación de video y la herramienta integrada
video_generate. - Valores típicos:
qwen/wan2.6-t2v,qwen/wan2.6-i2v,qwen/wan2.6-r2v,qwen/wan2.6-r2v-flashoqwen/wan2.7-r2v. - Si se omite,
video_generateaún puede inferir un proveedor predeterminado respaldado por autenticación. Primero intenta con el proveedor predeterminado actual y luego con los demás proveedores de generación de video registrados en orden por ID de proveedor. - Si seleccionas un proveedor/modelo directamente, configura también la autenticación/clave API correspondiente del proveedor.
- El proveedor incluido de generación de video de Qwen admite hasta 1 video de salida, 1 imagen de entrada, 4 videos de entrada, 10 segundos de duración y opciones a nivel de proveedor
size,aspectRatio,resolution,audioywatermark.
- Lo usa la capacidad compartida de generación de video y la herramienta integrada
pdfModel: acepta una cadena ("provider/model") o un objeto ({ primary, fallbacks }).- Lo usa la herramienta
pdfpara el enrutamiento de modelos. - Si se omite, la herramienta PDF recurre a
imageModely luego al modelo resuelto de sesión/predeterminado.
- Lo usa la herramienta
pdfMaxBytesMb: límite predeterminado de tamaño PDF para la herramientapdfcuando no se pasamaxBytesMbal invocarla.pdfMaxPages: máximo predeterminado de páginas consideradas por el modo alternativo de extracción en la herramientapdf.verboseDefault: nivel verbose predeterminado para los agentes. Valores:"off","on","full". Predeterminado:"off".elevatedDefault: nivel predeterminado de salida elevada para los agentes. Valores:"off","on","ask","full". Predeterminado:"on".model.primary: formatoprovider/model(por ejemploopenai/gpt-5.4para acceso con clave API uopenai-codex/gpt-5.5para OAuth de Codex). Si omites el proveedor, OpenClaw primero intenta un alias, luego una coincidencia única de proveedor configurado para ese ID exacto de modelo y solo después recurre al proveedor predeterminado configurado (comportamiento heredado obsoleto de compatibilidad, así que se prefiereprovider/modelexplícito). Si ese proveedor ya no expone el modelo predeterminado configurado, OpenClaw recurre al primer proveedor/modelo configurado en lugar de mostrar un valor predeterminado obsoleto de un proveedor eliminado.models: el catálogo de modelos configurado y allowlist para/model. Cada entrada puede incluiralias(atajo) yparams(específicos del proveedor, por ejemplotemperature,maxTokens,cacheRetention,context1m,responsesServerCompaction,responsesCompactThreshold).- Ediciones seguras: usa
openclaw config set agents.defaults.models '<json>' --strict-json --mergepara agregar entradas.config setrechaza reemplazos que eliminen entradas existentes de la allowlist, salvo que pases--replace. - Los flujos de configuración/incorporación con alcance de proveedor fusionan los modelos seleccionados del proveedor en este mapa y preservan los proveedores no relacionados ya configurados.
- Para modelos directos de OpenAI Responses, la Compaction del lado del servidor se habilita automáticamente. Usa
params.responsesServerCompaction: falsepara dejar de inyectarcontext_management, oparams.responsesCompactThresholdpara sobrescribir el umbral. Consulta Compaction del lado del servidor de OpenAI.
- Ediciones seguras: usa
params: parámetros globales predeterminados del proveedor aplicados a todos los modelos. Se establecen enagents.defaults.params(por ejemplo{ cacheRetention: "long" }).- Precedencia de fusión de
params(configuración):agents.defaults.params(base global) es sobrescrito poragents.defaults.models["provider/model"].params(por modelo), y luegoagents.list[].params(ID de agente coincidente) sobrescribe por clave. Consulta Prompt Caching para más detalles. embeddedHarness: política predeterminada de tiempo de ejecución de bajo nivel para agentes integrados. Usaruntime: "auto"para permitir que los arneses registrados por plugins reclamen modelos compatibles,runtime: "pi"para forzar el arnés integrado PI, o un ID de arnés registrado comoruntime: "codex". Establecefallback: "none"para deshabilitar la alternativa automática a PI.- Los escritores de configuración que modifican estos campos (por ejemplo
/models set,/models set-imagey comandos de agregar/quitar fallback) guardan la forma canónica de objeto y preservan las listas de fallback existentes cuando es posible. maxConcurrent: máximo de ejecuciones paralelas del agente entre sesiones (cada sesión sigue serializada). Predeterminado: 4.
agents.defaults.embeddedHarness
embeddedHarness controla qué ejecutor de bajo nivel ejecuta los turnos integrados del agente.
La mayoría de los despliegues deberían mantener el valor predeterminado { runtime: "auto", fallback: "pi" }.
Úsalo cuando un Plugin de confianza proporcione un arnés nativo, como el arnés
incluido de servidor de apps de Codex.
runtime:"auto","pi"o un ID de arnés de Plugin registrado. El Plugin incluido de Codex registracodex.fallback:"pi"o"none"."pi"mantiene el arnés integrado PI como alternativa de compatibilidad cuando no se selecciona ningún arnés de Plugin."none"hace que una selección faltante o no compatible de arnés de Plugin falle en lugar de usar PI silenciosamente. Los fallos del arnés de Plugin seleccionado siempre se muestran directamente.- Sobrescrituras por entorno:
OPENCLAW_AGENT_RUNTIME=<id|auto|pi>sobrescriberuntime;OPENCLAW_AGENT_HARNESS_FALLBACK=nonedeshabilita la alternativa a PI para ese proceso. - Para despliegues solo con Codex, establece
model: "openai/gpt-5.5",embeddedHarness.runtime: "codex"yembeddedHarness.fallback: "none". - La elección del arnés se fija por ID de sesión después de la primera ejecución integrada. Los cambios de config/env afectan a sesiones nuevas o reiniciadas, no a una transcripción existente. Las sesiones heredadas con historial de transcripción pero sin fijación registrada se tratan como fijadas a PI.
/statusmuestra IDs de arnés no PI, comocodex, junto aFast. - Esto solo controla el arnés de chat integrado. La generación de medios, visión, PDF, música, video y TTS siguen usando su configuración de proveedor/modelo.
agents.defaults.models):
| Alias | Modelo |
|---|---|
opus | anthropic/claude-opus-4-6 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.4 o GPT-5.5 con OAuth de Codex configurado |
gpt-mini | openai/gpt-5.4-mini |
gpt-nano | openai/gpt-5.4-nano |
gemini | google/gemini-3.1-pro-preview |
gemini-flash | google/gemini-3-flash-preview |
gemini-flash-lite | google/gemini-3.1-flash-lite-preview |
--thinking off o definas tú mismo agents.defaults.models["zai/<model>"].params.thinking.
Los modelos de z.ai habilitan tool_stream por defecto para streaming de llamadas de herramientas. Establece agents.defaults.models["zai/<model>"].params.tool_stream en false para deshabilitarlo.
Los modelos Claude 4.6 de Anthropic usan adaptive thinking por defecto cuando no se establece un nivel explícito de thinking.
agents.defaults.cliBackends
Backends opcionales de CLI para ejecuciones alternativas solo de texto (sin llamadas de herramientas). Útiles como respaldo cuando fallan los proveedores de API.
- Los backends de CLI son de texto primero; las herramientas siempre están deshabilitadas.
- Las sesiones son compatibles cuando se establece
sessionArg. - El paso directo de imágenes es compatible cuando
imageArgacepta rutas de archivo.
agents.defaults.systemPromptOverride
Reemplaza todo el prompt del sistema ensamblado por OpenClaw con una cadena fija. Se establece en el nivel predeterminado (agents.defaults.systemPromptOverride) o por agente (agents.list[].systemPromptOverride). Los valores por agente tienen prioridad; un valor vacío o solo con espacios se ignora. Útil para experimentos controlados de prompts.
agents.defaults.promptOverlays
Superposiciones de prompt independientes del proveedor aplicadas por familia de modelos. Los IDs de modelo de la familia GPT-5 reciben el contrato compartido de comportamiento entre proveedores; personality controla solo la capa de estilo de interacción amistosa.
"friendly"(predeterminado) y"on"habilitan la capa de estilo de interacción amistosa."off"deshabilita solo la capa amistosa; el contrato de comportamiento etiquetado de GPT-5 permanece habilitado.- El valor heredado
plugins.entries.openai.config.personalitysigue leyéndose cuando esta configuración compartida no está establecida.
agents.defaults.heartbeat
Ejecuciones periódicas de Heartbeat.
every: cadena de duración (ms/s/m/h). Predeterminado:30m(autenticación con clave API) o1h(autenticación OAuth). Establece0mpara deshabilitar.includeSystemPromptSection: cuando esfalse, omite la sección Heartbeat del prompt del sistema y omite la inyección deHEARTBEAT.mden el contexto bootstrap. Predeterminado:true.suppressToolErrorWarnings: cuando estrue, suprime las cargas útiles de advertencia de error de herramienta durante las ejecuciones de Heartbeat.timeoutSeconds: tiempo máximo en segundos permitido para un turno del agente de Heartbeat antes de abortarlo. Déjalo sin definir para usaragents.defaults.timeoutSeconds.directPolicy: política de entrega directa/DM.allow(predeterminado) permite entrega con destino directo.blocksuprime la entrega con destino directo y emitereason=dm-blocked.lightContext: cuando estrue, las ejecuciones de Heartbeat usan contexto bootstrap ligero y conservan soloHEARTBEAT.mdde los archivos bootstrap del espacio de trabajo.isolatedSession: cuando estrue, cada Heartbeat se ejecuta en una sesión nueva sin historial previo de conversación. Mismo patrón de aislamiento que CronsessionTarget: "isolated". Reduce el coste por Heartbeat de ~100K a ~2-5K tokens.- Por agente: establece
agents.list[].heartbeat. Cuando cualquier agente defineheartbeat, solo esos agentes ejecutan Heartbeat. - Los Heartbeats ejecutan turnos completos del agente: intervalos más cortos consumen más tokens.
agents.defaults.compaction
mode:defaultosafeguard(resumen fragmentado para historiales largos). Consulta Compaction.provider: id de un Plugin de proveedor de Compaction registrado. Cuando se establece, se llama asummarize()del proveedor en lugar del resumen LLM integrado. Recurre al integrado en caso de fallo. Establecer un proveedor fuerzamode: "safeguard". Consulta Compaction.timeoutSeconds: máximo de segundos permitidos para una sola operación de Compaction antes de que OpenClaw la aborte. Predeterminado:900.identifierPolicy:strict(predeterminado),offocustom.strictantepone orientación integrada para conservar identificadores opacos durante el resumen de Compaction.identifierInstructions: texto opcional personalizado de conservación de identificadores usado cuandoidentifierPolicy=custom.postCompactionSections: nombres opcionales de secciones H2/H3 de AGENTS.md para reinyectar después de Compaction. Predeterminado["Session Startup", "Red Lines"]; establece[]para deshabilitar la reinyección. Cuando no se define o se define explícitamente ese par predeterminado, también se aceptan los encabezados antiguosEvery Session/Safetycomo alternativa heredada.model: sobrescritura opcionalprovider/model-idsolo para el resumen de Compaction. Úsalo cuando la sesión principal deba mantener un modelo pero los resúmenes de Compaction deban ejecutarse con otro; cuando no se define, Compaction usa el modelo principal de la sesión.notifyUser: cuando estrue, envía avisos breves al usuario cuando Compaction empieza y cuando termina (por ejemplo, “Compacting context…” y “Compaction complete”). Está deshabilitado por defecto para mantener Compaction silencioso.memoryFlush: turno agentivo silencioso antes de la autocompactación para almacenar memorias duraderas. Se omite cuando el espacio de trabajo es de solo lectura.
agents.defaults.contextPruning
Poda resultados antiguos de herramientas del contexto en memoria antes de enviarlo al LLM. No modifica el historial de la sesión en disco.
Comportamiento del modo cache-ttl
Comportamiento del modo cache-ttl
mode: "cache-ttl"habilita las pasadas de poda.ttlcontrola con qué frecuencia puede volver a ejecutarse la poda (después del último toque de caché).- La poda primero recorta suavemente los resultados sobredimensionados de herramientas y luego vacía por completo los más antiguos si es necesario.
... en el medio.Hard-clear reemplaza todo el resultado de la herramienta con el marcador.Notas:- Los bloques de imagen nunca se recortan ni se vacían.
- Las proporciones se basan en caracteres (aproximadas), no en recuentos exactos de tokens.
- Si existen menos de
keepLastAssistantsmensajes del asistente, se omite la poda.
Streaming por bloques
- Los canales que no son Telegram requieren
*.blockStreaming: trueexplícito para habilitar respuestas por bloques. - Sobrescrituras por canal:
channels.<channel>.blockStreamingCoalesce(y variantes por cuenta). Signal/Slack/Discord/Google Chat usan por defectominChars: 1500. humanDelay: pausa aleatoria entre respuestas por bloques.natural= 800–2500 ms. Sobrescritura por agente:agents.list[].humanDelay.
Indicadores de escritura
- Predeterminados:
instantpara chats directos/menciones,messagepara chats grupales sin mención. - Sobrescrituras por sesión:
session.typingMode,session.typingIntervalSeconds.
agents.defaults.sandbox
Sandboxing opcional para el agente integrado. Consulta Sandboxing para la guía completa.
Detalles de sandbox
Detalles de sandbox
Backend:Modo OpenShell:
docker: tiempo de ejecución local de Docker (predeterminado)ssh: tiempo de ejecución remoto genérico respaldado por SSHopenshell: tiempo de ejecución OpenShell
backend: "openshell", la configuración específica del tiempo de ejecución se mueve a
plugins.entries.openshell.config.Configuración del backend SSH:target: destino SSH con formatouser@host[:port]command: comando del cliente SSH (predeterminado:ssh)workspaceRoot: raíz remota absoluta usada para espacios de trabajo por alcanceidentityFile/certificateFile/knownHostsFile: archivos locales existentes pasados a OpenSSHidentityData/certificateData/knownHostsData: contenido inline o SecretRefs que OpenClaw materializa en archivos temporales en tiempo de ejecuciónstrictHostKeyChecking/updateHostKeys: controles de política de claves de host de OpenSSH
identityDatatiene prioridad sobreidentityFilecertificateDatatiene prioridad sobrecertificateFileknownHostsDatatiene prioridad sobreknownHostsFile- Los valores
*Datarespaldados por SecretRef se resuelven a partir de la instantánea activa del tiempo de ejecución de secretos antes de que comience la sesión de sandbox
- inicializa el espacio de trabajo remoto una vez después de crear o recrear
- luego mantiene el espacio de trabajo remoto SSH como canónico
- enruta
exec, herramientas de archivo y rutas de medios mediante SSH - no sincroniza automáticamente de vuelta al host los cambios remotos
- no admite contenedores de navegador en sandbox
none: espacio de trabajo de sandbox por alcance bajo~/.openclaw/sandboxesro: espacio de trabajo de sandbox en/workspace, espacio de trabajo del agente montado de solo lectura en/agentrw: espacio de trabajo del agente montado con lectura/escritura en/workspace
session: contenedor + espacio de trabajo por sesiónagent: un contenedor + espacio de trabajo por agente (predeterminado)shared: contenedor y espacio de trabajo compartidos (sin aislamiento entre sesiones)
mirror: inicializa el remoto desde el local antes deexec, sincroniza de vuelta después deexec; el espacio de trabajo local sigue siendo el canónicoremote: inicializa el remoto una vez cuando se crea el sandbox y luego mantiene el espacio de trabajo remoto como canónico
remote, las ediciones locales en el host hechas fuera de OpenClaw no se sincronizan automáticamente con el sandbox después del paso inicial.
El transporte es SSH hacia el sandbox de OpenShell, pero el Plugin es propietario del ciclo de vida del sandbox y de la sincronización espejo opcional.setupCommand se ejecuta una vez tras la creación del contenedor (mediante sh -lc). Necesita salida de red, raíz escribible y usuario root.Los contenedores usan por defecto network: "none": establécelo en "bridge" (o una red bridge personalizada) si el agente necesita acceso saliente.
"host" está bloqueado. "container:<id>" está bloqueado por defecto salvo que establezcas explícitamente
sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true (medida de emergencia).Los adjuntos entrantes se preparan en media/inbound/* dentro del espacio de trabajo activo.docker.binds monta directorios adicionales del host; los montajes globales y por agente se fusionan.Navegador en sandbox (sandbox.browser.enabled): Chromium + CDP en un contenedor. La URL de noVNC se inyecta en el prompt del sistema. No requiere browser.enabled en openclaw.json.
El acceso de observación noVNC usa autenticación VNC por defecto y OpenClaw emite una URL con token de corta duración (en lugar de exponer la contraseña en la URL compartida).allowHostControl: false(predeterminado) bloquea que las sesiones en sandbox apunten al navegador del host.networkusa por defectoopenclaw-sandbox-browser(red bridge dedicada). Establécelo enbridgesolo cuando quieras conectividad global del bridge explícitamente.cdpSourceRangerestringe opcionalmente el ingreso CDP en el borde del contenedor a un rango CIDR (por ejemplo172.21.0.1/32).sandbox.browser.bindsmonta directorios adicionales del host solo en el contenedor del navegador en sandbox. Cuando se establece (incluido[]), reemplazadocker.bindspara el contenedor del navegador.- Los valores predeterminados de lanzamiento se definen en
scripts/sandbox-browser-entrypoint.shy están ajustados para hosts con contenedores:--remote-debugging-address=127.0.0.1--remote-debugging-port=<derived from OPENCLAW_BROWSER_CDP_PORT>--user-data-dir=${HOME}/.chrome--no-first-run--no-default-browser-check--disable-3d-apis--disable-gpu--disable-software-rasterizer--disable-dev-shm-usage--disable-background-networking--disable-features=TranslateUI--disable-breakpad--disable-crash-reporter--renderer-process-limit=2--no-zygote--metrics-recording-only--disable-extensions(habilitado por defecto)--disable-3d-apis,--disable-software-rasterizery--disable-gpuestán habilitados por defecto y pueden deshabilitarse conOPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0si el uso de WebGL/3D lo requiere.OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0vuelve a habilitar extensiones si tu flujo de trabajo depende de ellas.--renderer-process-limit=2puede cambiarse conOPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>; establece0para usar el límite predeterminado de procesos de Chromium.- además
--no-sandboxy--disable-setuid-sandboxcuandonoSandboxestá habilitado. - Los valores predeterminados son la base de la imagen del contenedor; usa una imagen de navegador personalizada con un entrypoint personalizado para cambiar los valores predeterminados del contenedor.
sandbox.docker.binds son solo para Docker.
Construir imágenes:
agents.list (sobrescrituras por agente)
id: ID estable del agente (obligatorio).default: cuando se establecen varios, gana el primero (se registra una advertencia). Si no se establece ninguno, la primera entrada de la lista es la predeterminada.model: la forma de cadena sobrescribe soloprimary; la forma de objeto{ primary, fallbacks }sobrescribe ambos ([]deshabilita los fallbacks globales). Los trabajos Cron que solo sobrescribenprimarysiguen heredando los fallbacks predeterminados salvo que establezcasfallbacks: [].params: parámetros de stream por agente fusionados sobre la entrada de modelo seleccionada enagents.defaults.models. Úsalo para sobrescrituras específicas del agente comocacheRetention,temperatureomaxTokenssin duplicar todo el catálogo de modelos.skills: allowlist opcional de Skills por agente. Si se omite, el agente heredaagents.defaults.skillscuando está definido; una lista explícita reemplaza los valores predeterminados en lugar de fusionarse, y[]significa sin Skills.thinkingDefault: valor predeterminado opcional por agente para el nivel de thinking (off | minimal | low | medium | high | xhigh | adaptive | max). Sobrescribeagents.defaults.thinkingDefaultpara este agente cuando no se establece ninguna sobrescritura por mensaje o sesión.reasoningDefault: valor predeterminado opcional por agente para la visibilidad del razonamiento (on | off | stream). Se aplica cuando no se establece ninguna sobrescritura por mensaje o sesión del razonamiento.fastModeDefault: valor predeterminado opcional por agente para el modo rápido (true | false). Se aplica cuando no se establece ninguna sobrescritura por mensaje o sesión del modo rápido.embeddedHarness: sobrescritura opcional por agente de la política de arnés de bajo nivel. Usa{ runtime: "codex", fallback: "none" }para hacer que un agente sea solo Codex mientras otros agentes conservan la alternativa predeterminada a PI.runtime: descriptor opcional de tiempo de ejecución por agente. Usatype: "acp"con valores predeterminados enruntime.acp(agent,backend,mode,cwd) cuando el agente deba usar por defecto sesiones de arnés ACP.identity.avatar: ruta relativa al espacio de trabajo, URLhttp(s)o URIdata:.identityderiva valores predeterminados:ackReactiona partir deemoji,mentionPatternsa partir dename/emoji.subagents.allowAgents: allowlist de IDs de agente parasessions_spawn(["*"]= cualquiera; predeterminado: solo el mismo agente).- Protección de herencia de sandbox: si la sesión solicitante está en sandbox,
sessions_spawnrechaza destinos que se ejecutarían sin sandbox. subagents.requireAgentId: cuando estrue, bloquea llamadassessions_spawnque omitenagentId(fuerza selección explícita de perfil; predeterminado: false).
Enrutamiento multiagente
Ejecuta varios agentes aislados dentro de un Gateway. Consulta Multi-Agent.Campos de coincidencia de binding
type(opcional):routepara enrutamiento normal (si falta, el valor predeterminado es route),acppara bindings persistentes de conversación ACP.match.channel(obligatorio)match.accountId(opcional;*= cualquier cuenta; omitido = cuenta predeterminada)match.peer(opcional;{ kind: direct|group|channel, id })match.guildId/match.teamId(opcional; específicos del canal)acp(opcional; solo para entradastype: "acp"):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(exacto, sin peer/guild/team)match.accountId: "*"(en todo el canal)- Agente predeterminado
bindings.
Para entradas type: "acp", OpenClaw resuelve por identidad exacta de conversación (match.channel + cuenta + match.peer.id) y no usa el orden por niveles de route binding descrito arriba.
Perfiles de acceso por agente
Acceso completo (sin sandbox)
Acceso completo (sin sandbox)
Herramientas + espacio de trabajo de solo lectura
Herramientas + espacio de trabajo de solo lectura
Sin acceso al sistema de archivos (solo mensajería)
Sin acceso al sistema de archivos (solo mensajería)
Sesión
Detalles de campos de sesión
Detalles de campos de sesión
scope: estrategia base de agrupación de sesiones para contextos de chat grupal.per-sender(predeterminado): cada remitente obtiene una sesión aislada dentro de un contexto de canal.global: todos los participantes en un contexto de canal comparten una sola sesión (úsalo solo cuando el contexto compartido sea intencional).
dmScope: cómo se agrupan los DM.main: todos los DM comparten la sesión principal.per-peer: aísla por id de remitente entre canales.per-channel-peer: aísla por canal + remitente (recomendado para bandejas de entrada multiusuario).per-account-channel-peer: aísla por cuenta + canal + remitente (recomendado para varias cuentas).
identityLinks: asigna ids canónicos a peers con prefijo de proveedor para compartir sesiones entre canales.reset: política principal de reinicio.dailyreinicia aatHourhora local;idlereinicia trasidleMinutes. Cuando ambas están configuradas, gana la que caduque primero.resetByType: sobrescrituras por tipo (direct,group,thread). Se aceptadmheredado como alias dedirect.parentForkMaxTokens: máximo detotalTokensde la sesión padre permitido al crear una sesión de hilo bifurcada (predeterminado100000).- Si
totalTokensdel padre supera este valor, OpenClaw inicia una nueva sesión de hilo en lugar de heredar el historial de transcripción del padre. - Establece
0para deshabilitar esta protección y permitir siempre la bifurcación desde el padre.
- Si
mainKey: campo heredado. El tiempo de ejecución siempre usa"main"para el bucket principal de chat directo.agentToAgent.maxPingPongTurns: máximo de turnos de respuesta mutua entre agentes durante intercambios agente a agente (entero, rango:0–5).0deshabilita el encadenamiento ping-pong.sendPolicy: coincide porchannel,chatType(direct|group|channel, con alias heredadodm),keyPrefixorawKeyPrefix. Gana la primera regla deny.maintenance: controles de limpieza + retención del almacén de sesiones.mode:warnsolo emite advertencias;enforceaplica la limpieza.pruneAfter: límite de antigüedad para entradas obsoletas (predeterminado30d).maxEntries: número máximo de entradas ensessions.json(predeterminado500).rotateBytes: rotasessions.jsoncuando supera este tamaño (predeterminado10mb).resetArchiveRetention: retención para archivos de transcripción*.reset.<timestamp>. Por defecto usapruneAfter; establecefalsepara deshabilitar.maxDiskBytes: presupuesto opcional de disco para el directorio de sesiones. En modowarnregistra advertencias; en modoenforceelimina primero los artefactos/sesiones más antiguos.highWaterBytes: objetivo opcional después de la limpieza por presupuesto. Por defecto es80%demaxDiskBytes.
threadBindings: valores predeterminados globales para funciones de sesión vinculadas a hilos.enabled: interruptor maestro predeterminado (los proveedores pueden sobrescribirlo; Discord usachannels.discord.threadBindings.enabled)idleHours: desfoco automático predeterminado por inactividad en horas (0deshabilita; los proveedores pueden sobrescribirlo)maxAgeHours: antigüedad máxima rígida predeterminada en horas (0deshabilita; los proveedores pueden sobrescribirlo)
Mensajes
Prefijo de respuesta
Sobrescrituras por canal/cuenta:channels.<channel>.responsePrefix, channels.<channel>.accounts.<id>.responsePrefix.
Resolución (gana el más específico): cuenta → canal → global. "" deshabilita y detiene la cascada. "auto" deriva [{identity.name}].
Variables de plantilla:
| Variable | Descripción | Ejemplo |
|---|---|---|
{model} | Nombre corto del modelo | claude-opus-4-6 |
{modelFull} | Identificador completo del modelo | anthropic/claude-opus-4-6 |
{provider} | Nombre del proveedor | anthropic |
{thinkingLevel} | Nivel actual de thinking | high, low, off |
{identity.name} | Nombre de identidad del agente | (igual que "auto") |
{think} es un alias de {thinkingLevel}.
Reacción de confirmación
- Usa por defecto
identity.emojidel agente activo; en caso contrario"👀". Establece""para deshabilitar. - Sobrescrituras por canal:
channels.<channel>.ackReaction,channels.<channel>.accounts.<id>.ackReaction. - Orden de resolución: cuenta → canal →
messages.ackReaction→ alternativa desde identity. - Alcance:
group-mentions(predeterminado),group-all,direct,all. removeAckAfterReply: elimina la confirmación tras responder en Slack, Discord y Telegram.messages.statusReactions.enabled: habilita reacciones de estado del ciclo de vida en Slack, Discord y Telegram. En Slack y Discord, dejarlo sin definir mantiene habilitadas las reacciones de estado cuando las reacciones de confirmación están activas. En Telegram, establécelo explícitamente entruepara habilitar las reacciones de estado del ciclo de vida.
Debounce de entrada
Agrupa mensajes rápidos solo de texto del mismo remitente en un único turno del agente. Los medios/adjuntos se vacían inmediatamente. Los comandos de control omiten el debounce.TTS (texto a voz)
autocontrola el modo predeterminado de TTS automático:off,always,inboundotagged./tts on|offpuede sobrescribir las preferencias locales, y/tts statusmuestra el estado efectivo.summaryModelsobrescribeagents.defaults.model.primarypara el resumen automático.modelOverridesestá habilitado por defecto;modelOverrides.allowProviderusa por defectofalse(requiere habilitación explícita).- Las claves API recurren a
ELEVENLABS_API_KEY/XI_API_KEYyOPENAI_API_KEY. openai.baseUrlsobrescribe el endpoint TTS de OpenAI. El orden de resolución es config, luegoOPENAI_TTS_BASE_URL, luegohttps://api.openai.com/v1.- Cuando
openai.baseUrlapunta a un endpoint que no es de OpenAI, OpenClaw lo trata como un servidor TTS compatible con OpenAI y relaja la validación de modelo/voz.
Talk
Valores predeterminados para el modo Talk (macOS/iOS/Android).talk.providerdebe coincidir con una clave entalk.providerscuando se configuran varios proveedores de Talk.- Las claves heredadas planas de Talk (
talk.voiceId,talk.voiceAliases,talk.modelId,talk.outputFormat,talk.apiKey) son solo de compatibilidad y se migran automáticamente atalk.providers.<provider>. - Los IDs de voz recurren a
ELEVENLABS_VOICE_IDoSAG_VOICE_ID. providers.*.apiKeyacepta cadenas en texto plano o objetos SecretRef.- La alternativa
ELEVENLABS_API_KEYse aplica solo cuando no hay una clave API de Talk configurada. providers.*.voiceAliasespermite que las directivas de Talk usen nombres amigables.silenceTimeoutMscontrola cuánto espera el modo Talk después del silencio del usuario antes de enviar la transcripción. Si no se define, mantiene la ventana de pausa predeterminada de la plataforma (700 ms en macOS y Android, 900 ms en iOS).
Relacionado
- Referencia de configuración — todas las demás claves de configuración
- Configuración — tareas comunes y configuración rápida
- Ejemplos de configuración