Runtime del Agente 🤖

OpenClaw ejecuta un único runtime de agente embebido derivado de pi-mono.

Workspace (requerido)

OpenClaw usa un único directorio de workspace del agente (agents.defaults.workspace) como el único directorio de trabajo (cwd) del agente para herramientas y contexto.

Recomendado: usa openclaw setup para crear ~/.openclaw/openclaw.json si no existe e inicializar los archivos del workspace.

Guía completa de la estructura del workspace + respaldo: Workspace del agente

Si agents.defaults.sandbox está habilitado, las sesiones no principales pueden sobrescribir esto con workspaces por sesión bajo agents.defaults.sandbox.workspaceRoot (consulta Configuración del Gateway).

Archivos de bootstrap (inyectados)

Dentro de agents.defaults.workspace, OpenClaw espera estos archivos editables por el usuario:

  • AGENTS.md — instrucciones operativas + “memoria”
  • SOUL.md — personalidad, límites, tono
  • TOOLS.md — notas de herramientas mantenidas por el usuario (ej. imsg, sag, convenciones)
  • BOOTSTRAP.md — ritual de primera ejecución (se elimina al completar)
  • IDENTITY.md — nombre/estilo/emoji del agente
  • USER.md — perfil del usuario + forma preferida de dirigirse a él

En el primer turno de una nueva sesión, OpenClaw inyecta el contenido de estos archivos directamente en el contexto del agente.

Los archivos vacíos se omiten. Los archivos grandes se recortan y truncan con un marcador para mantener los prompts ligeros (lee el archivo para el contenido completo).

Si falta un archivo, OpenClaw inyecta una sola línea con un marcador de “archivo faltante” (y openclaw setup creará una plantilla segura por defecto).

BOOTSTRAP.md solo se crea para un workspace completamente nuevo (sin otros archivos de bootstrap presentes). Si lo eliminas después de completar el ritual, no debería recrearse en reinicios posteriores.

Para desactivar completamente la creación de archivos de bootstrap (para workspaces pre-sembrados), configura:

{ agent: { skipBootstrap: true } }

Herramientas integradas

Las herramientas principales (read/exec/edit/write y herramientas de sistema relacionadas) siempre están disponibles, sujetas a la política de herramientas. apply_patch es opcional y está controlada por tools.exec.applyPatch. TOOLS.md no controla qué herramientas existen; es orientación sobre cómo quieres que se usen.

Skills

OpenClaw carga skills desde tres ubicaciones (el workspace tiene prioridad en conflictos de nombre):

  • Incluidos (enviados con la instalación)
  • Gestionados/locales: ~/.openclaw/skills
  • Workspace: <workspace>/skills

Los skills pueden estar controlados por configuración/env (consulta skills en Configuración del Gateway).

Integración con pi-mono

OpenClaw reutiliza piezas del código base de pi-mono (modelos/herramientas), pero la gestión de sesiones, el descubrimiento y el cableado de herramientas son propiedad de OpenClaw.

  • Sin runtime de agente pi-coding.
  • No se consultan configuraciones de ~/.pi/agent ni <workspace>/.pi.

Sesiones

Las transcripciones de sesión se almacenan como JSONL en:

  • ~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl

El ID de sesión es estable y lo elige OpenClaw. Las carpetas de sesión heredadas de Pi/Tau no se leen.

Dirigir durante el streaming

Cuando el modo de cola es steer, los mensajes entrantes se inyectan en la ejecución actual. La cola se verifica después de cada llamada a herramienta; si hay un mensaje en cola, las llamadas a herramientas restantes del mensaje actual del asistente se omiten (resultados de herramienta con error “Skipped due to queued user message.”), y luego el mensaje del usuario en cola se inyecta antes de la siguiente respuesta del asistente.

Cuando el modo de cola es followup o collect, los mensajes entrantes se retienen hasta que el turno actual termine, y luego un nuevo turno del agente comienza con los payloads en cola. Consulta Cola para el comportamiento de modo + debounce/cap.

El streaming por bloques envía bloques completados del asistente tan pronto terminan; está desactivado por defecto (agents.defaults.blockStreamingDefault: "off"). Ajusta el límite con agents.defaults.blockStreamingBreak (text_end vs message_end; por defecto text_end). Controla el chunking suave de bloques con agents.defaults.blockStreamingChunk (por defecto 800–1200 caracteres; prefiere saltos de párrafo, luego saltos de línea; oraciones al final). Fusiona chunks transmitidos con agents.defaults.blockStreamingCoalesce para reducir spam de líneas individuales (fusión basada en inactividad antes de enviar). Los canales no-Telegram requieren *.blockStreaming: true explícito para habilitar respuestas por bloques. Los resúmenes verbose de herramientas se emiten al inicio de la herramienta (sin debounce); la UI de Control transmite la salida de herramientas vía eventos del agente cuando están disponibles. Más detalles: Streaming + chunking.

Referencias de modelo

Las referencias de modelo en la configuración (por ejemplo agents.defaults.model y agents.defaults.models) se parsean dividiendo en la primera /.

  • Usa provider/model al configurar modelos.
  • Si el ID del modelo contiene / (estilo OpenRouter), incluye el prefijo del provider (ejemplo: openrouter/moonshotai/kimi-k2).
  • Si omites el provider, OpenClaw trata la entrada como un alias o un modelo para el provider por defecto (solo funciona cuando no hay / en el ID del modelo).

Configuración (mínima)

Como mínimo, configura:

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

Siguiente: Chats grupales 🦞