Elk model heeft een contextvenster: het maximale aantal tokens dat het kan verwerken. Wanneer een gesprek die limiet nadert, compacteert OpenClaw oudere berichten tot een samenvatting zodat de chat kan doorgaan.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Hoe het werkt
- Oudere gespreksbeurten worden samengevat tot een compacte vermelding.
- De samenvatting wordt opgeslagen in het sessietranscript.
- Recente berichten blijven intact.
toolResult-vermeldingen. Als een splitsingspunt binnen een toolblok valt, verplaatst OpenClaw de grens zodat het paar bij elkaar blijft en de huidige niet-samengevatte staart behouden blijft.
De volledige gespreksgeschiedenis blijft op schijf staan. Compaction verandert alleen wat het model bij de volgende beurt ziet.
Automatische Compaction
Automatische Compaction staat standaard aan. Deze wordt uitgevoerd wanneer de sessie de contextlimiet nadert, of wanneer het model een context-overflowfout retourneert (in dat geval compacteert OpenClaw en probeert het opnieuw). Je ziet:🧹 Auto-compaction completein uitgebreide modus./statustoont🧹 Compactions: <count>.
Vóór het compacteren herinnert OpenClaw de agent er automatisch aan om belangrijke notities op te slaan in memory-bestanden. Dit voorkomt contextverlies.
Recognized overflow signatures
Recognized overflow signatures
OpenClaw detecteert context-overflow aan de hand van deze foutpatronen van providers:
request_too_largecontext length exceededinput exceeds the maximum number of tokensinput token count exceeds the maximum number of input tokensinput is too long for the modelollama error: context length exceeded
Handmatige Compaction
Typ/compact in een chat om Compaction af te dwingen. Voeg instructies toe om de samenvatting te sturen:
agents.defaults.compaction.keepRecentTokens is ingesteld, respecteert handmatige Compaction dat Pi-afkappunt en behoudt deze de recente staart in de opnieuw opgebouwde context. Zonder expliciet behoudsbudget gedraagt handmatige Compaction zich als een hard checkpoint en gaat deze alleen verder vanaf de nieuwe samenvatting.
Configuratie
Configureer Compaction onderagents.defaults.compaction in je openclaw.json. De meest gebruikte knoppen staan hieronder; zie voor de volledige referentie Diepgaande uitleg over sessiebeheer.
Een ander model gebruiken
Standaard gebruikt Compaction het primaire model van de agent. Stelagents.defaults.compaction.model in om samenvatten te delegeren aan een krachtiger of gespecialiseerder model. De override accepteert elke provider/model-id-string:
Behoud van identifiers
Compaction-samenvatting behoudt standaard ondoorzichtige identifiers (identifierPolicy: "strict"). Overschrijf dit met identifierPolicy: "off" om dit uit te schakelen, of met identifierPolicy: "custom" plus identifierInstructions voor aangepaste richtlijnen.
Bytebewaking voor actief transcript
Wanneeragents.defaults.compaction.maxActiveTranscriptBytes is ingesteld, triggert OpenClaw normale lokale Compaction vóór een run als de actieve JSONL die grootte bereikt. Dit is nuttig voor langlopende sessies waarbij contextbeheer aan providerzijde de modelcontext gezond kan houden terwijl het lokale transcript blijft groeien. Het splitst geen ruwe JSONL-bytes; het vraagt de normale Compaction-pijplijn om een semantische samenvatting te maken.
Opvolgende transcripts
Wanneeragents.defaults.compaction.truncateAfterCompaction is ingeschakeld, herschrijft OpenClaw het bestaande transcript niet ter plekke. Het maakt een nieuw actief opvolgend transcript op basis van de Compaction-samenvatting, behouden status en niet-samengevatte staart, en bewaart vervolgens de vorige JSONL als de gearchiveerde checkpointbron.
Opvolgende transcripts laten ook exacte dubbele lange gebruikersbeurten vallen die binnen een kort retryvenster binnenkomen, zodat retry-stormen van kanalen niet worden meegenomen naar het volgende actieve transcript na Compaction.
Pre-Compaction-checkpoints worden alleen bewaard zolang ze onder de checkpointgroottelimiet van OpenClaw blijven; te grote actieve transcripts worden nog steeds gecompacteerd, maar OpenClaw slaat de grote debug-snapshot over in plaats van het schijfgebruik te verdubbelen.
Compaction-meldingen
Standaard draait Compaction stil. StelnotifyUser in om korte statusberichten te tonen wanneer Compaction start en voltooid is:
Geheugenflush
Vóór Compaction kan OpenClaw een stille geheugenflush-beurt uitvoeren om duurzame notities op schijf op te slaan. Stelagents.defaults.compaction.memoryFlush.model in wanneer deze huishoudelijke beurt een lokaal model moet gebruiken in plaats van het actieve gespreksmodel:
Inplugbare Compaction-providers
Plugins kunnen een aangepaste Compaction-provider registreren viaregisterCompactionProvider() in de Plugin-API. Wanneer een provider is geregistreerd en geconfigureerd, delegeert OpenClaw samenvatten hieraan in plaats van aan de ingebouwde LLM-pijplijn.
Stel de id in je configuratie in om een geregistreerde provider te gebruiken:
provider forceert automatisch mode: "safeguard". Providers ontvangen dezelfde Compaction-instructies en hetzelfde beleid voor identifierbehoud als het ingebouwde pad, en OpenClaw behoudt nog steeds recente-beurt- en gesplitste-beurt-suffixcontext na provideruitvoer.
Als de provider faalt of een leeg resultaat retourneert, valt OpenClaw terug op ingebouwde LLM-samenvatting.
Compaction versus snoeien
| Compaction | Snoeien | |
|---|---|---|
| Wat het doet | Vat ouder gesprek samen | Kort oude toolresultaten in |
| Opgeslagen? | Ja (in sessietranscript) | Nee (alleen in geheugen, per verzoek) |
| Scope | Volledig gesprek | Alleen toolresultaten |
Problemen oplossen
Te vaak compacteren? Het contextvenster van het model is mogelijk klein, of tooluitvoer is mogelijk groot. Probeer sessiesnoei in te schakelen. Context voelt verouderd na Compaction? Gebruik/compact Focus on <topic> om de samenvatting te sturen, of schakel de geheugenflush in zodat notities behouden blijven.
Een schone lei nodig? /new start een nieuwe sessie zonder te compacteren.
Zie voor geavanceerde configuratie (reserve-tokens, identifierbehoud, aangepaste contextengines, OpenAI-server-side Compaction) de diepgaande uitleg over sessiebeheer.
Gerelateerd
- Sessie: sessiebeheer en levenscyclus.
- Sessiesnoei: toolresultaten inkorten.
- Context: hoe context wordt opgebouwd voor agentbeurten.
- Hooks: levenscyclushooks voor Compaction (
before_compaction,after_compaction).