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, tonoTOOLS.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 agenteUSER.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 tú 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/agentni<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/modelal 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.workspacechannels.whatsapp.allowFrom(muy recomendado)
Siguiente: Chats grupales 🦞