Sessions and memory
Geheugenoverzicht
OpenClaw onthoudt dingen door gewone Markdown-bestanden in 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. Blijvende 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 meegeleverde sessiegeheugenhook worden geschreven, worden samen met het bestand met alleen de datum opgehaald.DREAMS.md(optioneel) — droomdagboek en samenvattingen van dreaming-rondes voor menselijke beoordeling, inclusief historisch onderbouwde aanvullingen.
Wat waar thuishoort
MEMORY.md is de compacte, zorgvuldig samengestelde laag: blijvende feiten, voorkeuren, vaste 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 ingevoegd.
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-stroom doen dit periodiek; je hoeft MEMORY.md niet voor elk detail handmatig te bewerken.
Als MEMORY.md het budget voor bootstrap-bestanden overschrijdt, behoudt OpenClaw het bestand intact op schijf, maar kapt het de kopie af die in de context wordt ingevoegd. Beschouw dat als een signaal om gedetailleerd materiaal naar memory/*.md te verplaatsen, alleen een blijvende samenvatting in MEMORY.md te bewaren of de bootstrap-limieten te verhogen als je meer promptbudget wilt gebruiken. Gebruik /context list, /context detail of openclaw doctor om de onbewerkte en ingevoegde grootten en de afkapstatus te bekijken.
Actiegevoelige herinneringen
De meeste herinneringen zijn gewone Markdown-notities. Sommige beïnvloeden wat de agent later moet doen; leg daarbij vast wanneer het veilig is om naar 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 autoriteit van de bron of eigenaar,
- instructies om een verleidelijke actie te vermijden.
Een nuttige actiegevoelige herinnering maakt duidelijk:
- wat toekomstig gedrag verandert,
- wanneer of onder welke voorwaarde dit van toepassing is,
- wanneer dit vervalt of wat handelen mogelijk maakt,
- wat de agent niet moet doen,
- wie de bron of eigenaar is, als dat van invloed is op vertrouwen of autoriteit.
Het geheugen kan de context van een goedkeuring bewaren, maar dwingt geen beleid af. Gebruik de goedkeuringsinstellingen, sandboxing en geplande taken van OpenClaw voor harde operationele beheersmaatregelen.
Voorbeeld:
De API-migratie wordt in een andere sessie ontworpen. Toekomstige beurten mogende API-implementatie niet vanuit deze thread bewerken; gebruik de bevindingenhier alleen als ontwerpinput totdat het migratieplan is opgeleverd.Nog een voorbeeld:
Een rapport van een niet-vertrouwde bron moet worden beoordeeld voordat hetwordt gepromoveerd. Toekomstige beurten moeten het alleen als bewijs behandelen;sla het niet op als blijvende herinnering totdat een vertrouwde beoordelaar deinhoud bevestigt.Dit is geen verplicht schema voor elke herinnering; eenvoudige feiten kunnen beknopt blijven. Gebruik actiegevoelige grenzen wanneer het verlies van timing, autoriteit, vervalgegevens of context over wanneer veilig kan worden gehandeld ertoe kan leiden dat de agent later het verkeerde doet.
Gebruik toezeggingen voor afgeleide, kortstondige vervolgacties. Gebruik geplande taken voor exacte herinneringen, tijdgebonden controles en terugkerend werk. Het geheugen kan nog steeds de blijvende context rond beide paden samenvatten.
Afgeleide toezeggingen
Sommige toekomstige vervolgacties zijn geen blijvende feiten. Als je vermeldt dat je morgen een sollicitatiegesprek hebt, kan de nuttige herinnering "vraag na het gesprek hoe het ging" zijn, en niet "bewaar dit voor altijd in MEMORY.md."
Toezeggingen zijn optionele, kortstondige herinneringen aan vervolgacties voor dat geval. OpenClaw leidt ze af tijdens een verborgen achtergrondronde, beperkt ze tot dezelfde agent en hetzelfde kanaal en levert verschuldigde controlevragen via Heartbeat. Expliciete herinneringen gebruiken nog steeds geplande taken.
Geheugenhulpmiddelen
De agent heeft twee hulpmiddelen om met het 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 inbeddingsprovider 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 het instellen van providers.
Geheugenbackends
Gebaseerd op SQLite. Werkt direct met zoeken op trefwoorden, vectorovereenkomst en hybride zoeken. Geen extra afhankelijkheden.
Lokale 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.
Door LanceDB ondersteund geheugen met OpenAI-compatibele inbeddingen, automatisch ophalen, automatisch vastleggen en ondersteuning voor lokale Ollama-inbeddingen. Plugin-installatie.
Kenniswikilaag
Als je wilt dat blijvend geheugen zich meer gedraagt als een onderhouden kennisbank dan als onbewerkte notities, gebruik je de meegeleverde Plugin memory-wiki. Deze compileert blijvende kennis naar een wikikluis met een deterministische paginastructuur, gestructureerde beweringen en bewijzen, 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 ophalen, promoveren en dreaming. memory-wiki voegt daarnaast een kennislaag met uitgebreide herkomstinformatie 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 overschrijving in die alleen op de beurt voor het wegschrijven van het geheugen van toepassing is (deze neemt de keten met reservemodellen van het actieve sessiemodel niet over):
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}Dreaming
Dreaming is een optionele consolidatieronde op de achtergrond voor het geheugen. Deze verzamelt signalen voor kortetermijnherinneringen, kent scores toe aan kandidaten en promoveert alleen geschikte items naar het langetermijngeheugen (MEMORY.md):
- Optioneel: standaard uitgeschakeld.
- Gepland: wanneer dit is ingeschakeld, beheert
memory-coreautomatisch één terugkerende Cron-taak voor een volledige dreaming-ronde. - Met drempelwaarden: promoties moeten voldoen aan poorten voor score, ophaalfrequentie en querydiversiteit.
- Beoordeelbaar: fasesamenvattingen en dagboekvermeldingen worden naar
DREAMS.mdgeschreven voor menselijke beoordeling.
Zie Dreaming voor het gedrag per fase, scoresignalen en details over het droomdagboek.
Onderbouwde historische aanvulling en livepromotie
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 historische aanvulling leest historische notities in
memory/YYYY-MM-DD.mdals zelfstandige dagbestanden en schrijft gestructureerde beoordelingsuitvoer naarDREAMS.md.
Onderbouwde historische aanvulling is nuttig om oudere notities opnieuw te verwerken en te bekijken wat het systeem als blijvend beschouwt, zonder MEMORY.md handmatig te bewerken.
openclaw memory rem-backfill --path ./memory --stage-short-termDe vlag --stage-short-term plaatst onderbouwde kandidaten voor blijvend geheugen in dezelfde kortetermijnopslag voor dreaming die de normale diepe fase al gebruikt; de kandidaten worden niet rechtstreeks gepromoveerd. Dus:
DREAMS.mdblijft het beoordelingsoppervlak voor mensen.- De kortetermijnopslag blijft het rangschikkingsoppervlak voor machines.
MEMORY.mdwordt nog steeds alleen door diepe promotie geschreven.
Een herverwerking ongedaan maken zonder gewone dagboekvermeldingen of de normale ophaalstatus 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
- Zoeken in het geheugen: zoekpijplijn, providers en afstemming.
- Ingebouwde geheugenengine: standaard SQLite-backend.
- QMD-geheugenengine: geavanceerde lokale sidecar.
- Honcho-geheugen: AI-native geheugen voor meerdere sessies.
- LanceDB-geheugen: door LanceDB ondersteunde Plugin met OpenAI-compatibele inbeddingen.
- Geheugenwiki: gecompileerde kenniskluis en wikispecifieke hulpmiddelen.
- Dreaming: promotie op de achtergrond van kortetermijnherinneringen naar langetermijngeheugen.
- Configuratiereferentie voor geheugen: alle configuratieopties.
- Compaction: hoe Compaction samenwerkt met het geheugen.
- Active Memory: geheugen van subagents voor interactieve chatsessies.