Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Referencia de configuración

ZeroClaw se configura mediante un archivo TOML. Todos los campos son opcionales a menos que se indique lo contrario.

SecciónDescripción
a2aContenedor de la sección A2A que deja margen para futura configuración del mismo nivel.
acpConfiguración del servidor ACP (Agent Client Protocol) (sección [acp]).
agentsAgentes con alias en esta instalación. Cada entrada en [agents.<alias>]
backupConfiguración de la herramienta de copia de seguridad (sección [backup]).
browserConfiguración de automatización del navegador (sección [browser]).
browser_delegate
channelsConfiguraciones de canal de nivel superior (sección [channels]).
claude_codeConfiguración de la herramienta CLI de Claude Code (sección [claude_code]).
claude_code_runnerConfiguración del ejecutor de tareas de Claude Code (sección [claude_code_runner]).
cloud_opsControla las herramientas de análisis de transformación en la nube de solo lectura:
codex_cliConfiguración de la herramienta CLI de Codex (sección [codex_cli]).
composioIntegración de herramientas de OAuth gestionadas por Composio ([composio] sección).
conversational_aiConfiguración del constructor de agentes de IA conversacional (sección [conversational_ai]).
costConfiguración del seguimiento de costos y la aplicación del presupuesto (sección [cost]).
cronTrabajos cron declarativos ([cron.<alias>]), indexados por alias.
data_retentionConfiguración de retención y purga de datos ([data_retention] sección).
delegateConfiguración global de herramientas de delegación para los valores predeterminados de tiempo de espera.
embedding_routesReglas de enrutamiento de embeddings: enruta hint:<name> a uno específico
enrollPunto de conexión de inscripción de certificados ([enroll]).
escalationConfiguración de enrutamiento de escalamiento (sección [escalation]).
evalConfiguración para el arnés de evaluación del agente ([eval]), expuesta a través del
file_downloadConfiguración de la herramienta independiente de descarga de archivos ([file_download]).
file_uploadConfiguración de la herramienta independiente de carga de archivos ([file_upload]).
file_upload_bundleConfiguración de la herramienta independiente de carga de paquetes de varios archivos
gatewayConfiguración del servidor de puerta de enlace (sección [gateway]).
gemini_cliConfiguración de la herramienta Gemini CLI (sección [gemini_cli]).
google_workspaceConfiguración de la herramienta de línea de comandos de Google Workspace (gws) (sección [google_workspace]).
hardwareConfiguración de hardware guiada por asistente para la interacción con el mundo físico.
heartbeatConfiguración del latido para pings de salud periódicos (sección [heartbeat]).
hooks
http_requestConfiguración de la herramienta de solicitudes HTTP (sección [http_request]).
image_genConfiguración de la herramienta de generación de imágenes independiente ([image_gen]).
jiraConfiguración de la integración de Jira ([jira]).
knowledgeConfiguración del grafo de conocimiento para capturar y reutilizar la experiencia.
knowledge_bundlesPaquetes de conocimiento con nombre ([knowledge_bundles.<alias>]).
link_enricherComprensión automática de enlaces para mensajes entrantes del canal ([link_enricher]).
linkedinConfiguración de la integración de LinkedIn (sección [linkedin]).
localeConfiguración regional para las descripciones de herramientas (por ejemplo, "en", "zh-CN").
mcpConfiguración del cliente MCP externo ([mcp] sección).
mcp_bundlesPaquetes de servidores MCP con nombre ([mcp_bundles.<alias>]).
media_pipelineConfiguración del pipeline de comprensión automática de medios ([media_pipeline]).
memoryConfiguración del backend de memoria (sección [memory]).
microsoft365Integración de Microsoft 365 a través de la API de Microsoft Graph (sección [microsoft365]).
model_routesReglas de enrutamiento de modelos: enruta hint:<name> a uno específico
multimodalConfiguración de manejo multimodal (imágenes) (sección [multimodal]).
nodesConfiguración para el sistema de descubrimiento dinámico de nodos ([nodes]).
notionConfiguración de la integración de Notion ([notion]).
observabilityConfiguración del backend de observabilidad (sección [observability]).
onboard_stateConfiguración de aislamiento de espacio de trabajo para múltiples clientes.
opencode_cliConfiguración de la herramienta CLI de OpenCode (sección [opencode_cli]).
pacingControles de ritmo para cargas de trabajo de LLM lentos/locales (sección [pacing]).
peer_groupsGrupos de pares con nombre ([peer_groups.<name>]). Cada entrada vincula un
peripheralsConfiguración de integración de la placa periférica (sección [peripherals]).
pipelineConfiguración de la herramienta de pipeline (sección [pipeline]).
pluginsConfiguración del sistema de plugins.
project_intelConfiguración de la inteligencia de entrega del proyecto ([project_intel] sección).
providersContenedor de nivel superior para cada categoría de proveedor configurada.
proxyConfiguración del proxy para el tráfico saliente HTTP/HTTPS/SOCKS5 (sección [proxy]).
query_classificationClasificación automática de consultas — clasifica los mensajes del usuario por palabra clave o patrón
relayCliente del relé nominado ([relay]).
reliabilityConfiguración de fiabilidad y supervisión (sección [reliability]).
risk_profilesPerfiles de riesgo/autonomía con nombre ([risk_profiles.<alias>]).
runtimeConfiguración del adaptador en tiempo de ejecución (sección [runtime]).
runtime_profilesPerfiles de ejecución de runtime/LLM con nombre ([runtime_profiles.<alias>]).
schedulerConfiguración del programador para la ejecución periódica de tareas (sección [scheduler]).
schema_versionVersión del esquema del archivo de configuración.
secretsConfiguración de cifrado de secretos (sección [secrets]).
securityConfiguración de seguridad para el registro de auditoría, OTP, parada de emergencia, IAM/SSO, WebAuthn,
security_opsConfiguración del agente del panel de control del Servicio de Ciberseguridad Gestionado (MCSS) ([security_ops]).
shell_toolConfiguración de la herramienta de shell (sección [shell_tool]).
skill_bundlesPaquetes de skills con nombre ([skill_bundles.<alias>]).
skillsConfiguración de carga de habilidades (sección [skills]).
sopConfiguración del motor de Procedimientos Operativos Estándar ([sop]).
storageConfiguración de almacenamiento persistente (sección [storage]).
text_browserConfiguración de la herramienta del navegador de texto (sección [text_browser]).
transcriptionConfiguración de transcripción de voz con soporte para múltiples proveedores.
trust
ttsConfiguración del subsistema de Text-to-Speech ([tts]).
tunnelConfiguración del túnel para exponer el gateway públicamente (sección [tunnel]).
verifiable_intentEmisión de credenciales de intención verificable (VI) y comprobación de restricciones
web_fetchConfiguración de la herramienta de obtención web (sección [web_fetch]).
web_searchConfiguración de la herramienta de búsqueda web (sección [web_search]).
wssTransporte WebSocket Secure (WSS) para conexiones remotas TUI-a-daemon ([wss]).

a2a

Contenedor de la sección A2A que deja margen para futura configuración del mismo nivel.

ClaveTipoPredeterminadoDescripción
serverobjetoConfiguración del servidor de descubrimiento A2A entrante.

a2a.server

Configuración del servidor de descubrimiento A2A entrante.

ClaveTipoPredeterminadoDescripción
bindstring?Anulación opcional del host solo para anuncios de las URL de endpoint de la tarjeta. El
enabledboolfalseInterruptor maestro para la superficie A2A entrante. Valor predeterminado false: no
portinteger?Anulación opcional del puerto solo para anunciar, emparejada con bind. None
public_base_urlcadena""URL base proporcionada por el operador anunciada en los endpoints de la tarjeta del agente.

acp

Configuración del servidor ACP (Agent Client Protocol) (sección [acp]).

ClaveTipoPredeterminadoDescripción
default_agentstring?Alias del agente que se usa cuando session/new omite agentAlias y hay más de
max_sessionsentero10Número máximo de sesiones ACP concurrentes. Predeterminado: 10.
session_timeout_secsentero3600Tiempo de espera de sesión inactiva en segundos. Las sesiones sin actividad durante este

agents

Agentes con alias en esta instalación. Cada entrada bajo [agents.<alias>] es un agente de cara al usuario con su propia identidad, canales, proveedor de modelo, perfil de riesgo, espacio de trabajo y alcance de memoria. DelegateTool consulta este mapa cuando un agente delega una subtarea a otro.

agents.<alias>

Configuración para un agente con alias. Cada bloque TOML [agents.<alias>] se deserializa en uno de estos. DelegateTool busca entradas aquí para despachar una subtarea a un agente hermano con nombre.

ClaveTipoPredeterminadoDescripción
a2aobjetoConfiguración de publicación A2A por agente y de habilidades expuestas.
acp_enable_mcpboolfalseInicializa las herramientas mcp_bundles de este agente cuando sirva un ACP
channelsstring[][]Alias de canal que maneja este agente (p. ej., ["telegram.<alias>", "discord.<alias>"]).
classifier_providercadenaReferencia a una entrada [providers.models.<type>.<alias>] configurada.
cron_jobsstring[][]Aliases de trabajos cron. Cada entrada hace referencia a cron[key], una declarativa
delegate_same_risk_profilebooltruePermitir automáticamente la delegación a cada agente que comparta el riesgo de este agente
delegatesobject[][]Lista explícita de delegados: alias adicionales de agentes que este agente puede
enabledbooltrueSi este agente está activo. Establezca false para deshabilitarlo sin eliminar la definición.
identityobjetoConfiguración del formato de identidad (sección [identity]).
knowledge_bundlesstring[][]Alias del paquete de conocimiento. Aditivo: el agente carga todos los enumerados
mcp_bundlesstring[][]Alias de bundle de MCP. Cada entrada hace referencia a mcp_bundles[key], un nombread
memoryobjetoSelección del backend de memoria por agente y su contrato de persistencia.
model_providercadenaReferencia a una entrada [providers.models.<type>.<alias>] configurada.
precheckobjetoConfiguración de precomprobación de intención de respuesta por canal.
risk_profilecadenaReferencia a una entrada [risk_profiles.<type>.<alias>] configurada.
runtime_profilecadenaReferencia a una entrada configurada de [runtime_profiles.<type>.<alias>].
skill_bundlesstring[][]Alias de paquetes de habilidades. Cada entrada se resuelve a
summary_providercadenaReferencia a una entrada [providers.models.<type>.<alias>] configurada.
transcription_providercadenaReferencia a una entrada configurada [providers.transcription.<type>.<alias>].
tts_providercadenaReferencia a una entrada [providers.tts.<type>.<alias>] configurada.
workspaceobjetoConfiguración del espacio de trabajo por agente y acceso entre agentes.

agents.<alias>.a2a

Configuración de publicación A2A por agente y de habilidades expuestas.

ClaveTipoPredeterminadoDescripción
exposed_skillsstring[][]Filtro que selecciona qué IDs de habilidades resueltas aparecen en este alias’s
publishedboolfalsePublica este alias como un agente A2A detectable. Predeterminado false:

agents.<alias>.identity

Configuración del formato de identidad (sección [identity]).

Admite documentos de identidad "openclaw" (predeterminado) o "aieos".

ClaveTipoPredeterminadoDescripción
aieos_inlinestring?nullJSON AIEOS en línea (alternativa a la ruta de archivo)
aieos_pathstring?nullRuta al archivo JSON de AIEOS (relativa al espacio de trabajo)
formatcadena"openclaw"Formato de identidad: “openclaw” (predeterminado) o “aieos”

agents.<alias>.memory

Selección del backend de memoria por agente y su contrato de persistencia.

ClaveTipoPredeterminadoDescripción
backendtablaSelecciona el backend de memoria utilizado por un agente.

agents.<alias>.precheck

Configuración de precomprobación de intención de respuesta por canal.

ClaveTipoPredeterminadoDescripción
enabledbooltrueCuando es falso, la preverificación se omite por completo para este agente y cada
timeout_secsentero5Límite máximo estricto (segundos) en la llamada LLM de precheck. En caso de timeout, el

agents.<alias>.workspace

Configuración del espacio de trabajo por agente y acceso entre agentes.

ClaveTipoPredeterminadoDescripción
accessmapa{}Lista de permitidos del espacio de trabajo entre agentes. Un mapa vacío no otorga acceso a ningún agente hermano.
pathstring?Ruta de espacio de trabajo explícita opcional. None = derivar de
read_memory_fromstring[][]Lista de permitidos de memoria entre agentes. Una lista vacía concede acceso solo a la memoria local.
unrestricted_filesystemboolfalseTrampilla de escape: cuando true, el agente puede leer o escribir en cualquier parte

backup

Configuración de la herramienta de copia de seguridad (sección [backup]).

ClaveTipoPredeterminadoDescripción
compressbooltrueComprimir archivos de respaldo.
destination_dircadena"state/backups"Directorio de salida para los archivos de copia de seguridad (relativo a la raíz del espacio de trabajo).
enabledbooltrueHabilita la herramienta backup.
encryptboolfalseCifrar los archivos de respaldo (requiere una clave de tienda de secretos configurada).
include_dirsstring[]["config","memory","audit","knowledge"]Subdirectorios del espacio de trabajo que se incluirán en las copias de seguridad.
max_keepentero10Número máximo de copias de seguridad que se deben conservar (las más antiguas se eliminan).
schedule_cronstring?nullExpresión cron opcional para copias de seguridad automáticas programadas.
schedule_timezonestring?nullZona horaria IANA para schedule_cron.

browser

Configuración de automatización del navegador (sección [browser]).

Controla la herramienta browser_open y los backends de automatización del navegador.

ClaveTipoPredeterminadoDescripción
allowed_domainsstring[]["*"]Dominios permitidos para browser_open (coincidencia exacta o de subdominio)
allowed_private_hostsstring[][]Hosts privados/internos permitidos para omitir la protección SSRF.
backendcadena"agent_browser"Backend de automatización del navegador: “agent_browser” | “rust_native” | “computer_use” | “auto”
computer_useobjetoConfiguración del sidecar de uso del ordenador (sección [browser.computer_use]).
enabledbooltrueHabilita la herramienta browser_open (abre las URL en el navegador del sistema sin realizar scraping)
headedbool?nullMostrar la ventana del navegador para el backend agent_browser. Cuando no está establecido, hereda AGENT_BROWSER_HEADED.
native_chrome_pathstring?nullRuta ejecutable opcional de Chrome/Chromium para el backend nativo de Rust
native_headlessbooltrueModo sin interfaz para el backend nativo de Rust
native_webdriver_urlcadena"http://127.0.0.1:9515"URL del punto final de WebDriver para el backend nativo de Rust (por ejemplo, http://127.0.0.1:9515)
session_namestring?nullNombre de la sesión del navegador (para automatización con agente de navegador)

browser.computer_use

Configuración del sidecar de uso del ordenador (sección [browser.computer_use]).

Delega las acciones de nivel de sistema operativo de mouse, teclado y captura de pantalla a un sidecar local.

ClaveTipoPredeterminadoDescripción
allow_remote_endpointboolfalsePermitir el extremo remoto/público para el sidecar de uso del equipo (predeterminado: false)
api_key 🔑string?nullToken portador opcional para el sidecar de uso de computadora
endpointcadena"http://127.0.0.1:8787/v1/actions"Punto final del sidecar para acciones de uso del ordenador (ratón/teclado/captura de pantalla a nivel del sistema operativo)
max_coordinate_xinteger?nullLímite opcional del eje X para acciones basadas en coordenadas
max_coordinate_yinteger?nullLímite opcional del eje Y para acciones basadas en coordenadas
timeout_msentero15000Tiempo de espera por acción en milisegundos
window_allowliststring[][]Lista de permitidos opcional de títulos de ventana/procesos reenviada a la política del sidecar

browser_delegate

ClaveTipoPredeterminadoDescripción
allowed_domainsstring[][]
blocked_domainsstring[][]
chrome_profile_dircadena""
cli_binarycadena"claude"
enabledboolfalse
task_timeout_secsentero120

channels

Configuraciones de canal de nivel superior (sección [channels]).

cada tipo de canal es una tabla indexada de instancias con nombre (alias). [channels.telegram.default] es la clave convencional para una sola instancia. Se accede mediante config.channels.telegram.get("default").

ClaveTipoPredeterminadoDescripción
ack_reactionsbooltrueSi se deben agregar reacciones de reconocimiento (👀 al recibir, ✅/⚠️ al
amqpmapaInstancias de canal AMQP ([channels.amqp.<alias>]).
blueskymapaInstancias de canal de Bluesky ([channels.bluesky.<alias>]).
clawdtalkmapaInstancias de canal de voz de ClawdTalk ([channels.clawdtalk.<alias>]).
clibooltrueHabilitar el canal interactivo de la CLI. Predeterminado: true.
debounce_msentero0Ventana de desactivación de mensajes entrantes en milisegundos. Cuando un remitente envía
dingtalkmapaInstancias del canal DingTalk ([channels.dingtalk.<alias>]).
discordmapaInstancias de canal del bot de Discord ([channels.discord.<alias>]).
emailmapaInstancias de canal de correo electrónico ([channels.email.<alias>]).
filesystemmapaInstancias del listener de SOP del Filesystem ([channels.filesystem.<alias>]).
gitmapaInstancias del canal Git-forge ([channels.git.<alias>]). GitHub es
gmail_pushmapaInstancias de canal de notificaciones push de Gmail Pub/Sub ([channels.gmail_push.<alias>]).
imessagemapaInstancias del canal iMessage ([channels.imessage.<alias>], solo macOS).
ircmapaInstancias de canal IRC ([channels.irc.<alias>]).
larkmapaInstancias del canal Lark ([channels.lark.<alias>]).
linemapaInstancias de canal de LINE Messaging API ([channels.line.<alias>]).
linqmapaInstancias de canal de la API Linq Partner ([channels.linq.<alias>]).
matrixmapaInstancias de canal Matrix ([channels.matrix.<alias>]).
mattermostmapaInstancias de canal de bot de Mattermost ([channels.mattermost.<alias>]).
max_concurrent_per_channelentero4Multiplicador por canal para el presupuesto global de mensajes de canal en tránsito.
message_timeout_secsentero300Tiempo de espera base en segundos para procesar un mensaje de un solo canal (LLM + herramientas).
mochatmapaInstancias del canal de atención al cliente de Mochat ([channels.mochat.<alias>]).
mqttmapaInstancias de canal MQTT ([channels.mqtt.<alias>]).
nextcloud_talkmapaInstancias de canal de bot de Nextcloud Talk ([channels.nextcloud_talk.<alias>]).
nostrmapa
pluginmapaInstancias de complementos de canal WASM ([channels.plugin.<alias>]).
qqmapaInstancias de canal de QQ Official Bot ([channels.qq.<alias>]).
redditmapaInstancias de canal de Reddit ([channels.reddit.<alias>]).
session_backendcadena"sqlite"Backend de persistencia de sesiones: "jsonl" (legado) o "sqlite" (nuevo valor predeterminado).
session_persistencebooltruePersistir el historial de conversaciones del canal en archivos JSONL para que las sesiones sobrevivan
session_ttl_hoursentero0Archivar automáticamente las sesiones inactivas que tengan más de esta cantidad de horas. 0 desactiva esta función. Valor predeterminado: 0.
show_tool_callsboolfalseIndica si se deben enviar mensajes de notificación de llamadas a herramientas (por ejemplo, 🔧 web_search_tool: …)
signalmapaInstancias de canal Signal ([channels.signal.<alias>]).
slackmapaInstancias de canal de bot de Slack ([channels.slack.<alias>]).
telegrammapaInstancias de canal del bot de Telegram ([channels.telegram.<alias>]).
twitchmapaInstancias de canal de chat de Twitch ([channels.twitch.<alias>]).
twittermapaInstancias de canal X/Twitter ([channels.twitter.<alias>]).
voice_callmapaInstancias de canal de llamada de voz ([channels.voice_call.<alias>]).
voice_duplexmapaInstancias de voz dúplex ([channels.voice_duplex.<alias>]).
voice_wakemapaInstancias de canal de detección de palabra de activación por voz ([channels.voice_wake.<alias>]).
webhookmapaInstancias de canal de webhook ([channels.webhook.<alias>]).
wechatmapaInstancias del canal de bot iLink personal de WeChat ([channels.wechat.<alias>]).
wecommapaInstancias del canal de webhook de bots de WeCom (WeChat Enterprise) ([channels.wecom.<alias>]).
wecom_wsmapaInstancias del canal WebSocket de WeCom AI Bot ([channels.wecom_ws.<alias>]).
whatsappmapaInstancias del canal de WhatsApp ([channels.whatsapp.<alias>]).

claude_code

Configuración de la herramienta CLI de Claude Code (sección [claude_code]).

Delega las tareas de codificación a la CLI claude -p. La autenticación utiliza la sesión OAuth propia del binario (suscripción Max) de forma predeterminada; no se necesita una clave de API a menos que env_passthrough incluya ANTHROPIC_API_KEY.

ClaveTipoPredeterminadoDescripción
allowed_toolsstring[]["Read","Edit","Bash","Write"]Herramientas de Claude Code que el subproceso tiene permitido usar
enabledboolfalseHabilita la herramienta claude_code
env_passthroughstring[][]Variables de entorno adicionales pasadas al subproceso de Claude (por ejemplo, ANTHROPIC_API_KEY para la facturación mediante clave de API)
max_output_bytesentero2097152Tamaño máximo de salida en bytes (2 MB por defecto)
system_promptstring?nullPrompt del sistema opcional que se anexa a las invocaciones de Claude Code
timeout_secsentero600Tiempo máximo de ejecución en segundos (las tareas de codificación pueden ser largas)

claude_code_runner

Configuración del ejecutor de tareas de Claude Code (sección [claude_code_runner]).

Inicia Claude Code en una sesión de tmux con ganchos HTTP que envían eventos de ejecución de herramientas al gateway de ZeroClaw mediante POST, actualizando un mensaje de Slack en su lugar con el progreso y un enlace de transferencia SSH.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilita la herramienta claude_code_runner
session_ttlentero3600Tiempo de vida de la sesión en segundos antes de la limpieza automática (predeterminado: 3600)
ssh_hoststring?nullHost SSH para los enlaces de transferencia de sesión (por ejemplo, “myhost.example.com”)
tmux_prefixcadena"zc-claude-"Prefijo para los nombres de las sesiones de tmux (predeterminado: “zc-claude-”)

cloud_ops

Controla las herramientas de análisis de transformación en la nube de solo lectura: revisión de IaC, evaluación de migración, análisis de costos y revisión de arquitectura.

ClaveTipoPredeterminadoDescripción
cost_threshold_monthly_usdnúmero100.0Umbral mensual en USD para marcar elementos de costo. Predeterminado: 100.0.
default_cloudcadena"aws"Proveedor de modelo en la nube predeterminado para el contexto de análisis. Predeterminado: “aws”.
enabledboolfalseHabilitar herramientas de operaciones en la nube. Predeterminado: false.
iac_toolsstring[]["terraform"]Herramientas de IaC compatibles para revisión. Predeterminado: [terraform].
supported_cloudsstring[]["aws","azure","gcp"]Proveedores de modelos en la nube compatibles. Predeterminado: [aws, azure, gcp].
well_architected_frameworksstring[]["aws-waf"]Marcos de trabajo bien diseñados para verificar. Predeterminado: [aws-waf].

codex_cli

Configuración de la herramienta CLI de Codex (sección [codex_cli]).

Delega tareas de programación a la CLI codex exec. La autenticación usa la sesión propia del binario de forma predeterminada — no se necesita una clave de API a menos que env_passthrough incluya OPENAI_API_KEY.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilita la herramienta codex_cli
env_passthroughstring[][]Variables de entorno adicionales pasadas al subproceso de codex (por ejemplo, OPENAI_API_KEY)
extra_argsstring[][]Argumentos adicionales de CLI agregados a codex exec antes del prompt.
max_output_bytesentero2097152Tamaño máximo de salida en bytes (2 MB por defecto)
timeout_secsentero600Tiempo máximo de ejecución en segundos (las tareas de codificación pueden ser largas)

composio

Integración de herramientas de OAuth gestionadas por Composio ([composio] sección).

Proporciona acceso a más de 1000 herramientas conectadas mediante OAuth a través de la plataforma Composio.

ClaveTipoPredeterminadoDescripción
api_key 🔑string?nullClave de la API de Composio (almacenada en formato cifrado cuando secrets.encrypt = true)
enabledboolfalseHabilitar la integración de Composio para más de 1000 herramientas OAuth
entity_idcadena"predeterminado"ID de entidad predeterminada para configuraciones multiusuario

conversational_ai

Configuración del constructor de agentes de IA conversacional (sección [conversational_ai]).

Estado: Reservado para uso futuro. Esta configuración se analiza pero aún no es consumida por el tiempo de ejecución. Establecer enabled = true generará una advertencia durante el inicio.

ClaveTipoPredeterminadoDescripción
analytics_enabledboolfalseHabilitar el seguimiento de análisis de conversaciones. Valor predeterminado: false (privacidad por defecto).
auto_detect_languagebooltrueDetectar automáticamente el idioma del usuario a partir del contenido del mensaje. Predeterminado: true.
conversation_timeout_secsentero1800Tiempo de inactividad de la conversación en segundos. Predeterminado: 1800.
default_languagecadena"en"Idioma predeterminado para las conversaciones (etiqueta BCP-47). Predeterminado: “en”.
enabledboolfalseHabilitar las funciones de IA conversacional. Valor predeterminado: false.
escalation_confidence_thresholdnúmero0.3La confianza del intento por debajo de este umbral activa la escalación. Valor predeterminado: 0.3.
knowledge_base_toolstring?nullNombre opcional de la herramienta para la búsqueda en la base de conocimientos basada en RAG durante las conversaciones.
max_conversation_turnsentero50Número máximo de turnos de conversación antes de finalizar automáticamente. Predeterminado: 50.
supported_languagesstring[]["en","de","fr","it"]Idiomas admitidos para conversaciones. Predeterminado: [en, de, fr, it].

cost

Configuración del seguimiento de costos y la aplicación del presupuesto (sección [cost]).

ClaveTipoPredeterminadoDescripción
allow_overrideboolfalsePermitir que las solicitudes excedan el presupuesto con la bandera --override (predeterminado: false)
daily_limit_usdnúmero10.0Límite diario de gastos en USD (predeterminado: 10.00)
enabledbooltrueHabilitar el seguimiento de costos (predeterminado: true)
enforcementobjetoConfiguración del comportamiento de aplicación de costos cuando se alcanzan los límites del presupuesto.
monthly_limit_usdnúmero100.0Límite mensual de gastos en USD (predeterminado: 100.00)
ratesobjeto[cost.rates] — espacio de nombres de nivel superior para la hoja de tarifas. Replica el
track_per_agentbooltrueMarca cada entrada de coste registrada con el alias del agente de origen para que
warn_at_percententero80Advertir cuando el gasto alcance este porcentaje del límite (predeterminado: 80)

cost.enforcement

Configuración del comportamiento de aplicación de costos cuando se alcanzan los límites del presupuesto.

ClaveTipoPredeterminadoDescripción
modecadena"warn"Modo de aplicación: “warn”, “block” o “route_down”.
reserve_percententero10Reserva este porcentaje del presupuesto para operaciones críticas.
route_down_modelstring?nullModelo de sugerencia al que se enruta cuando se excede el presupuesto (utilizado con el modo “route_down”).

cost.rates

[cost.rates] — espacio de nombres de nivel superior para la hoja de tarifas. Refleja la estructura de [providers.*], de modo que cada subsección aquí apunta al mismo tipo de recurso que configura su contraparte en [providers.*].

ClaveTipoPredeterminadoDescripción
providersobjeto[cost.rates.providers.*] — hojas de tarifas con formato de proveedor. Cada campo
toolsmapa{}[cost.rates.tools.<name>] — tarifas por llamada para herramientas que

cost.rates.providers

[cost.rates.providers.*]: tablas de tarifas con forma de proveedor. Cada campo aquí refleja un campo correspondiente en [providers.*] con el segmento de alias final reemplazado por el recurso cuya tarifa se calcula. Los contenedores tipados internos transportan la disposición de slots por tipo de proveedor y su propio despacho (su lista de slots es la única fuente de verdad, compartida con su contraparte de proveedores mediante los macros for_each_*_provider_slot! en [crate::providers]).

ClaveTipoPredeterminadoDescripción
modelsobjeto[cost.rates.providers.models.<type>.<model>] — tarifas de coste por token
transcriptionobjetocost.rates.providers.transcription.<type>.<model>
ttsobjetocost.rates.providers.tts.<type>.<voice>

cron

Trabajos cron declarativos ([cron.<alias>]), indexados por alias.

Cada entrada es un trabajo programado con nombre que se sincroniza en la base de datos al iniciar el planificador. Los ajustes de tiempo de ejecución del subsistema (enable/disable, catch-up, retención del historial de ejecuciones) se encuentran en [scheduler].

cron.<alias>

Una definición declarativa de cron job ([cron.<alias>]).

Almacenado indexado por alias en Config.cron. La clave del mapa sirve como el id de trabajo estable. Se sincroniza en la base de datos al iniciar el programador con source = "declarative", distinguiéndolos de los trabajos creados imperativamente mediante CLI o API. La configuración declarativa tiene precedencia en cada sincronización: si la configuración cambia, la base de datos se actualiza para coincidir. Los trabajos imperativos nunca se eliminan durante la sincronización.

ClaveTipoPredeterminadoDescripción
allowed_toolsstring[]?nullLista de अनुमति opcional de nombres de herramientas para trabajos del agente. Cuando se omite, el programador
commandstring?nullComando de shell a ejecutar (obligatorio cuando job_type = "shell").
deliveryobjetoConfiguración de entrega para trabajos cron declarativos.
enabledbooltrueSi el trabajo está habilitado. Valor predeterminado: true.
job_typecadena"shell"Tipo de trabajo: "shell" (predeterminado) o "agent".
modelstring?nullAnulación del modelo para trabajos del agente.
namestring?nullNombre legible para humanos.
promptstring?nullPrompt del agente (obligatorio cuando job_type = "agent").
scheduletablaVariante de programación para trabajos cron declarativos.
session_targetstring?nullDestino de sesión: "isolated" (predeterminado) o "main".
shell_output_formattablaFormato de salida para la salida estándar del trabajo cron de shell.
uses_memorybooltrueSi recordar e inyectar contexto de memoria antes de que se ejecute este trabajo del agente.

cron.<alias>.delivery

Configuración de entrega para trabajos cron declarativos.

ClaveTipoPredeterminadoDescripción
best_effortbooltrueEntrega mejor esfuerzo. Predeterminado: true.
channelstring?nullCanal al que se enviará, como <type>.<alias> (p. ej.
modecadena"none"Modo de entrega: "none" o "announce".
thread_idstring?Identificador opcional de hilo/conversación transportado en el envío saliente.
tostring?nullIdentificador del objetivo/destinatario.

data_retention

Configuración de retención y purga de datos ([data_retention] sección).

ClaveTipoPredeterminadoDescripción
categoriesstring[][]Limitar la aplicación de la retención a categorías de datos específicas (vacío = todas).
dry_runboolfalseVea qué se eliminaría sin eliminar nada realmente.
enabledboolfalseHabilita la herramienta data_management.
retention_daysentero90Días de datos a conservar antes de la elegibilidad para purga.

delegate

Configuración global de herramientas de delegación para los valores predeterminados de tiempo de espera.

ClaveTipoPredeterminadoDescripción
agentic_timeout_secsentero300Tiempo de espera predeterminado en segundos para las ejecuciones de subagentes agénticos.
timeout_secsentero120Tiempo de espera predeterminado en segundos para las llamadas no agénticas a model_provider del sub-agente.

embedding_routes

Reglas de enrutamiento de embeddings: enruta hint:<name> a combinaciones específicas de model_provider + model para las solicitudes de embedding.

enroll

Punto de conexión de inscripción de certificados ([enroll]).

La superficie de bootstrap dedicada y de alcance muy acotado a la que recurre un cliente certless para obtener su PRIMER certificado. Es TLS autenticado por el servidor (el demonio demuestra su identidad; el cliente confirma la CA mediante la cadena corta de autenticación de emparejamiento), además de un control mediante código de emparejamiento. Acepta exactamente una operación: enviar una CSR, recibir un certificado firmado + la cadena de la CA + el perfil de retransmisión. Esto NO es un mecanismo de reserva en el plano RPC con mTLS permanente (ese plano mantiene la autenticación mutua, sin ninguna vía que se pueda debilitar); es un endpoint mínimo independiente, con su propio modelo de autenticación. El demonio administra la CA, por lo que este endpoint funciona sin una puerta de enlace.

ClaveTipoPredeterminadoDescripción
allow_unpaired_enrollmentcadena""Reservado para un flujo de migración futuro. La primera versión de FOSS rechaza cualquier
bindcadena"0.0.0.0"Dirección en la que se enlaza el punto de conexión de inscripción.
enabledboolfalseHabilita el endpoint de inscripción (valor predeterminado: false). Requiere que [wss] esté habilitado
portentero9782Puerto en el que escucha el punto de conexión de inscripción.

escalation

Configuración de enrutamiento de escalamiento (sección [escalation]).

Controla qué canales reciben notificaciones de alerta cuando se llama a escalate_to_human con urgencia alta o crítica. Los canales se identifican por nombre (p. ej., "telegram", "slack"). Las alertas se envían con el mejor esfuerzo posible y no bloquean la escalación.

ClaveTipoPredeterminadoDescripción
alert_channelsstring[][]Nombres de canales para alertar en escalaciones altas/críticas (predeterminado: vacío).

eval

Configuración para el banco de pruebas de evaluación del agente ([eval]), expuesta mediante el comando zeroclaw eval. Distinta de [agent.eval], que es el evaluador de calidad de respuesta dentro del bucle.

ClaveTipoPredeterminadoDescripción
modecadena"replay"Modo de ejecución predeterminado (replay o live) que se usa cuando se omite --mode.
suite_dircadena"evals"Directorio predeterminado de los fixtures de traza *.json que se utilizan cuando se omite --suite.

file_download

Configuración de la herramienta independiente de descarga de archivos ([file_download]).

Cuando url se establece en un valor no vacío, registra una herramienta file_download que obtiene mediante GET un archivo desde el endpoint configurado y lo escribe en el sistema de archivos del espacio de trabajo del agente. El LLM proporciona únicamente un identificador de documento y una ruta de destino relativa al espacio de trabajo; la URL del endpoint proviene exclusivamente de esta configuración y nunca está controlada por el modelo. Los bytes de la respuesta se transmiten directamente al disco y nunca se cargan en el contexto del modelo.

Cuando url es None o está vacío, la herramienta no se registra.

ClaveTipoPredeterminadoDescripción
headers 🔑mapa{}Encabezados HTTP estáticos adjuntos a cada solicitud de descarga — típicamente un
max_file_size_bytesentero26214400Tamaño máximo de descarga en bytes. Se aplica durante la transmisión: la transferencia
timeout_secsentero120Tiempo de espera de la solicitud en segundos. Predeterminado: 120.
urlstring?nullURL del endpoint de descarga. La herramienta está deshabilitada cuando este valor es None o está vacío.

file_upload

Configuración de la herramienta independiente de carga de archivos ([file_upload]).

Cuando url se establece en un valor no vacío, registra una herramienta file_upload que envía mediante POST archivos desde el sistema de archivos local del agente al endpoint configurado usando multipart/form-data. El LLM proporciona únicamente una ruta de archivo; el host lee los bytes y los sube sin incluir nunca el contenido del archivo en el contexto del modelo.

Cuando url es None o está vacío, la herramienta no se registra.

ClaveTipoPredeterminadoDescripción
field_namecadena"file"Nombre del campo del formulario multipart para la parte del archivo. Predeterminado: file.
headers 🔑mapa{}Encabezados HTTP estáticos adjuntados a cada solicitud de carga. Misma estructura que
max_file_size_bytesentero26214400Tamaño máximo de archivo en bytes. Los archivos más grandes se rechazan antes de cualquier
methodcadena"POST"Método HTTP. Solo se aceptan POST (predeterminado) y PUT.
timeout_secsentero60Tiempo de espera de la solicitud en segundos. Predeterminado: 60.
urlstring?nullURL del endpoint de carga. La herramienta está deshabilitada cuando este valor es None o está vacío.

file_upload_bundle

Configuración de la herramienta independiente de carga de paquetes de varios archivos ([file_upload_bundle]).

Cuando url se establece en un valor no vacío, registra una herramienta file_upload_bundle que envía mediante POST N archivos desde el sistema de archivos local del agente al endpoint configurado como una única solicitud multipart/form-data. El LLM proporciona solo las rutas de los archivos; el host lee los bytes.

Cuando url es None o está vacío, la herramienta no se registra.

ClaveTipoPredeterminadoDescripción
field_namecadena"file"Nombre del campo del formulario multipart reutilizado en cada parte de archivo. Predeterminado: file.
headers 🔑mapa{}Encabezados HTTP estáticos adjuntos a cada solicitud de carga.
max_file_size_bytesentero10485760Tamaño máximo por archivo en bytes. Predeterminado: 10 MiB.
max_filesentero16Número máximo de archivos por llamada. Predeterminado: 16.
max_response_body_bytesentero4096Máximo de bytes del cuerpo de respuesta que se leerán desde el endpoint de carga.
max_total_size_bytesentero33554432Tamaño acumulado máximo de todos los archivos en una sola llamada. Valor predeterminado: 32 MiB.
methodcadena"POST"Método HTTP. Solo se aceptan POST (predeterminado) y PUT.
timeout_secsentero120Tiempo de espera de la solicitud en segundos. Predeterminado: 120.
urlstring?nullURL del endpoint de carga. La herramienta está deshabilitada cuando este valor es None o está vacío.

gateway

Configuración del servidor de puerta de enlace (sección [gateway]).

Controla la puerta de enlace HTTP para los puntos de conexión de webhook y emparejamiento.

ClaveTipoPredeterminadoDescripción
allow_public_bindboolfalsePermitir la vinculación a direcciones que no sean localhost sin un túnel (predeterminado: false)
allow_remote_adminboolfalsePermitir que los llamadores remotos autenticados usen los endpoints de administración que están
allow_self_upgradeboolfalsePermitir iniciar una autoactualización (sustitución del binario mediante zeroclaw update) desde
check_updatesbooltrueConsultar GitHub en busca de versiones más recientes y mostrar un indicador de “actualización disponible”
hostcadena"127.0.0.1"Host del gateway (predeterminado: 127.0.0.1)
idempotency_max_keysentero10000Claves de idempotencia distintas máximas retenidas en memoria.
idempotency_ttl_secsentero300TTL para las claves de idempotencia de los webhooks.
long_running_request_timeout_secsentero600Tiempo de espera de solicitud HTTP (segundos) para POST /api/cron/{id}/run, que
pair_rate_limit_per_minuteentero10Máximo de solicitudes /pair por minuto por clave de cliente.
paired_tokens 🔑string[][]Tokens de portador emparejados (gestión automática, no editados por el usuario)
pairing_dashboardobjetoConfiguración del panel de emparejamiento ([gateway.pairing_dashboard]).
path_prefixstring?nullPrefijo de ruta URL opcional para implementaciones con proxy inverso.
portentero42617Puerto de puerta de enlace (predeterminado: 42617)
rate_limit_max_keysentero10000Claves de cliente distintas máximas rastreadas por los mapas del limitador de tasa del gateway.
request_timeout_secsentero30Tiempo de espera de la solicitud HTTP (segundos) para las rutas de gateway distintas de la
require_pairingbooltrueRequerir el emparejamiento antes de aceptar solicitudes (predeterminado: true)
session_persistencebooltruePersistir las sesiones de chat WebSocket del gateway en SQLite. Predeterminado: true.
session_ttl_hoursentero0Archivar automáticamente las sesiones de puerta de enlace inactivas con más de N horas de antigüedad. 0 = deshabilitado. Predeterminado: 0.
tlsobjetoConfiguración TLS para el servidor de puerta de enlace ([gateway.tls]).
trust_forwarded_headersboolfalseConfiar en los encabezados de IP del cliente reenviados por el proxy (X-Forwarded-For, X-Real-IP).
web_dist_dirstring?nullRuta al directorio dist del panel web. Cuando se establece, la puerta de enlace
webhook_rate_limit_per_minuteentero60Máximo de solicitudes /webhook por minuto por clave de cliente.
webhook_secret 🔑string?nullSecreto compartido opcional para el POST /webhook genérico del gateway y
websocket_ping_interval_secsentero30Envía tramas de ping de WebSocket cada N segundos para mantener activo el chat del panel

gateway.pairing_dashboard

Configuración del panel de emparejamiento ([gateway.pairing_dashboard]).

ClaveTipoPredeterminadoDescripción
code_lengthentero8Longitud de los códigos de emparejamiento (predeterminado: 8)
code_ttl_secsentero3600Tiempo de vida para los códigos de emparejamiento pendientes en segundos (predeterminado: 3600)
lockout_secsentero300Duración del bloqueo en segundos tras alcanzar el número máximo de intentos (predeterminado: 300)
max_failed_attemptsentero5Intentos fallidos máximos de emparejamiento antes del bloqueo (predeterminado: 5)
max_pending_codesentero3Código de emparejamiento pendiente máximo concurrente (predeterminado: 3)

gateway.tls

Configuración TLS para el servidor de puerta de enlace ([gateway.tls]).

ClaveTipoPredeterminadoDescripción
cert_path*cadenaRuta al archivo de certificado del servidor codificado en PEM.
client_authobjetoConfiguración de autenticación de certificados de cliente (mTLS) ([gateway.tls.client_auth]).
enabledboolfalseHabilitar TLS para el gateway (predeterminado: false).
key_path*cadenaRuta al archivo de clave privada del servidor codificado en PEM.

gateway.tls.client_auth

Configuración de autenticación de certificados de cliente (mTLS) ([gateway.tls.client_auth]).

ClaveTipoPredeterminadoDescripción
ca_cert_pathcadena""Ruta al certificado CA codificado en PEM utilizado para verificar los certificados del cliente.
crl_pathcadena""Ruta opcional a una lista de huellas digitales revocadas (un valor hexadecimal SHA-256 por línea). A
enabledboolfalseHabilitar la verificación del certificado del cliente (predeterminado: false).
pinned_certsstring[][]Huellas digitales SHA-256 opcionales para la fijación de certificados.
require_client_certbooltrueRechazar las conexiones que no presenten un certificado de cliente válido (predeterminado: true).

gemini_cli

Configuración de la herramienta Gemini CLI (sección [gemini_cli]).

Delega las tareas de codificación a la CLI gemini -p. La autenticación utiliza la sesión propia del binario de forma predeterminada; no se necesita una clave de API a menos que env_passthrough incluya GOOGLE_API_KEY.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilita la herramienta gemini_cli
env_passthroughstring[][]Variables de entorno adicionales pasadas al subproceso de Gemini (por ejemplo, GOOGLE_API_KEY)
max_output_bytesentero2097152Tamaño máximo de salida en bytes (2 MB por defecto)
timeout_secsentero600Tiempo máximo de ejecución en segundos (las tareas de codificación pueden ser largas)

google_workspace

Configuración de la herramienta de línea de comandos de Google Workspace (gws) (sección [google_workspace]).

Valores predeterminados

  • enabled: false (la herramienta no se registra a menos que se opte explícitamente por ella).
  • allowed_services: vector vacío, que otorga acceso al conjunto completo de servicios predeterminados: drive, sheets, gmail, calendar, docs, slides, tasks, people, chat, classroom, forms, keep, meet, events.
  • allowed_operations: vector vacío, que conserva el comportamiento heredado de permitir cualquier recurso/método dentro del conjunto de servicios permitidos.
  • credentials_path: None (usa el descubrimiento predeterminado de credenciales gws).
  • default_account: None (utiliza la cuenta activa de gws).
  • rate_limit_per_minute: 60.
  • timeout_secs: 30.
  • audit_log: false.

Compatibilidad

Las configuraciones que omiten por completo la sección [google_workspace] se tratan como GoogleWorkspaceConfig::default() (deshabilitado, todos los valores predeterminados permitidos). Añadir la sección es estrictamente opcional y no afecta a otras secciones de la configuración.

Revertir / Migración

Para revertir, elimina la sección [google_workspace] del archivo de configuración (o establece enabled = false). No se requiere migración de datos; la herramienta simplemente deja de estar registrada.

ClaveTipoPredeterminadoDescripción
allowed_operationsobject[][]Restringir las combinaciones de recursos/métodos a las que el agente puede acceder.
allowed_servicesstring[][]Restringir los servicios de Google Workspace a los que el agente puede acceder.
audit_logboolfalseHabilitar el registro de auditoría de cada invocación de gws (servicio, recurso,
credentials_pathstring?nullRuta al archivo JSON de la cuenta de servicio o al archivo de credenciales del cliente OAuth.
default_accountstring?nullDirección de correo electrónico de la cuenta predeterminada de Google para pasar a gws --account.
enabledboolfalseHabilita la herramienta google_workspace. Valor predeterminado: false.
rate_limit_per_minuteentero60Número máximo de llamadas a la API de gws permitidas por minuto. Predeterminado: 60.
timeout_secsentero30Tiempo de espera para la ejecución del comando en segundos. Valor predeterminado: 30.

hardware

Configuración de hardware guiada por asistente para la interacción con el mundo físico.

ClaveTipoPredeterminadoDescripción
baud_rateentero115200Velocidad en baudios negociada en el enlace serie. 115200 coincide con el valor predeterminado habitual del bootloader de Arduino / ESP32; aumenta a 230400+ cuando tu firmware admita explícitamente velocidades más rápidas y necesites el rendimiento.
enabledboolfalseHabilita el control directo del hardware físico — pines GPIO, microcontroladores conectados por USB (Arduino, ESP32, Nucleo) o sondas de depuración SWD/JTAG. Déjalo desactivado para uso exclusivo de software; activarlo sin el transporte adecuado configurado no tiene ningún efecto.
probe_targetstring?nullIdentificador del chip de destino para transport = probe (p. ej. STM32F401RE, nRF52840_xxAA). Se pasa directamente a probe-rs para las operaciones de flash/depuración; debe coincidir con un chip que probe-rs reconozca.
serial_portstring?nullRuta TTY para el transporte serial — p. ej. /dev/ttyACM0 en Linux, /dev/tty.usbmodem1 en macOS, COM3 en Windows. Se ignora para otros transportes.
transportNone | Native | Serial | ProbeModo de transporte de hardware.
workspace_datasheetsboolfalseIndexa las hojas de datos .md y .txt preconvertidas del espacio de trabajo en

heartbeat

Configuración del latido para pings de salud periódicos (sección [heartbeat]).

ClaveTipoPredeterminadoDescripción
adaptiveboolfalseHabilitar intervalos adaptativos que se retrasan en caso de fallos y se aceleran para
agentcadena""Alias del agente configurado con el que se ejecuta el heartbeat worker. Obligatorio
deadman_channelstring?nullCanal para alertas del interruptor de seguridad (por ejemplo, telegram). Recurre a
deadman_timeout_minutesentero0Tiempo de espera del interruptor de seguridad en minutos. Si el latido no ha sonado
deadman_tostring?nullDestinatario de las alertas del interruptor de hombre muerto. Recurre a to.
enabledboolfalseHabilitar pings de heartbeat periódicos. Predeterminado: false. Cuando está habilitado,
interval_minutesentero30Intervalo en minutos entre los pings de heartbeat. Mínimo: 1. Predeterminado: 30.
load_session_contextboolfalseCarga el historial de la sesión del canal antes de cada ejecución de la tarea de latido
max_interval_minutesentero120Intervalo máximo en minutos cuando el modo adaptativo reduce la frecuencia. Predeterminado: 120.
max_run_historyentero100Número máximo de registros del historial de ejecución de latidos del corazón a conservar. Predeterminado: 100.
messagestring?nullTexto de tarea de respaldo opcional cuando HEARTBEAT.md no tiene entradas de tarea.
min_interval_minutesentero5Intervalo mínimo en minutos cuando el modo adaptativo está habilitado. Predeterminado: 5.
targetstring?nullCanal de entrega opcional para la salida del latido (por ejemplo: telegram).
task_timeout_secsentero600Segundos máximos de reloj de pared permitidos para una única invocación de agente
tostring?nullIdentificador opcional del destinatario de la entrega/chat (obligatorio cuando target es
two_phasebooltrueHabilitar latido de dos fases: la Fase 1 pregunta al LLM si debe ejecutarse, la Fase 2

hooks

ClaveTipoPredeterminadoDescripción
builtinobjeto
enabledbooltrueHabilitar la ejecución del ciclo de vida.

hooks.builtin

ClaveTipoPredeterminadoDescripción
command_loggerboolfalseHabilita el hook de registro de comandos (registra las llamadas a herramientas para auditoría).
webhook_auditobjetoConfiguración del hook integrado webhook-audit.

hooks.builtin.webhook_audit

Configuración del hook integrado webhook-audit.

Envía una solicitud HTTP POST con un cuerpo JSON a un punto de conexión externo cada vez que una llamada a una herramienta coincide con uno de los patrones configurados. Útil para el registro centralizado de auditoría, la ingesta en SIEM o las tuberías de cumplimiento.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilita el hook de auditoría de webhooks. Predeterminado: false.
include_argsboolfalseIncluir los argumentos de las llamadas de herramientas en la carga útil de auditoría. Valor predeterminado: false.
max_args_bytesentero4096Tamaño máximo (en bytes) de los argumentos serializados incluidos en un solo
tool_patternsstring[][]Patrones glob para nombres de herramientas a auditar (por ejemplo, ["Bash", "Write"]).
urlcadena""URL de destino que recibirá las solicitudes POST de auditoría.

http_request

Configuración de la herramienta de solicitudes HTTP (sección [http_request]).

Filtrado de dominios: allowed_domains controla qué hosts son accesibles (usa ["*"] para todos los hosts públicos, que es el valor predeterminado). Si allowed_domains está vacío, se rechazan todas las solicitudes. Las solicitudes usan transporte directo para que las respuestas DNS validadas localmente permanezcan ancladas: se rechaza un ámbito de proxy environment habilitado o un proxy de tiempo de ejecución que se aplique a tool.http_request. Se emite una advertencia y se ignora un proxy del entorno del proceso fuera de ese ámbito administrado; los errores de conexión indican la variable ignorada.

ClaveTipoPredeterminadoDescripción
allow_private_hostsboolfalsePermitir solicitudes a hosts privados/de la LAN (RFC 1918, loopback, .local).
allowed_domainsstring[]["*"]Dominios permitidos para las solicitudes HTTP (coincidencia exacta o de subdominio)
allowed_private_hostsstring[][]Hosts privados/internos autorizados explícitamente para relajar la comprobación de direcciones públicas.
enabledbooltrueHabilita la herramienta http_request para interacciones con la API
max_response_sizeentero1000000Tamaño máximo de la respuesta en bytes (predeterminado: 1MB, 0 = ilimitado)
secrets 🔑mapa{}Secretos de autorización con nombre para solicitudes auth_secret.
timeout_secsentero30Tiempo de espera de la solicitud en segundos (predeterminado: 30)

image_gen

Configuración de la herramienta de generación de imágenes independiente ([image_gen]).

Cuando está habilitado, registra una herramienta image_gen que genera imágenes a través de la API síncrona de fal.ai (modelos Flux / Nano Banana) y las guarda en el directorio images/ del espacio de trabajo.

ClaveTipoPredeterminadoDescripción
api_key_envcadena"FAL_API_KEY"Nombre de la variable de entorno que contiene la clave API de fal.ai.
default_modelcadena"fal-ai/flux/schnell"Identificador predeterminado del modelo de fal.ai.
enabledboolfalseHabilitar la herramienta de generación de imágenes independiente. Valor predeterminado: false.

jira

Configuración de la integración de Jira ([jira]).

Cuando enabled = true, registra la herramienta jira, que puede obtener tickets, buscar con JQL y agregar comentarios. Requiere base_url y api_token (o la variable de entorno JIRA_API_TOKEN).

Valores predeterminados

  • enabled: false
  • allowed_actions: ["get_ticket"] — de solo lectura por defecto. Añade "search_tickets" o "comment_ticket" para desbloquearlos.
  • timeout_secs: 30

Autenticación

Jira Cloud usa autenticación HTTP Basic: email + api_token. Jira Server/Data Center usa autenticación Bearer token: omite email y establece api_token como un token de acceso personal. api_token se almacena cifrado en reposo; establécelo aquí o mediante JIRA_API_TOKEN.

ClaveTipoPredeterminadoDescripción
allowed_actionsstring[]["get_ticket"]Acciones que el agente está autorizado para llamar.
api_token 🔑cadena""Token de API de Jira. Cifrado en reposo. Recurre a la variable de entorno JIRA_API_TOKEN.
base_urlcadena""URL base de la instancia de Atlassian, por ejemplo, https://yourco.atlassian.net.
emailstring?Correo electrónico de la cuenta de Jira utilizado para la autenticación básica (Cloud).
enabledboolfalseHabilita la herramienta jira. Valor predeterminado: false.
timeout_secsentero30Tiempo de espera de la solicitud en segundos. Predeterminado: 30.

knowledge

Configuración del grafo de conocimiento para capturar y reutilizar la experiencia.

ClaveTipoPredeterminadoDescripción
auto_captureboolfalseCaptura automáticamente el conocimiento de las conversaciones. Valor predeterminado: false.
db_pathcadena"/home/runner/.zeroclaw/knowledge.db"Ruta a la base de datos SQLite del grafo de conocimiento.
enabledboolfalseHabilitar la herramienta de grafo de conocimiento. Valor predeterminado: false.
max_nodesentero100000Número máximo de nodos de conocimiento. Predeterminado: 100000.
suggest_on_querybooltrueSugerir proactivamente conocimientos relevantes en las consultas. Valor predeterminado: true.

knowledge_bundles

Paquetes de conocimiento con nombre ([knowledge_bundles.<alias>]).

knowledge_bundles.<alias>

Paquete de conocimiento con nombre ([knowledge_bundles.<alias>]).

Un conjunto reutilizable de fuentes de conocimiento (documentos, URLs o rutas de corpus RAG) que puede asociarse a un agente mediante un alias.

ClaveTipoPredeterminadoDescripción
sourcesstring[][]Rutas o URLs para incluir en este paquete de conocimiento.
tagsstring[][]Etiquetas para filtrar o categorizar fuentes dentro del paquete.

Comprensión automática de enlaces para mensajes entrantes del canal ([link_enricher]).

Cuando está habilitado, las URLs en los mensajes entrantes se buscan y resumen automáticamente. El resumen se antepone al mensaje antes de que el agente lo procese, proporcionando al LLM contexto sobre las páginas enlazadas sin necesidad de una llamada de herramienta explícita.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilitar la etapa del pipeline de enriquecimiento de enlaces (predeterminado: false)
max_linksentero3Número máximo de enlaces a obtener por mensaje (predeterminado: 3)
timeout_secsentero10Tiempo de espera para la obtención por enlace en segundos (predeterminado: 10)

linkedin

Configuración de la integración de LinkedIn (sección [linkedin]).

Cuando está habilitado, la herramienta linkedin se registra en la superficie de herramientas del agente. Requiere credenciales LINKEDIN_* en el archivo .env del espacio de trabajo.

ClaveTipoPredeterminadoDescripción
api_versioncadena"202602"Encabezado de versión de la API REST de LinkedIn (formato AAAAMM).
contentobjetoConfiguración de la estrategia de contenido para la publicación automática en LinkedIn ([linkedin.content]).
enabledboolfalseHabilitar la herramienta de LinkedIn.
imageobjetoConfiguración de generación de imágenes para publicaciones de LinkedIn ([linkedin.image]).

linkedin.content

Configuración de la estrategia de contenido para la publicación automática en LinkedIn ([linkedin.content]).

El agente lee esto mediante la acción linkedin get_content_strategy para saber qué feeds verificar, qué repos destacar y cómo escribir las publicaciones.

ClaveTipoPredeterminadoDescripción
github_reposstring[][]Repositorios de GitHub a destacar (formato: owner/repo).
github_usersstring[][]Nombres de usuario de GitHub cuya actividad pública se pueda referenciar.
instructionscadena""Instrucciones de publicación libre para el agente de IA.
personacadena""Descripción del perfil profesional (nombre, rol, experiencia).
rss_feedsstring[][]URLs de los feeds RSS a monitorear para inspiración de temas (solo títulos).
topicsstring[][]Temas de especialización e interés para los temas de las publicaciones.

linkedin.image

Configuración de generación de imágenes para publicaciones de LinkedIn ([linkedin.image]).

ClaveTipoPredeterminadoDescripción
card_accent_colorcadena"#0A66C2"Color de acento para la tarjeta de respaldo (hexadecimal CSS).
dalleobjetoConfiguración de OpenAI DALL-E ([linkedin.image.dalle]).
enabledboolfalseHabilitar la generación de imágenes para las publicaciones.
fallback_cardbooltrueGenera una tarjeta de texto SVG con la marca cuando todos los model_providers de IA fallan.
fluxobjetoConfiguraciones de generación de imágenes de Flux (fal.ai) ([linkedin.image.flux]).
imagenobjetoConfiguraciones de Google Imagen (Vertex AI) ([linkedin.image.imagen]).
providersstring[]["stability","imagen","dalle","flux"]Orden de prioridad de ModelProvider. Se intentan en secuencia; gana el primero que tenga éxito.
stabilityobjetoConfiguraciones de generación de imágenes de Stability AI ([linkedin.image.stability]).
temp_dircadena"linkedin/images"Directorio temporal para las imágenes generadas, relativo al espacio de trabajo.

linkedin.image.dalle

Configuración de OpenAI DALL-E ([linkedin.image.dalle]).

ClaveTipoPredeterminadoDescripción
api_key_envcadena"OPENAI_API_KEY"Nombre de la variable de entorno que contiene la clave de la API de OpenAI.
modelcadena"dall-e-3"Identificador del modelo DALL-E.
sizecadena"1024x1024"Dimensiones de la imagen.

linkedin.image.flux

Configuraciones de generación de imágenes de Flux (fal.ai) ([linkedin.image.flux]).

ClaveTipoPredeterminadoDescripción
api_key_envcadena"FAL_API_KEY"Nombre de la variable de entorno que contiene la clave API de fal.ai.
modelcadena"fal-ai/flux/schnell"Identificador del modelo Flux.

linkedin.image.imagen

Configuraciones de Google Imagen (Vertex AI) ([linkedin.image.imagen]).

ClaveTipoPredeterminadoDescripción
api_key_envcadena"GOOGLE_VERTEX_API_KEY"Nombre de la variable de entorno que contiene la clave de la API.
project_id_envcadena"GOOGLE_CLOUD_PROJECT"Variable de entorno para el ID del proyecto de Google Cloud.
regioncadena"us-central1"Región de Vertex AI.

linkedin.image.stability

Configuraciones de generación de imágenes de Stability AI ([linkedin.image.stability]).

ClaveTipoPredeterminadoDescripción
api_key_envcadena"STABILITY_API_KEY"Nombre de la variable de entorno que contiene la clave de la API.
modelcadena"stable-diffusion-xl-1024-v1-0"Identificador del modelo de estabilidad.

locale

Configuración regional para las descripciones de herramientas (por ejemplo, "en", "zh-CN").

Cuando está configurado, las descripciones de las herramientas que se muestran en los prompts del sistema se cargan desde archivos de localización Fluent .ftl. Si no se encuentra, se utiliza el inglés integrado y, a continuación, las descripciones codificadas.

Si se omite o está vacío, la configuración regional se detecta automáticamente a partir de la configuración regional del sistema host (usando "en" de forma predeterminada si no se puede determinar).

mcp

Configuración del cliente MCP externo ([mcp] sección).

ClaveTipoPredeterminadoDescripción
deferred_loadingboolfalseCargar los esquemas de las herramientas MCP bajo demanda mediante tool_search en lugar de de forma anticipada
enabledbooltrueHabilitar la carga de herramientas MCP.
serversobject[][]Servidores MCP configurados. La anotación #[nested] hace que el macro

mcp_bundles

Paquetes de servidores MCP con nombre ([mcp_bundles.<alias>]).

mcp_bundles.<alias>

Paquete de servidor MCP con nombre ([mcp_bundles.<alias>]).

Un grupo reutilizable de servidores MCP concedido a un agente que referencia el paquete por alias en agents.<alias>.mcp_bundles. Los ID de servidor se comparan con [mcp.servers] por name. La resolución es segura por defecto (véase Config::mcp_servers_for_bundles): un ID sin un servidor coincidente no concede nada, y exclude prevalece sobre servers en todos los paquetes que un agente referencia.

ClaveTipoPredeterminadoDescripción
excludestring[][]Se eliminaron los ID de servidor MCP del permiso. Denegación prevalece: un nombre enumerado aquí es
serversstring[][]IDs de servidor MCP ([mcp.servers].name) concedidos por este paquete.

media_pipeline

Configuración del pipeline de comprensión automática de medios ([media_pipeline]).

Cuando está habilitado, los mensajes entrantes del canal con archivos multimedia se preprocesan antes de llegar al agente: el audio se transcribe, las imágenes se anotan y los videos se resumen.

ClaveTipoPredeterminadoDescripción
describe_imagesbooltrueAgrega descripciones de imágenes cuando un modelo con capacidades de visión esté activo.
enabledboolfalseInterruptor maestro para la canalización multimedia (predeterminado: false).
summarize_videobooltrueResumir archivos adjuntos de video (marcador de posición: requiere una API externa).
transcribe_audiobooltrueTranscribe los archivos de audio adjuntos usando el model_provider de transcripción configurado.

memory

Configuración del backend de memoria (sección [memory]).

Controla el almacenamiento de la memoria de conversaciones, los embeddings, la búsqueda híbrida, el almacenamiento en caché de respuestas y la captura/hidratación de instantáneas de memoria. Las opciones de conexión específicas de cada backend se encuentran en [storage.<backend>.<alias>]; esta sección selecciona qué instancia de almacenamiento usar mediante la referencia con puntos backend.

ClaveTipoPredeterminadoDescripción
archive_after_daysentero7Mueve los archivos diarios/de sesión al directorio de archivo después de esta cantidad de días. Mantiene reducido el conjunto de trabajo activo sin eliminar el historial.
audit_enabledboolfalseHabilitar el registro de auditoría de las operaciones de memoria.
audit_retention_daysentero30Período de retención para las entradas de auditoría en días (predeterminado: 30).
auto_hydratebooltrueHidratación automática desde MEMORY_SNAPSHOT.md cuando brain.db está ausente
auto_reindex_on_identity_changeboolfalseReinserta automáticamente todas las memorias en segundo plano cuando se detecta al inicio un cambio en el proveedor/modelo/dimensiones de embedding (después de que se hayan eliminado los vectores obsoletos). Cuesta una llamada a la API de embedding por memoria, así que está desactivado por defecto; déjalo desactivado para almacenes grandes y ejecuta zeroclaw memory reindex explícitamente en su lugar.
auto_savebooltrueGuarda automáticamente en memoria lo que le dices a ZeroClaw como historial de conversación: las propias respuestas del agente no se guardan. Desactívalo si quieres que la memoria solo conserve lo que registres explícitamente mediante la herramienta de memoria.
backendcadena"sqlite"Referencia con puntos a la instancia de almacenamiento activa: <backend>.<alias>
candidate_multiplierentero4Multiplicador del conjunto de candidatos respecto al límite final de recuperación antes del recorte de combinación/reordenación.
chunk_max_tokensentero512Máximo de tokens por fragmento para la división de documentos
conflict_supersede_enabledbooltrueHabilita la maquinaria reversible de ocultación suave de sustitución cuando esté conectada.
conflict_thresholdnúmero0.85Umbral de similitud coseno para la detección de conflictos (0.0–1.0).
consolidation_extract_factsboolfalseTambién extraer hechos duraderos atómicos de cada turno consolidado y almacenar
conversation_retention_daysentero30Elimina de la base de datos las filas de conversación con una antigüedad mayor a este número de días (solo backend sqlite). La antigüedad se mide por updated_at (hora de la última escritura). 0 = conservar indefinidamente.
core_max_bytesentero0Bytes máximos de Core antes de la compactación del presupuesto. 0 = ilimitado.
core_max_rowsentero0Máximo de filas de Core antes de la compactación del presupuesto. 0 = ilimitado.
core_retention_daysentero0Elimina de la base de datos las filas de memoria central con una antigüedad superior a estos días. La antigüedad se mide por created_at (hora de la primera escritura). Ni la recuperación ni las reescrituras ordinarias actualizan created_at con el upsert actual de SQLite, por lo que la retención central es un límite de antigüedad absoluto desde la primera escritura. Configura un período generosamente amplio para memorias centrales duraderas, o mantén 0 = conservar para siempre.
daily_max_rowsentero0Máximo de filas diarias antes de la compactación del presupuesto. 0 = sin límite.
daily_retention_daysentero0Elimina de la base de datos las filas de memoria diaria con una antigüedad mayor a esta cantidad de días. La antigüedad se mide por updated_at (hora de última escritura). 0 = conservar indefinidamente.
dedup_actiontablaPolítica de manejo de duplicados en tiempo de escritura para entradas de memoria.
dedup_jaccard_thresholdnúmero0.8Umbral de Jaccard para la detección de duplicados solo de texto.
dedup_on_writeboolfalseHabilitar la detección de casi duplicados en el momento de escritura.
default_namespacecadena"predeterminado"Espacio de nombres predeterminado para las entradas de memoria.
embedding_api_key 🔑string?Clave de API opcional para el punto de conexión de embeddings. Cuando se establece, las llamadas de embedding usan esta clave en lugar de heredar una del proveedor del modelo semilla, desacoplando los embeddings del modelo de chat. Úsala cuando el modelo de chat se ejecute en un proveedor que no tenga una credencial de embedding utilizable (p. ej., un proveedor solo de OAuth) mientras los embeddings siguen apuntando a un punto de conexión openai/custom: con su propia clave. Déjala sin establecer para heredar la clave del proveedor semilla (valor predeterminado compatible con versiones anteriores).
embedding_cache_sizeentero10000Número máximo de entradas en la caché de incrustaciones antes de la eliminación LRU
embedding_dimensionsentero1536Ancho de vector que produce el modelo de embedding: debe coincidir con la dimensión nativa del modelo o los vectores no se almacenarán correctamente. Busca el número en la página del modelo de model_provider.
embedding_modelcadena"text-embedding-3-small"Identificador del modelo de embeddings — debe coincidir con un modelo que sirva el model_provider de embeddings que elijas (por ejemplo, text-embedding-3-small para OpenAI). Cambiar esto invalida los embeddings existentes: el cambio se detecta al inicio y los vectores obsoletos se borran automáticamente; ejecuta zeroclaw memory reindex para volver a incrustar (o establece auto_reindex_on_identity_change).
embedding_providercadena"none"Fuente de vectores de embedding para la búsqueda semántica. none = recuperación solo por palabras clave (sin llamadas a la API, sin costo de vectores); openai = API de embedding de OpenAI; custom:URL = cualquier endpoint de embedding compatible con OpenAI (LiteLLM, gateway local, etc.).
evict_ordertablaOrden de expulsión del presupuesto de memoria.
fts_early_return_scorenúmero0.85Reservado (0.0-1.0): la puntuación FTS por encima de la cual la recuperación omitirá el
hygiene_enabledbooltrueEjecuta la pasada periódica de limpieza que archiva los archivos diarios o de sesión obsoletos y aplica las ventanas de retención. Déjalo activado a menos que quieras gestionar la limpieza por tu cuenta.
importance_weightnúmero0.2Peso de importancia utilizado por la combinación de recuperación.
keyword_weightnúmero0.3Cuánto peso tiene la coincidencia BM25 (palabras clave) cuando search_mode = hybrid. Auméntalo hacia 1.0 para la coincidencia exacta de términos; redúcelo cuando las paráfrasis también deban obtener una buena puntuación.
min_relevance_scorenúmero0.4Puntuación híbrida mínima (0.0–1.0) para que una memoria se incluya en el contexto.
mmr_lambdanúmero0.7Peso de relevancia frente a diversidad de MMR, donde 1.0 significa solo relevancia.
pin_min_importancenúmero1.01Fija entradas con esta importancia o superior. >1.0 significa deshabilitado.
pin_namespacesstring[][]Espacios de nombres protegidos contra la expulsión por presupuesto.
policyobjetoConfiguración de la política de memoria (sección [memory.policy]).
purge_after_daysentero30Elimina permanentemente los archivos archivados después de esta cantidad de días. Establece un valor alto si necesitas un historial a largo plazo; establece un valor bajo por motivos de privacidad o de espacio en disco.
recency_weightnúmero0.1Peso de recencia utilizado por la combinación de recuperación.
rerank_enabledboolfalseHabilita la etapa de reordenación de recall: combina la puntuación de recuperación con la importancia
rerank_strategycadena"none"Estrategia avanzada de reordenamiento. Válidos: “none”, “mmr”.
rerank_thresholdentero5Cantidad mínima de candidatos para activar la estrategia de reordenamiento avanzada.
response_cache_enabledboolfalseHabilitar el almacenamiento en caché de las respuestas del LLM para evitar pagar por solicitudes duplicadas
response_cache_hot_entriesentero256Máximo número de entradas en caché en memoria para la caché de respuesta de dos niveles (predeterminado: 256)
response_cache_max_entriesentero5000Número máximo de respuestas en caché antes de la eliminación LRU (predeterminado: 5000)
response_cache_ttl_minutesentero60TTL en minutos para las respuestas en caché (predeterminado: 60)
retrieval_stagesstring[]["fts","vector"]Etapas de recuperación para el recuerdo por agente. Solo "cache" está activo: it
search_modetablaEstrategia de búsqueda para la recuperación de memoria.
snapshot_enabledboolfalseHabilitar la exportación periódica de las memorias principales a MEMORY_SNAPSHOT.md
snapshot_on_hygieneboolfalseEjecutar instantánea durante las pasadas de higiene (impulsada por latidos)
typesobjetoConfiguración de memoria tipada (sección [memory.types]).
vector_weightnúmero0.7Cuánto peso tiene la similitud vectorial (semántica) cuando search_mode = hybrid. Auméntalo hacia 1.0 para favorecer las coincidencias basadas en el significado; redúcelo para apoyarte en la coincidencia de palabras clave.

memory.policy

Configuración de la política de memoria (sección [memory.policy]).

ClaveTipoPredeterminadoDescripción
max_entries_per_categoryentero0Entradas máximas por categoría (0 = ilimitado).
max_entries_per_namespaceentero0Entradas máximas por espacio de nombres (0 = ilimitado).
read_only_namespacesstring[][]Espacios de nombres que son de solo lectura (las escrituras se rechazan).
redact_categoriesstring[]["secret","api_key","private_key","email","phone"]Categorías de redacción aplicadas cuando redact_on_write es verdadero.
redact_on_writeboolfalseRedacta las categorías configuradas de secretos/PII antes de la persistencia.
retention_days_by_categorymapa{}Días de retención por categoría (anula el valor global). Claves: “core”, “daily”, “conversation”.
threat_scancadena"on"Modo de análisis de contenido para escrituras de memoria persistente: “off”, “on” o “strict”.
threat_scan_load_timebooltrueVolver a analizar las entradas almacenadas en el momento de la recuperación/lectura y retener las entradas marcadas.
threat_scan_on_hitcadena"reject"Comportamiento cuando una exploración de contenido en tiempo de escritura coincide: “reject” o

memory.types

Configuración de memoria tipada (sección [memory.types]).

Neutral en cuanto al comportamiento de forma predeterminada: enabled controla la asignación de MemoryKind en las nuevas escrituras de consolidación y está desactivado de forma predeterminada; el cambio se secuencia en una fase posterior. Solo SQLite: la activación requiere el backend de memoria sqlite globalmente y en cada agente (se valida al cargar la configuración).

ClaveTipoPredeterminadoDescripción
enabledboolfalseAsigna un MemoryKind de primera clase a las nuevas escrituras de consolidación.

microsoft365

Integración de Microsoft 365 a través de la API de Microsoft Graph (sección [microsoft365]).

Proporciona acceso a los correos de Outlook, mensajes de Teams, eventos del calendario, archivos de OneDrive y búsqueda de SharePoint.

ClaveTipoPredeterminadoDescripción
auth_flowcadena"client_credentials"Flujo de autenticación: “client_credentials” o “device_code”
client_idstring?nullID de aplicación (cliente) de Azure AD
client_secret 🔑string?nullSecreto de cliente de Azure AD (almacenado en formato cifrado cuando secrets.encrypt = true)
enabledboolfalseHabilitar la integración con Microsoft 365
scopesstring[]["https://graph.microsoft.com/.default"]Ámbitos de OAuth a solicitar
tenant_idstring?nullID de inquilino de Azure AD
token_cache_encryptedbooltrueCifrar el archivo de caché de tokens en el disco
user_idstring?nullNombre principal de usuario o “me” (para flujos delegados)

model_routes

Reglas de enrutamiento de modelos: enruta hint:<name> a combinaciones específicas de model_provider + model.

multimodal

Configuración de manejo multimodal (imágenes) (sección [multimodal]).

Nota sobre privacidad y costo

Los resultados de herramientas que imprimen rutas reales de imágenes locales (por ejemplo, herramientas de shell que ejecutan ls /pictures o find . -name '*.png') se canonicalizan en marcadores [IMAGE:...] y se insertan en línea como base64 en la siguiente solicitud al proveedor. Esto significa que los bytes de imagen que antes permanecían en local se subirán al proveedor configurado cuando los exponga una herramienta.

max_images (y la política LRU trim_old_images) limita el presupuesto de imágenes por solicitud, pero los operadores que ejecutan herramientas de tipo shell sobre directorios con imágenes personales o confidenciales deben tener en cuenta la semántica de carga. Consulta docs/book/src/contributing/privacy.md para conocer la postura del proyecto sobre la privacidad.

ClaveTipoPredeterminadoDescripción
allow_remote_fetchboolfalsePermite obtener URLs de imágenes remotas (http/https). Desactivado por defecto.
max_image_size_mbentero5Tamaño máximo de la carga útil de la imagen en MiB antes de la codificación base64.
max_image_turnsentero0Antigüedad máxima de las imágenes en los turnos de conversación.
max_imagesentero4Número máximo de imágenes adjuntas aceptadas por solicitud.
vision_modelstring?nullModelo a usar al enrutar al model_provider de visión (p. ej., "llava:7b").
vision_model_providerstring?nullNombre del ModelProvider que se usará para mensajes de visión/imagen (p. ej., "ollama").

nodes

Configuración para el sistema de descubrimiento dinámico de nodos ([nodes]).

Cuando está habilitado, los procesos/dispositivos externos pueden conectarse a través de WebSocket en /ws/nodes y anunciar sus capacidades en tiempo de ejecución.

ClaveTipoPredeterminadoDescripción
auth_token 🔑string?nullToken de portador opcional para la autenticación del nodo.
enabledboolfalseHabilitar el punto de conexión de descubrimiento dinámico de nodos.
max_nodesentero16Número máximo de conexiones de nodos concurrentes.
mdnsobjetoConfiguración para el descubrimiento de pares mDNS local en LAN ([nodes.mdns]).

nodes.mdns

Configuración para el descubrimiento de pares mDNS local en LAN ([nodes.mdns]).

Esta configuración controla únicamente el comportamiento de descubrimiento. El endpoint de gateway anunciado se deriva del host, puerto y prefijo de ruta reales del gateway en ejecución al inicio, por lo que [nodes.mdns] no duplica el estado de escucha del gateway.

ClaveTipoPredeterminadoDescripción
announce_interval_secsentero30Con qué frecuencia este nodo vuelve a difundir su presencia, en segundos.
enabledboolfalseHabilitar la detección de pares locales mediante mDNS.
max_peersentero16Número máximo de sugerencias de pares LAN no autenticados retenidas en memoria.
node_namestring?nullNombre de nodo legible advertido a los pares de la LAN. Por defecto es un valor estable
peer_ttl_secsentero90Segundos después del último anuncio antes de que se expulse a un par.

notion

Configuración de la integración de Notion ([notion]).

Cuando enabled = true, el agente consulta una base de datos de Notion en busca de tareas pendientes y expone una herramienta notion para consultar, leer, crear y actualizar páginas. Requiere api_key (o la variable de entorno NOTION_API_KEY) y database_id.

ClaveTipoPredeterminadoDescripción
api_key 🔑cadena""
database_idcadena""
enabledboolfalse
input_propertycadena"Entrada"
max_concurrententero4
poll_interval_secsentero5
recover_stalebooltrue
result_propertycadena"Resultado"
status_propertycadena"Estado"

observability

Configuración del backend de observabilidad (sección [observability]).

ClaveTipoPredeterminadoDescripción
backendnone | log | verbose | prometheus | otelBackend de sumidero de observabilidad.
log_llm_request_payloadoff | redacted | fullPolítica de captura de la carga útil de la solicitud LLM. Refleja [LogToolIo] pero limita el acceso de la
log_persistencetablaModo de persistencia de registros JSONL.
log_persistence_max_bytesentero0Umbral de tamaño en bytes que desencadena una rotación del archivo cuando
log_persistence_max_entriesentero200Número máximo de entradas conservadas cuando log_persistence = "rolling".
log_persistence_pathcadena"state/runtime-trace.jsonl"Ruta del archivo de persistencia de logs. Las rutas relativas se resuelven dentro de workspace_dir.
log_persistence_retention_max_age_daysentero0Límite de retención sobre la antigüedad (en días) de los archivos de archivo rotados cuando
log_persistence_retention_max_filesentero7Límite de retención del número de archivos de archivo rotados conservados junto con el
log_persistence_rotate_dailybooltrueRotar el archivo activo a un archivo de archivo en un límite de día UTC cuando
log_tool_iooff | redacted | fullPolítica de captura de E/S de herramientas.
log_tool_io_denyliststring[][]Nombres de herramientas cuya E/S nunca se registra más allá del nombre + resultado + duración
log_tool_io_truncate_bytesentero40960Truncar la entrada y la salida capturadas de la herramienta en este número de bytes cuando
otel_endpointstring?nullEndpoint de OTLP (por ejemplo, "http://localhost:4318"). Solo se utiliza cuando el backend es "otel".
otel_genai_contentoff | redacted | fullPolítica de captura de contenido de OTel. Refleja [LogToolIo] pero limita el span de OTel
otel_genai_content_max_charsentero1000Límite de truncamiento de caracteres por campo para contenido GenAI de OTel cuando
otel_headers 🔑map?nullEncabezados HTTP opcionales enviados con cada solicitud de exportación OTLP (por ejemplo, autorización).
otel_service_namestring?nullNombre del servicio reportado al colector de OTel. El valor predeterminado es “zeroclaw”.
otel_tool_iooff | redacted | fullPolítica de captura de contenido de OTel. Refleja [LogToolIo] pero limita el span de OTel
otel_tool_io_max_charsentero1000Límite de truncamiento de caracteres por campo para la entrada/salida de la herramienta OTel cuando

onboard_state

Configuración de aislamiento de espacio de trabajo para múltiples clientes.

Cuando está habilitado, cada interacción con un cliente obtiene un espacio de trabajo aislado con memoria, auditoría, secretos y restricciones de herramientas separados. Estado opaco que el flujo de Quickstart escribe para poder determinar, en una nueva ejecución, qué secciones el usuario ya ha recorrido al menos una vez — lo que le permite ofrecer puertas de omisión “Reconfigure? [y/N]” en lugar de obligar a los usuarios a pasar de nuevo por cada campo.

Este es meta-estado sobre el flujo del Quickstart, no configuración visible para el usuario.

ClaveTipoPredeterminadoDescripción
completed_sectionsstring[][]Claves de sección que el usuario ha completado al menos una vez.
quickstart_completedboolfalsetrue una vez que el Quickstart haya aplicado un BuilderSubmission

opencode_cli

Configuración de la herramienta CLI de OpenCode (sección [opencode_cli]).

Delega las tareas de codificación a la CLI opencode run. La autenticación utiliza la sesión propia del binario de forma predeterminada; no se necesita una clave de API a menos que env_passthrough incluya claves específicas del proveedor.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilita la herramienta opencode_cli
env_passthroughstring[][]Variables de entorno adicionales pasadas al subproceso de opencode
max_output_bytesentero2097152Tamaño máximo de salida en bytes (2 MB por defecto)
timeout_secsentero600Tiempo máximo de ejecución en segundos (las tareas de codificación pueden ser largas)

pacing

Controles de ritmo para cargas de trabajo de LLM lentos/locales (sección [pacing]).

Todos los campos son opcionales y tienen valores predeterminados que preservan el comportamiento existente. Cuando se establecen, extienden —no reemplazan— los subsistemas de detección de bucles y de tiempo de espera existentes.

ClaveTipoPredeterminadoDescripción
loop_detection_enabledbooltrueHabilitar la detección de bucles basada en patrones (repetición exacta, ping-pong,
loop_detection_max_repeatsentero3Número de llamadas consecutivas idénticas de herramienta+args antes de la primera
loop_detection_min_elapsed_secsinteger?nullSegundos mínimos transcurridos antes de que se active la detección de bucles.
loop_detection_window_sizeentero20Tamaño de la ventana deslizante para el detector de bucles basado en patrones.
loop_ignore_toolsstring[][]Nombres de herramientas excluidos del bucle de salida idéntica / patrón alternante
message_timeout_scale_maxinteger?nullAnulación para el límite de escala de tiempo de espera codificado (valor predeterminado: 4).
step_timeout_secsinteger?nullTiempo de espera por paso en segundos: el tiempo máximo permitido para un solo

peer_groups

Grupos de pares con nombre ([peer_groups.<name>]). Cada entrada vincula un canal, una lista de agentes miembros y miembros opcionales no agentes (externos) y una lista de bloqueo por grupo. Aceptación mutua: dos agentes se convierten en pares solo cuando ambos aparecen en los agents del mismo grupo. Vacío de forma predeterminada para instalaciones de un solo agente. Consulta crate::multi_agent::PeerGroupConfig.

peer_groups.<alias>

[peer_groups.<name>] — grupo de pares de mutuo consentimiento en un tipo de canal.

ClaveTipoPredeterminadoDescripción
admin_for_agent_scopeboolfalseCuando es true, los miembros de este grupo de pares están autorizados a emitir
agentsstring[][]Agentes miembros por alias.
channelcadenaReferencia a una entrada [channels.<type>.<alias>] configurada.
external_peersstring[][]Miembros no agentes por nombre de usuario nativo del canal.
ignorestring[][]Lista de bloqueo por grupo; se sustrae del conjunto de pares resuelto.
output_modalitytablaModalidad de salida preferida para un grupo de pares.

peripherals

Configuración de integración de la placa periférica (sección [peripherals]).

Los tableros se convierten en herramientas de agente cuando están habilitados.

ClaveTipoPredeterminadoDescripción
boardsobject[][]Configuraciones de placa (nucleo-f401re, rpi-gpio, etc.)
datasheet_dirstring?nullRuta al documento de la hoja de datos (relativa al espacio de trabajo) para la recuperación de RAG.
enabledboolfalseHabilitar soporte para periféricos (las placas se convierten en herramientas de agente)

pipeline

Configuración de la herramienta de pipeline (sección [pipeline]).

ClaveTipoPredeterminadoDescripción
allowed_toolsstring[][]Herramientas permitidas en los pasos del pipeline. Los pasos que hacen referencia a herramientas que no están en esta
enabledboolfalseHabilita la meta-herramienta execute_pipeline.
max_stepsentero20Número máximo de pasos permitidos en una única invocación de la canalización.

plugins

Configuración del sistema de plugins.

ClaveTipoPredeterminadoDescripción
auto_discoverboolfalseDetectar automáticamente y cargar complementos al iniciar (predeterminado: false)
enabledboolfalseHabilitar el sistema de complementos (predeterminado: false)
entriesobject[][]
limitsobjetoLímites de ejecución de WASM por llamada ([plugins.limits]).
max_active_instancesentero50Número máximo de instancias lógicas de complementos admitidas en el conjunto de capacidades.
plugins_dircadena"/home/runner/.zeroclaw/plugins"Directorio donde se almacenan los complementos
securityobjetoConfiguración de verificación de firma de plugins ([plugins.security]).

plugins.limits

Límites de ejecución de WASM por llamada ([plugins.limits]).

Limita una única llamada al complemento para que un componente descontrolado o malicioso falle en lugar de bloquear el host o agotar la memoria. call_fuel limita las instrucciones por llamada; call_timeout_ms limita el tiempo de reloj de pared transcurrido, incluido el tiempo de espera de las importaciones asíncronas del host; los límites de memoria, tabla e instancia acotan el crecimiento de un almacén. Todos los valores se pueden ajustar por el operador y se validan para que no sean cero.

ClaveTipoPredeterminadoDescripción
call_fuelentero1000000000Presupuesto de combustible por llamada de plugin (unidades de instrucción de wasmtime).
call_timeout_msentero30000Tiempo límite de reloj de pared para una llamada de exportación de un complemento, en milisegundos.
max_connections_per_instanceentero16Número máximo de conexiones de red activas propiedad del host por instancia lógica del complemento,
max_instancesentero64Número máximo de instancias de componente que puede crear una tienda de complementos.
max_memory_mbentero256Memoria lineal máxima a la que un almacén de complementos puede crecer, en megabytes.
max_table_elementsentero100000Máximo de elementos de tabla que una tienda de plugins puede asignar.

plugins.security

Configuración de verificación de firma de plugins ([plugins.security]).

Controla la verificación de firmas Ed25519 para los manifiestos de los complementos. En el modo strict, solo se cargan los complementos firmados por una clave de editor de confianza. En el modo permissive, los complementos sin firmar o no confiables generan advertencias, pero se cargan igualmente. En el modo disabled (el valor predeterminado), no se realiza ninguna comprobación de firma.

ClaveTipoPredeterminadoDescripción
signature_modecadena"disabled"Modo de aplicación de firma: “disabled”, “permissive” o “strict”.
trusted_publisher_keysstring[][]Claves públicas Ed25519 codificadas en hexadecimal de los editores de plugins de confianza.

project_intel

Configuración de la inteligencia de entrega del proyecto ([project_intel] sección).

ClaveTipoPredeterminadoDescripción
default_languagecadena"en"Idioma predeterminado del informe (en, de, fr, it). Predeterminado: “en”.
enabledboolfalseHabilitar la herramienta project_intel. Valor predeterminado: false.
include_git_databooltrueIncluir datos de git log en los informes. Predeterminado: true.
include_jira_databoolfalseIncluir datos de Jira en los informes. Predeterminado: false.
jira_base_urlstring?nullURL base de la instancia de Jira (obligatorio si include_jira_data es true).
report_output_dircadena"/home/runner/.zeroclaw/project-reports"Directorio de salida para los informes generados.
risk_sensitivitycadena"medium"Sensibilidad de detección de riesgos: baja, media, alta. Predeterminado: “media”.
templates_dirstring?nullDirectorio de plantillas personalizadas opcional.

providers

Contenedor de nivel superior para cada categoría de proveedor configurada.

ClaveTipoPredeterminadoDescripción
modelsobjetoContenedor de proveedores de modelos tipado con un mapa de alias por familia de proveedores.
transcriptionobjetoContenedor tipado de proveedor de transcripción: un espacio por familia STT.
ttsobjetoContenedor de proveedor de TTS tipado: una ranura por familia de TTS. Refleja

providers.models

Contenedor de proveedores de modelos tipado con un mapa de alias por familia de proveedores.

Una entrada por familia (ai21, aihubmix, anthropic, anyscale, arcee, astrai, atlascloud, atomic_chat, avian, azure, baichuan, baseten, bedrock, cerebras, cloudflare, cohere, copilot, custom, deepinfra, deepmyst, deepseek, doubao, featherless, fireworks, friendli, gemini, gemini_cli, github_models, glm, grok_cli, groq, huggingface, hunyuan, hyperbolic, inception, kilo, kilocli, lambda_ai, lepton, litellm, llamacpp, lmstudio, manifest, minimax, mistral, moonshot, morph, nearai, nebius, novita, nscale, nvidia, ollama, openai, opencode, openrouter, osaurus, ovh, perplexity, qianfan, qwen, reka, sambanova, sglang, siliconflow, stepfun, synthetic, telnyx, together, upstage, venice, vercel, vllm, xai, yi, zai, zerorouter). Cada entrada es un mapa [providers.models.<slot>.<alias>]; consulta la página de la sección dedicada para ver la referencia de cada campo.

providers.transcription

Contenedor tipado de proveedores de transcripción: un espacio por familia de STT. Refleja ModelProviders / TtsProviders. Conjunto cerrado de 6 familias: groq, openai, deepgram, assemblyai, google, local_whisper.

Un slot por familia (assemblyai, deepgram, google, groq, local_whisper, openai). Cada slot es un mapa [providers.transcription.<slot>.<alias>]; consulte la página de la sección dedicada para la referencia por campo.

providers.tts

Contenedor tipado de proveedores TTS: una ranura por familia de TTS. Refleja ModelProviders pero más pequeño (TTS tiene un conjunto cerrado de 5 familias: openai, elevenlabs, google, edge, piper). No se necesita un catch-all.

Un slot por familia (edge, elevenlabs, google, openai, piper). Cada slot es un mapa [providers.tts.<slot>.<alias>]; consulta la página de la sección dedicada para la referencia campo por campo.

proxy

Configuración del proxy para el tráfico HTTP/HTTPS/SOCKS5 saliente (sección [proxy]). La solicitud estándar de web_fetch y todas las solicitudes de http_request son directas para que sus respuestas DNS validadas localmente se puedan fijar: omiten los proxies del entorno y rechazan un ámbito de proxy en tiempo de ejecución que se aplique a tool.web_fetch o tool.http_request, incluido un ámbito environment habilitado. Se muestra una advertencia cuando se ignoran las variables de proxy de procesos no administrados. La alternativa opcional de la API de Firecrawl usa la detección normal de proxies del entorno. Para usar un proxy con otro tráfico, usa el ámbito services sin esos selectores ni tool.*.

ClaveTipoPredeterminadoDescripción
all_proxystring?nullURL del proxy de respaldo para todos los esquemas.
enabledboolfalseHabilitar el soporte de proxy para el ámbito seleccionado.
http_proxystring?nullURL del proxy para las solicitudes HTTP (admite http, https, socks5, socks5h).
https_proxystring?nullURL del proxy para solicitudes HTTPS (admite http, https, socks5, socks5h).
no_proxystring[][]Lista de omisión de no-proxy. Mismo formato que NO_PROXY.
scopetablaÁmbito de la aplicación proxy: determina qué tráfico saliente utiliza el proxy.
servicesstring[][]Selectores de servicio utilizados cuando el ámbito es “services”.

query_classification

Clasificación automática de consultas: clasifica los mensajes del usuario por palabra clave o patrón y los dirige al indicio de modelo adecuado. Desactivado por defecto.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilitar la clasificación automática de consultas. Valor predeterminado: false.
rulesobject[][]Reglas de clasificación evaluadas en orden de prioridad.

relay

Cliente del relé nominado ([relay]).

Cuando está habilitado, el demonio mantiene una conexión saliente persistente con un relay y registra node_id, para que los clientes detrás de NAT puedan conectarse a él a través del relay. El relay es un reenviador ciego: la mTLS interna cliente<->demonio sigue terminando en el listener WSS del demonio y el relay nunca la descifra.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilita el puente de retransmisión (valor predeterminado: false).
node_idcadena""ID de nodo opaco con el que se registra este demonio (los clientes se conectan a este ID). Dejar
node_id_rotation_daysentero0Rota automáticamente el node-id autogenerado cada N días (valor predeterminado: 0 = nunca).
outer_client_certcadena""Certificado/clave PEM que el demonio presenta al relay en la capa TLS EXTERNA
outer_client_keycadena""
relay_ca_pathcadena""CA PEM de confianza para el certificado TLS PROPIO (externo) del relay. Cuando se establece,
relay_hostcadena""Nombre del servidor que se espera en el certificado externo del relay. Si está vacío, se deriva.
relay_insecureboolfalseOmitir la verificación del certificado externo del relay (solo para desarrollo con certificado autofirmado).
tofuboolfalseConfianza en el primer uso para el certificado OUTER del relay (false de forma predeterminada): accept
tokencadena""Token de cuenta de Relay presentado durante el registro (credencial de admisión).
urlcadena""Dirección del relé al que conectarse, como host:port.

reliability

Configuración de fiabilidad y supervisión (sección [reliability]).

Controla los reintentos de model_provider, la rotación de claves de API y el backoff de reinicio del canal.

ClaveTipoPredeterminadoDescripción
api_keys 🔑string[][]Claves de API adicionales para la rotación round-robin en errores de límite de tasa (429).
channel_initial_backoff_secsentero2Retardo inicial para reinicios de canal/daemon.
channel_max_backoff_secsentero60Max backoff para reinicios de canal/daemon.
provider_backoff_msentero500Tiempo de espera base (ms) para el retraso de reintento de model_provider.
provider_retriesentero2Reintentos por model_provider antes de abandonar.
scheduler_poll_secsentero15Frecuencia de sondeo del programador en segundos.
scheduler_retriesentero2Número máximo de reintentos para los intentos de ejecución del trabajo cron.

risk_profiles

Perfiles de riesgo/autonomía con nombre ([risk_profiles.<alias>]).

risk_profiles.<alias>

Perfil de riesgo/autonomía con nombre ([risk_profiles.<alias>]).

Superficie de política unificada. Los agentes referencian un perfil mediante un alias y el runtime lo resuelve a través de él para listas de अनुमति de comandos de shell, compuertas de aprobación, límites de sandbox/recursos y barandillas de delegación. El convencional risk_profiles["default"] es el objetivo de resolución para contextos que no son de agente (inicio del orquestador, arranque del worker de cron); la implementación Default de abajo refleja los valores predeterminados heredados de seguridad ante todo, de modo que una instalación nueva se comporte igual que una configuración de antes de la विभisión por perfil.

ClaveTipoPredeterminadoDescripción
allowed_commandsstring[]["git","npm","cargo","ls","cat","grep","find","echo","pwd","wc","head","tail","date","df","du","uname","uptime","hostname","python","python3","pip","node","free"]Lista de अनुमति de nombres de ejecutables para la ejecución de shell.
allowed_rootsstring[][]Directorios raíz adicionales a los que el agente puede acceder.
allowed_toolsstring[][]Herramientas que el agente puede invocar en modo agente. Vacío = heredar / no
always_askstring[][]Herramientas que siempre requieren aprobación en este perfil.
approval_routeobjetoEnruta las aprobaciones de herramientas a un canal de aprobador distinto con valores predeterminados fail-closed.
auto_approvestring[]["file_read","memory_recall","web_search_tool","web_fetch","calculator","glob_search","content_search","image_info","weather","tool_search","browser","browser_open"]Herramientas que nunca requieren aprobación en este perfil.
block_high_risk_commandsbooltrueBloquea los comandos de alto riesgo incluso cuando estén en la lista permitida.
delegation_policyobjetoPolítica de delegación de perfil de riesgo para el trabajo enviado a los agentes que la comparten.
excluded_toolsstring[][]Herramientas excluidas de canales que no son de CLI bajo este perfil.
firejail_argsstring[][]Argumentos adicionales reenviados a firejail cuando sandbox_backend = “firejail”.
forbidden_pathsstring[]["/etc","/root","/home","/usr","/bin","/sbin","/lib","/opt","/boot","/dev","/proc","/sys","/var","/tmp","~/.ssh","~/.gnupg","~/.aws","~/.config"]Lista de denegación de rutas explícitas.
leveltablaEl nivel de autonomía del agente, ordenado de menos a más autónomo.
require_approval_for_medium_riskbooltrueRequerir aprobación para operaciones de riesgo medio.
sandbox_backendstring?nullIdentificador del backend de sandbox (por ejemplo, "firejail", "landlock"). None hereda.
sandbox_enabledbool?nullSi el entorno aislado está habilitado para este perfil. None hereda el global.
shell_env_passthroughstring[][]Nombres de variables de entorno pasados a subprocesos de shell.
workspace_onlybooltrueRestringe el acceso al sistema de archivos a rutas relativas al espacio de trabajo. Valor predeterminado: false.

risk_profiles.<alias>.approval_route

Enruta las aprobaciones de herramientas a un canal de aprobador distinto con valores predeterminados fail-closed.

ClaveTipoPredeterminadoDescripción
approver_channel*cadenaUn nombre de canal registrado (NO el originador): el salto de aprobador distinto.
on_no_approvertablaQué hacer cuando no se puede contactar a un aprobador configurado. Valor predeterminado FAIL-CLOSED.
timeout_secsentero120Limita la ventana de respuesta del aprobador; un tiempo de espera deniega (protección DoS). Predeterminado: 120 s.

risk_profiles.<alias>.delegation_policy

Política de delegación de perfil de riesgo para el trabajo enviado a los agentes que la comparten.

ClaveTipoPredeterminadoDescripción
modetablaModo de delegación para un perfil de riesgo.

runtime

Configuración del adaptador en tiempo de ejecución (sección [runtime]).

ClaveTipoPredeterminadoDescripción
dockerobjetoConfiguración del tiempo de ejecución de Docker ([runtime.docker] sección).
kindnative | docker | cloudflareTipo de adaptador de runtime.
reasoning_effortstring?nullEsfuerzo de razonamiento opcional para los model_providers que exponen un control de nivel.
reasoning_enabledbool?nullAnulación global de razonamiento para los model_providers que exponen controles explícitos.
shellstring?nullBinario de shell que el runtime nativo usa para la ejecución de comandos.

runtime.docker

Configuración del tiempo de ejecución de Docker ([runtime.docker] sección).

ClaveTipoPredeterminadoDescripción
allowed_workspace_rootsstring[][]Lista de permitidos opcional de raíces del espacio de trabajo para la validación de montajes de Docker con denegación ante fallos: cuando mount_workspace está habilitado, el espacio de trabajo debe existir y resolverse a su forma canónica incluso cuando esta lista esté vacía; cada raíz configurada también debe existir y resolverse a su forma canónica; una entrada no válida rechaza el comando antes de que se inicie Docker; una lista vacía permite cualquier espacio de trabajo canónico.
cpu_limitnumber?1.0Límite de CPU opcional (None = sin límite explícito).
imagecadena"alpine:3.20"Imagen de tiempo de ejecución utilizada para ejecutar comandos de shell.
memory_limit_mbinteger?512Límite de memoria opcional en MB (None = sin límite explícito).
mount_workspacebooltrueMontar el espacio de trabajo configurado en /workspace.
networkcadena"none"Modo de red de Docker (none, bridge, etc.).
read_only_rootfsbooltrueMontar el sistema de archivos raíz como de solo lectura.

runtime_profiles

Perfiles de ejecución de runtime/LLM con nombre ([runtime_profiles.<alias>]).

runtime_profiles.<alias>

Perfil de ejecución de tiempo de ejecución/LLM ([runtime_profiles.<alias>]).

Ajuste operativo reutilizable: modo agentic, límites de iteración, presupuesto de contexto, despacho en paralelo, topes de recursos, profundidad de recursión y los controles de presupuesto que SecurityPolicy aplica con disciplina de subconjunto entre subagente y padre. Todo lo que tenga forma de autorización (comandos/herramientas/rutas permitidos, puertas de aprobación, sandbox) vive en [risk_profiles.<alias>]. Todo lo que tenga forma de proveedor de modelo (model, temperature, max_tokens, timeout_secs) vive en [providers.models.<type>.<alias>].

ClaveTipoPredeterminadoDescripción
agenticboolfalseHabilitar el modo agéntico (bucle de llamadas a herramientas de múltiples turnos).
agentic_timeout_secsinteger?nullTiempo de espera de ejecución de la delegación agéntica en segundos. None hereda el valor global.
auto_classifyobjeto
compact_contextbool?nullUsa bootstrap compacto (6000 caracteres / 2 fragmentos RAG). None hereda.
context_compressionobjeto
delegation_timeout_secsinteger?nullTiempo de espera de la llamada de delegado en segundos. None hereda el tiempo de espera global del delegado.
evalobjeto
history_pruningobjeto
keep_tool_context_turnsinteger?nullNúmero de turnos recientes cuyo contexto completo de herramientas se conserva. None hereda.
max_actions_per_hourentero20Máximo de acciones permitidas por hora. 0 es un presupuesto de cero absoluto — el
max_context_tokensinteger?nullMáximo de tokens estimados para el contexto antes de la compactación. None hereda.
max_cost_per_day_centsentero500Costo máximo por día en centavos. 0 hereda el límite global.
max_delegation_depthentero0Profundidad máxima de recursión de delegación. 0 hereda el valor predeterminado.
max_history_messagesinteger?nullMáximo de mensajes del historial de conversación retenidos por sesión. None hereda.
max_system_prompt_charsinteger?nullNúmero máximo de caracteres para el prompt del sistema ensamblado. None hereda.
max_tool_iterationsentero0Iteraciones máximas de llamadas a herramientas en modo agente. 0 hereda el valor predeterminado global.
max_tool_result_charsinteger?nullMáximo de caracteres para un único resultado de herramienta. None hereda.
memory_recall_limitinteger?nullMáximo de entradas de memoria inyectadas por turno. None hereda el valor predeterminado global (5).
parallel_toolsbool?nullHabilita la ejecución paralela de herramientas por iteración. None hereda.
prompt_injection_modetablaConfiguración de carga de habilidades (sección [skills]).
shell_timeout_secsentero60Tiempo de espera del subproceso de shell en segundos. 0 hereda el tiempo de espera global.
strict_tool_parsingboolfalse
thinkingobjetoConfiguración para controlar el nivel de pensamiento/razonamiento.
tool_call_dedup_exemptstring[][]Herramientas exentas de la comprobación de deduplicación dentro del turno.
tool_dispatcherstring?nullEstrategia de despacho de herramientas (p. ej. "auto"). None hereda.
tool_filter_groupsobject[][]
tool_receiptsobjetoConfiguración del comprobante de ejecución de la herramienta HMAC, por agente

runtime_profiles.<alias>.auto_classify

ClaveTipoPredeterminadoDescripción
complex_hintstring?null
cost_optimized_hintcadena"cost-optimized"
simple_hintstring?null
standard_hintstring?null

runtime_profiles.<alias>.context_compression

ClaveTipoPredeterminadoDescripción
enabledboolfalseEl compresor de contexto en tiempo de ejecución fue eliminado; no hay ruta de ejecución en tiempo de ejecución
identifier_policycadena"strict"
max_passesentero3
protect_first_nentero3
protect_last_nentero4
source_max_charsentero50000
summary_max_charsentero4000
summary_modelstring?nullID de modelo simple DEPRECATED retenido como respaldo de compatibilidad.
summary_providercadenaReferencia a una entrada [providers.models.<type>.<alias>] configurada.
threshold_rationúmero0.5
timeout_secsentero60
tool_result_retrim_charsentero2000
tool_result_trim_exemptstring[][]

runtime_profiles.<alias>.eval

ClaveTipoPredeterminadoDescripción
enabledboolfalse
max_retriesentero1
min_quality_scorenúmero0.5

runtime_profiles.<alias>.history_pruning

ClaveTipoPredeterminadoDescripción
collapse_tool_resultsbooltrue
enabledboolfalse
keep_recententero4
max_tokensentero8192

runtime_profiles.<alias>.thinking

Configuración para controlar el nivel de pensamiento/razonamiento.

ClaveTipoPredeterminadoDescripción
budget_tokensmapa{}
default_leveloff | minimal | low | medium | high | maxQué profundidad debe tener el razonamiento del modelo para un mensaje dado.
displayoff | omitted | updates | summarizedControl visible para el usuario de la beta thinking.display de Anthropic
native_thinkingboolfalseHabilita los parámetros de razonamiento nativos del proveedor cuando el nivel seleccionado tiene un presupuesto.

runtime_profiles.<alias>.tool_receipts

Configuración de acuse de recibo de ejecución de herramientas HMAC, por agente ([agents.<alias>.tool_receipts]).

Los receipts son etiquetas cortas HMAC-SHA256 añadidas a los resultados de herramientas para que el modelo no pueda afirmar que ejecutó una herramienta que en realidad nunca se ejecutó. Consulte docs/book/src/security/tool-receipts.md.

ClaveTipoPredeterminadoDescripción
enabledboolfalseGenera recibos HMAC en cada ejecución de herramienta. Predeterminado: false.
inject_system_promptbooltrueInyecta la instrucción receipt-echo en el prompt del sistema para que el
show_in_responseboolfalseAñade un bloque final Tool receipts: a las respuestas visibles para el usuario, de modo que

scheduler

Configuración del programador para la ejecución periódica de tareas (sección [scheduler]).

Controla los ajustes de cron-runtime: las declaraciones por trabajo residen en Config.cron: HashMap<String, CronJobDecl> (indexadas por alias), mientras que el comportamiento en tiempo de ejecución del bucle del planificador (enabled, límite de sondeo, recuperación) reside aquí.

ClaveTipoPredeterminadoDescripción
catch_up_on_startupbooltrueEjecutar todos los trabajos atrasados al iniciar el programador. Predeterminado: true.
enabledbooltrueHabilita el bucle del programador integrado. Cuando es false, no se ejecuta ningún cron job.
max_concurrententero4Número máximo de tareas ejecutadas en paralelo dentro de un único ciclo de sondeo.
max_run_historyentero50Número máximo de registros históricos de ejecuciones de cron a conservar. Predeterminado: 50.
max_tasksentero64Número máximo de tareas programadas persistidas por ciclo de sondeo.

schema_version

Versión del esquema del archivo de configuración.

secrets

Configuración de cifrado de secretos (sección [secrets]).

ClaveTipoPredeterminadoDescripción
encryptbooltrueHabilitar el cifrado de claves de API y tokens en reposo

security

Configuración de seguridad para el registro de auditoría, OTP, parada de emergencia, IAM/SSO, WebAuthn y el límite de salida NAT64 del host.

El backend de sandbox y los límites de recursos residen en los perfiles de riesgo por agente (consulta RiskProfileConfig::sandbox_* y RiskProfileConfig::max_*); el runtime los resuelve mediante Config::active_risk_profile(agent_alias).

ClaveTipoPredeterminadoDescripción
auditobjetoConfiguración de registro de auditoría
estopmapaConfiguración de parada de emergencia.
leak_detectionobjetoConfiguración de detección de fugas de credenciales salientes.
nat64_prefixesstring[][]Prefijos NAT64 RFC 6052 específicos de la red implementados en este host
nevismapaConfiguración de integración de IAM de Nevis.
otpmapaConfiguración de OTP de seguridad.
webauthnobjetoConfiguración de autenticación con clave de hardware WebAuthn / FIDO2 ([security.webauthn]).

security.audit

Configuración de registro de auditoría

ClaveTipoPredeterminadoDescripción
enabledbooltrueHabilitar el registro de auditoría
log_pathcadena"audit.log"Ruta al archivo de registro de auditoría (relativa al directorio de zeroclaw)
max_size_mbentero100Tamaño máximo del registro en MB antes de la rotación
sign_eventsboolfalseFirmar eventos con HMAC para evidencia de integridad

security.estop

Configuración de parada de emergencia.

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilitar los controles de parada de emergencia.
require_otp_to_resumebooltrueRequerir un OTP válido antes de reanudar las operaciones.
state_filecadena"/home/runner/.zeroclaw/estop-state.json"Ruta del archivo utilizada para persistir el estado de estop.

security.leak_detection

Configuración de detección de fugas de credenciales salientes.

Estos ajustes controlan el pase final de barrera de seguridad sobre las respuestas salientes del canal antes de que se entreguen. Los patrones deterministas de credenciales incluyen claves API, claves privadas, URLs de bases de datos, tokens de bots y sintaxis de tokens relacionada. El pase de alta entropía es una heurística separada para tokens opacos autónomos.

ClaveTipoPredeterminadoDescripción
enabledbooltrueHabilita la detección y el enmascaramiento de fugas de credenciales salientes.
high_entropy_tokensbooltrueHabilita la redacción de tokens de alta entropía; los patrones deterministas siguen ejecutándose cuando es false.
sensitivitynúmero0.7Sensibilidad de detección de 0.0 a 1.0; un valor más alto es más agresivo.

security.nevis

Configuración de integración de IAM de Nevis.

Cuando enabled es true, ZeroClaw valida las solicitudes entrantes contra una instancia de Nevis Security Suite y asigna los roles de Nevis a los permisos de herramienta/espacio de trabajo.

ClaveTipoPredeterminadoDescripción
client_idcadena""ID de cliente OAuth2 registrado en Nevis.
client_secret 🔑string?nullSecreto del cliente OAuth2. Cifrado mediante SecretStore cuando se almacena en el disco.
enabledboolfalseHabilitar la integración con Nevis IAM. El valor predeterminado es false para mantener la compatibilidad con versiones anteriores.
instance_urlcadena""URL base de la instancia de Nevis (por ejemplo, https://nevis.example.com).
jwks_urlstring?nullURL del punto de conexión JWKS para la validación local de tokens.
realmcadena"master"Dominio de Nevis para autenticar.
require_mfaboolfalseRequerir la verificación de MFA para todas las solicitudes autenticadas con Nevis.
role_mappingmap[][]Mapeos de permisos de ZeroClaw a roles de Nevis.
session_timeout_secsentero3600Tiempo de espera de la sesión en segundos.
token_validationcadena"local"Estrategia de validación de tokens: "local" (JWKS) o "remote" (introspección).

security.otp

Configuración de OTP de seguridad.

ClaveTipoPredeterminadoDescripción
cache_valid_secsentero300Reutilizar la ventana para códigos OTP validados recientemente.
challenge_max_attemptsentero3Número máximo de intentos de desafío OTP antes del bloqueo.
enabledboolfalseHabilitar el control de acceso mediante OTP. El valor predeterminado es deshabilitado para mantener la compatibilidad con versiones anteriores.
gated_actionsstring[]["shell","file_write","browser_open","browser","memory_forget"]Nombres de herramientas/acciones protegidos por OTP. Las entradas vacías o con formato incorrecto se rechazan
gated_domain_categoriesstring[][]Las categorías de dominio predefinidas se han expandido en gated_domains.
gated_domainsstring[][]Patrones de dominio explícitos controlados por OTP.
methodtablaEstrategia de validación de OTP.
token_ttl_secsentero30Paso de tiempo TOTP en segundos.

security.webauthn

Configuración de autenticación con clave de hardware WebAuthn / FIDO2 ([security.webauthn]).

Habilita el registro y la autenticación mediante claves de seguridad de hardware (YubiKey, SoloKey, etc.) y autenticadores de plataforma (Touch ID, Windows Hello).

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilitar la autenticación WebAuthn. Valor predeterminado: false.
rp_idcadena"localhost"Identificador de la parte que confía (nombre de dominio, por ejemplo, “example.com”). Predeterminado: “localhost”.
rp_namecadena"ZeroClaw"Nombre para mostrar de la parte que confía. Predeterminado: “ZeroClaw”.
rp_origincadena"http://localhost:42617"URL de origen de la parte que confía (por ejemplo, "https://example.com"). Valor predeterminado: "http://localhost:42617".

security_ops

Configuración del agente del panel de control del Servicio de Ciberseguridad Gestionado (MCSS) ([security_ops]).

ClaveTipoPredeterminadoDescripción
auto_triageboolfalseClasificar automáticamente las alertas entrantes sin solicitar confirmación al usuario.
enabledboolfalseHabilitar herramientas de operaciones de seguridad.
max_auto_severitycadena"bajo"Nivel máximo de severidad que puede ser auto-remediado sin aprobación.
playbooks_dircadena"/home/runner/.zeroclaw/playbooks"Directorio que contiene las definiciones del plan de respuesta a incidentes (JSON).
report_output_dircadena"/home/runner/.zeroclaw/security-reports"Directorio para los informes de seguridad generados.
require_approval_for_actionsbooltrueRequerir aprobación humana antes de ejecutar las acciones del playbook.
siem_integrationstring?nullURL del webhook SIEM opcional para la ingesta de alertas.

shell_tool

Configuración de la herramienta de shell (sección [shell_tool]).

Controla el comportamiento de la herramienta de ejecución de shell. El parámetro principal ajustable es timeout_secs, que representa el tiempo máximo de reloj real que un comando de shell puede ejecutarse antes de ser terminado.

ClaveTipoPredeterminadoDescripción
timeout_secsentero60Tiempo máximo de ejecución del comando de shell en segundos (predeterminado: 60).

skill_bundles

Paquetes de skills con nombre ([skill_bundles.<alias>]).

skill_bundles.<alias>

Paquete de habilidades nombrado ([skill_bundles.<alias>]).

Un grupo reutilizable de habilidades que puede adjuntarse a un agente o canal mediante un alias, controlando qué habilidades se cargan y desde dónde.

ClaveTipoPredeterminadoDescripción
directorystring?nullRuta del directorio (relativa a la raíz del espacio de trabajo) para cargar habilidades desde.
excludestring[][]Nombres de habilidades a excluir de este paquete.
includestring[][]Nombres de habilidades a incluir. Vacío significa incluir todas las habilidades en directory.

skills

Configuración de carga de habilidades (sección [skills]).

ClaveTipoPredeterminadoDescripción
allow_scriptsboolfalsePermitir archivos similares a scripts en las habilidades (.sh, .bash, .ps1, archivos de shell con shebang).
extra_registriesobject[]Registros de habilidades adicionales configurados por el usuario, instalados mediante
install_suggestionsobjetoSugerencias de instalación de skill activadas por prompt (sección [skills.install_suggestions]).
open_skills_dirstring?nullRuta opcional a un repositorio local de open-skills.
open_skills_enabledboolfalseHabilitar la carga y sincronización del repositorio de habilidades abiertas de la comunidad.
prompt_injection_modetablaConfiguración de carga de habilidades (sección [skills]).
registry_urlstring?nullURL del repositorio del registro de habilidades para instalaciones con nombre base.
skill_creationobjetoConfiguración de creación autónoma de habilidades (sección [skills.skill_creation]).
skill_improvementobjetoConfiguración de automejora de skills (sección [skills.skill-improvement]).

skills.install_suggestions

Sugerencias de instalación de skill activadas por prompt (sección [skills.install_suggestions]).

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilita sugerencias para skills instalables antes de los turnos normales del agente.

skills.skill_creation

Configuración de creación autónoma de habilidades (sección [skills.skill_creation]).

ClaveTipoPredeterminadoDescripción
enabledboolfalseHabilitar la creación automática de habilidades después de tareas exitosas en varios pasos.
max_final_answer_charsentero2000Máximo de caracteres de la respuesta final del asistente enviada a la
max_skillsentero500Número máximo de habilidades generadas automáticamente que se deben conservar.
max_task_charsentero1000Máximo de caracteres de la descripción de la tarea alimentada en la reflexión
max_tool_trace_charsentero4000Máximo de caracteres del rastro de llamada a herramienta renderizado introducido en el
reflection_enabledboolfalseSynthesize un SKILL.md canónico a partir del rastro de ejecución mediante una
similarity_thresholdnúmero0.85Umbral de similitud de incrustaciones para la deduplicación.

skills.skill_improvement

Configuración de automejora de skills (sección [skills.skill-improvement]).

Controla la bifurcación de revisión en segundo plano posterior al turno que puede aplicar parches, ampliar o archivar habilidades según lo que reveló la conversación. La bifurcación se ejecuta en un conjunto de herramientas restringido (solo skills_list, skill_view, skill_manage) y nunca afecta a la conversación visible para el usuario.

ClaveTipoPredeterminadoDescripción
cooldown_secsentero3600Intervalo mínimo (en segundos) entre revisiones para la misma habilidad.
enabledboolfalseHabilita la bifurcación de revisión de habilidades en segundo plano. Valor predeterminado: false.
max_review_iterationsentero8Número máximo de iteraciones de llamadas a herramientas que el fork de revisión puede realizar.
nudge_interval_iterationsentero10Genera una bifurcación de revisión una vez que se hayan alcanzado al menos esta cantidad de iteraciones de llamadas a herramientas

sop

Configuración del motor de Procedimientos Operativos Estándar ([sop]).

El campo default_execution_mode utiliza el tipo SopExecutionMode de sop::types (reexportado a través de sop::SopExecutionMode). Para evitar referencias circulares entre módulos, la configuración lo almacena utilizando la misma definición de enumeración.

ClaveTipoPredeterminadoDescripción
approvalobjeto[sop.approval] - configuración de política del intermediario de aprobaciones. Una fuente de identidad permanente
approval_modetablaQUIÉN puede desactivar una puerta de aprobación SOP. Superpuesto con execution_mode / priority /
approval_timeout_actiontabla¿Qué sucede con una puerta de aprobación de SOP cuando expira el tiempo de espera. El valor predeterminado es denegar por seguridad:
approval_timeout_secsentero300Tiempo de espera de aprobación en segundos. Cuando una ejecución espera la aprobación durante más de
default_execution_modecadena"supervisado"Modo de ejecución predeterminado para SOP que omiten execution_mode.
maintenance_interval_secsentero60Con qué frecuencia (en segundos) el demonio ejecuta el tick de mantenimiento de SOP: fire
max_concurrent_totalentero4Máximo total de ejecuciones concurrentes de SOP en todas las SOP.
max_finished_runsentero100Número máximo de ejecuciones finalizadas que se mantienen en memoria para consultas de estado.
max_step_retriesentero2Máximo de reintentos permitidos por una política de fallos de paso.
max_step_visitsentero256Número máximo de veces que una ejecución de SOP enrutada puede visitar un paso.
persist_runsbooltrueMantén el estado de ejecución de forma persistente entre reinicios. Predeterminado true: build_sop_engine
procedural_memory_enabledboolfalseHabilita las herramientas de propuesta de memoria procedimental de SOP. El valor predeterminado false mantiene
run_state_dirstring?nullDirectorio para el almacén persistente de ejecuciones (creado con modo 0700). Cuando se omite,
run_store_backendtablaSelector de backend de estado de ejecución de SOP durable. Un conjunto cerrado, conocido en tiempo de compilación, por lo que
sops_dirstring?nullDirectorio que contiene las definiciones de SOP (subdirectorios con SOP.toml + SOP.md).
step_mandatory_toolsstring[]["sop_advance","sop_approve","sop_status"]Nombres de herramientas que permanecen disponibles mientras se aplica el ámbito del paso.
step_schema_enforcebooltrueEnforce esquemas de entrada/salida por paso cuando un paso los declare.
step_scope_enforceboolfalseExigir el ámbito de herramientas por paso. El valor predeterminado false mantiene tools: como asesor.
untrusted_frame_warningbooltrueIncluye el texto de advertencia explicativo dentro de marcos de contenido no confiable.
untrusted_guard_sensitivitynúmero0.7Sensibilidad de prompt-guard y redacción saliente para contenido SOP no confiable.
untrusted_input_guardcadena"warn"Acción de protección de prompts para la entrada de activación SOP no confiable: advertir, bloquear o sanear.
untrusted_outbound_redactbooltrueRedacta el contenido del SOP saliente antes de que los consumidores de persistencia/auditoría lo escriban.
untrusted_payload_max_bytesentero8192Máximo de bytes aceptados del contenido del topic/payload del disparador SOP no confiable

sop.approval

[sop.approval] - configuración de la política del broker de aprobación. Una fuente de identidad permanente para los aprobadores proporcionados por el canal (no una solución provisional): el broker de aprobación la consume para verificaciones de membresía de grupo y quórum. Vacío = no se aplica ninguna política de broker.

Una ranura por familia (groups, policies). Cada ranura es un mapa [sop.approval.<slot>.<alias>]; consulte la página de la sección dedicada para ver la referencia por campo.

storage

Configuración de almacenamiento persistente (sección [storage]).

El almacenamiento es un mapa de dos niveles con clave de alias: [storage.<backend>.<alias>], paralelo a [providers.models.<type>.<alias>]. Cada backend tiene su propia estructura de configuración tipada. MemoryConfig.backend lleva una referencia con notación de puntos ("sqlite.default", "postgres.work") que se resuelve a una de estas entradas mediante [Config::resolve_active_storage].

Un slot por familia (lucid, markdown, postgres, qdrant, sqlite). Cada slot es un mapa [storage.<slot>.<alias>]; consulte la página de la sección dedicada para la referencia campo por campo.

text_browser

Configuración de la herramienta del navegador de texto (sección [text_browser]).

Utiliza navegadores basados en texto (lynx, links, w3m) para renderizar páginas web como texto plano. Diseñado para entornos sin interfaz gráfica o mediante SSH, donde no hay navegadores gráficos disponibles.

ClaveTipoPredeterminadoDescripción
allowed_private_hostsstring[][]Los hosts privados/internos pueden relajar la comprobación SSRF de direcciones públicas.
enabledboolfalseHabilitar la herramienta text_browser
preferred_browserstring?nullNavegador de texto preferido (“lynx”, “links” o “w3m”). Si no está configurado, se detecta automáticamente.
timeout_secsentero30Tiempo de espera de la solicitud en segundos (predeterminado: 30)

transcription

Configuración de transcripción de voz con soporte para múltiples proveedores.

Los campos de nivel superior api_url, model y api_key se mantienen para garantizar la compatibilidad con configuraciones existentes basadas en Groq.

ClaveTipoPredeterminadoDescripción
api_key 🔑string?nullClave de API utilizada para las solicitudes de transcripción (proveedor de transcripción Groq).
api_urlcadena"https://api.groq.com/openai/v1/audio/transcriptions"URL del endpoint de la API de Whisper (proveedor de transcripción Groq).
assemblyaiobjetoConfiguración de model_provider de STT de AssemblyAI ([transcription.assemblyai]).
deepgramobjetoConfiguración model_provider de STT de Deepgram ([transcription.deepgram]).
enabledboolfalseHabilitar la transcripción de voz para los canales que lo admitan.
googleobjetoConfiguración de model_provider de Google Cloud Speech-to-Text ([transcription.google]).
initial_promptstring?nullPrompt inicial opcional para sesionar la transcripción hacia el vocabulario esperado
languagestring?nullSugerencia de idioma opcional (ISO-639-1, p. ej. “en”, “ru”) para el proveedor de transcripción Groq.
local_whisperobjetoPunto final de STT compatible con Whisper local/autoalojado ([transcription.local_whisper]).
max_audio_bytesinteger?nullLímite superior global opcional del tamaño de audio en bytes, aplicado antes
max_duration_secsentero120Duración máxima de la voz en segundos (los mensajes más largos que este se omiten).
modelcadena"whisper-large-v3-turbo"Nombre del modelo Whisper (proveedor de transcripción Groq).
openaiobjetoConfiguración de model_provider de OpenAI Whisper STT ([transcription.openai]).
transcribe_non_ptt_audioboolfalseTambién transcribe los mensajes de audio no PTT (reenviados/regulares) en WhatsApp,

transcription.assemblyai

Configuración de model_provider de STT de AssemblyAI ([transcription.assemblyai]).

ClaveTipoPredeterminadoDescripción
api_key 🔑string?nullClave API de AssemblyAI.

transcription.deepgram

Configuración model_provider de STT de Deepgram ([transcription.deepgram]).

ClaveTipoPredeterminadoDescripción
api_key 🔑string?nullClave de API de Deepgram.
modelcadena"nova-2"Nombre del modelo de Deepgram (predeterminado: “nova-2”).

transcription.google

Configuración de model_provider de Google Cloud Speech-to-Text ([transcription.google]).

ClaveTipoPredeterminadoDescripción
api_key 🔑string?nullClave de API de Google Cloud.
language_codecadena"es-ES"Código de idioma BCP-47 (predeterminado: “en-US”).

transcription.local_whisper

Punto final de STT compatible con Whisper local/autoalojado ([transcription.local_whisper]).

Configura un extremo STT autoalojado. Puede estar en localhost, en un host de una red privada o en cualquier URL accesible.

ClaveTipoPredeterminadoDescripción
bearer_token 🔑string?nullToken de portador para la autenticación del punto de conexión.
max_audio_bytesentero26214400Tamaño máximo del archivo de audio en bytes aceptado por este endpoint.
timeout_secsentero300Tiempo de espera de la solicitud en segundos. El valor predeterminado es 300 (archivos grandes en GPU local).
url*cadenaURL del punto de conexión HTTP o HTTPS, por ejemplo, "http://10.10.0.1:8001/v1/transcribe".

transcription.openai

Configuración de model_provider de OpenAI Whisper STT ([transcription.openai]).

ClaveTipoPredeterminadoDescripción
api_key 🔑string?nullClave de la API de OpenAI para la transcripción de Whisper.
modelcadena"whisper-1"Nombre del modelo Whisper (predeterminado: “whisper-1”).

trust

ClaveTipoPredeterminadoDescripción
correction_penaltynúmero0.05
decay_half_life_daysnúmero30.0
initial_scorenúmero0.8
regression_thresholdnúmero0.5
success_boostnúmero0.01

tts

Configuración del subsistema de Text-to-Speech ([tts]).

Las configuraciones de TTS por instancia se encuentran en [tts_providers.<type>.<alias>] (de forma paralela a providers.models). Lo que queda aquí son los parámetros de tiempo de ejecución globales que se aplican a cada invocación de model_provider.

ClaveTipoPredeterminadoDescripción
default_formatcadena"mp3"Formato de salida de audio predeterminado ("mp3", "opus", "wav").
default_voicecadena"aleación"ID de voz predeterminado que se pasa al proveedor de tts seleccionado.
enabledboolfalseHabilitar la síntesis de TTS.
max_text_lengthentero4096Longitud máxima del texto de entrada en caracteres (por defecto 4096).

tunnel

Configuración del túnel para exponer el gateway públicamente (sección [tunnel]).

Proveedores de modelos compatibles: "none" (predeterminado), "cloudflare", "tailscale", "ngrok", "openvpn", "pinggy", "custom".

ClaveTipoPredeterminadoDescripción
cloudflareobjeto
customobjeto
ngrokobjeto
openvpnobjetoConfiguración del túnel OpenVPN ([tunnel.openvpn]).
pinggyobjeto
tailscaleobjeto
tunnel_providercadena"none"Cómo se expone el gateway a la red pública para que los webhooks (Telegram, Slack, etc.) puedan alcanzarlo. none = mantenerlo local, sin túnel; cloudflare = Cloudflare Tunnel mediante cloudflared (requiere una cuenta de Zero Trust y un token); tailscale = Tailscale Funnel/Serve (solo tailnet o público, sin más cuenta que tailscale); ngrok = agente de ngrok con token de autenticación; openvpn = salida OpenVPN propia (bring-your-own); pinggy = túneles SSH de Pinggy (URLs rápidas de un solo uso); custom = ejecutar un comando arbitrario que definas en [tunnel.custom].

tunnel.cloudflare

ClaveTipoPredeterminadoDescripción
token 🔑cadena""Token de Cloudflare Tunnel (desde el panel de Zero Trust)

tunnel.custom

ClaveTipoPredeterminadoDescripción
health_urlstring?nullURL opcional para verificar la salud del túnel
start_commandcadena""Plantilla de comando para iniciar el túnel. Utiliza los marcadores {port} y {host}.
url_patternstring?nullExpresión regular opcional para extraer la URL pública de la salida estándar del comando

tunnel.ngrok

ClaveTipoPredeterminadoDescripción
auth_token 🔑cadena""token de autenticación de ngrok
domainstring?nullDominio personalizado opcional

tunnel.openvpn

Configuración del túnel OpenVPN ([tunnel.openvpn]).

Obligatorio cuando tunnel.tunnel_provider = "openvpn". Omitir esta sección por completo conserva el comportamiento anterior. Establecer tunnel.tunnel_provider = "none" (o eliminar el bloque [tunnel.openvpn]) revierte limpiamente al modo sin túnel.

Valores predeterminados: connect_timeout_secs = 30.

ClaveTipoPredeterminadoDescripción
advertise_addressstring?nullDirección anunciada una vez que la VPN esté conectada (por ejemplo, "10.8.0.2:42617").
auth_filestring?nullRuta opcional al archivo de credenciales de autenticación (--auth-user-pass).
config_file*cadenaRuta al archivo de configuración .ovpn (no debe estar vacío).
connect_timeout_secsentero30Tiempo de espera de conexión en segundos (predeterminado: 30, debe ser > 0).
extra_argsstring[][]Argumentos adicionales de la CLI de OpenVPN se reenvían literalmente.

tunnel.pinggy

ClaveTipoPredeterminadoDescripción
regionstring?nullRegión del servidor: "us" (EE. UU.), "eu" (Europa), "ap" (Asia), "br" (América del Sur), "au" (Australia), u omitir para auto.
token 🔑string?nullToken de acceso de Pinggy (opcional: la capa gratuita funciona sin uno).

tunnel.tailscale

ClaveTipoPredeterminadoDescripción
funnelboolfalseUtiliza Tailscale Funnel (internet público) frente a Serve (solo tailnet).
hostnamestring?nullAnulación opcional del nombre de host

verifiable_intent

Emisión de credenciales y comprobación de restricciones de Verifiable Intent (VI) (sección [verifiable_intent]).

ZeroClaw implementa la emisión, la criptografía, los tipos y la comprobación de restricciones, pero no un verificador de cadenas de credenciales. Hasta que exista uno, la herramienta vi_verify se mantiene fuera del registro visible para el modelo, por lo que ninguna de las dos claves siguientes habilita la verificación de una credencial. Las rutas de la biblioteca no se ven afectadas.

Al habilitar la sección, esa carencia se notifica de dos maneras. El tiempo de ejecución la registra en cada aplicación de la configuración, lo que requiere que la persistencia de registros esté habilitada para llegar a un destino. zeroclaw doctor y la API de configuración también la notifican como la advertencia de validación verifiable_intent_tool_withheld, que sigue disponible cuando la persistencia está deshabilitada.

ClaveTipoPredeterminadoDescripción
enabledboolfalseActivar la sección VI (predeterminado: false).
strictnesscadena"strict"Modo de rigor previsto para la evaluación de restricciones.

web_fetch

Configuración de la herramienta de obtención web (sección [web_fetch]).

Obtiene páginas web y convierte HTML en texto sin formato para su consumo por parte de los LLM. Filtrado de dominios: allowed_domains controla qué hosts son accesibles (use ["*"] para todos los hosts públicos). blocked_domains tiene prioridad sobre allowed_domains. Si allowed_domains está vacío, se rechazan todas las solicitudes (denegación predeterminada). Se siguen las redirecciones al mismo host; se rechazan las redirecciones a otros hosts para que las respuestas DNS validadas permanezcan fijadas al transporte de la solicitud.

ClaveTipoPredeterminadoDescripción
allowed_domainsstring[]["*"]Dominios permitidos para la búsqueda web (coincidencia exacta o de subdominio; ["*"] = todos los hosts públicos)
allowed_private_hostsstring[][]Hosts privados/internos a los que se permite relajar la comprobación de SSRF de direcciones públicas
blocked_domainsstring[][]Dominios bloqueados (coincidencia exacta o de subdominio; siempre tiene prioridad sobre allowed_domains)
enabledbooltrueHabilitar la herramienta web_fetch para obtener contenido de páginas web
firecrawlobjetoConfiguración de respaldo de Firecrawl para sitios con mucho JavaScript y bloqueados por bots.
max_response_sizeentero500000Tamaño máximo de la respuesta en bytes (por defecto: 500KB, el texto plano es mucho más pequeño que el HTML sin procesar)
timeout_secsentero30Tiempo de espera de la solicitud en segundos (predeterminado: 30)

web_fetch.firecrawl

Configuración de respaldo de Firecrawl para sitios con mucho JavaScript y bloqueados por bots.

Cuando está habilitado, si la solicitud web estándar falla (error HTTP, cuerpo vacío o cuerpo más corto que 100 caracteres, lo que sugiere una página solo con JS), la herramienta vuelve a la API de Firecrawl para extraer contenido oculto.

ClaveTipoPredeterminadoDescripción
api_key_envcadena"FIRECRAWL_API_KEY"Nombre de la variable de entorno para la clave de la API de Firecrawl
api_urlcadena"https://api.firecrawl.dev/v1"URL base de la API de Firecrawl
enabledboolfalseHabilitar el respaldo de Firecrawl
modetablaModo de respaldo de Firecrawl: extraer una sola página o rastrear páginas enlazadas.

Configuración de la herramienta de búsqueda web (sección [web_search]).

ClaveTipoPredeterminadoDescripción
bocha_api_key 🔑string?nullClave de API de Bocha AI Web Search (requerida si search_provider es "bocha"). Consígala en https://open.bochaai.com.
brave_api_key 🔑string?nullClave de API de Brave Search (obligatoria si search_provider es “brave”)
enabledbooltrueHabilita web_search_tool para las búsquedas web
jina_api_key 🔑string?nullClave de API de Jina AI (requerida si search_provider es “jina”)
max_resultsentero5Resultados máximos por búsqueda (1-10)
search_providercadena"duckduckgo"Proveedor de búsqueda: “duckduckgo” (gratuito), “brave” (requiere clave de API), “tavily” (requiere clave de API), “searxng” (autoalojado), “jina” (requiere clave de API) o “bocha” (Bocha AI, requiere clave de API — compatible con chino, https://open.bochaai.com)
searxng_instance_urlstring?nullURL de la instancia de SearXNG (obligatorio si search_provider es "searxng"), p. ej. "https://searx.example.com".
tavily_api_key 🔑string?nullClave de API de Tavily Search (obligatoria si search_provider es “tavily”)
timeout_secsentero15Tiempo de espera de la solicitud en segundos

wss

Transporte WebSocket Secure (WSS) para conexiones remotas TUI-a-daemon ([wss]).

Cuando está habilitado, el daemon escucha conexiones WebSocket cifradas con TLS en la dirección de enlace y el puerto configurados. Los clientes TUI se conectan mediante --connect wss://host:port.

ClaveTipoPredeterminadoDescripción
bindcadena"0.0.0.0"Dirección de enlace para el listener WSS (predeterminado: “0.0.0.0”).
cert_pathcadena""Ruta al archivo de certificado del servidor codificado en PEM.
client_authobjetoAutenticación mediante certificado de cliente (mTLS) para el transporte WSS remoto
enabledboolfalseHabilitar el listener WSS (predeterminado: false).
handshake_timeout_secsentero10Un único límite de tiempo absoluto, en segundos, que cubra la aceptación de TLS Y la
incomplete_message_timeout_secsentero60Durante cuánto tiempo, en segundos, puede retenerse un mensaje recibido parcialmente por el
key_pathcadena""Ruta al archivo de clave privada del servidor codificado en PEM.
max_pending_handshakesentero256Límite de sockets tras accept() que aún no han terminado el TLS
max_sessionsentero64Límite máximo de sesiones WSS establecidas simultáneamente (predeterminado: 64). Límites
max_sessions_per_cliententero8Límite de sesiones simultáneas que presentan UN certificado de cliente
portentero9781Puerto para el listener WSS (predeterminado: 9781).
sansstring[][]Nombres alternativos del sujeto adicionales para el certificado de servidor GENERADO AUTOMÁTICAMENTE

wss.client_auth

Autenticación mediante certificado de cliente (mTLS) para el transporte WSS remoto ([wss.client_auth]).

Esto refleja [GatewayClientAuthConfig]; las dos son estructuras distintas únicamente porque la derivación Configurable vincula el prefijo de sección al tipo. La lógica de verificación en sí está definida en un único lugar, el crate zeroclaw-tls.

A diferencia de la variante del gateway, no hay ningún parámetro require_client_cert: el plano WSS remoto siempre está autenticado mutuamente (no existe una ruta de TLS solo de servidor), por lo que se requiere un certificado de cliente de forma incondicional.

ClaveTipoPredeterminadoDescripción
ca_cert_pathcadena""Ruta al certificado de CA codificado en PEM que se usa para verificar los certificados de cliente.
crl_pathcadena""Ruta opcional a una lista de huellas digitales revocadas (un valor hexadecimal SHA-256 por línea). A
enabledboolfalseUse la CA proporcionada por el usuario que se indica a continuación. Cuando es false (valor predeterminado), el demonio
pinned_certsstring[][]Huellas digitales SHA-256 opcionales para la fijación de certificados. Cuando no estén vacías,