Fundamentals

Entorno de ejecución del agente

OpenClaw incluye un entorno de ejecución de agente integrado: un bucle de agente incorporado, la conexión de herramientas y el ensamblado del prompt, distinto de delegar turnos a un proceso de arnés externo. Cada agente configurado (consulte Enrutamiento multiagente para ejecutar varios) tiene su propio espacio de trabajo, archivos de arranque y almacén de sesiones. Esta página abarca el contrato de ese entorno de ejecución: qué debe contener el espacio de trabajo, qué archivos se inyectan y cómo se inicializan las sesiones con él.

Espacio de trabajo (obligatorio)

Cada agente utiliza un único directorio de espacio de trabajo (agents.defaults.workspace, o agents.list[].workspace por agente) como su único directorio de trabajo (cwd) para las herramientas y el contexto.

Recomendación: utilice openclaw setup para crear ~/.openclaw/openclaw.json si no existe e inicializar los archivos del espacio de trabajo.

Diseño completo del espacio de trabajo y guía de copia de seguridad: Espacio de trabajo del agente

Si agents.defaults.sandbox está habilitado, las sesiones que no sean la principal pueden sustituirlo por espacios de trabajo por sesión en agents.defaults.sandbox.workspaceRoot (consulte Configuración del Gateway).

Archivos de arranque (inyectados)

Dentro del espacio de trabajo, OpenClaw espera estos archivos editables por el usuario:

Archivo Finalidad
AGENTS.md Instrucciones operativas y «memoria»
SOUL.md Personalidad, límites y tono
TOOLS.md Notas y convenciones sobre herramientas mantenidas por el usuario
IDENTITY.md Nombre, estilo y emoji del agente
USER.md Perfil del usuario y forma de tratamiento preferida
HEARTBEAT.md Instrucciones específicas de Heartbeat
BOOTSTRAP.md Ritual único de primera ejecución (se elimina al completarse)
MEMORY.md Archivo raíz de memoria a largo plazo, si existe

En el primer turno de una sesión nueva, OpenClaw inyecta el contenido de estos archivos en el contexto del proyecto del prompt del sistema. MEMORY.md solo se inyecta cuando existe en la raíz del espacio de trabajo.

Los archivos vacíos se omiten. Los archivos grandes se recortan y truncan con un marcador para mantener los prompts ligeros (lea el archivo para consultar el contenido completo). Si falta un archivo (excepto MEMORY.md), se inyecta en su lugar una única línea de marcador de «archivo ausente»; openclaw setup crea una plantilla predeterminada segura para él.

BOOTSTRAP.md solo se crea para un espacio de trabajo completamente nuevo (sin otros archivos de arranque presentes). Mientras esté pendiente, OpenClaw lo mantiene en el contexto del proyecto y añade al prompt del sistema instrucciones de arranque para el ritual inicial, en lugar de copiarlo en el mensaje del usuario. Si se elimina después de completar el ritual, no vuelve a crearse en reinicios posteriores.

Después de observar un espacio de trabajo, OpenClaw también conserva en el directorio de estado un marcador de atestación para la ruta del espacio de trabajo. Si un espacio de trabajo atestiguado recientemente desaparece o se borra, el inicio se niega a volver a generar silenciosamente BOOTSTRAP.md; restaure el espacio de trabajo o realice un restablecimiento completo de la incorporación para que el espacio de trabajo y el marcador se borren juntos.

Para deshabilitar por completo la creación de archivos de arranque (para espacios de trabajo preparados previamente), establezca:

json5
{ agents: { defaults: { skipBootstrap: true } } }

Herramientas integradas

Las herramientas principales (lectura, ejecución, edición, escritura y herramientas del sistema relacionadas) están siempre disponibles, sujetas a la política de herramientas. apply_patch está habilitado de forma predeterminada para los modelos de OpenAI y está condicionado por tools.exec.applyPatch (enabled, workspaceOnly, allowModels). TOOLS.md no controla qué herramientas existen; ofrece orientación sobre cómo se desea que se utilicen.

Skills

OpenClaw carga Skills desde estas ubicaciones (en orden de mayor a menor precedencia):

  • Espacio de trabajo: <workspace>/skills
  • Skills de agente del proyecto: <workspace>/.agents/skills
  • Skills de agente personales: ~/.agents/skills
  • Administradas/locales: ~/.openclaw/skills
  • Incluidas (distribuidas con la instalación)
  • Carpetas de Skills adicionales: skills.load.extraDirs

Las raíces de Skills pueden contener carpetas agrupadas como <workspace>/skills/personal/foo/SKILL.md; la Skill sigue exponiéndose mediante su nombre plano del frontmatter, por ejemplo foo.

Las Skills pueden condicionarse mediante la configuración o el entorno (consulte skills en Configuración del Gateway).

Límites del entorno de ejecución

El entorno de ejecución de agente integrado pertenece a OpenClaw: el descubrimiento de modelos, la conexión de herramientas, el ensamblado del prompt, la gestión de sesiones y la entrega por canales comparten una única superficie de ejecución integrada.

Sesiones

Las filas de sesión se almacenan en la base de datos SQLite de cada agente:

  • ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite

Los archivos JSONL de transcripciones aún pueden residir en ~/.openclaw/agents/<agentId>/sessions/ como entradas de migración heredadas, archivos eliminados o restablecidos, importaciones, exportaciones y artefactos de soporte. El historial activo del agente se almacena en SQLite junto con las filas de sesión. El ID de sesión es estable y lo elige OpenClaw. OpenClaw no lee carpetas de sesión de otras herramientas.

Dirección durante la transmisión

Los prompts entrantes que llegan durante una ejecución se incorporan de forma predeterminada a la ejecución actual. La dirección se entrega después de que el turno actual del asistente termine de ejecutar sus llamadas a herramientas, antes de la siguiente llamada al LLM, y ya no omite las llamadas a herramientas restantes del mensaje actual del asistente.

/queue steer es el comportamiento predeterminado durante una ejecución activa. /queue followup y /queue collect hacen que los mensajes esperen a un turno posterior en lugar de dirigir la ejecución. /queue interrupt cancela la ejecución activa. Consulte Cola y Cola de dirección para conocer el comportamiento de la cola y sus límites.

La transmisión por bloques envía los bloques completados del asistente en cuanto finalizan; está deshabilitada de forma predeterminada (agents.defaults.blockStreamingDefault: "off"). Ajuste el límite mediante agents.defaults.blockStreamingBreak (text_end frente a message_end; el valor predeterminado es text_end). Controle la fragmentación flexible de bloques con agents.defaults.blockStreamingChunk (valor predeterminado: 800-1200 caracteres; prioriza los saltos de párrafo, después los saltos de línea y, por último, las oraciones). Combine los fragmentos transmitidos con agents.defaults.blockStreamingCoalesce para reducir la saturación de líneas individuales (combinación basada en inactividad antes del envío). Los canales distintos de Telegram requieren *.streaming.block.enabled: true explícito para habilitar las respuestas por bloques (QQ Bot, en cambio, transmite respuestas por bloques salvo que channels.qqbot.streaming.mode sea "off"). Los resúmenes detallados de herramientas se emiten al iniciar la herramienta (sin antirrebote); la interfaz de control transmite la salida de las herramientas mediante eventos del agente cuando están disponibles. Más información: Transmisión y fragmentación.

Referencias de modelos

Las referencias de modelos de la configuración (por ejemplo, agents.defaults.model y agents.defaults.models) se analizan dividiéndolas en el primer /.

  • Utilice provider/model al configurar modelos.
  • Si el ID del modelo contiene / (al estilo de OpenRouter), incluya el prefijo del proveedor (ejemplo: openrouter/moonshotai/kimi-k2).
  • Si se omite el proveedor, OpenClaw prueba primero un alias, después una coincidencia única entre los proveedores configurados para ese ID de modelo exacto y solo entonces recurre al proveedor predeterminado configurado. Si ese proveedor ya no ofrece el modelo predeterminado configurado, OpenClaw recurre al primer proveedor/modelo configurado en lugar de mostrar un valor predeterminado obsoleto de un proveedor eliminado.

Configuración (mínima)

Como mínimo, establezca:

  • agents.defaults.workspace
  • channels.whatsapp.allowFrom (muy recomendado)

Temas relacionados

Was this useful?
On this page

On this page