Sessions and memory
Przegląd pamięci
OpenClaw zapamiętuje informacje, zapisując zwykłe pliki Markdown w przestrzeni
roboczej agenta (domyślnie ~/.openclaw/workspace). Model pamięta tylko to, co
zostanie zapisane na dysku; nie istnieje żaden ukryty stan.
Jak to działa
Agent ma trzy pliki związane z pamięcią:
MEMORY.md— pamięć długoterminowa. Trwałe fakty, preferencje i decyzje. Wczytywana na początku sesji.memory/YYYY-MM-DD.md(lubmemory/YYYY-MM-DD-<slug>.md) — notatki dzienne. Bieżący kontekst i obserwacje. Datowane notatki z dzisiaj i wczoraj są automatycznie wczytywane po zwykłym/newlub/reset; warianty z identyfikatorem tekstowym, takie jak tworzone przez dołączony hook pamięci sesji, są wczytywane razem z plikiem zawierającym wyłącznie datę.DREAMS.md(opcjonalny) — Dziennik snów i podsumowania przebiegów Dreaming przeznaczone do weryfikacji przez człowieka, w tym osadzone w źródłach wpisy uzupełniające dane historyczne.
Co trafia do którego pliku
MEMORY.md jest zwartą, uporządkowaną warstwą: zawiera trwałe fakty,
preferencje, obowiązujące decyzje i krótkie podsumowania, które powinny być
dostępne na początku sesji. Nie jest to surowy zapis rozmowy, dziennik ani
kompletne archiwum.
Pliki memory/YYYY-MM-DD.md stanowią warstwę roboczą: zawierają szczegółowe
notatki dzienne, obserwacje, podsumowania sesji i surowy kontekst, który może
nadal przydać się później. Są indeksowane na potrzeby memory_search i
memory_get, ale nie są umieszczane w początkowym prompcie przy każdej turze.
Z czasem agent wyodrębnia przydatne informacje z notatek dziennych i przenosi
je do MEMORY.md, a także usuwa nieaktualne wpisy długoterminowe. Wygenerowane
instrukcje przestrzeni roboczej i przepływ Heartbeat wykonują te czynności
okresowo; nie musisz ręcznie edytować MEMORY.md przy każdym szczególe.
Jeśli rozmiar MEMORY.md przekroczy limit pliku początkowego, OpenClaw
pozostawi cały plik na dysku, ale skróci kopię umieszczaną w kontekście.
Potraktuj to jako sygnał, aby przenieść szczegółowe informacje do
memory/*.md, pozostawić w MEMORY.md wyłącznie trwałe podsumowanie albo
zwiększyć limity początkowe, jeśli chcesz przeznaczyć większy budżet promptu.
Użyj /context list, /context detail lub openclaw doctor, aby zobaczyć
rozmiary surowe i umieszczone w kontekście oraz stan skrócenia.
Wspomnienia wpływające na działania
Większość wspomnień to zwykłe notatki Markdown. Niektóre wpływają jednak na to, co agent powinien zrobić później; w takich przypadkach zapisz nie tylko sam fakt, lecz także informację, kiedy można bezpiecznie podjąć na jego podstawie działanie.
Zapisz tę granicę działania, gdy notatka dotyczy:
- wymagań dotyczących zatwierdzenia lub uprawnień,
- tymczasowych ograniczeń,
- przekazania zadania do innej sesji, wątku lub osoby,
- warunków wygaśnięcia,
- momentu, od którego działanie jest bezpieczne,
- uprawnień źródła lub właściciela,
- instrukcji, aby powstrzymać się od kuszącego działania.
Przydatne wspomnienie wpływające na działania jasno określa:
- co zmienia przyszłe zachowanie,
- kiedy lub pod jakim warunkiem ma zastosowanie,
- kiedy wygasa albo co umożliwia podjęcie działania,
- czego agent powinien unikać,
- kto jest źródłem lub właścicielem, jeśli wpływa to na zaufanie lub uprawnienia.
Pamięć może zachować kontekst zatwierdzenia, ale nie egzekwuje zasad. Do twardych mechanizmów kontroli operacyjnej używaj ustawień zatwierdzania OpenClaw, piaskownicy i zaplanowanych zadań.
Przykład:
Migracja API jest projektowana w innej sesji. W przyszłych turach nie należyedytować implementacji API z tego wątku; ustalenia z tego miejsca mogą służyćwyłącznie jako dane wejściowe do projektu, dopóki plan migracji nie zostaniewdrożony.Inny przykład:
Raport z niezaufanego źródła wymaga weryfikacji przed zatwierdzeniem. Wprzyszłych turach należy traktować go wyłącznie jako materiał dowodowy; nienależy zapisywać go jako trwałej pamięci, dopóki zaufany recenzent niepotwierdzi jego zawartości.Nie jest to wymagany schemat każdego wspomnienia; proste fakty mogą pozostać zwięzłe. Używaj granic wpływających na działania, gdy utrata informacji o czasie, uprawnieniach, wygaśnięciu lub warunkach bezpiecznego działania mogłaby sprawić, że agent zrobi później coś niewłaściwego.
Do wywnioskowanych, krótkotrwałych działań następczych używaj zobowiązań. Do dokładnych przypomnień, kontroli wykonywanych w określonym czasie i cyklicznych zadań używaj zaplanowanych zadań. Pamięć może nadal podsumowywać trwały kontekst związany z każdą z tych ścieżek.
Wywnioskowane zobowiązania
Niektóre przyszłe działania następcze nie są trwałymi faktami. Jeśli wspomnisz
o jutrzejszej rozmowie kwalifikacyjnej, przydatnym wspomnieniem może być
„zapytaj po rozmowie, jak poszło”, a nie „zapisz to na zawsze w MEMORY.md”.
Zobowiązania to opcjonalne, krótkotrwałe wspomnienia dotyczące działań następczych przeznaczone do takich przypadków. OpenClaw wnioskuje je w ukrytym przebiegu w tle, ogranicza do tego samego agenta i kanału oraz dostarcza odpowiednie wiadomości kontrolne za pośrednictwem Heartbeat. Jawne przypomnienia nadal korzystają z zaplanowanych zadań.
Narzędzia pamięci
Agent ma dwa narzędzia do pracy z pamięcią:
memory_search— znajduje odpowiednie notatki za pomocą wyszukiwania semantycznego, nawet jeśli ich sformułowanie różni się od oryginału.memory_get— odczytuje określony plik pamięci lub zakres wierszy.
Oba narzędzia udostępnia aktywny plugin pamięci (domyślnie: memory-core).
Wyszukiwanie w pamięci
Gdy skonfigurowany jest dostawca embeddingów, memory_search korzysta z
wyszukiwania hybrydowego: podobieństwo wektorowe (znaczenie semantyczne) jest
łączone z dopasowywaniem słów kluczowych (dokładnych terminów, takich jak
identyfikatory i symbole kodu). Działa to od razu po podaniu klucza API
dowolnego obsługiwanego dostawcy.
Zobacz Wyszukiwanie w pamięci, aby dowiedzieć się, jak działa wyszukiwanie, jakie są opcje dostrajania i jak skonfigurować dostawcę.
Mechanizmy przechowywania pamięci
Oparty na SQLite. Działa od razu z wyszukiwaniem słów kluczowych, podobieństwem wektorowym i wyszukiwaniem hybrydowym. Bez dodatkowych zależności.
Lokalny proces pomocniczy z ponownym rankingiem, rozszerzaniem zapytań i możliwością indeksowania katalogów spoza przestrzeni roboczej.
Natywna dla AI pamięć między sesjami z modelowaniem użytkownika, wyszukiwaniem semantycznym i świadomością wielu agentów. Wymaga instalacji pluginu.
Pamięć oparta na LanceDB, z embeddingami zgodnymi z OpenAI, automatycznym przywoływaniem, automatycznym zapisywaniem i obsługą lokalnych embeddingów Ollama. Wymaga instalacji pluginu.
Warstwa wiki wiedzy
Jeśli chcesz, aby trwała pamięć działała bardziej jak utrzymywana baza wiedzy
niż surowe notatki, użyj dołączonego pluginu memory-wiki. Kompiluje on trwałą
wiedzę do repozytorium wiki z deterministyczną strukturą stron,
ustrukturyzowanymi twierdzeniami i dowodami, śledzeniem sprzeczności i
aktualności, generowanymi pulpitami, skompilowanymi zestawieniami oraz
natywnymi narzędziami wiki (wiki_status, wiki_search, wiki_get,
wiki_apply, wiki_lint).
memory-wiki nie zastępuje aktywnego pluginu pamięci; aktywny plugin pamięci
nadal odpowiada za przywoływanie, promowanie i Dreaming. memory-wiki dodaje
obok niego warstwę wiedzy bogatą w informacje o pochodzeniu.
Automatyczne opróżnianie pamięci
Zanim Compaction podsumuje rozmowę, OpenClaw wykonuje
cichą turę, która przypomina agentowi o zapisaniu ważnego kontekstu w plikach
pamięci. Funkcja jest domyślnie włączona; ustaw
agents.defaults.compaction.memoryFlush.enabled: false, aby ją wyłączyć.
Aby ta porządkowa tura korzystała z modelu lokalnego, ustaw dokładne nadpisanie obowiązujące wyłącznie dla tury opróżniania pamięci (nie dziedziczy ona łańcucha modeli rezerwowych aktywnej sesji):
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}Dreaming
Dreaming to opcjonalny proces konsolidacji pamięci wykonywany w tle. Zbiera
krótkoterminowe sygnały przywoływania, ocenia kandydatów i promuje do pamięci
długoterminowej (MEMORY.md) wyłącznie zakwalifikowane elementy:
- Opcjonalny: domyślnie wyłączony.
- Zaplanowany: po włączeniu
memory-coreautomatycznie zarządza jednym cyklicznym zadaniem Cron wykonującym pełny przebieg Dreaming. - Progowy: promowane elementy muszą przejść kryteria wyniku, częstotliwości przywoływania i różnorodności zapytań.
- Możliwy do weryfikacji: podsumowania faz i wpisy dziennika są
zapisywane w
DREAMS.mddo weryfikacji przez człowieka.
Zobacz Dreaming, aby poznać zachowanie poszczególnych faz, sygnały oceny i szczegóły Dziennika snów.
Osadzone uzupełnianie danych i promowanie na bieżąco
System Dreaming ma dwie powiązane ścieżki weryfikacji:
- Dreaming na bieżąco korzysta z krótkoterminowego magazynu Dreaming w
memory/.dreams/i jest używany przez zwykłą fazę głęboką do podejmowania decyzji, które elementy trafią doMEMORY.md. - Osadzone uzupełnianie danych odczytuje historyczne notatki
memory/YYYY-MM-DD.mdjako samodzielne pliki dni i zapisuje ustrukturyzowane wyniki weryfikacji wDREAMS.md.
Osadzone uzupełnianie danych przydaje się do ponownego przetwarzania starszych
notatek i sprawdzania, które informacje system uznaje za trwałe, bez ręcznego
edytowania MEMORY.md.
openclaw memory rem-backfill --path ./memory --stage-short-termFlaga --stage-short-term umieszcza osadzonych kandydatów do trwałej pamięci
w tym samym krótkoterminowym magazynie Dreaming, którego używa już zwykła faza
głęboka; nie promuje ich bezpośrednio. W rezultacie:
DREAMS.mdpozostaje obszarem weryfikacji przeznaczonym dla człowieka.- Magazyn krótkoterminowy pozostaje obszarem rankingu przeznaczonym dla maszyny.
MEMORY.mdjest nadal zapisywany wyłącznie przez głębokie promowanie.
Aby cofnąć ponowne przetwarzanie bez modyfikowania zwykłych wpisów dziennika ani normalnego stanu przywoływania:
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-termCLI
openclaw memory status # Sprawdź stan indeksu i dostawcęopenclaw memory search "query" # Wyszukaj z wiersza poleceńopenclaw memory index --force # Przebuduj indeksDalsza lektura
- Wyszukiwanie w pamięci: potok wyszukiwania, dostawcy i dostrajanie.
- Wbudowany mechanizm pamięci: domyślny mechanizm oparty na SQLite.
- Mechanizm pamięci QMD: zaawansowany lokalny proces pomocniczy.
- Pamięć Honcho: natywna dla AI pamięć między sesjami.
- Pamięć LanceDB: plugin oparty na LanceDB z embeddingami zgodnymi z OpenAI.
- Wiki pamięci: skompilowane repozytorium wiedzy i natywne narzędzia wiki.
- Dreaming: promowanie w tle z krótkoterminowego przywoływania do pamięci długoterminowej.
- Dokumentacja konfiguracji pamięci: wszystkie ustawienia konfiguracji.
- Compaction: interakcje między Compaction a pamięcią.
- Active Memory: pamięć podagentów dla interaktywnych sesji czatu.