Token-Nutzung und Kosten
OpenClaw verfolgt Tokens, nicht Zeichen. Tokens sind modellspezifisch, aber die meisten Modelle im Stil von OpenAI liegen im Englischen im Schnitt bei etwa 4 Zeichen pro Token.Wie der System-Prompt aufgebaut wird
OpenClaw setzt bei jedem Lauf seinen eigenen System-Prompt zusammen. Er enthält:- Tool-Liste + kurze Beschreibungen
- Skills-Liste (nur Metadaten; Anweisungen werden bei Bedarf mit
readgeladen). Der kompakte Skills-Block wird durchskills.limits.maxSkillsPromptCharsbegrenzt, mit optionalem Override pro Agent unteragents.list[].skillsLimits.maxSkillsPromptChars. - Self-Update-Anweisungen
- Workspace + Bootstrap-Dateien (
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md,BOOTSTRAP.mdbei neuen Workspaces sowieMEMORY.md, wenn vorhanden, odermemory.mdals Fallback in Kleinbuchstaben). Große Dateien werden durchagents.defaults.bootstrapMaxCharsgekürzt (Standard: 12000), und die gesamte Bootstrap-Injektion ist durchagents.defaults.bootstrapTotalMaxCharsbegrenzt (Standard: 60000). Tägliche Dateienmemory/*.mdsind nicht Teil des normalen Bootstrap-Prompts; bei gewöhnlichen Zügen bleiben sie über Memory-Tools on demand, aber bei reinem/newund/resetkann ein einmaliger Startup-Kontextblock mit aktueller täglicher Memory für diesen ersten Zug vorangestellt werden. Dieses Startup-Präludium wird durchagents.defaults.startupContextgesteuert. - Zeit (UTC + Benutzerzeitzone)
- Reply-Tags + Heartbeat-Verhalten
- Runtime-Metadaten (Host/OS/Modell/Thinking)
Was im Kontextfenster zählt
Alles, was das Modell erhält, zählt zum Kontextlimit:- System-Prompt (alle oben aufgeführten Abschnitte)
- Gesprächsverlauf (Benutzer- + Assistentennachrichten)
- Tool-Aufrufe und Tool-Ergebnisse
- Anhänge/Transkripte (Bilder, Audio, Dateien)
- Compaction-Zusammenfassungen und Pruning-Artefakte
- Provider-Wrapper oder Safety-Header (nicht sichtbar, zählen aber trotzdem)
agents.defaults.contextLimits.memoryGetMaxCharsagents.defaults.contextLimits.memoryGetDefaultLinesagents.defaults.contextLimits.toolResultMaxCharsagents.defaults.contextLimits.postCompactionMaxChars
agents.list[].contextLimits. Diese Regler sind
für begrenzte Runtime-Auszüge und eingefügte runtime-eigene Blöcke gedacht. Sie sind
getrennt von Bootstrap-Limits, Startup-Kontext-Limits und Skills-Prompt-
Limits.
Für Bilder skaliert OpenClaw Bild-Payloads aus Transkripten/Tools vor Provider-Aufrufen herunter.
Verwenden Sie agents.defaults.imageMaxDimensionPx (Standard: 1200), um dies anzupassen:
- Niedrigere Werte reduzieren normalerweise die Nutzung von Vision-Tokens und die Payload-Größe.
- Höhere Werte bewahren mehr visuelle Details für OCR/UI-lastige Screenshots.
/context list oder /context detail. Siehe Context.
Wie Sie die aktuelle Token-Nutzung sehen
Verwenden Sie im Chat:/status→ emoji-reiche Statuskarte mit Sitzungsmodell, Kontextnutzung, Input-/Output-Tokens der letzten Antwort und geschätzten Kosten (nur API-Key)./usage off|tokens|full→ hängt jeder Antwort einen Nutzungs-Footer pro Antwort an.- Bleibt pro Sitzung erhalten (gespeichert als
responseUsage). - OAuth-Authentifizierung verbirgt Kosten (nur Tokens).
- Bleibt pro Sitzung erhalten (gespeichert als
/usage cost→ zeigt eine lokale Kostenzusammenfassung aus den OpenClaw-Sitzungslogs.
- TUI/Web TUI:
/status+/usagewerden unterstützt. - CLI:
openclaw status --usageundopenclaw channels listzeigen normalisierte providerbezogene Quotenfenster (X% left, nicht Kosten pro Antwort). Aktuelle Provider mit Nutzungsfenstern: Anthropic, GitHub Copilot, Gemini CLI, OpenAI Codex, MiniMax, Xiaomi und z.ai.
input_tokens /
output_tokens als auch prompt_tokens / completion_tokens, sodass transport-
spezifische Feldnamen /status, /usage oder Sitzungszusammenfassungen nicht verändern.
Auch die JSON-Nutzung von Gemini CLI wird normalisiert: Antworttext stammt aus response, und
stats.cached wird auf cacheRead abgebildet, wobei stats.input_tokens - stats.cached
verwendet wird, wenn die CLI kein explizites Feld stats.input liefert.
Für nativen Responses-Traffic der OpenAI-Family werden WebSocket-/SSE-Nutzungsaliase
auf dieselbe Weise normalisiert, und Summen fallen auf normalisierte Eingabe + Ausgabe zurück, wenn
total_tokens fehlt oder 0 ist.
Wenn der aktuelle Sitzungs-Snapshot spärlich ist, können /status und session_status
auch Token-/Cache-Zähler und das aktive Runtime-Modell-Label aus dem
jüngsten Nutzungslog des Transkripts wiederherstellen. Bestehende Live-Werte ungleich null haben weiterhin
Vorrang vor Fallback-Werten aus dem Transkript, und größere promptorientierte
Transkript-Summen können gewinnen, wenn gespeicherte Summen fehlen oder kleiner sind.
Die Nutzungs-Authentifizierung für providerbezogene Quotenfenster stammt aus providerspezifischen Hooks, wenn verfügbar;
andernfalls greift OpenClaw auf passende OAuth-/API-Key-Zugangsdaten
aus Auth-Profilen, Env oder Konfiguration zurück.
Transkripteinträge des Assistenten speichern dieselbe normalisierte Nutzungsform, einschließlich
usage.cost, wenn für das aktive Modell Preise konfiguriert sind und der Provider Nutzungsmetadaten zurückgibt. Dadurch haben /usage cost und transkriptgestützter Sitzungsstatus eine stabile Quelle, selbst wenn der Live-Runtime-Zustand nicht mehr vorhanden ist.
Kostenschätzung (wenn angezeigt)
Die Kosten werden aus Ihrer Modellpreiskonfiguration geschätzt:input, output, cacheRead und
cacheWrite. Wenn Preisangaben fehlen, zeigt OpenClaw nur Tokens an. OAuth-Tokens
zeigen niemals Dollar-Kosten an.
Auswirkungen von Cache-TTL und Pruning
Provider-Prompt-Caching gilt nur innerhalb des Cache-TTL-Fensters. OpenClaw kann optional Cache-TTL-Pruning ausführen: Es pruned die Sitzung, sobald der Cache-TTL abgelaufen ist, und setzt dann das Cache-Fenster zurück, sodass nachfolgende Anfragen den frisch gecachten Kontext wiederverwenden können, statt den vollständigen Verlauf erneut zu cachen. Dadurch bleiben Cache-Schreibkosten niedriger, wenn eine Sitzung über die TTL hinaus inaktiv bleibt. Konfigurieren Sie dies in der Gateway-Konfiguration und lesen Sie die Verhaltensdetails unter Session pruning. Heartbeat kann den Cache über Leerlaufphasen hinweg warm halten. Wenn die Cache-TTL Ihres Modells1h beträgt, kann das Setzen des Heartbeat-Intervalls knapp darunter (z. B. 55m) ein
erneutes Cachen des vollständigen Prompts vermeiden und so Cache-Schreibkosten reduzieren.
In Multi-Agent-Setups können Sie eine gemeinsame Modellkonfiguration beibehalten und das Cache-Verhalten
pro Agent mit agents.list[].params.cacheRetention anpassen.
Eine vollständige Anleitung für alle Schalter finden Sie unter Prompt Caching.
Bei der Preisgestaltung der Anthropic-API sind Cache-Reads deutlich günstiger als Input-
Tokens, während Cache-Writes mit einem höheren Multiplikator berechnet werden. Die aktuellen Preise und TTL-Multiplikatoren finden Sie in Anthropics Preisangaben für Prompt Caching:
https://docs.anthropic.com/docs/build-with-claude/prompt-caching
Beispiel: 1h-Cache mit Heartbeat warm halten
Beispiel: gemischter Traffic mit Cache-Strategie pro Agent
agents.list[].params wird über die params des ausgewählten Modells gemergt, sodass Sie
nur cacheRetention überschreiben und andere Modellstandards unverändert erben können.
Beispiel: Beta-Header für Anthropic 1M Kontext aktivieren
Das 1M-Kontextfenster von Anthropic ist derzeit durch eine Beta-Gating geschützt. OpenClaw kann den erforderlichen Wert füranthropic-beta einfügen, wenn Sie context1m bei unterstützten Opus-
oder Sonnet-Modellen aktivieren.
context-1m-2025-08-07 von Anthropic abgebildet.
Dies gilt nur, wenn context1m: true bei diesem Modelleintrag gesetzt ist.
Voraussetzung: Die Zugangsdaten müssen für Long-Context-Nutzung geeignet sein. Falls nicht,
antwortet Anthropic für diese Anfrage mit einem providerseitigen Rate-Limit-Fehler.
Wenn Sie Anthropic mit OAuth-/Subscription-Tokens (sk-ant-oat-*) authentifizieren,
überspringt OpenClaw den Beta-Header context-1m-*, weil Anthropic diese Kombination derzeit
mit HTTP 401 ablehnt.
Tipps zur Verringerung des Token-Drucks
- Verwenden Sie
/compact, um lange Sitzungen zusammenzufassen. - Kürzen Sie große Tool-Ausgaben in Ihren Workflows.
- Senken Sie
agents.defaults.imageMaxDimensionPxfür screenshotlastige Sitzungen. - Halten Sie Skill-Beschreibungen kurz (die Skills-Liste wird in den Prompt eingefügt).
- Bevorzugen Sie kleinere Modelle für ausführliche, explorative Arbeit.