Context
„Context” ist alles, was OpenClaw bei einem Run an das Modell sendet. Er ist durch das Context Window (Token-Limit) des Modells begrenzt.
Einfaches Modell zum Verständnis:
- System Prompt (von OpenClaw erstellt): Regeln, Tools, Skills-Liste, Zeit/Runtime und eingefügte Workspace-Dateien.
- Gesprächsverlauf: Deine Nachrichten + die Antworten des Assistenten in dieser Session.
- Tool-Aufrufe/Ergebnisse + Anhänge: Befehlsausgaben, Datei-Reads, Bilder/Audio usw.
Context ist nicht dasselbe wie „Memory”: Memory kann auf der Festplatte gespeichert und später neu geladen werden; Context ist das, was sich gerade im Fenster des Modells befindet.
Schnellstart (Context prüfen)
/status→ Schnelle Übersicht „Wie voll ist mein Fenster?” + Session-Einstellungen./context list→ Was eingefügt wurde + ungefähre Größen (pro Datei + Gesamtsummen)./context detail→ Detaillierte Aufschlüsselung: pro Datei, Tool-Schema-Größen, Skill-Eintrag-Größen und System-Prompt-Größe./usage tokens→ Fügt einen Token-Verbrauch-Footer zu normalen Antworten hinzu./compact→ Fasst ältere History in einen kompakten Eintrag zusammen, um Platz im Fenster freizugeben.
Siehe auch: Slash-Befehle, Token-Verbrauch & Kosten, Compaction.
Beispielausgabe
Die Werte variieren je nach Modell, Provider, Tool-Policy und dem Inhalt deines 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)
Was zum Context Window zählt
Alles, was das Modell empfängt, zählt dazu:
- System Prompt (alle Abschnitte).
- Gesprächsverlauf.
- Tool-Aufrufe + Tool-Ergebnisse.
- Anhänge/Transkripte (Bilder/Audio/Dateien).
- Compaction-Zusammenfassungen und Pruning-Artefakte.
- Provider-„Wrapper” oder versteckte Header (nicht sichtbar, werden trotzdem gezählt).
Wie OpenClaw den System Prompt aufbaut
Der System Prompt gehört OpenClaw und wird bei jedem Run neu erstellt. Er enthält:
- Tool-Liste + kurze Beschreibungen.
- Skills-Liste (nur Metadaten; siehe unten).
- Workspace-Pfad.
- Zeit (UTC + umgerechnete Benutzerzeit, falls konfiguriert).
- Runtime-Metadaten (Host/OS/Modell/Thinking).
- Eingefügte Workspace-Bootstrap-Dateien unter Project Context.
Vollständige Aufschlüsselung: System Prompt.
Eingefügte Workspace-Dateien (Project Context)
Standardmäßig fügt OpenClaw einen festen Satz von Workspace-Dateien ein (falls vorhanden):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(nur beim ersten Run)
Große Dateien werden pro Datei mit agents.defaults.bootstrapMaxChars (Standard: 20000 Zeichen) gekürzt. /context zeigt raw vs injected Größen und ob eine Kürzung stattgefunden hat.
Skills: Was eingefügt wird vs. was bei Bedarf geladen wird
Der System Prompt enthält eine kompakte Skills-Liste (Name + Beschreibung + Pfad). Diese Liste hat echten Overhead.
Skill-Anweisungen werden standardmäßig nicht eingefügt. Das Modell soll die SKILL.md des Skills nur bei Bedarf lesen.
Tools: Es gibt zwei Kostenfaktoren
Tools beeinflussen den Context auf zwei Arten:
- Tool-Listen-Text im System Prompt (was du als „Tooling” siehst).
- Tool-Schemas (JSON). Diese werden an das Modell gesendet, damit es Tools aufrufen kann. Sie zählen zum Context, auch wenn du sie nicht als Klartext siehst.
/context detail schlüsselt die größten Tool-Schemas auf, damit du siehst, was dominiert.
Befehle, Direktiven und „Inline-Shortcuts”
Slash-Befehle werden vom Gateway verarbeitet. Es gibt verschiedene Verhaltensweisen:
- Standalone-Befehle: Eine Nachricht, die nur
/...enthält, wird als Befehl ausgeführt. - Direktiven:
/think,/verbose,/reasoning,/elevated,/model,/queuewerden entfernt, bevor das Modell die Nachricht sieht.- Nachrichten, die nur Direktiven enthalten, speichern Session-Einstellungen.
- Inline-Direktiven in einer normalen Nachricht wirken als Hinweise für diese Nachricht.
- Inline-Shortcuts (nur für freigeschaltete Sender): Bestimmte
/...-Tokens in einer normalen Nachricht können sofort ausgeführt werden (Beispiel: „hey /status”) und werden entfernt, bevor das Modell den restlichen Text sieht.
Details: Slash-Befehle.
Sessions, Compaction und Pruning (was erhalten bleibt)
Was über Nachrichten hinweg erhalten bleibt, hängt vom Mechanismus ab:
- Normale History bleibt im Session-Transkript, bis sie durch Policy kompaktiert/geprunt wird.
- Compaction speichert eine Zusammenfassung ins Transkript und behält aktuelle Nachrichten intakt.
- Pruning entfernt alte Tool-Ergebnisse aus dem In-Memory-Prompt für einen Run, schreibt aber das Transkript nicht um.
Docs: Session, Compaction, Session Pruning.
Was /context tatsächlich anzeigt
/context bevorzugt den neuesten run-built System-Prompt-Report, wenn verfügbar:
System prompt (run)= erfasst vom letzten eingebetteten (tool-fähigen) Run und im Session-Store gespeichert.System prompt (estimate)= on-the-fly berechnet, wenn kein Run-Report existiert (oder wenn über ein CLI-Backend ausgeführt wird, das keinen Report generiert).
In beiden Fällen zeigt es Größen und Top-Beiträge an; es gibt nicht den vollständigen System Prompt oder die Tool-Schemas aus.