Sessions and memory
Geheugenoverzicht
OpenClaw onthoudt dingen door gewone Markdown-bestanden naar de werkruimte van je agent te schrijven (standaard ~/.openclaw/workspace). Het model onthoudt alleen wat op schijf wordt opgeslagen; er is geen verborgen status.
Hoe het werkt
Je agent heeft drie geheugengerelateerde bestanden:
MEMORY.md— langetermijngeheugen. Duurzame feiten, voorkeuren en beslissingen. Wordt aan het begin van een sessie geladen.memory/YYYY-MM-DD.md(ofmemory/YYYY-MM-DD-<slug>.md) — dagelijkse notities. Doorlopende context en observaties. De gedateerde notities van vandaag en gisteren worden automatisch geladen bij een kale/newof/reset; varianten met een slug, zoals die welke door de gebundelde session-memory-hook worden geschreven, worden naast het bestand met alleen de datum opgepikt.DREAMS.md(optioneel) — Droomdagboek en samenvattingen van dreaming-rondes voor menselijke beoordeling, inclusief onderbouwde historische backfill-vermeldingen.
Wat waar hoort
MEMORY.md is de compacte, gecureerde laag: duurzame feiten, voorkeuren, permanente beslissingen en korte samenvattingen die aan het begin van een sessie beschikbaar moeten zijn. Het is geen onbewerkt transcript, dagelijks logboek of volledig archief.
memory/YYYY-MM-DD.md-bestanden vormen de werklaag: gedetailleerde dagelijkse notities, observaties, sessiesamenvattingen en onbewerkte context die later nog nuttig kunnen zijn. Deze worden geïndexeerd voor memory_search en memory_get, maar niet bij elke beurt in de bootstrap-prompt geïnjecteerd.
Na verloop van tijd destilleert de agent nuttig materiaal uit dagelijkse notities naar MEMORY.md en verwijdert die verouderde langetermijnvermeldingen. Gegenereerde werkruimte-instructies en de Heartbeat-flow doen dit periodiek; je hoeft MEMORY.md niet voor elk detail handmatig te bewerken.
Als MEMORY.md het budget voor bootstrap-bestanden overschrijdt, houdt OpenClaw het bestand op schijf intact, maar kort het de kopie in die in de context wordt geïnjecteerd. Beschouw dit als een signaal om gedetailleerd materiaal naar memory/*.md te verplaatsen, alleen een duurzame samenvatting in MEMORY.md te bewaren of de bootstrap-limieten te verhogen als je meer promptbudget wilt besteden. Gebruik /context list, /context detail of openclaw doctor om de onbewerkte en geïnjecteerde grootten en de afkappingsstatus te bekijken.
Importeren uit codeerassistenten
De Control UI kan bestaand lokaal geheugen uit Codex en Claude Code importeren. Open Settings → Import Memory, kies de doelagent, controleer de gedetecteerde bestanden en bevestig de import. OpenClaw kopieert alleen Markdown-geheugen:
- Codex: de samengevoegde
MEMORY.md- enmemory_summary.md-bestanden onder~/.codex/memories(ofCODEX_HOME/memories). Onbewerkte rollout- en transcriptbestanden worden niet geïmporteerd. - Claude Code: Markdown-bestanden uit de automatische geheugenmap van elk project onder
~/.claude/projects/*/memory, plus een door de gebruiker geconfigureerdeautoMemoryDirectoryindien aanwezig. Projectinstructies, sessies, instellingen en inloggegevens maken geen deel uit van deze actie die uitsluitend het geheugen betreft.
Geïmporteerde bestanden blijven afzonderlijk onder memory/imports/codex/ en memory/imports/claude-code/ in de geselecteerde agentwerkruimte. Ze worden geïndexeerd voor memory_search en zijn beschikbaar via memory_get; ze worden niet samengevoegd met de bootstrap-MEMORY.md van de agent. De bronbestanden blijven ongewijzigd.
In het voorbeeld worden conflicten op de bestemming gemarkeerd. Schakel Replace existing imports in om die bestanden te vervangen; bij toepassen wordt een geverifieerde back-up van vóór de import gemaakt en worden kopieën op itemniveau van overschreven bestanden in het migratierapport bewaard.
Actiegevoelige herinneringen
De meeste herinneringen zijn gewone Markdown-notities. Sommige beïnvloeden wat de agent later moet doen; leg daarvoor vast wanneer het veilig is om op basis van de notitie te handelen, niet alleen het feit zelf.
Leg die actiegrens vast wanneer een notitie betrekking heeft op:
- vereisten voor goedkeuring of toestemming,
- tijdelijke beperkingen,
- overdrachten naar een andere sessie, thread of persoon,
- vervalvoorwaarden,
- het moment waarop veilig kan worden gehandeld,
- de bevoegdheid van de bron of eigenaar,
- instructies om een verleidelijke handeling te vermijden.
Een nuttige actiegevoelige herinnering maakt duidelijk:
- wat toekomstig gedrag verandert,
- wanneer of onder welke voorwaarde die van toepassing is,
- wanneer die vervalt of wat handelen mogelijk maakt,
- wat de agent niet moet doen,
- wie de bron of eigenaar is, als dit van invloed is op vertrouwen of bevoegdheid.
Het geheugen kan goedkeuringscontext bewaren, maar dwingt geen beleid af. Gebruik de goedkeuringsinstellingen, sandboxing en geplande taken van OpenClaw voor harde operationele controles.
Voorbeeld:
De API-migratie wordt in een andere sessie ontworpen. In toekomstige beurtenmag de API-implementatie niet vanuit deze thread worden bewerkt; gebruik debevindingen hier alleen als ontwerpinput totdat het migratieplan is vastgesteld.Nog een voorbeeld:
Een rapport van een niet-vertrouwde bron moet worden beoordeeld voordat hetwordt bevorderd. Behandel het in toekomstige beurten alleen als bewijs; slahet niet als duurzaam geheugen op totdat een vertrouwde beoordelaar de inhoudbevestigt.Dit is geen vereist schema voor elke herinnering; eenvoudige feiten kunnen beknopt blijven. Gebruik actiegevoelige grenzen wanneer het verlies van context over timing, bevoegdheid, vervaldatum of veilig handelen ertoe kan leiden dat de agent later het verkeerde doet.
Gebruik geplande taken voor exacte herinneringen, tijdgebonden controles en terugkerend werk. Het geheugen kan nog steeds de duurzame context rond dat werk samenvatten.
Beëindigde afgeleide toezeggingen
Sommige toekomstige vervolgacties zijn geen duurzame feiten. Als je een sollicitatiegesprek morgen noemt, kan de nuttige herinnering "vraag na het sollicitatiegesprek hoe het ging" zijn, niet "bewaar dit voor altijd in MEMORY.md."
Het experiment met afgeleide toezeggingen is beëindigd. OpenClaw extraheert of levert die vervolgacties niet langer. Gebruik geplande taken voor toekomstige acties; de verouderde opdracht openclaw commitments blijft beschikbaar om bestaande opgeslagen rijen te inspecteren of te verwijderen.
Geheugenhulpmiddelen
De agent heeft twee hulpmiddelen om met geheugen te werken:
memory_search— vindt relevante notities met semantisch zoeken, zelfs wanneer de formulering afwijkt van het origineel.memory_get— leest een specifiek geheugenbestand of regelbereik.
Beide hulpmiddelen worden geleverd door de actieve geheugenplugin (standaard: memory-core).
Zoeken in het geheugen
Wanneer een embeddingprovider is geconfigureerd, gebruikt memory_search hybride zoeken: vectorovereenkomst (semantische betekenis) gecombineerd met trefwoordovereenkomst (exacte termen zoals ID's en codesymbolen). Dit werkt direct met een API-sleutel voor elke ondersteunde provider.
Zie Zoeken in het geheugen voor de werking van zoeken, afstemmingsopties en providerconfiguratie.
Geheugenbackends
Gebaseerd op SQLite. Werkt direct met zoeken op trefwoorden, vectorovereenkomst en hybride zoeken. Geen extra afhankelijkheden.
Local-first-sidecar met herrangschikking, query-uitbreiding en de mogelijkheid om mappen buiten de werkruimte te indexeren.
AI-native geheugen voor meerdere sessies met gebruikersmodellering, semantisch zoeken en bewustzijn van meerdere agents. Plugin-installatie.
Op LanceDB gebaseerd geheugen met OpenAI-compatibele embeddings, automatisch terughalen, automatisch vastleggen en ondersteuning voor lokale Ollama-embeddings. Plugin-installatie.
Kenniswikilaag
Als je wilt dat duurzaam geheugen zich meer als een onderhouden kennisbank gedraagt dan als onbewerkte notities, gebruik je de gebundelde Plugin memory-wiki. Deze compileert duurzame kennis naar een wikikluis met een deterministische paginastructuur, gestructureerde beweringen en bewijs, bijhouden van tegenstrijdigheden en actualiteit, gegenereerde dashboards, gecompileerde samenvattingen en wikispecifieke hulpmiddelen (wiki_status, wiki_search, wiki_get, wiki_apply, wiki_lint).
memory-wiki vervangt de actieve geheugenplugin niet; de actieve geheugenplugin blijft verantwoordelijk voor terughalen, bevordering en dreaming. memory-wiki voegt er een kennislaag met uitgebreide herkomstinformatie naast toe.
Automatisch geheugen wegschrijven
Voordat Compaction je gesprek samenvat, voert OpenClaw een stille beurt uit die de agent eraan herinnert belangrijke context in geheugenbestanden op te slaan. Dit is standaard ingeschakeld; stel agents.defaults.compaction.memoryFlush.enabled: false in om het uit te schakelen.
Om die onderhoudsbeurt op een lokaal model uit te voeren, stel je een exacte override in die alleen van toepassing is op de beurt voor het wegschrijven van het geheugen (deze neemt de fallback-keten van het model van de actieve sessie niet over):
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}Dreaming
Dreaming is een optionele consolidatieronde voor het geheugen die op de achtergrond wordt uitgevoerd. Deze verzamelt signalen voor het terughalen van kortetermijninformatie, kent kandidaten scores toe en bevordert alleen gekwalificeerde items naar het langetermijngeheugen (MEMORY.md):
- Opt-in: standaard uitgeschakeld.
- Gepland: wanneer ingeschakeld, beheert
memory-coreautomatisch één terugkerende Cron-taak voor een volledige dreaming-ronde. - Met drempelwaarden: bevorderingen moeten voldoen aan poorten voor score, terughaalfrequentie en querydiversiteit.
- Beoordeelbaar: fasesamenvattingen en dagboekvermeldingen worden naar
DREAMS.mdgeschreven voor menselijke beoordeling.
Zie Dreaming voor fasegedrag, scoringssignalen en details over het Droomdagboek.
Onderbouwde backfill en livebevordering
Het dreamingsysteem heeft twee gerelateerde beoordelingstrajecten:
- Live dreaming werkt vanuit de kortetermijnopslag voor dreaming onder
memory/.dreams/en wordt door de normale diepe fase gebruikt om te bepalen wat naarMEMORY.mdpromoveert. - Onderbouwde backfill leest historische
memory/YYYY-MM-DD.md-notities als afzonderlijke dagbestanden en schrijft gestructureerde beoordelingsuitvoer naarDREAMS.md.
Onderbouwde backfill is nuttig om oudere notities opnieuw af te spelen en te inspecteren wat het systeem als duurzaam beschouwt, zonder MEMORY.md handmatig te bewerken.
openclaw memory rem-backfill --path ./memory --stage-short-termDe vlag --stage-short-term plaatst onderbouwde duurzame kandidaten in dezelfde kortetermijnopslag voor dreaming die de normale diepe fase al gebruikt; de kandidaten worden niet rechtstreeks bevorderd. Dus:
DREAMS.mdblijft het oppervlak voor menselijke beoordeling.- De kortetermijnopslag blijft het machinegerichte oppervlak voor rangschikking.
MEMORY.mdwordt nog steeds alleen door diepe bevordering geschreven.
Een herhaling ongedaan maken zonder gewone dagboekvermeldingen of de normale terughaalstatus te wijzigen:
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-termCLI
openclaw memory status # Indexstatus en provider controlerenopenclaw memory search "query" # Zoeken vanaf de opdrachtregelopenclaw memory index --force # De index opnieuw opbouwenVerder lezen
- Geheugen doorzoeken: zoekpijplijn, providers en afstemming.
- Ingebouwde geheugenengine: standaard SQLite-backend.
- QMD-geheugenengine: geavanceerde, local-first sidecar.
- Honcho-geheugen: AI-native geheugen voor meerdere sessies.
- Memory LanceDB: door LanceDB ondersteunde Plugin met OpenAI-compatibele embeddings.
- Memory Wiki: gecompileerde kennisopslag en wiki-native tools.
- Dreaming: achtergrondpromotie van kortetermijnherinneringen naar het langetermijngeheugen.
- Referentie voor geheugenconfiguratie: alle configuratieopties.
- Compaction: hoe Compaction samenwerkt met het geheugen.
- Active Memory: geheugen van subagents voor interactieve chatsessies.