Referencia de configuración
ZeroClaw se configura mediante un archivo TOML. Todos los campos son opcionales a menos que se indique lo contrario.
| Sección | Descripción |
|---|---|
a2a | Contenedor de la sección A2A que deja margen para futura configuración del mismo nivel. |
acp | Configuración del servidor ACP (Agent Client Protocol) (sección [acp]). |
agents | Agentes con alias en esta instalación. Cada entrada en [agents.<alias>] |
backup | Configuración de la herramienta de copia de seguridad (sección [backup]). |
browser | Configuración de automatización del navegador (sección [browser]). |
browser_delegate | |
channels | Configuraciones de canal de nivel superior (sección [channels]). |
claude_code | Configuración de la herramienta CLI de Claude Code (sección [claude_code]). |
claude_code_runner | Configuración del ejecutor de tareas de Claude Code (sección [claude_code_runner]). |
cloud_ops | Controla las herramientas de análisis de transformación en la nube de solo lectura: |
codex_cli | Configuración de la herramienta CLI de Codex (sección [codex_cli]). |
composio | Integración de herramientas de OAuth gestionadas por Composio ([composio] sección). |
conversational_ai | Configuración del constructor de agentes de IA conversacional (sección [conversational_ai]). |
cost | Configuración del seguimiento de costos y la aplicación del presupuesto (sección [cost]). |
cron | Trabajos cron declarativos ([cron.<alias>]), indexados por alias. |
data_retention | Configuración de retención y purga de datos ([data_retention] sección). |
delegate | Configuración global de herramientas de delegación para los valores predeterminados de tiempo de espera. |
embedding_routes | Reglas de enrutamiento de embeddings: enruta hint:<name> a uno específico |
enroll | Punto de conexión de inscripción de certificados ([enroll]). |
escalation | Configuración de enrutamiento de escalamiento (sección [escalation]). |
eval | Configuración para el arnés de evaluación del agente ([eval]), expuesta a través del |
file_download | Configuración de la herramienta independiente de descarga de archivos ([file_download]). |
file_upload | Configuración de la herramienta independiente de carga de archivos ([file_upload]). |
file_upload_bundle | Configuración de la herramienta independiente de carga de paquetes de varios archivos |
gateway | Configuración del servidor de puerta de enlace (sección [gateway]). |
gemini_cli | Configuración de la herramienta Gemini CLI (sección [gemini_cli]). |
google_workspace | Configuración de la herramienta de línea de comandos de Google Workspace (gws) (sección [google_workspace]). |
hardware | Configuración de hardware guiada por asistente para la interacción con el mundo físico. |
heartbeat | Configuración del latido para pings de salud periódicos (sección [heartbeat]). |
hooks | |
http_request | Configuración de la herramienta de solicitudes HTTP (sección [http_request]). |
image_gen | Configuración de la herramienta de generación de imágenes independiente ([image_gen]). |
jira | Configuración de la integración de Jira ([jira]). |
knowledge | Configuración del grafo de conocimiento para capturar y reutilizar la experiencia. |
knowledge_bundles | Paquetes de conocimiento con nombre ([knowledge_bundles.<alias>]). |
link_enricher | Comprensión automática de enlaces para mensajes entrantes del canal ([link_enricher]). |
linkedin | Configuración de la integración de LinkedIn (sección [linkedin]). |
locale | Configuración regional para las descripciones de herramientas (por ejemplo, "en", "zh-CN"). |
mcp | Configuración del cliente MCP externo ([mcp] sección). |
mcp_bundles | Paquetes de servidores MCP con nombre ([mcp_bundles.<alias>]). |
media_pipeline | Configuración del pipeline de comprensión automática de medios ([media_pipeline]). |
memory | Configuración del backend de memoria (sección [memory]). |
microsoft365 | Integración de Microsoft 365 a través de la API de Microsoft Graph (sección [microsoft365]). |
model_routes | Reglas de enrutamiento de modelos: enruta hint:<name> a uno específico |
multimodal | Configuración de manejo multimodal (imágenes) (sección [multimodal]). |
nodes | Configuración para el sistema de descubrimiento dinámico de nodos ([nodes]). |
notion | Configuración de la integración de Notion ([notion]). |
observability | Configuración del backend de observabilidad (sección [observability]). |
onboard_state | Configuración de aislamiento de espacio de trabajo para múltiples clientes. |
opencode_cli | Configuración de la herramienta CLI de OpenCode (sección [opencode_cli]). |
pacing | Controles de ritmo para cargas de trabajo de LLM lentos/locales (sección [pacing]). |
peer_groups | Grupos de pares con nombre ([peer_groups.<name>]). Cada entrada vincula un |
peripherals | Configuración de integración de la placa periférica (sección [peripherals]). |
pipeline | Configuración de la herramienta de pipeline (sección [pipeline]). |
plugins | Configuración del sistema de plugins. |
project_intel | Configuración de la inteligencia de entrega del proyecto ([project_intel] sección). |
providers | Contenedor de nivel superior para cada categoría de proveedor configurada. |
proxy | Configuración del proxy para el tráfico saliente HTTP/HTTPS/SOCKS5 (sección [proxy]). |
query_classification | Clasificación automática de consultas — clasifica los mensajes del usuario por palabra clave o patrón |
relay | Cliente del relé nominado ([relay]). |
reliability | Configuración de fiabilidad y supervisión (sección [reliability]). |
risk_profiles | Perfiles de riesgo/autonomía con nombre ([risk_profiles.<alias>]). |
runtime | Configuración del adaptador en tiempo de ejecución (sección [runtime]). |
runtime_profiles | Perfiles de ejecución de runtime/LLM con nombre ([runtime_profiles.<alias>]). |
scheduler | Configuración del programador para la ejecución periódica de tareas (sección [scheduler]). |
schema_version | Versión del esquema del archivo de configuración. |
secrets | Configuración de cifrado de secretos (sección [secrets]). |
security | Configuración de seguridad para el registro de auditoría, OTP, parada de emergencia, IAM/SSO, WebAuthn, |
security_ops | Configuración del agente del panel de control del Servicio de Ciberseguridad Gestionado (MCSS) ([security_ops]). |
shell_tool | Configuración de la herramienta de shell (sección [shell_tool]). |
skill_bundles | Paquetes de skills con nombre ([skill_bundles.<alias>]). |
skills | Configuración de carga de habilidades (sección [skills]). |
sop | Configuración del motor de Procedimientos Operativos Estándar ([sop]). |
storage | Configuración de almacenamiento persistente (sección [storage]). |
text_browser | Configuración de la herramienta del navegador de texto (sección [text_browser]). |
transcription | Configuración de transcripción de voz con soporte para múltiples proveedores. |
trust | |
tts | Configuración del subsistema de Text-to-Speech ([tts]). |
tunnel | Configuración del túnel para exponer el gateway públicamente (sección [tunnel]). |
verifiable_intent | Emisión de credenciales de intención verificable (VI) y comprobación de restricciones |
web_fetch | Configuración de la herramienta de obtención web (sección [web_fetch]). |
web_search | Configuración de la herramienta de búsqueda web (sección [web_search]). |
wss | Transporte 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
server | objeto | — | Configuración del servidor de descubrimiento A2A entrante. |
a2a.server
Configuración del servidor de descubrimiento A2A entrante.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
bind | string? | — | Anulación opcional del host solo para anuncios de las URL de endpoint de la tarjeta. El |
enabled | bool | false | Interruptor maestro para la superficie A2A entrante. Valor predeterminado false: no |
port | integer? | — | Anulación opcional del puerto solo para anunciar, emparejada con bind. None |
public_base_url | cadena | "" | 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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
default_agent | string? | — | Alias del agente que se usa cuando session/new omite agentAlias y hay más de |
max_sessions | entero | 10 | Número máximo de sesiones ACP concurrentes. Predeterminado: 10. |
session_timeout_secs | entero | 3600 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
a2a | objeto | — | Configuración de publicación A2A por agente y de habilidades expuestas. |
acp_enable_mcp | bool | false | Inicializa las herramientas mcp_bundles de este agente cuando sirva un ACP |
channels | string[] | [] | Alias de canal que maneja este agente (p. ej., ["telegram.<alias>", "discord.<alias>"]). |
classifier_provider | cadena | — | Referencia a una entrada [providers.models.<type>.<alias>] configurada. |
cron_jobs | string[] | [] | Aliases de trabajos cron. Cada entrada hace referencia a cron[key], una declarativa |
delegate_same_risk_profile | bool | true | Permitir automáticamente la delegación a cada agente que comparta el riesgo de este agente |
delegates | object[] | [] | Lista explícita de delegados: alias adicionales de agentes que este agente puede |
enabled | bool | true | Si este agente está activo. Establezca false para deshabilitarlo sin eliminar la definición. |
identity | objeto | — | Configuración del formato de identidad (sección [identity]). |
knowledge_bundles | string[] | [] | Alias del paquete de conocimiento. Aditivo: el agente carga todos los enumerados |
mcp_bundles | string[] | [] | Alias de bundle de MCP. Cada entrada hace referencia a mcp_bundles[key], un nombread |
memory | objeto | — | Selección del backend de memoria por agente y su contrato de persistencia. |
model_provider | cadena | — | Referencia a una entrada [providers.models.<type>.<alias>] configurada. |
precheck | objeto | — | Configuración de precomprobación de intención de respuesta por canal. |
risk_profile | cadena | — | Referencia a una entrada [risk_profiles.<type>.<alias>] configurada. |
runtime_profile | cadena | — | Referencia a una entrada configurada de [runtime_profiles.<type>.<alias>]. |
skill_bundles | string[] | [] | Alias de paquetes de habilidades. Cada entrada se resuelve a |
summary_provider | cadena | — | Referencia a una entrada [providers.models.<type>.<alias>] configurada. |
transcription_provider | cadena | — | Referencia a una entrada configurada [providers.transcription.<type>.<alias>]. |
tts_provider | cadena | — | Referencia a una entrada [providers.tts.<type>.<alias>] configurada. |
workspace | objeto | — | Configuració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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
exposed_skills | string[] | [] | Filtro que selecciona qué IDs de habilidades resueltas aparecen en este alias’s |
published | bool | false | Publica 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".
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
aieos_inline | string? | null | JSON AIEOS en línea (alternativa a la ruta de archivo) |
aieos_path | string? | null | Ruta al archivo JSON de AIEOS (relativa al espacio de trabajo) |
format | cadena | "openclaw" | Formato de identidad: “openclaw” (predeterminado) o “aieos” |
agents.<alias>.memory
Selección del backend de memoria por agente y su contrato de persistencia.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
backend | tabla | — | Selecciona el backend de memoria utilizado por un agente. |
agents.<alias>.precheck
Configuración de precomprobación de intención de respuesta por canal.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | true | Cuando es falso, la preverificación se omite por completo para este agente y cada |
timeout_secs | entero | 5 | Lí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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
access | mapa | {} | Lista de permitidos del espacio de trabajo entre agentes. Un mapa vacío no otorga acceso a ningún agente hermano. |
path | string? | — | Ruta de espacio de trabajo explícita opcional. None = derivar de |
read_memory_from | string[] | [] | Lista de permitidos de memoria entre agentes. Una lista vacía concede acceso solo a la memoria local. |
unrestricted_filesystem | bool | false | Trampilla 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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
compress | bool | true | Comprimir archivos de respaldo. |
destination_dir | cadena | "state/backups" | Directorio de salida para los archivos de copia de seguridad (relativo a la raíz del espacio de trabajo). |
enabled | bool | true | Habilita la herramienta backup. |
encrypt | bool | false | Cifrar los archivos de respaldo (requiere una clave de tienda de secretos configurada). |
include_dirs | string[] | ["config","memory","audit","knowledge"] | Subdirectorios del espacio de trabajo que se incluirán en las copias de seguridad. |
max_keep | entero | 10 | Número máximo de copias de seguridad que se deben conservar (las más antiguas se eliminan). |
schedule_cron | string? | null | Expresión cron opcional para copias de seguridad automáticas programadas. |
schedule_timezone | string? | null | Zona 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_domains | string[] | ["*"] | Dominios permitidos para browser_open (coincidencia exacta o de subdominio) |
allowed_private_hosts | string[] | [] | Hosts privados/internos permitidos para omitir la protección SSRF. |
backend | cadena | "agent_browser" | Backend de automatización del navegador: “agent_browser” | “rust_native” | “computer_use” | “auto” |
computer_use | objeto | — | Configuración del sidecar de uso del ordenador (sección [browser.computer_use]). |
enabled | bool | true | Habilita la herramienta browser_open (abre las URL en el navegador del sistema sin realizar scraping) |
headed | bool? | null | Mostrar la ventana del navegador para el backend agent_browser. Cuando no está establecido, hereda AGENT_BROWSER_HEADED. |
native_chrome_path | string? | null | Ruta ejecutable opcional de Chrome/Chromium para el backend nativo de Rust |
native_headless | bool | true | Modo sin interfaz para el backend nativo de Rust |
native_webdriver_url | cadena | "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_name | string? | null | Nombre 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allow_remote_endpoint | bool | false | Permitir el extremo remoto/público para el sidecar de uso del equipo (predeterminado: false) |
api_key 🔑 | string? | null | Token portador opcional para el sidecar de uso de computadora |
endpoint | cadena | "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_x | integer? | null | Límite opcional del eje X para acciones basadas en coordenadas |
max_coordinate_y | integer? | null | Límite opcional del eje Y para acciones basadas en coordenadas |
timeout_ms | entero | 15000 | Tiempo de espera por acción en milisegundos |
window_allowlist | string[] | [] | Lista de permitidos opcional de títulos de ventana/procesos reenviada a la política del sidecar |
browser_delegate
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_domains | string[] | [] | |
blocked_domains | string[] | [] | |
chrome_profile_dir | cadena | "" | |
cli_binary | cadena | "claude" | |
enabled | bool | false | |
task_timeout_secs | entero | 120 |
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").
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
ack_reactions | bool | true | Si se deben agregar reacciones de reconocimiento (👀 al recibir, ✅/⚠️ al |
amqp | mapa | — | Instancias de canal AMQP ([channels.amqp.<alias>]). |
bluesky | mapa | — | Instancias de canal de Bluesky ([channels.bluesky.<alias>]). |
clawdtalk | mapa | — | Instancias de canal de voz de ClawdTalk ([channels.clawdtalk.<alias>]). |
cli | bool | true | Habilitar el canal interactivo de la CLI. Predeterminado: true. |
debounce_ms | entero | 0 | Ventana de desactivación de mensajes entrantes en milisegundos. Cuando un remitente envía |
dingtalk | mapa | — | Instancias del canal DingTalk ([channels.dingtalk.<alias>]). |
discord | mapa | — | Instancias de canal del bot de Discord ([channels.discord.<alias>]). |
email | mapa | — | Instancias de canal de correo electrónico ([channels.email.<alias>]). |
filesystem | mapa | — | Instancias del listener de SOP del Filesystem ([channels.filesystem.<alias>]). |
git | mapa | — | Instancias del canal Git-forge ([channels.git.<alias>]). GitHub es |
gmail_push | mapa | — | Instancias de canal de notificaciones push de Gmail Pub/Sub ([channels.gmail_push.<alias>]). |
imessage | mapa | — | Instancias del canal iMessage ([channels.imessage.<alias>], solo macOS). |
irc | mapa | — | Instancias de canal IRC ([channels.irc.<alias>]). |
lark | mapa | — | Instancias del canal Lark ([channels.lark.<alias>]). |
line | mapa | — | Instancias de canal de LINE Messaging API ([channels.line.<alias>]). |
linq | mapa | — | Instancias de canal de la API Linq Partner ([channels.linq.<alias>]). |
matrix | mapa | — | Instancias de canal Matrix ([channels.matrix.<alias>]). |
mattermost | mapa | — | Instancias de canal de bot de Mattermost ([channels.mattermost.<alias>]). |
max_concurrent_per_channel | entero | 4 | Multiplicador por canal para el presupuesto global de mensajes de canal en tránsito. |
message_timeout_secs | entero | 300 | Tiempo de espera base en segundos para procesar un mensaje de un solo canal (LLM + herramientas). |
mochat | mapa | — | Instancias del canal de atención al cliente de Mochat ([channels.mochat.<alias>]). |
mqtt | mapa | — | Instancias de canal MQTT ([channels.mqtt.<alias>]). |
nextcloud_talk | mapa | — | Instancias de canal de bot de Nextcloud Talk ([channels.nextcloud_talk.<alias>]). |
nostr | mapa | — | |
plugin | mapa | — | Instancias de complementos de canal WASM ([channels.plugin.<alias>]). |
qq | mapa | — | Instancias de canal de QQ Official Bot ([channels.qq.<alias>]). |
reddit | mapa | — | Instancias de canal de Reddit ([channels.reddit.<alias>]). |
session_backend | cadena | "sqlite" | Backend de persistencia de sesiones: "jsonl" (legado) o "sqlite" (nuevo valor predeterminado). |
session_persistence | bool | true | Persistir el historial de conversaciones del canal en archivos JSONL para que las sesiones sobrevivan |
session_ttl_hours | entero | 0 | Archivar automáticamente las sesiones inactivas que tengan más de esta cantidad de horas. 0 desactiva esta función. Valor predeterminado: 0. |
show_tool_calls | bool | false | Indica si se deben enviar mensajes de notificación de llamadas a herramientas (por ejemplo, 🔧 web_search_tool: …) |
signal | mapa | — | Instancias de canal Signal ([channels.signal.<alias>]). |
slack | mapa | — | Instancias de canal de bot de Slack ([channels.slack.<alias>]). |
telegram | mapa | — | Instancias de canal del bot de Telegram ([channels.telegram.<alias>]). |
twitch | mapa | — | Instancias de canal de chat de Twitch ([channels.twitch.<alias>]). |
twitter | mapa | — | Instancias de canal X/Twitter ([channels.twitter.<alias>]). |
voice_call | mapa | — | Instancias de canal de llamada de voz ([channels.voice_call.<alias>]). |
voice_duplex | mapa | — | Instancias de voz dúplex ([channels.voice_duplex.<alias>]). |
voice_wake | mapa | — | Instancias de canal de detección de palabra de activación por voz ([channels.voice_wake.<alias>]). |
webhook | mapa | — | Instancias de canal de webhook ([channels.webhook.<alias>]). |
wechat | mapa | — | Instancias del canal de bot iLink personal de WeChat ([channels.wechat.<alias>]). |
wecom | mapa | — | Instancias del canal de webhook de bots de WeCom (WeChat Enterprise) ([channels.wecom.<alias>]). |
wecom_ws | mapa | — | Instancias del canal WebSocket de WeCom AI Bot ([channels.wecom_ws.<alias>]). |
whatsapp | mapa | — | Instancias 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_tools | string[] | ["Read","Edit","Bash","Write"] | Herramientas de Claude Code que el subproceso tiene permitido usar |
enabled | bool | false | Habilita la herramienta claude_code |
env_passthrough | string[] | [] | Variables de entorno adicionales pasadas al subproceso de Claude (por ejemplo, ANTHROPIC_API_KEY para la facturación mediante clave de API) |
max_output_bytes | entero | 2097152 | Tamaño máximo de salida en bytes (2 MB por defecto) |
system_prompt | string? | null | Prompt del sistema opcional que se anexa a las invocaciones de Claude Code |
timeout_secs | entero | 600 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilita la herramienta claude_code_runner |
session_ttl | entero | 3600 | Tiempo de vida de la sesión en segundos antes de la limpieza automática (predeterminado: 3600) |
ssh_host | string? | null | Host SSH para los enlaces de transferencia de sesión (por ejemplo, “myhost.example.com”) |
tmux_prefix | cadena | "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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
cost_threshold_monthly_usd | número | 100.0 | Umbral mensual en USD para marcar elementos de costo. Predeterminado: 100.0. |
default_cloud | cadena | "aws" | Proveedor de modelo en la nube predeterminado para el contexto de análisis. Predeterminado: “aws”. |
enabled | bool | false | Habilitar herramientas de operaciones en la nube. Predeterminado: false. |
iac_tools | string[] | ["terraform"] | Herramientas de IaC compatibles para revisión. Predeterminado: [terraform]. |
supported_clouds | string[] | ["aws","azure","gcp"] | Proveedores de modelos en la nube compatibles. Predeterminado: [aws, azure, gcp]. |
well_architected_frameworks | string[] | ["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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilita la herramienta codex_cli |
env_passthrough | string[] | [] | Variables de entorno adicionales pasadas al subproceso de codex (por ejemplo, OPENAI_API_KEY) |
extra_args | string[] | [] | Argumentos adicionales de CLI agregados a codex exec antes del prompt. |
max_output_bytes | entero | 2097152 | Tamaño máximo de salida en bytes (2 MB por defecto) |
timeout_secs | entero | 600 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key 🔑 | string? | null | Clave de la API de Composio (almacenada en formato cifrado cuando secrets.encrypt = true) |
enabled | bool | false | Habilitar la integración de Composio para más de 1000 herramientas OAuth |
entity_id | cadena | "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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
analytics_enabled | bool | false | Habilitar el seguimiento de análisis de conversaciones. Valor predeterminado: false (privacidad por defecto). |
auto_detect_language | bool | true | Detectar automáticamente el idioma del usuario a partir del contenido del mensaje. Predeterminado: true. |
conversation_timeout_secs | entero | 1800 | Tiempo de inactividad de la conversación en segundos. Predeterminado: 1800. |
default_language | cadena | "en" | Idioma predeterminado para las conversaciones (etiqueta BCP-47). Predeterminado: “en”. |
enabled | bool | false | Habilitar las funciones de IA conversacional. Valor predeterminado: false. |
escalation_confidence_threshold | número | 0.3 | La confianza del intento por debajo de este umbral activa la escalación. Valor predeterminado: 0.3. |
knowledge_base_tool | string? | null | Nombre opcional de la herramienta para la búsqueda en la base de conocimientos basada en RAG durante las conversaciones. |
max_conversation_turns | entero | 50 | Número máximo de turnos de conversación antes de finalizar automáticamente. Predeterminado: 50. |
supported_languages | string[] | ["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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allow_override | bool | false | Permitir que las solicitudes excedan el presupuesto con la bandera --override (predeterminado: false) |
daily_limit_usd | número | 10.0 | Límite diario de gastos en USD (predeterminado: 10.00) |
enabled | bool | true | Habilitar el seguimiento de costos (predeterminado: true) |
enforcement | objeto | — | Configuración del comportamiento de aplicación de costos cuando se alcanzan los límites del presupuesto. |
monthly_limit_usd | número | 100.0 | Límite mensual de gastos en USD (predeterminado: 100.00) |
rates | objeto | — | [cost.rates] — espacio de nombres de nivel superior para la hoja de tarifas. Replica el |
track_per_agent | bool | true | Marca cada entrada de coste registrada con el alias del agente de origen para que |
warn_at_percent | entero | 80 | Advertir 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
mode | cadena | "warn" | Modo de aplicación: “warn”, “block” o “route_down”. |
reserve_percent | entero | 10 | Reserva este porcentaje del presupuesto para operaciones críticas. |
route_down_model | string? | null | Modelo 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.*].
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
providers | objeto | — | [cost.rates.providers.*] — hojas de tarifas con formato de proveedor. Cada campo |
tools | mapa | {} | [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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
models | objeto | — | [cost.rates.providers.models.<type>.<model>] — tarifas de coste por token |
transcription | objeto | — | cost.rates.providers.transcription.<type>.<model> |
tts | objeto | — | cost.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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_tools | string[]? | null | Lista de अनुमति opcional de nombres de herramientas para trabajos del agente. Cuando se omite, el programador |
command | string? | null | Comando de shell a ejecutar (obligatorio cuando job_type = "shell"). |
delivery | objeto | — | Configuración de entrega para trabajos cron declarativos. |
enabled | bool | true | Si el trabajo está habilitado. Valor predeterminado: true. |
job_type | cadena | "shell" | Tipo de trabajo: "shell" (predeterminado) o "agent". |
model | string? | null | Anulación del modelo para trabajos del agente. |
name | string? | null | Nombre legible para humanos. |
prompt | string? | null | Prompt del agente (obligatorio cuando job_type = "agent"). |
schedule | tabla | — | Variante de programación para trabajos cron declarativos. |
session_target | string? | null | Destino de sesión: "isolated" (predeterminado) o "main". |
shell_output_format | tabla | — | Formato de salida para la salida estándar del trabajo cron de shell. |
uses_memory | bool | true | Si 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
best_effort | bool | true | Entrega mejor esfuerzo. Predeterminado: true. |
channel | string? | null | Canal al que se enviará, como <type>.<alias> (p. ej. |
mode | cadena | "none" | Modo de entrega: "none" o "announce". |
thread_id | string? | — | Identificador opcional de hilo/conversación transportado en el envío saliente. |
to | string? | null | Identificador del objetivo/destinatario. |
data_retention
Configuración de retención y purga de datos ([data_retention] sección).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
categories | string[] | [] | Limitar la aplicación de la retención a categorías de datos específicas (vacío = todas). |
dry_run | bool | false | Vea qué se eliminaría sin eliminar nada realmente. |
enabled | bool | false | Habilita la herramienta data_management. |
retention_days | entero | 90 | Dí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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
agentic_timeout_secs | entero | 300 | Tiempo de espera predeterminado en segundos para las ejecuciones de subagentes agénticos. |
timeout_secs | entero | 120 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allow_unpaired_enrollment | cadena | "" | Reservado para un flujo de migración futuro. La primera versión de FOSS rechaza cualquier |
bind | cadena | "0.0.0.0" | Dirección en la que se enlaza el punto de conexión de inscripción. |
enabled | bool | false | Habilita el endpoint de inscripción (valor predeterminado: false). Requiere que [wss] esté habilitado |
port | entero | 9782 | Puerto 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
alert_channels | string[] | [] | 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
mode | cadena | "replay" | Modo de ejecución predeterminado (replay o live) que se usa cuando se omite --mode. |
suite_dir | cadena | "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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
headers 🔑 | mapa | {} | Encabezados HTTP estáticos adjuntos a cada solicitud de descarga — típicamente un |
max_file_size_bytes | entero | 26214400 | Tamaño máximo de descarga en bytes. Se aplica durante la transmisión: la transferencia |
timeout_secs | entero | 120 | Tiempo de espera de la solicitud en segundos. Predeterminado: 120. |
url | string? | null | URL 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
field_name | cadena | "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_bytes | entero | 26214400 | Tamaño máximo de archivo en bytes. Los archivos más grandes se rechazan antes de cualquier |
method | cadena | "POST" | Método HTTP. Solo se aceptan POST (predeterminado) y PUT. |
timeout_secs | entero | 60 | Tiempo de espera de la solicitud en segundos. Predeterminado: 60. |
url | string? | null | URL 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
field_name | cadena | "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_bytes | entero | 10485760 | Tamaño máximo por archivo en bytes. Predeterminado: 10 MiB. |
max_files | entero | 16 | Número máximo de archivos por llamada. Predeterminado: 16. |
max_response_body_bytes | entero | 4096 | Máximo de bytes del cuerpo de respuesta que se leerán desde el endpoint de carga. |
max_total_size_bytes | entero | 33554432 | Tamaño acumulado máximo de todos los archivos en una sola llamada. Valor predeterminado: 32 MiB. |
method | cadena | "POST" | Método HTTP. Solo se aceptan POST (predeterminado) y PUT. |
timeout_secs | entero | 120 | Tiempo de espera de la solicitud en segundos. Predeterminado: 120. |
url | string? | null | URL 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allow_public_bind | bool | false | Permitir la vinculación a direcciones que no sean localhost sin un túnel (predeterminado: false) |
allow_remote_admin | bool | false | Permitir que los llamadores remotos autenticados usen los endpoints de administración que están |
allow_self_upgrade | bool | false | Permitir iniciar una autoactualización (sustitución del binario mediante zeroclaw update) desde |
check_updates | bool | true | Consultar GitHub en busca de versiones más recientes y mostrar un indicador de “actualización disponible” |
host | cadena | "127.0.0.1" | Host del gateway (predeterminado: 127.0.0.1) |
idempotency_max_keys | entero | 10000 | Claves de idempotencia distintas máximas retenidas en memoria. |
idempotency_ttl_secs | entero | 300 | TTL para las claves de idempotencia de los webhooks. |
long_running_request_timeout_secs | entero | 600 | Tiempo de espera de solicitud HTTP (segundos) para POST /api/cron/{id}/run, que |
pair_rate_limit_per_minute | entero | 10 | Má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_dashboard | objeto | — | Configuración del panel de emparejamiento ([gateway.pairing_dashboard]). |
path_prefix | string? | null | Prefijo de ruta URL opcional para implementaciones con proxy inverso. |
port | entero | 42617 | Puerto de puerta de enlace (predeterminado: 42617) |
rate_limit_max_keys | entero | 10000 | Claves de cliente distintas máximas rastreadas por los mapas del limitador de tasa del gateway. |
request_timeout_secs | entero | 30 | Tiempo de espera de la solicitud HTTP (segundos) para las rutas de gateway distintas de la |
require_pairing | bool | true | Requerir el emparejamiento antes de aceptar solicitudes (predeterminado: true) |
session_persistence | bool | true | Persistir las sesiones de chat WebSocket del gateway en SQLite. Predeterminado: true. |
session_ttl_hours | entero | 0 | Archivar automáticamente las sesiones de puerta de enlace inactivas con más de N horas de antigüedad. 0 = deshabilitado. Predeterminado: 0. |
tls | objeto | — | Configuración TLS para el servidor de puerta de enlace ([gateway.tls]). |
trust_forwarded_headers | bool | false | Confiar en los encabezados de IP del cliente reenviados por el proxy (X-Forwarded-For, X-Real-IP). |
web_dist_dir | string? | null | Ruta al directorio dist del panel web. Cuando se establece, la puerta de enlace |
webhook_rate_limit_per_minute | entero | 60 | Máximo de solicitudes /webhook por minuto por clave de cliente. |
webhook_secret 🔑 | string? | null | Secreto compartido opcional para el POST /webhook genérico del gateway y |
websocket_ping_interval_secs | entero | 30 | Enví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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
code_length | entero | 8 | Longitud de los códigos de emparejamiento (predeterminado: 8) |
code_ttl_secs | entero | 3600 | Tiempo de vida para los códigos de emparejamiento pendientes en segundos (predeterminado: 3600) |
lockout_secs | entero | 300 | Duración del bloqueo en segundos tras alcanzar el número máximo de intentos (predeterminado: 300) |
max_failed_attempts | entero | 5 | Intentos fallidos máximos de emparejamiento antes del bloqueo (predeterminado: 5) |
max_pending_codes | entero | 3 | Código de emparejamiento pendiente máximo concurrente (predeterminado: 3) |
gateway.tls
Configuración TLS para el servidor de puerta de enlace ([gateway.tls]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
cert_path* | cadena | — | Ruta al archivo de certificado del servidor codificado en PEM. |
client_auth | objeto | — | Configuración de autenticación de certificados de cliente (mTLS) ([gateway.tls.client_auth]). |
enabled | bool | false | Habilitar TLS para el gateway (predeterminado: false). |
key_path* | cadena | — | Ruta 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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
ca_cert_path | cadena | "" | Ruta al certificado CA codificado en PEM utilizado para verificar los certificados del cliente. |
crl_path | cadena | "" | Ruta opcional a una lista de huellas digitales revocadas (un valor hexadecimal SHA-256 por línea). A |
enabled | bool | false | Habilitar la verificación del certificado del cliente (predeterminado: false). |
pinned_certs | string[] | [] | Huellas digitales SHA-256 opcionales para la fijación de certificados. |
require_client_cert | bool | true | Rechazar 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilita la herramienta gemini_cli |
env_passthrough | string[] | [] | Variables de entorno adicionales pasadas al subproceso de Gemini (por ejemplo, GOOGLE_API_KEY) |
max_output_bytes | entero | 2097152 | Tamaño máximo de salida en bytes (2 MB por defecto) |
timeout_secs | entero | 600 | Tiempo 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 credencialesgws).default_account:None(utiliza la cuenta activa degws).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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_operations | object[] | [] | Restringir las combinaciones de recursos/métodos a las que el agente puede acceder. |
allowed_services | string[] | [] | Restringir los servicios de Google Workspace a los que el agente puede acceder. |
audit_log | bool | false | Habilitar el registro de auditoría de cada invocación de gws (servicio, recurso, |
credentials_path | string? | null | Ruta al archivo JSON de la cuenta de servicio o al archivo de credenciales del cliente OAuth. |
default_account | string? | null | Dirección de correo electrónico de la cuenta predeterminada de Google para pasar a gws --account. |
enabled | bool | false | Habilita la herramienta google_workspace. Valor predeterminado: false. |
rate_limit_per_minute | entero | 60 | Número máximo de llamadas a la API de gws permitidas por minuto. Predeterminado: 60. |
timeout_secs | entero | 30 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
baud_rate | entero | 115200 | Velocidad 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. |
enabled | bool | false | Habilita 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_target | string? | null | Identificador 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_port | string? | null | Ruta TTY para el transporte serial — p. ej. /dev/ttyACM0 en Linux, /dev/tty.usbmodem1 en macOS, COM3 en Windows. Se ignora para otros transportes. |
transport | None | Native | Serial | Probe | — | Modo de transporte de hardware. |
workspace_datasheets | bool | false | Indexa 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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
adaptive | bool | false | Habilitar intervalos adaptativos que se retrasan en caso de fallos y se aceleran para |
agent | cadena | "" | Alias del agente configurado con el que se ejecuta el heartbeat worker. Obligatorio |
deadman_channel | string? | null | Canal para alertas del interruptor de seguridad (por ejemplo, telegram). Recurre a |
deadman_timeout_minutes | entero | 0 | Tiempo de espera del interruptor de seguridad en minutos. Si el latido no ha sonado |
deadman_to | string? | null | Destinatario de las alertas del interruptor de hombre muerto. Recurre a to. |
enabled | bool | false | Habilitar pings de heartbeat periódicos. Predeterminado: false. Cuando está habilitado, |
interval_minutes | entero | 30 | Intervalo en minutos entre los pings de heartbeat. Mínimo: 1. Predeterminado: 30. |
load_session_context | bool | false | Carga el historial de la sesión del canal antes de cada ejecución de la tarea de latido |
max_interval_minutes | entero | 120 | Intervalo máximo en minutos cuando el modo adaptativo reduce la frecuencia. Predeterminado: 120. |
max_run_history | entero | 100 | Número máximo de registros del historial de ejecución de latidos del corazón a conservar. Predeterminado: 100. |
message | string? | null | Texto de tarea de respaldo opcional cuando HEARTBEAT.md no tiene entradas de tarea. |
min_interval_minutes | entero | 5 | Intervalo mínimo en minutos cuando el modo adaptativo está habilitado. Predeterminado: 5. |
target | string? | null | Canal de entrega opcional para la salida del latido (por ejemplo: telegram). |
task_timeout_secs | entero | 600 | Segundos máximos de reloj de pared permitidos para una única invocación de agente |
to | string? | null | Identificador opcional del destinatario de la entrega/chat (obligatorio cuando target es |
two_phase | bool | true | Habilitar latido de dos fases: la Fase 1 pregunta al LLM si debe ejecutarse, la Fase 2 |
hooks
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
builtin | objeto | — | |
enabled | bool | true | Habilitar la ejecución del ciclo de vida. |
hooks.builtin
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
command_logger | bool | false | Habilita el hook de registro de comandos (registra las llamadas a herramientas para auditoría). |
webhook_audit | objeto | — | Configuració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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilita el hook de auditoría de webhooks. Predeterminado: false. |
include_args | bool | false | Incluir los argumentos de las llamadas de herramientas en la carga útil de auditoría. Valor predeterminado: false. |
max_args_bytes | entero | 4096 | Tamaño máximo (en bytes) de los argumentos serializados incluidos en un solo |
tool_patterns | string[] | [] | Patrones glob para nombres de herramientas a auditar (por ejemplo, ["Bash", "Write"]). |
url | cadena | "" | 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allow_private_hosts | bool | false | Permitir solicitudes a hosts privados/de la LAN (RFC 1918, loopback, .local). |
allowed_domains | string[] | ["*"] | Dominios permitidos para las solicitudes HTTP (coincidencia exacta o de subdominio) |
allowed_private_hosts | string[] | [] | Hosts privados/internos autorizados explícitamente para relajar la comprobación de direcciones públicas. |
enabled | bool | true | Habilita la herramienta http_request para interacciones con la API |
max_response_size | entero | 1000000 | Tamañ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_secs | entero | 30 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key_env | cadena | "FAL_API_KEY" | Nombre de la variable de entorno que contiene la clave API de fal.ai. |
default_model | cadena | "fal-ai/flux/schnell" | Identificador predeterminado del modelo de fal.ai. |
enabled | bool | false | Habilitar 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:falseallowed_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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_actions | string[] | ["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_url | cadena | "" | URL base de la instancia de Atlassian, por ejemplo, https://yourco.atlassian.net. |
email | string? | — | Correo electrónico de la cuenta de Jira utilizado para la autenticación básica (Cloud). |
enabled | bool | false | Habilita la herramienta jira. Valor predeterminado: false. |
timeout_secs | entero | 30 | Tiempo de espera de la solicitud en segundos. Predeterminado: 30. |
knowledge
Configuración del grafo de conocimiento para capturar y reutilizar la experiencia.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
auto_capture | bool | false | Captura automáticamente el conocimiento de las conversaciones. Valor predeterminado: false. |
db_path | cadena | "/home/runner/.zeroclaw/knowledge.db" | Ruta a la base de datos SQLite del grafo de conocimiento. |
enabled | bool | false | Habilitar la herramienta de grafo de conocimiento. Valor predeterminado: false. |
max_nodes | entero | 100000 | Número máximo de nodos de conocimiento. Predeterminado: 100000. |
suggest_on_query | bool | true | Sugerir 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
sources | string[] | [] | Rutas o URLs para incluir en este paquete de conocimiento. |
tags | string[] | [] | Etiquetas para filtrar o categorizar fuentes dentro del paquete. |
link_enricher
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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilitar la etapa del pipeline de enriquecimiento de enlaces (predeterminado: false) |
max_links | entero | 3 | Número máximo de enlaces a obtener por mensaje (predeterminado: 3) |
timeout_secs | entero | 10 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_version | cadena | "202602" | Encabezado de versión de la API REST de LinkedIn (formato AAAAMM). |
content | objeto | — | Configuración de la estrategia de contenido para la publicación automática en LinkedIn ([linkedin.content]). |
enabled | bool | false | Habilitar la herramienta de LinkedIn. |
image | objeto | — | Configuració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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
github_repos | string[] | [] | Repositorios de GitHub a destacar (formato: owner/repo). |
github_users | string[] | [] | Nombres de usuario de GitHub cuya actividad pública se pueda referenciar. |
instructions | cadena | "" | Instrucciones de publicación libre para el agente de IA. |
persona | cadena | "" | Descripción del perfil profesional (nombre, rol, experiencia). |
rss_feeds | string[] | [] | URLs de los feeds RSS a monitorear para inspiración de temas (solo títulos). |
topics | string[] | [] | 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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
card_accent_color | cadena | "#0A66C2" | Color de acento para la tarjeta de respaldo (hexadecimal CSS). |
dalle | objeto | — | Configuración de OpenAI DALL-E ([linkedin.image.dalle]). |
enabled | bool | false | Habilitar la generación de imágenes para las publicaciones. |
fallback_card | bool | true | Genera una tarjeta de texto SVG con la marca cuando todos los model_providers de IA fallan. |
flux | objeto | — | Configuraciones de generación de imágenes de Flux (fal.ai) ([linkedin.image.flux]). |
imagen | objeto | — | Configuraciones de Google Imagen (Vertex AI) ([linkedin.image.imagen]). |
providers | string[] | ["stability","imagen","dalle","flux"] | Orden de prioridad de ModelProvider. Se intentan en secuencia; gana el primero que tenga éxito. |
stability | objeto | — | Configuraciones de generación de imágenes de Stability AI ([linkedin.image.stability]). |
temp_dir | cadena | "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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key_env | cadena | "OPENAI_API_KEY" | Nombre de la variable de entorno que contiene la clave de la API de OpenAI. |
model | cadena | "dall-e-3" | Identificador del modelo DALL-E. |
size | cadena | "1024x1024" | Dimensiones de la imagen. |
linkedin.image.flux
Configuraciones de generación de imágenes de Flux (fal.ai) ([linkedin.image.flux]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key_env | cadena | "FAL_API_KEY" | Nombre de la variable de entorno que contiene la clave API de fal.ai. |
model | cadena | "fal-ai/flux/schnell" | Identificador del modelo Flux. |
linkedin.image.imagen
Configuraciones de Google Imagen (Vertex AI) ([linkedin.image.imagen]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key_env | cadena | "GOOGLE_VERTEX_API_KEY" | Nombre de la variable de entorno que contiene la clave de la API. |
project_id_env | cadena | "GOOGLE_CLOUD_PROJECT" | Variable de entorno para el ID del proyecto de Google Cloud. |
region | cadena | "us-central1" | Región de Vertex AI. |
linkedin.image.stability
Configuraciones de generación de imágenes de Stability AI ([linkedin.image.stability]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key_env | cadena | "STABILITY_API_KEY" | Nombre de la variable de entorno que contiene la clave de la API. |
model | cadena | "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).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
deferred_loading | bool | false | Cargar los esquemas de las herramientas MCP bajo demanda mediante tool_search en lugar de de forma anticipada |
enabled | bool | true | Habilitar la carga de herramientas MCP. |
servers | object[] | [] | 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
exclude | string[] | [] | Se eliminaron los ID de servidor MCP del permiso. Denegación prevalece: un nombre enumerado aquí es |
servers | string[] | [] | 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
describe_images | bool | true | Agrega descripciones de imágenes cuando un modelo con capacidades de visión esté activo. |
enabled | bool | false | Interruptor maestro para la canalización multimedia (predeterminado: false). |
summarize_video | bool | true | Resumir archivos adjuntos de video (marcador de posición: requiere una API externa). |
transcribe_audio | bool | true | Transcribe 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
archive_after_days | entero | 7 | Mueve 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_enabled | bool | false | Habilitar el registro de auditoría de las operaciones de memoria. |
audit_retention_days | entero | 30 | Período de retención para las entradas de auditoría en días (predeterminado: 30). |
auto_hydrate | bool | true | Hidratación automática desde MEMORY_SNAPSHOT.md cuando brain.db está ausente |
auto_reindex_on_identity_change | bool | false | Reinserta 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_save | bool | true | Guarda automáticamente en memoria lo que tú 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. |
backend | cadena | "sqlite" | Referencia con puntos a la instancia de almacenamiento activa: <backend>.<alias> |
candidate_multiplier | entero | 4 | Multiplicador del conjunto de candidatos respecto al límite final de recuperación antes del recorte de combinación/reordenación. |
chunk_max_tokens | entero | 512 | Máximo de tokens por fragmento para la división de documentos |
conflict_supersede_enabled | bool | true | Habilita la maquinaria reversible de ocultación suave de sustitución cuando esté conectada. |
conflict_threshold | número | 0.85 | Umbral de similitud coseno para la detección de conflictos (0.0–1.0). |
consolidation_extract_facts | bool | false | También extraer hechos duraderos atómicos de cada turno consolidado y almacenar |
conversation_retention_days | entero | 30 | Elimina 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_bytes | entero | 0 | Bytes máximos de Core antes de la compactación del presupuesto. 0 = ilimitado. |
core_max_rows | entero | 0 | Máximo de filas de Core antes de la compactación del presupuesto. 0 = ilimitado. |
core_retention_days | entero | 0 | Elimina 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_rows | entero | 0 | Máximo de filas diarias antes de la compactación del presupuesto. 0 = sin límite. |
daily_retention_days | entero | 0 | Elimina 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_action | tabla | — | Política de manejo de duplicados en tiempo de escritura para entradas de memoria. |
dedup_jaccard_threshold | número | 0.8 | Umbral de Jaccard para la detección de duplicados solo de texto. |
dedup_on_write | bool | false | Habilitar la detección de casi duplicados en el momento de escritura. |
default_namespace | cadena | "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_size | entero | 10000 | Número máximo de entradas en la caché de incrustaciones antes de la eliminación LRU |
embedding_dimensions | entero | 1536 | Ancho 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_model | cadena | "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_provider | cadena | "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_order | tabla | — | Orden de expulsión del presupuesto de memoria. |
fts_early_return_score | número | 0.85 | Reservado (0.0-1.0): la puntuación FTS por encima de la cual la recuperación omitirá el |
hygiene_enabled | bool | true | Ejecuta 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_weight | número | 0.2 | Peso de importancia utilizado por la combinación de recuperación. |
keyword_weight | número | 0.3 | Cuá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_score | número | 0.4 | Puntuación híbrida mínima (0.0–1.0) para que una memoria se incluya en el contexto. |
mmr_lambda | número | 0.7 | Peso de relevancia frente a diversidad de MMR, donde 1.0 significa solo relevancia. |
pin_min_importance | número | 1.01 | Fija entradas con esta importancia o superior. >1.0 significa deshabilitado. |
pin_namespaces | string[] | [] | Espacios de nombres protegidos contra la expulsión por presupuesto. |
policy | objeto | — | Configuración de la política de memoria (sección [memory.policy]). |
purge_after_days | entero | 30 | Elimina 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_weight | número | 0.1 | Peso de recencia utilizado por la combinación de recuperación. |
rerank_enabled | bool | false | Habilita la etapa de reordenación de recall: combina la puntuación de recuperación con la importancia |
rerank_strategy | cadena | "none" | Estrategia avanzada de reordenamiento. Válidos: “none”, “mmr”. |
rerank_threshold | entero | 5 | Cantidad mínima de candidatos para activar la estrategia de reordenamiento avanzada. |
response_cache_enabled | bool | false | Habilitar el almacenamiento en caché de las respuestas del LLM para evitar pagar por solicitudes duplicadas |
response_cache_hot_entries | entero | 256 | Máximo número de entradas en caché en memoria para la caché de respuesta de dos niveles (predeterminado: 256) |
response_cache_max_entries | entero | 5000 | Número máximo de respuestas en caché antes de la eliminación LRU (predeterminado: 5000) |
response_cache_ttl_minutes | entero | 60 | TTL en minutos para las respuestas en caché (predeterminado: 60) |
retrieval_stages | string[] | ["fts","vector"] | Etapas de recuperación para el recuerdo por agente. Solo "cache" está activo: it |
search_mode | tabla | — | Estrategia de búsqueda para la recuperación de memoria. |
snapshot_enabled | bool | false | Habilitar la exportación periódica de las memorias principales a MEMORY_SNAPSHOT.md |
snapshot_on_hygiene | bool | false | Ejecutar instantánea durante las pasadas de higiene (impulsada por latidos) |
types | objeto | — | Configuración de memoria tipada (sección [memory.types]). |
vector_weight | número | 0.7 | Cuá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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
max_entries_per_category | entero | 0 | Entradas máximas por categoría (0 = ilimitado). |
max_entries_per_namespace | entero | 0 | Entradas máximas por espacio de nombres (0 = ilimitado). |
read_only_namespaces | string[] | [] | Espacios de nombres que son de solo lectura (las escrituras se rechazan). |
redact_categories | string[] | ["secret","api_key","private_key","email","phone"] | Categorías de redacción aplicadas cuando redact_on_write es verdadero. |
redact_on_write | bool | false | Redacta las categorías configuradas de secretos/PII antes de la persistencia. |
retention_days_by_category | mapa | {} | Días de retención por categoría (anula el valor global). Claves: “core”, “daily”, “conversation”. |
threat_scan | cadena | "on" | Modo de análisis de contenido para escrituras de memoria persistente: “off”, “on” o “strict”. |
threat_scan_load_time | bool | true | Volver a analizar las entradas almacenadas en el momento de la recuperación/lectura y retener las entradas marcadas. |
threat_scan_on_hit | cadena | "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).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Asigna 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
auth_flow | cadena | "client_credentials" | Flujo de autenticación: “client_credentials” o “device_code” |
client_id | string? | null | ID de aplicación (cliente) de Azure AD |
client_secret 🔑 | string? | null | Secreto de cliente de Azure AD (almacenado en formato cifrado cuando secrets.encrypt = true) |
enabled | bool | false | Habilitar la integración con Microsoft 365 |
scopes | string[] | ["https://graph.microsoft.com/.default"] | Ámbitos de OAuth a solicitar |
tenant_id | string? | null | ID de inquilino de Azure AD |
token_cache_encrypted | bool | true | Cifrar el archivo de caché de tokens en el disco |
user_id | string? | null | Nombre 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allow_remote_fetch | bool | false | Permite obtener URLs de imágenes remotas (http/https). Desactivado por defecto. |
max_image_size_mb | entero | 5 | Tamaño máximo de la carga útil de la imagen en MiB antes de la codificación base64. |
max_image_turns | entero | 0 | Antigüedad máxima de las imágenes en los turnos de conversación. |
max_images | entero | 4 | Número máximo de imágenes adjuntas aceptadas por solicitud. |
vision_model | string? | null | Modelo a usar al enrutar al model_provider de visión (p. ej., "llava:7b"). |
vision_model_provider | string? | null | Nombre 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
auth_token 🔑 | string? | null | Token de portador opcional para la autenticación del nodo. |
enabled | bool | false | Habilitar el punto de conexión de descubrimiento dinámico de nodos. |
max_nodes | entero | 16 | Número máximo de conexiones de nodos concurrentes. |
mdns | objeto | — | Configuració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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
announce_interval_secs | entero | 30 | Con qué frecuencia este nodo vuelve a difundir su presencia, en segundos. |
enabled | bool | false | Habilitar la detección de pares locales mediante mDNS. |
max_peers | entero | 16 | Número máximo de sugerencias de pares LAN no autenticados retenidas en memoria. |
node_name | string? | null | Nombre de nodo legible advertido a los pares de la LAN. Por defecto es un valor estable |
peer_ttl_secs | entero | 90 | Segundos 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key 🔑 | cadena | "" | |
database_id | cadena | "" | |
enabled | bool | false | |
input_property | cadena | "Entrada" | |
max_concurrent | entero | 4 | |
poll_interval_secs | entero | 5 | |
recover_stale | bool | true | |
result_property | cadena | "Resultado" | |
status_property | cadena | "Estado" |
observability
Configuración del backend de observabilidad (sección [observability]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
backend | none | log | verbose | prometheus | otel | — | Backend de sumidero de observabilidad. |
log_llm_request_payload | off | redacted | full | — | Política de captura de la carga útil de la solicitud LLM. Refleja [LogToolIo] pero limita el acceso de la |
log_persistence | tabla | — | Modo de persistencia de registros JSONL. |
log_persistence_max_bytes | entero | 0 | Umbral de tamaño en bytes que desencadena una rotación del archivo cuando |
log_persistence_max_entries | entero | 200 | Número máximo de entradas conservadas cuando log_persistence = "rolling". |
log_persistence_path | cadena | "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_days | entero | 0 | Límite de retención sobre la antigüedad (en días) de los archivos de archivo rotados cuando |
log_persistence_retention_max_files | entero | 7 | Límite de retención del número de archivos de archivo rotados conservados junto con el |
log_persistence_rotate_daily | bool | true | Rotar el archivo activo a un archivo de archivo en un límite de día UTC cuando |
log_tool_io | off | redacted | full | — | Política de captura de E/S de herramientas. |
log_tool_io_denylist | string[] | [] | Nombres de herramientas cuya E/S nunca se registra más allá del nombre + resultado + duración |
log_tool_io_truncate_bytes | entero | 40960 | Truncar la entrada y la salida capturadas de la herramienta en este número de bytes cuando |
otel_endpoint | string? | null | Endpoint de OTLP (por ejemplo, "http://localhost:4318"). Solo se utiliza cuando el backend es "otel". |
otel_genai_content | off | redacted | full | — | Política de captura de contenido de OTel. Refleja [LogToolIo] pero limita el span de OTel |
otel_genai_content_max_chars | entero | 1000 | Límite de truncamiento de caracteres por campo para contenido GenAI de OTel cuando |
otel_headers 🔑 | map? | null | Encabezados HTTP opcionales enviados con cada solicitud de exportación OTLP (por ejemplo, autorización). |
otel_service_name | string? | null | Nombre del servicio reportado al colector de OTel. El valor predeterminado es “zeroclaw”. |
otel_tool_io | off | redacted | full | — | Política de captura de contenido de OTel. Refleja [LogToolIo] pero limita el span de OTel |
otel_tool_io_max_chars | entero | 1000 | Lí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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
completed_sections | string[] | [] | Claves de sección que el usuario ha completado al menos una vez. |
quickstart_completed | bool | false | true 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilita la herramienta opencode_cli |
env_passthrough | string[] | [] | Variables de entorno adicionales pasadas al subproceso de opencode |
max_output_bytes | entero | 2097152 | Tamaño máximo de salida en bytes (2 MB por defecto) |
timeout_secs | entero | 600 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
loop_detection_enabled | bool | true | Habilitar la detección de bucles basada en patrones (repetición exacta, ping-pong, |
loop_detection_max_repeats | entero | 3 | Número de llamadas consecutivas idénticas de herramienta+args antes de la primera |
loop_detection_min_elapsed_secs | integer? | null | Segundos mínimos transcurridos antes de que se active la detección de bucles. |
loop_detection_window_size | entero | 20 | Tamaño de la ventana deslizante para el detector de bucles basado en patrones. |
loop_ignore_tools | string[] | [] | Nombres de herramientas excluidos del bucle de salida idéntica / patrón alternante |
message_timeout_scale_max | integer? | null | Anulación para el límite de escala de tiempo de espera codificado (valor predeterminado: 4). |
step_timeout_secs | integer? | null | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
admin_for_agent_scope | bool | false | Cuando es true, los miembros de este grupo de pares están autorizados a emitir |
agents | string[] | [] | Agentes miembros por alias. |
channel | cadena | — | Referencia a una entrada [channels.<type>.<alias>] configurada. |
external_peers | string[] | [] | Miembros no agentes por nombre de usuario nativo del canal. |
ignore | string[] | [] | Lista de bloqueo por grupo; se sustrae del conjunto de pares resuelto. |
output_modality | tabla | — | Modalidad 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
boards | object[] | [] | Configuraciones de placa (nucleo-f401re, rpi-gpio, etc.) |
datasheet_dir | string? | null | Ruta al documento de la hoja de datos (relativa al espacio de trabajo) para la recuperación de RAG. |
enabled | bool | false | Habilitar soporte para periféricos (las placas se convierten en herramientas de agente) |
pipeline
Configuración de la herramienta de pipeline (sección [pipeline]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_tools | string[] | [] | Herramientas permitidas en los pasos del pipeline. Los pasos que hacen referencia a herramientas que no están en esta |
enabled | bool | false | Habilita la meta-herramienta execute_pipeline. |
max_steps | entero | 20 | Número máximo de pasos permitidos en una única invocación de la canalización. |
plugins
Configuración del sistema de plugins.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
auto_discover | bool | false | Detectar automáticamente y cargar complementos al iniciar (predeterminado: false) |
enabled | bool | false | Habilitar el sistema de complementos (predeterminado: false) |
entries | object[] | [] | |
limits | objeto | — | Límites de ejecución de WASM por llamada ([plugins.limits]). |
max_active_instances | entero | 50 | Número máximo de instancias lógicas de complementos admitidas en el conjunto de capacidades. |
plugins_dir | cadena | "/home/runner/.zeroclaw/plugins" | Directorio donde se almacenan los complementos |
security | objeto | — | Configuració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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
call_fuel | entero | 1000000000 | Presupuesto de combustible por llamada de plugin (unidades de instrucción de wasmtime). |
call_timeout_ms | entero | 30000 | Tiempo límite de reloj de pared para una llamada de exportación de un complemento, en milisegundos. |
max_connections_per_instance | entero | 16 | Número máximo de conexiones de red activas propiedad del host por instancia lógica del complemento, |
max_instances | entero | 64 | Número máximo de instancias de componente que puede crear una tienda de complementos. |
max_memory_mb | entero | 256 | Memoria lineal máxima a la que un almacén de complementos puede crecer, en megabytes. |
max_table_elements | entero | 100000 | Má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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
signature_mode | cadena | "disabled" | Modo de aplicación de firma: “disabled”, “permissive” o “strict”. |
trusted_publisher_keys | string[] | [] | 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).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
default_language | cadena | "en" | Idioma predeterminado del informe (en, de, fr, it). Predeterminado: “en”. |
enabled | bool | false | Habilitar la herramienta project_intel. Valor predeterminado: false. |
include_git_data | bool | true | Incluir datos de git log en los informes. Predeterminado: true. |
include_jira_data | bool | false | Incluir datos de Jira en los informes. Predeterminado: false. |
jira_base_url | string? | null | URL base de la instancia de Jira (obligatorio si include_jira_data es true). |
report_output_dir | cadena | "/home/runner/.zeroclaw/project-reports" | Directorio de salida para los informes generados. |
risk_sensitivity | cadena | "medium" | Sensibilidad de detección de riesgos: baja, media, alta. Predeterminado: “media”. |
templates_dir | string? | null | Directorio de plantillas personalizadas opcional. |
providers
Contenedor de nivel superior para cada categoría de proveedor configurada.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
models | objeto | — | Contenedor de proveedores de modelos tipado con un mapa de alias por familia de proveedores. |
transcription | objeto | — | Contenedor tipado de proveedor de transcripción: un espacio por familia STT. |
tts | objeto | — | Contenedor 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.*.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
all_proxy | string? | null | URL del proxy de respaldo para todos los esquemas. |
enabled | bool | false | Habilitar el soporte de proxy para el ámbito seleccionado. |
http_proxy | string? | null | URL del proxy para las solicitudes HTTP (admite http, https, socks5, socks5h). |
https_proxy | string? | null | URL del proxy para solicitudes HTTPS (admite http, https, socks5, socks5h). |
no_proxy | string[] | [] | Lista de omisión de no-proxy. Mismo formato que NO_PROXY. |
scope | tabla | — | Ámbito de la aplicación proxy: determina qué tráfico saliente utiliza el proxy. |
services | string[] | [] | 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilitar la clasificación automática de consultas. Valor predeterminado: false. |
rules | object[] | [] | 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilita el puente de retransmisión (valor predeterminado: false). |
node_id | cadena | "" | ID de nodo opaco con el que se registra este demonio (los clientes se conectan a este ID). Dejar |
node_id_rotation_days | entero | 0 | Rota automáticamente el node-id autogenerado cada N días (valor predeterminado: 0 = nunca). |
outer_client_cert | cadena | "" | Certificado/clave PEM que el demonio presenta al relay en la capa TLS EXTERNA |
outer_client_key | cadena | "" | |
relay_ca_path | cadena | "" | CA PEM de confianza para el certificado TLS PROPIO (externo) del relay. Cuando se establece, |
relay_host | cadena | "" | Nombre del servidor que se espera en el certificado externo del relay. Si está vacío, se deriva. |
relay_insecure | bool | false | Omitir la verificación del certificado externo del relay (solo para desarrollo con certificado autofirmado). |
tofu | bool | false | Confianza en el primer uso para el certificado OUTER del relay (false de forma predeterminada): accept |
token | cadena | "" | Token de cuenta de Relay presentado durante el registro (credencial de admisión). |
url | cadena | "" | 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.
| Clave | Tipo | Predeterminado | Descripció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_secs | entero | 2 | Retardo inicial para reinicios de canal/daemon. |
channel_max_backoff_secs | entero | 60 | Max backoff para reinicios de canal/daemon. |
provider_backoff_ms | entero | 500 | Tiempo de espera base (ms) para el retraso de reintento de model_provider. |
provider_retries | entero | 2 | Reintentos por model_provider antes de abandonar. |
scheduler_poll_secs | entero | 15 | Frecuencia de sondeo del programador en segundos. |
scheduler_retries | entero | 2 | Nú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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_commands | string[] | ["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_roots | string[] | [] | Directorios raíz adicionales a los que el agente puede acceder. |
allowed_tools | string[] | [] | Herramientas que el agente puede invocar en modo agente. Vacío = heredar / no |
always_ask | string[] | [] | Herramientas que siempre requieren aprobación en este perfil. |
approval_route | objeto | — | Enruta las aprobaciones de herramientas a un canal de aprobador distinto con valores predeterminados fail-closed. |
auto_approve | string[] | ["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_commands | bool | true | Bloquea los comandos de alto riesgo incluso cuando estén en la lista permitida. |
delegation_policy | objeto | — | Política de delegación de perfil de riesgo para el trabajo enviado a los agentes que la comparten. |
excluded_tools | string[] | [] | Herramientas excluidas de canales que no son de CLI bajo este perfil. |
firejail_args | string[] | [] | Argumentos adicionales reenviados a firejail cuando sandbox_backend = “firejail”. |
forbidden_paths | string[] | ["/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. |
level | tabla | — | El nivel de autonomía del agente, ordenado de menos a más autónomo. |
require_approval_for_medium_risk | bool | true | Requerir aprobación para operaciones de riesgo medio. |
sandbox_backend | string? | null | Identificador del backend de sandbox (por ejemplo, "firejail", "landlock"). None hereda. |
sandbox_enabled | bool? | null | Si el entorno aislado está habilitado para este perfil. None hereda el global. |
shell_env_passthrough | string[] | [] | Nombres de variables de entorno pasados a subprocesos de shell. |
workspace_only | bool | true | Restringe 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
approver_channel* | cadena | — | Un nombre de canal registrado (NO el originador): el salto de aprobador distinto. |
on_no_approver | tabla | — | Qué hacer cuando no se puede contactar a un aprobador configurado. Valor predeterminado FAIL-CLOSED. |
timeout_secs | entero | 120 | Limita 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
mode | tabla | — | Modo de delegación para un perfil de riesgo. |
runtime
Configuración del adaptador en tiempo de ejecución (sección [runtime]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
docker | objeto | — | Configuración del tiempo de ejecución de Docker ([runtime.docker] sección). |
kind | native | docker | cloudflare | — | Tipo de adaptador de runtime. |
reasoning_effort | string? | null | Esfuerzo de razonamiento opcional para los model_providers que exponen un control de nivel. |
reasoning_enabled | bool? | null | Anulación global de razonamiento para los model_providers que exponen controles explícitos. |
shell | string? | null | Binario 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).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_workspace_roots | string[] | [] | 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_limit | number? | 1.0 | Límite de CPU opcional (None = sin límite explícito). |
image | cadena | "alpine:3.20" | Imagen de tiempo de ejecución utilizada para ejecutar comandos de shell. |
memory_limit_mb | integer? | 512 | Límite de memoria opcional en MB (None = sin límite explícito). |
mount_workspace | bool | true | Montar el espacio de trabajo configurado en /workspace. |
network | cadena | "none" | Modo de red de Docker (none, bridge, etc.). |
read_only_rootfs | bool | true | Montar 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>].
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
agentic | bool | false | Habilitar el modo agéntico (bucle de llamadas a herramientas de múltiples turnos). |
agentic_timeout_secs | integer? | null | Tiempo de espera de ejecución de la delegación agéntica en segundos. None hereda el valor global. |
auto_classify | objeto | — | |
compact_context | bool? | null | Usa bootstrap compacto (6000 caracteres / 2 fragmentos RAG). None hereda. |
context_compression | objeto | — | |
delegation_timeout_secs | integer? | null | Tiempo de espera de la llamada de delegado en segundos. None hereda el tiempo de espera global del delegado. |
eval | objeto | — | |
history_pruning | objeto | — | |
keep_tool_context_turns | integer? | null | Número de turnos recientes cuyo contexto completo de herramientas se conserva. None hereda. |
max_actions_per_hour | entero | 20 | Máximo de acciones permitidas por hora. 0 es un presupuesto de cero absoluto — el |
max_context_tokens | integer? | null | Máximo de tokens estimados para el contexto antes de la compactación. None hereda. |
max_cost_per_day_cents | entero | 500 | Costo máximo por día en centavos. 0 hereda el límite global. |
max_delegation_depth | entero | 0 | Profundidad máxima de recursión de delegación. 0 hereda el valor predeterminado. |
max_history_messages | integer? | null | Máximo de mensajes del historial de conversación retenidos por sesión. None hereda. |
max_system_prompt_chars | integer? | null | Número máximo de caracteres para el prompt del sistema ensamblado. None hereda. |
max_tool_iterations | entero | 0 | Iteraciones máximas de llamadas a herramientas en modo agente. 0 hereda el valor predeterminado global. |
max_tool_result_chars | integer? | null | Máximo de caracteres para un único resultado de herramienta. None hereda. |
memory_recall_limit | integer? | null | Máximo de entradas de memoria inyectadas por turno. None hereda el valor predeterminado global (5). |
parallel_tools | bool? | null | Habilita la ejecución paralela de herramientas por iteración. None hereda. |
prompt_injection_mode | tabla | — | Configuración de carga de habilidades (sección [skills]). |
shell_timeout_secs | entero | 60 | Tiempo de espera del subproceso de shell en segundos. 0 hereda el tiempo de espera global. |
strict_tool_parsing | bool | false | |
thinking | objeto | — | Configuración para controlar el nivel de pensamiento/razonamiento. |
tool_call_dedup_exempt | string[] | [] | Herramientas exentas de la comprobación de deduplicación dentro del turno. |
tool_dispatcher | string? | null | Estrategia de despacho de herramientas (p. ej. "auto"). None hereda. |
tool_filter_groups | object[] | [] | |
tool_receipts | objeto | — | Configuración del comprobante de ejecución de la herramienta HMAC, por agente |
runtime_profiles.<alias>.auto_classify
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
complex_hint | string? | null | |
cost_optimized_hint | cadena | "cost-optimized" | |
simple_hint | string? | null | |
standard_hint | string? | null |
runtime_profiles.<alias>.context_compression
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | El compresor de contexto en tiempo de ejecución fue eliminado; no hay ruta de ejecución en tiempo de ejecución |
identifier_policy | cadena | "strict" | |
max_passes | entero | 3 | |
protect_first_n | entero | 3 | |
protect_last_n | entero | 4 | |
source_max_chars | entero | 50000 | |
summary_max_chars | entero | 4000 | |
summary_model | string? | null | ID de modelo simple DEPRECATED retenido como respaldo de compatibilidad. |
summary_provider | cadena | — | Referencia a una entrada [providers.models.<type>.<alias>] configurada. |
threshold_ratio | número | 0.5 | |
timeout_secs | entero | 60 | |
tool_result_retrim_chars | entero | 2000 | |
tool_result_trim_exempt | string[] | [] |
runtime_profiles.<alias>.eval
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | |
max_retries | entero | 1 | |
min_quality_score | número | 0.5 |
runtime_profiles.<alias>.history_pruning
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
collapse_tool_results | bool | true | |
enabled | bool | false | |
keep_recent | entero | 4 | |
max_tokens | entero | 8192 |
runtime_profiles.<alias>.thinking
Configuración para controlar el nivel de pensamiento/razonamiento.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
budget_tokens | mapa | {} | |
default_level | off | minimal | low | medium | high | max | — | Qué profundidad debe tener el razonamiento del modelo para un mensaje dado. |
display | off | omitted | updates | summarized | — | Control visible para el usuario de la beta thinking.display de Anthropic |
native_thinking | bool | false | Habilita 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Genera recibos HMAC en cada ejecución de herramienta. Predeterminado: false. |
inject_system_prompt | bool | true | Inyecta la instrucción receipt-echo en el prompt del sistema para que el |
show_in_response | bool | false | Añ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í.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
catch_up_on_startup | bool | true | Ejecutar todos los trabajos atrasados al iniciar el programador. Predeterminado: true. |
enabled | bool | true | Habilita el bucle del programador integrado. Cuando es false, no se ejecuta ningún cron job. |
max_concurrent | entero | 4 | Número máximo de tareas ejecutadas en paralelo dentro de un único ciclo de sondeo. |
max_run_history | entero | 50 | Número máximo de registros históricos de ejecuciones de cron a conservar. Predeterminado: 50. |
max_tasks | entero | 64 | Nú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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
encrypt | bool | true | Habilitar 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).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
audit | objeto | — | Configuración de registro de auditoría |
estop | mapa | — | Configuración de parada de emergencia. |
leak_detection | objeto | — | Configuración de detección de fugas de credenciales salientes. |
nat64_prefixes | string[] | [] | Prefijos NAT64 RFC 6052 específicos de la red implementados en este host |
nevis | mapa | — | Configuración de integración de IAM de Nevis. |
otp | mapa | — | Configuración de OTP de seguridad. |
webauthn | objeto | — | Configuración de autenticación con clave de hardware WebAuthn / FIDO2 ([security.webauthn]). |
security.audit
Configuración de registro de auditoría
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | true | Habilitar el registro de auditoría |
log_path | cadena | "audit.log" | Ruta al archivo de registro de auditoría (relativa al directorio de zeroclaw) |
max_size_mb | entero | 100 | Tamaño máximo del registro en MB antes de la rotación |
sign_events | bool | false | Firmar eventos con HMAC para evidencia de integridad |
security.estop
Configuración de parada de emergencia.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilitar los controles de parada de emergencia. |
require_otp_to_resume | bool | true | Requerir un OTP válido antes de reanudar las operaciones. |
state_file | cadena | "/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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | true | Habilita la detección y el enmascaramiento de fugas de credenciales salientes. |
high_entropy_tokens | bool | true | Habilita la redacción de tokens de alta entropía; los patrones deterministas siguen ejecutándose cuando es false. |
sensitivity | número | 0.7 | Sensibilidad 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
client_id | cadena | "" | ID de cliente OAuth2 registrado en Nevis. |
client_secret 🔑 | string? | null | Secreto del cliente OAuth2. Cifrado mediante SecretStore cuando se almacena en el disco. |
enabled | bool | false | Habilitar la integración con Nevis IAM. El valor predeterminado es false para mantener la compatibilidad con versiones anteriores. |
instance_url | cadena | "" | URL base de la instancia de Nevis (por ejemplo, https://nevis.example.com). |
jwks_url | string? | null | URL del punto de conexión JWKS para la validación local de tokens. |
realm | cadena | "master" | Dominio de Nevis para autenticar. |
require_mfa | bool | false | Requerir la verificación de MFA para todas las solicitudes autenticadas con Nevis. |
role_mapping | map[] | [] | Mapeos de permisos de ZeroClaw a roles de Nevis. |
session_timeout_secs | entero | 3600 | Tiempo de espera de la sesión en segundos. |
token_validation | cadena | "local" | Estrategia de validación de tokens: "local" (JWKS) o "remote" (introspección). |
security.otp
Configuración de OTP de seguridad.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
cache_valid_secs | entero | 300 | Reutilizar la ventana para códigos OTP validados recientemente. |
challenge_max_attempts | entero | 3 | Número máximo de intentos de desafío OTP antes del bloqueo. |
enabled | bool | false | Habilitar el control de acceso mediante OTP. El valor predeterminado es deshabilitado para mantener la compatibilidad con versiones anteriores. |
gated_actions | string[] | ["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_categories | string[] | [] | Las categorías de dominio predefinidas se han expandido en gated_domains. |
gated_domains | string[] | [] | Patrones de dominio explícitos controlados por OTP. |
method | tabla | — | Estrategia de validación de OTP. |
token_ttl_secs | entero | 30 | Paso 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).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilitar la autenticación WebAuthn. Valor predeterminado: false. |
rp_id | cadena | "localhost" | Identificador de la parte que confía (nombre de dominio, por ejemplo, “example.com”). Predeterminado: “localhost”. |
rp_name | cadena | "ZeroClaw" | Nombre para mostrar de la parte que confía. Predeterminado: “ZeroClaw”. |
rp_origin | cadena | "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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
auto_triage | bool | false | Clasificar automáticamente las alertas entrantes sin solicitar confirmación al usuario. |
enabled | bool | false | Habilitar herramientas de operaciones de seguridad. |
max_auto_severity | cadena | "bajo" | Nivel máximo de severidad que puede ser auto-remediado sin aprobación. |
playbooks_dir | cadena | "/home/runner/.zeroclaw/playbooks" | Directorio que contiene las definiciones del plan de respuesta a incidentes (JSON). |
report_output_dir | cadena | "/home/runner/.zeroclaw/security-reports" | Directorio para los informes de seguridad generados. |
require_approval_for_actions | bool | true | Requerir aprobación humana antes de ejecutar las acciones del playbook. |
siem_integration | string? | null | URL 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
timeout_secs | entero | 60 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
directory | string? | null | Ruta del directorio (relativa a la raíz del espacio de trabajo) para cargar habilidades desde. |
exclude | string[] | [] | Nombres de habilidades a excluir de este paquete. |
include | string[] | [] | Nombres de habilidades a incluir. Vacío significa incluir todas las habilidades en directory. |
skills
Configuración de carga de habilidades (sección [skills]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allow_scripts | bool | false | Permitir archivos similares a scripts en las habilidades (.sh, .bash, .ps1, archivos de shell con shebang). |
extra_registries | object[] | — | Registros de habilidades adicionales configurados por el usuario, instalados mediante |
install_suggestions | objeto | — | Sugerencias de instalación de skill activadas por prompt (sección [skills.install_suggestions]). |
open_skills_dir | string? | null | Ruta opcional a un repositorio local de open-skills. |
open_skills_enabled | bool | false | Habilitar la carga y sincronización del repositorio de habilidades abiertas de la comunidad. |
prompt_injection_mode | tabla | — | Configuración de carga de habilidades (sección [skills]). |
registry_url | string? | null | URL del repositorio del registro de habilidades para instalaciones con nombre base. |
skill_creation | objeto | — | Configuración de creación autónoma de habilidades (sección [skills.skill_creation]). |
skill_improvement | objeto | — | Configuració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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilita 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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Habilitar la creación automática de habilidades después de tareas exitosas en varios pasos. |
max_final_answer_chars | entero | 2000 | Máximo de caracteres de la respuesta final del asistente enviada a la |
max_skills | entero | 500 | Número máximo de habilidades generadas automáticamente que se deben conservar. |
max_task_chars | entero | 1000 | Máximo de caracteres de la descripción de la tarea alimentada en la reflexión |
max_tool_trace_chars | entero | 4000 | Máximo de caracteres del rastro de llamada a herramienta renderizado introducido en el |
reflection_enabled | bool | false | Synthesize un SKILL.md canónico a partir del rastro de ejecución mediante una |
similarity_threshold | número | 0.85 | Umbral 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
cooldown_secs | entero | 3600 | Intervalo mínimo (en segundos) entre revisiones para la misma habilidad. |
enabled | bool | false | Habilita la bifurcación de revisión de habilidades en segundo plano. Valor predeterminado: false. |
max_review_iterations | entero | 8 | Número máximo de iteraciones de llamadas a herramientas que el fork de revisión puede realizar. |
nudge_interval_iterations | entero | 10 | Genera 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
approval | objeto | — | [sop.approval] - configuración de política del intermediario de aprobaciones. Una fuente de identidad permanente |
approval_mode | tabla | — | QUIÉN puede desactivar una puerta de aprobación SOP. Superpuesto con execution_mode / priority / |
approval_timeout_action | tabla | — | ¿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_secs | entero | 300 | Tiempo de espera de aprobación en segundos. Cuando una ejecución espera la aprobación durante más de |
default_execution_mode | cadena | "supervisado" | Modo de ejecución predeterminado para SOP que omiten execution_mode. |
maintenance_interval_secs | entero | 60 | Con qué frecuencia (en segundos) el demonio ejecuta el tick de mantenimiento de SOP: fire |
max_concurrent_total | entero | 4 | Máximo total de ejecuciones concurrentes de SOP en todas las SOP. |
max_finished_runs | entero | 100 | Número máximo de ejecuciones finalizadas que se mantienen en memoria para consultas de estado. |
max_step_retries | entero | 2 | Máximo de reintentos permitidos por una política de fallos de paso. |
max_step_visits | entero | 256 | Número máximo de veces que una ejecución de SOP enrutada puede visitar un paso. |
persist_runs | bool | true | Mantén el estado de ejecución de forma persistente entre reinicios. Predeterminado true: build_sop_engine |
procedural_memory_enabled | bool | false | Habilita las herramientas de propuesta de memoria procedimental de SOP. El valor predeterminado false mantiene |
run_state_dir | string? | null | Directorio para el almacén persistente de ejecuciones (creado con modo 0700). Cuando se omite, |
run_store_backend | tabla | — | Selector de backend de estado de ejecución de SOP durable. Un conjunto cerrado, conocido en tiempo de compilación, por lo que |
sops_dir | string? | null | Directorio que contiene las definiciones de SOP (subdirectorios con SOP.toml + SOP.md). |
step_mandatory_tools | string[] | ["sop_advance","sop_approve","sop_status"] | Nombres de herramientas que permanecen disponibles mientras se aplica el ámbito del paso. |
step_schema_enforce | bool | true | Enforce esquemas de entrada/salida por paso cuando un paso los declare. |
step_scope_enforce | bool | false | Exigir el ámbito de herramientas por paso. El valor predeterminado false mantiene tools: como asesor. |
untrusted_frame_warning | bool | true | Incluye el texto de advertencia explicativo dentro de marcos de contenido no confiable. |
untrusted_guard_sensitivity | número | 0.7 | Sensibilidad de prompt-guard y redacción saliente para contenido SOP no confiable. |
untrusted_input_guard | cadena | "warn" | Acción de protección de prompts para la entrada de activación SOP no confiable: advertir, bloquear o sanear. |
untrusted_outbound_redact | bool | true | Redacta el contenido del SOP saliente antes de que los consumidores de persistencia/auditoría lo escriban. |
untrusted_payload_max_bytes | entero | 8192 | Má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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_private_hosts | string[] | [] | Los hosts privados/internos pueden relajar la comprobación SSRF de direcciones públicas. |
enabled | bool | false | Habilitar la herramienta text_browser |
preferred_browser | string? | null | Navegador de texto preferido (“lynx”, “links” o “w3m”). Si no está configurado, se detecta automáticamente. |
timeout_secs | entero | 30 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key 🔑 | string? | null | Clave de API utilizada para las solicitudes de transcripción (proveedor de transcripción Groq). |
api_url | cadena | "https://api.groq.com/openai/v1/audio/transcriptions" | URL del endpoint de la API de Whisper (proveedor de transcripción Groq). |
assemblyai | objeto | — | Configuración de model_provider de STT de AssemblyAI ([transcription.assemblyai]). |
deepgram | objeto | — | Configuración model_provider de STT de Deepgram ([transcription.deepgram]). |
enabled | bool | false | Habilitar la transcripción de voz para los canales que lo admitan. |
google | objeto | — | Configuración de model_provider de Google Cloud Speech-to-Text ([transcription.google]). |
initial_prompt | string? | null | Prompt inicial opcional para sesionar la transcripción hacia el vocabulario esperado |
language | string? | null | Sugerencia de idioma opcional (ISO-639-1, p. ej. “en”, “ru”) para el proveedor de transcripción Groq. |
local_whisper | objeto | — | Punto final de STT compatible con Whisper local/autoalojado ([transcription.local_whisper]). |
max_audio_bytes | integer? | null | Límite superior global opcional del tamaño de audio en bytes, aplicado antes |
max_duration_secs | entero | 120 | Duración máxima de la voz en segundos (los mensajes más largos que este se omiten). |
model | cadena | "whisper-large-v3-turbo" | Nombre del modelo Whisper (proveedor de transcripción Groq). |
openai | objeto | — | Configuración de model_provider de OpenAI Whisper STT ([transcription.openai]). |
transcribe_non_ptt_audio | bool | false | Tambié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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key 🔑 | string? | null | Clave API de AssemblyAI. |
transcription.deepgram
Configuración model_provider de STT de Deepgram ([transcription.deepgram]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key 🔑 | string? | null | Clave de API de Deepgram. |
model | cadena | "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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key 🔑 | string? | null | Clave de API de Google Cloud. |
language_code | cadena | "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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
bearer_token 🔑 | string? | null | Token de portador para la autenticación del punto de conexión. |
max_audio_bytes | entero | 26214400 | Tamaño máximo del archivo de audio en bytes aceptado por este endpoint. |
timeout_secs | entero | 300 | Tiempo de espera de la solicitud en segundos. El valor predeterminado es 300 (archivos grandes en GPU local). |
url* | cadena | — | URL 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]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key 🔑 | string? | null | Clave de la API de OpenAI para la transcripción de Whisper. |
model | cadena | "whisper-1" | Nombre del modelo Whisper (predeterminado: “whisper-1”). |
trust
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
correction_penalty | número | 0.05 | |
decay_half_life_days | número | 30.0 | |
initial_score | número | 0.8 | |
regression_threshold | número | 0.5 | |
success_boost | número | 0.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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
default_format | cadena | "mp3" | Formato de salida de audio predeterminado ("mp3", "opus", "wav"). |
default_voice | cadena | "aleación" | ID de voz predeterminado que se pasa al proveedor de tts seleccionado. |
enabled | bool | false | Habilitar la síntesis de TTS. |
max_text_length | entero | 4096 | Longitud 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".
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
cloudflare | objeto | — | |
custom | objeto | — | |
ngrok | objeto | — | |
openvpn | objeto | — | Configuración del túnel OpenVPN ([tunnel.openvpn]). |
pinggy | objeto | — | |
tailscale | objeto | — | |
tunnel_provider | cadena | "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
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
token 🔑 | cadena | "" | Token de Cloudflare Tunnel (desde el panel de Zero Trust) |
tunnel.custom
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
health_url | string? | null | URL opcional para verificar la salud del túnel |
start_command | cadena | "" | Plantilla de comando para iniciar el túnel. Utiliza los marcadores {port} y {host}. |
url_pattern | string? | null | Expresión regular opcional para extraer la URL pública de la salida estándar del comando |
tunnel.ngrok
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
auth_token 🔑 | cadena | "" | token de autenticación de ngrok |
domain | string? | null | Dominio 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
advertise_address | string? | null | Dirección anunciada una vez que la VPN esté conectada (por ejemplo, "10.8.0.2:42617"). |
auth_file | string? | null | Ruta opcional al archivo de credenciales de autenticación (--auth-user-pass). |
config_file* | cadena | — | Ruta al archivo de configuración .ovpn (no debe estar vacío). |
connect_timeout_secs | entero | 30 | Tiempo de espera de conexión en segundos (predeterminado: 30, debe ser > 0). |
extra_args | string[] | [] | Argumentos adicionales de la CLI de OpenVPN se reenvían literalmente. |
tunnel.pinggy
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
region | string? | null | Región del servidor: "us" (EE. UU.), "eu" (Europa), "ap" (Asia), "br" (América del Sur), "au" (Australia), u omitir para auto. |
token 🔑 | string? | null | Token de acceso de Pinggy (opcional: la capa gratuita funciona sin uno). |
tunnel.tailscale
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
funnel | bool | false | Utiliza Tailscale Funnel (internet público) frente a Serve (solo tailnet). |
hostname | string? | null | Anulació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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | bool | false | Activar la sección VI (predeterminado: false). |
strictness | cadena | "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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_domains | string[] | ["*"] | Dominios permitidos para la búsqueda web (coincidencia exacta o de subdominio; ["*"] = todos los hosts públicos) |
allowed_private_hosts | string[] | [] | Hosts privados/internos a los que se permite relajar la comprobación de SSRF de direcciones públicas |
blocked_domains | string[] | [] | Dominios bloqueados (coincidencia exacta o de subdominio; siempre tiene prioridad sobre allowed_domains) |
enabled | bool | true | Habilitar la herramienta web_fetch para obtener contenido de páginas web |
firecrawl | objeto | — | Configuración de respaldo de Firecrawl para sitios con mucho JavaScript y bloqueados por bots. |
max_response_size | entero | 500000 | Tamañ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_secs | entero | 30 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
api_key_env | cadena | "FIRECRAWL_API_KEY" | Nombre de la variable de entorno para la clave de la API de Firecrawl |
api_url | cadena | "https://api.firecrawl.dev/v1" | URL base de la API de Firecrawl |
enabled | bool | false | Habilitar el respaldo de Firecrawl |
mode | tabla | — | Modo de respaldo de Firecrawl: extraer una sola página o rastrear páginas enlazadas. |
web_search
Configuración de la herramienta de búsqueda web (sección [web_search]).
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
bocha_api_key 🔑 | string? | null | Clave de API de Bocha AI Web Search (requerida si search_provider es "bocha"). Consígala en https://open.bochaai.com. |
brave_api_key 🔑 | string? | null | Clave de API de Brave Search (obligatoria si search_provider es “brave”) |
enabled | bool | true | Habilita web_search_tool para las búsquedas web |
jina_api_key 🔑 | string? | null | Clave de API de Jina AI (requerida si search_provider es “jina”) |
max_results | entero | 5 | Resultados máximos por búsqueda (1-10) |
search_provider | cadena | "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_url | string? | null | URL de la instancia de SearXNG (obligatorio si search_provider es "searxng"), p. ej. "https://searx.example.com". |
tavily_api_key 🔑 | string? | null | Clave de API de Tavily Search (obligatoria si search_provider es “tavily”) |
timeout_secs | entero | 15 | Tiempo 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
bind | cadena | "0.0.0.0" | Dirección de enlace para el listener WSS (predeterminado: “0.0.0.0”). |
cert_path | cadena | "" | Ruta al archivo de certificado del servidor codificado en PEM. |
client_auth | objeto | — | Autenticación mediante certificado de cliente (mTLS) para el transporte WSS remoto |
enabled | bool | false | Habilitar el listener WSS (predeterminado: false). |
handshake_timeout_secs | entero | 10 | Un único límite de tiempo absoluto, en segundos, que cubra la aceptación de TLS Y la |
incomplete_message_timeout_secs | entero | 60 | Durante cuánto tiempo, en segundos, puede retenerse un mensaje recibido parcialmente por el |
key_path | cadena | "" | Ruta al archivo de clave privada del servidor codificado en PEM. |
max_pending_handshakes | entero | 256 | Límite de sockets tras accept() que aún no han terminado el TLS |
max_sessions | entero | 64 | Límite máximo de sesiones WSS establecidas simultáneamente (predeterminado: 64). Límites |
max_sessions_per_client | entero | 8 | Límite de sesiones simultáneas que presentan UN certificado de cliente |
port | entero | 9781 | Puerto para el listener WSS (predeterminado: 9781). |
sans | string[] | [] | 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.
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
ca_cert_path | cadena | "" | Ruta al certificado de CA codificado en PEM que se usa para verificar los certificados de cliente. |
crl_path | cadena | "" | Ruta opcional a una lista de huellas digitales revocadas (un valor hexadecimal SHA-256 por línea). A |
enabled | bool | false | Use la CA proporcionada por el usuario que se indica a continuación. Cuando es false (valor predeterminado), el demonio |
pinned_certs | string[] | [] | Huellas digitales SHA-256 opcionales para la fijación de certificados. Cuando no estén vacías, |