Sessions and memory
Przegląd pamięci
OpenClaw zapamiętuje rzeczy, zapisując zwykłe pliki Markdown w przestrzeni roboczej Twojego agenta. Model „pamięta” tylko to, co zostanie zapisane na dysku — nie ma ukrytego stanu.
Jak to działa
Twój agent ma trzy pliki związane z pamięcią:
MEMORY.md— pamięć długoterminowa. Trwałe fakty, preferencje i decyzje. Ładowana na początku każdej sesji DM.memory/YYYY-MM-DD.md(lubmemory/YYYY-MM-DD-<slug>.md) — notatki dzienne. Bieżący kontekst i obserwacje. Notatki z dzisiaj i wczoraj są ładowane automatycznie, a warianty ze slugiem, takie jak te zapisane przez dołączony hook pamięci sesji przy/newlub/reset, są teraz pobierane razem z plikiem zawierającym samą datę.DREAMS.md(opcjonalnie) — dziennik Dreaming i podsumowania przebiegów Dreaming do przeglądu przez człowieka, w tym ugruntowane historyczne wpisy uzupełniające.
Te pliki znajdują się w przestrzeni roboczej agenta (domyślnie ~/.openclaw/workspace).
Co gdzie trafia
MEMORY.md to kompaktowa, opracowana warstwa. Używaj go do trwałych faktów,
preferencji, stałych decyzji i krótkich podsumowań, które powinny być dostępne na
początku głównej sesji prywatnej. Nie jest przeznaczony jako surowy transkrypt,
dziennik dzienny ani pełne archiwum.
Pliki memory/YYYY-MM-DD.md są warstwą roboczą. Używaj ich do szczegółowych
notatek dziennych, obserwacji, podsumowań sesji i surowego kontekstu, który może
przydać się później. Te pliki są indeksowane dla memory_search i memory_get, ale nie są
wstrzykiwane do zwykłego promptu startowego przy każdej turze.
Z czasem agent powinien destylować przydatny materiał z notatek dziennych
do MEMORY.md i usuwać nieaktualne wpisy długoterminowe. Wygenerowane instrukcje
przestrzeni roboczej i przepływ Heartbeat mogą robić to okresowo; nie musisz
ręcznie edytować MEMORY.md dla każdego zapamiętanego szczegółu.
Jeśli MEMORY.md przekroczy budżet pliku startowego, OpenClaw zachowuje plik na
dysku w całości, ale obcina kopię wstrzykiwaną do kontekstu modelu. Traktuj to jako
sygnał, aby przenieść szczegółowy materiał z powrotem do memory/*.md, zostawić tylko
trwałe podsumowanie w MEMORY.md albo podnieść limity startowe, jeśli wyraźnie
chcesz przeznaczyć większy budżet promptu. Użyj /context list, /context detail lub
openclaw doctor, aby zobaczyć rozmiary surowe i wstrzyknięte oraz status obcięcia.
Pamięci wrażliwe na działanie
Większość wspomnień można zapisywać jako zwykłe notatki Markdown. Niektóre wspomnienia wpływają jednak na to, co agent powinien zrobić później. W takich przypadkach uchwyć, kiedy można bezpiecznie zadziałać na podstawie notatki, a nie tylko sam fakt.
Uchwyć tę granicę działania, gdy notatka obejmuje:
- wymagania dotyczące zatwierdzenia lub uprawnień,
- tymczasowe ograniczenia,
- przekazania do innej sesji, wątku lub osoby,
- warunki wygaśnięcia,
- moment, od którego działanie jest bezpieczne,
- autorytet źródła lub właściciela,
- instrukcje, aby uniknąć kuszącego działania.
Przydatna pamięć wrażliwa na działanie jasno określa:
- co zmienia przyszłe zachowanie,
- kiedy lub pod jakim warunkiem ma zastosowanie,
- kiedy wygasa albo co odblokowuje działanie,
- czego agent powinien unikać,
- kto jest źródłem lub właścicielem, jeśli wpływa to na zaufanie lub autorytet.
Pamięć może zachować kontekst zatwierdzeń, ale nie egzekwuje polityki. Do twardych kontroli operacyjnych używaj ustawień zatwierdzania OpenClaw, piaskownicy i zadań zaplanowanych.
Przykład:
The API migration is being designed in another session. Future turns should not edit the API implementation from this thread; use findings here only as design input until the migration plan lands.Inny przykład:
A report from an untrusted source needs review before promotion. Future turns should treat it as evidence only; do not store it as durable memory until a trusted reviewer confirms the contents.Używaj zobowiązań do wywnioskowanych, krótkotrwałych działań następczych. Używaj zadań zaplanowanych do dokładnych przypomnień, kontroli czasowych i pracy cyklicznej. Pamięć nadal może podsumowywać trwały kontekst wokół obu ścieżek.
Nie jest to wymagany schemat dla każdej pamięci. Proste fakty mogą pozostać zwięzłe. Używaj granic wrażliwych na działanie wtedy, gdy utrata kontekstu czasu, autorytetu, wygaśnięcia lub bezpieczeństwa działania mogłaby później spowodować błędne działanie agenta.
Wywnioskowane zobowiązania
Niektóre przyszłe działania następcze nie są trwałymi faktami. Jeśli wspomnisz o rozmowie
jutro, przydatną pamięcią może być „sprawdź po rozmowie”, a nie „zapisz
to na zawsze w MEMORY.md”.
Zobowiązania to opcjonalne, krótkotrwałe pamięci działań następczych dla takiego przypadku. OpenClaw wywnioskowuje je w ukrytym przebiegu w tle, ogranicza je do tego samego agenta i kanału oraz dostarcza należne sprawdzenia przez Heartbeat. Jawne przypomnienia nadal używają zadań zaplanowanych.
Narzędzia pamięci
Agent ma dwa narzędzia do pracy z pamięcią:
memory_search— znajduje istotne notatki za pomocą wyszukiwania semantycznego, nawet gdy sformułowanie różni się od oryginału.memory_get— odczytuje konkretny plik pamięci lub zakres wierszy.
Oba narzędzia są dostarczane przez aktywny plugin pamięci (domyślnie: memory-core).
Plugin towarzyszący Memory Wiki
Jeśli chcesz, aby trwała pamięć zachowywała się bardziej jak utrzymywana baza wiedzy niż
tylko surowe notatki, użyj dołączonego pluginu memory-wiki.
memory-wiki kompiluje trwałą wiedzę do skarbca wiki z:
- deterministyczną strukturą stron
- ustrukturyzowanymi twierdzeniami i dowodami
- śledzeniem sprzeczności i świeżości
- generowanymi panelami
- skompilowanymi streszczeniami dla odbiorców agenta/środowiska wykonawczego
- natywnymi narzędziami wiki, takimi jak
wiki_search,wiki_get,wiki_applyiwiki_lint
Nie zastępuje aktywnego pluginu pamięci. Aktywny plugin pamięci nadal
odpowiada za przypominanie, promowanie i Dreaming. memory-wiki dodaje obok niego
warstwę wiedzy bogatą w pochodzenie informacji.
Zobacz Memory Wiki.
Wyszukiwanie w pamięci
Gdy skonfigurowany jest dostawca embeddingów, memory_search używa wyszukiwania
hybrydowego — łącząc podobieństwo wektorowe (znaczenie semantyczne) z dopasowaniem słów kluczowych
(dokładne terminy, takie jak identyfikatory i symbole kodu). Działa to od razu, gdy masz
klucz API dla dowolnego obsługiwanego dostawcy.
Szczegóły działania wyszukiwania, opcje dostrajania i konfigurację dostawcy znajdziesz w Wyszukiwanie w pamięci.
Backendy pamięci
Oparte na SQLite. Działa od razu z wyszukiwaniem słów kluczowych, podobieństwem wektorowym i wyszukiwaniem hybrydowym. Bez dodatkowych zależności.
Sidecar local-first z rerankingiem, rozszerzaniem zapytań i możliwością indeksowania katalogów poza przestrzenią roboczą.
Natywna dla AI pamięć między sesjami z modelowaniem użytkownika, wyszukiwaniem semantycznym i świadomością wielu agentów. Instalacja pluginu.
Dołączona pamięć oparta na LanceDB z embeddingami zgodnymi z OpenAI, automatycznym przypominaniem, automatycznym przechwytywaniem i obsługą lokalnych embeddingów Ollama.
Warstwa wiki wiedzy
Automatyczne zrzucanie pamięci
Zanim Compaction podsumuje Twoją rozmowę, OpenClaw uruchamia cichą turę, która przypomina agentowi o zapisaniu ważnego kontekstu do plików pamięci. Jest to domyślnie włączone — nie musisz niczego konfigurować.
Aby zachować tę turę porządkową na modelu lokalnym, ustaw dokładne nadpisanie modelu zrzutu pamięci:
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}Nadpisanie dotyczy tylko tury zrzutu pamięci i nie dziedziczy łańcucha fallbacków aktywnej sesji.
Dreaming
Dreaming to opcjonalny przebieg konsolidacji pamięci w tle. Zbiera
sygnały krótkoterminowe, ocenia kandydatów i promuje tylko kwalifikujące się elementy do
pamięci długoterminowej (MEMORY.md).
Został zaprojektowany tak, aby pamięć długoterminowa miała wysoką wartość sygnału:
- Opcjonalny: domyślnie wyłączony.
- Zaplanowany: po włączeniu
memory-coreautomatycznie zarządza jednym cyklicznym zadaniem cron dla pełnego przebiegu Dreaming. - Progowy: promocje muszą przejść bramki wyniku, częstotliwości przypominania i różnorodności zapytań.
- Możliwy do przeglądu: podsumowania faz i wpisy dziennika są zapisywane do
DREAMS.mddo przeglądu przez człowieka.
Zachowanie faz, sygnały punktacji i szczegóły dziennika Dreaming opisuje Dreaming.
Ugruntowane uzupełnianie i promocja na żywo
System Dreaming ma teraz dwie blisko powiązane ścieżki przeglądu:
- Dreaming na żywo działa na krótkoterminowym magazynie Dreaming pod
memory/.dreams/i jest tym, czego zwykła faza głęboka używa przy podejmowaniu decyzji, co może przejść doMEMORY.md. - Ugruntowane uzupełnianie odczytuje historyczne notatki
memory/YYYY-MM-DD.mdjako samodzielne pliki dzienne i zapisuje ustrukturyzowany wynik przeglądu doDREAMS.md.
Ugruntowane uzupełnianie jest przydatne, gdy chcesz odtworzyć starsze notatki i sprawdzić, co
system uznaje za trwałe, bez ręcznego edytowania MEMORY.md.
Gdy użyjesz:
openclaw memory rem-backfill --path ./memory --stage-short-termugruntowani kandydaci do pamięci trwałej nie są promowani bezpośrednio. Są umieszczani etapowo w tym samym krótkoterminowym magazynie Dreaming, którego zwykła faza głęboka już używa. To oznacza, że:
DREAMS.mdpozostaje powierzchnią przeglądu dla człowieka.- magazyn krótkoterminowy pozostaje powierzchnią rankingu dla maszyny.
MEMORY.mdnadal jest zapisywany tylko przez głęboką promocję.
Jeśli uznasz, że odtworzenie nie było przydatne, możesz usunąć przygotowane artefakty bez dotykania zwykłych wpisów dziennika ani normalnego stanu przypominania:
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-termCLI
openclaw memory status # Check index status and provideropenclaw memory search "query" # Search from the command lineopenclaw memory index --force # Rebuild the indexDalsza lektura
- Wbudowany silnik pamięci: domyślny backend SQLite.
- Silnik pamięci QMD: zaawansowany sidecar local-first.
- Pamięć Honcho: natywna dla AI pamięć między sesjami.
- Memory LanceDB: plugin oparty na LanceDB z embeddingami zgodnymi z OpenAI.
- Memory Wiki: skompilowany skarbiec wiedzy i natywne narzędzia wiki.
- Wyszukiwanie w pamięci: potok wyszukiwania, dostawcy i dostrajanie.
- Dreaming: promocja w tle z krótkoterminowego przypominania do pamięci długoterminowej.
- Odwołanie konfiguracji pamięci: wszystkie pokrętła konfiguracji.
- Compaction: jak Compaction współdziała z pamięcią.