Contexto
“Contexto” es todo lo que OpenClaw envía al modelo para una ejecución. Está limitado por la ventana de contexto del modelo (límite de tokens).
Modelo mental para principiantes:
- System prompt (construido por OpenClaw): reglas, herramientas, lista de skills, hora/runtime, y archivos del workspace inyectados.
- Historial de conversación: tus mensajes + los mensajes del asistente para esta sesión.
- Llamadas/resultados de herramientas + adjuntos: salida de comandos, lecturas de archivos, imágenes/audio, etc.
El contexto no es lo mismo que la “memoria”: la memoria puede almacenarse en disco y recargarse después; el contexto es lo que está dentro de la ventana actual del modelo.
Inicio rápido (inspeccionar contexto)
/status→ vista rápida de “¿qué tan llena está mi ventana?” + configuración de sesión./context list→ qué está inyectado + tamaños aproximados (por archivo + totales)./context detail→ desglose más profundo: por archivo, por esquema de herramienta, por entrada de skill, y tamaño del system prompt./usage tokens→ agrega un pie de uso por respuesta a las respuestas normales./compact→ resume el historial antiguo en una entrada compacta para liberar espacio en la ventana.
Consulta también: Comandos slash, Uso de tokens y costos, Compactación.
Salida de ejemplo
Los valores varían según el modelo, provider, política de herramientas y lo que hay en tu workspace.
/context list
🧠 Context breakdown
Workspace: <workspaceDir>
Bootstrap max/file: 20,000 chars
Sandbox: mode=non-main sandboxed=false
System prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok))
Injected workspace files:
- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)
- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)
- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)
- IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)
- USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)
- HEARTBEAT.md: MISSING | raw 0 | injected 0
- BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok)
Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)
Tools: read, edit, write, exec, process, browser, message, sessions_send, …
Tool list (system prompt text): 1,032 chars (~258 tok)
Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)
Tools: (same as above)
Session tokens (cached): 14,250 total / ctx=32,000
/context detail
🧠 Context breakdown (detailed)
…
Top skills (prompt entry size):
- frontend-design: 412 chars (~103 tok)
- oracle: 401 chars (~101 tok)
… (+10 more skills)
Top tools (schema size):
- browser: 9,812 chars (~2,453 tok)
- exec: 6,240 chars (~1,560 tok)
… (+N more tools)
Qué cuenta para la ventana de contexto
Todo lo que el modelo recibe cuenta, incluyendo:
- System prompt (todas las secciones).
- Historial de conversación.
- Llamadas a herramientas + resultados de herramientas.
- Adjuntos/transcripciones (imágenes/audio/archivos).
- Resúmenes de compactación y artefactos de recorte.
- “Wrappers” o cabeceras ocultas del provider (no visibles, pero contabilizadas).
Cómo OpenClaw construye el system prompt
El system prompt es propiedad de OpenClaw y se reconstruye en cada ejecución. Incluye:
- Lista de herramientas + descripciones breves.
- Lista de skills (solo metadatos; ver abajo).
- Ubicación del workspace.
- Hora (UTC + hora del usuario convertida si está configurada).
- Metadatos de runtime (host/OS/modelo/thinking).
- Archivos de bootstrap del workspace inyectados bajo Project Context.
Desglose completo: System Prompt.
Archivos del workspace inyectados (Project Context)
Por defecto, OpenClaw inyecta un conjunto fijo de archivos del workspace (si existen):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(solo en la primera ejecución)
Los archivos grandes se truncan por archivo usando agents.defaults.bootstrapMaxChars (por defecto 20000 caracteres). OpenClaw también aplica un tope total de inyección de bootstrap entre archivos con agents.defaults.bootstrapTotalMaxChars (por defecto 150000 caracteres). /context muestra los tamaños bruto vs inyectado y si hubo truncamiento.
Cuando ocurre truncamiento, el runtime puede inyectar un bloque de advertencia en el prompt bajo Project Context. Configúralo con agents.defaults.bootstrapPromptTruncationWarning (off, once, always; por defecto once).
Skills: qué se inyecta vs qué se carga bajo demanda
El system prompt incluye una lista compacta de skills (nombre + descripción + ubicación). Esta lista tiene un costo real.
Las instrucciones de skills no se incluyen por defecto. Se espera que el modelo haga read del SKILL.md del skill solo cuando sea necesario.
Herramientas: hay dos costos
Las herramientas afectan el contexto de dos maneras:
- Texto de lista de herramientas en el system prompt (lo que ves como “Tooling”).
- Esquemas de herramientas (JSON). Se envían al modelo para que pueda llamar herramientas. Cuentan para el contexto aunque no los veas como texto plano.
/context detail desglosa los esquemas de herramientas más grandes para que puedas ver qué domina.
Comandos, directivas y “atajos inline”
Los comandos slash los maneja el Gateway. Hay varios comportamientos diferentes:
- Comandos independientes: un mensaje que solo contiene
/...se ejecuta como comando. - Directivas:
/think,/verbose,/reasoning,/elevated,/model,/queuese eliminan antes de que el modelo vea el mensaje.- Los mensajes solo con directivas persisten la configuración de sesión.
- Las directivas inline en un mensaje normal actúan como indicaciones por mensaje.
- Atajos inline (solo remitentes en lista permitida): ciertos tokens
/...dentro de un mensaje normal pueden ejecutarse inmediatamente (ejemplo: “oye /status”), y se eliminan antes de que el modelo vea el texto restante.
Detalles: Comandos slash.
Sesiones, compactación y recorte (qué persiste)
Lo que persiste entre mensajes depende del mecanismo:
- Historial normal persiste en la transcripción de la sesión hasta ser compactado/recortado por política.
- Compactación persiste un resumen en la transcripción y mantiene intactos los mensajes recientes.
- Recorte elimina resultados de herramientas antiguos del prompt en memoria para una ejecución, pero no reescribe la transcripción.
Documentación: Sesión, Compactación, Recorte de sesión.
Por defecto, OpenClaw usa el motor de contexto legacy integrado para el ensamblaje y
compactación. Si instalas un plugin que proporciona kind: "context-engine" y
lo seleccionas con plugins.slots.contextEngine, OpenClaw delega el ensamblaje de contexto,
/compact y los hooks de ciclo de vida de contexto del subagente a ese
motor en su lugar.
Qué reporta realmente /context
/context prefiere el último reporte de system prompt construido en ejecución cuando está disponible:
System prompt (run)= capturado de la última ejecución embebida (con herramientas) y persistido en el almacén de sesión.System prompt (estimate)= calculado al vuelo cuando no existe un reporte de ejecución (o al ejecutar vía un backend CLI que no genera el reporte).
En cualquier caso, reporta tamaños y los principales contribuyentes; no muestra el system prompt completo ni los esquemas de herramientas.