Sessions and memory

Przegląd pamięci

OpenClaw zapamiętuje rzeczy, zapisując zwykłe pliki Markdown w przestrzeni roboczej agenta. Model „pamięta” tylko to, co zostanie zapisane na dysku — nie ma żadnego 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 — notatki dzienne. Bieżący kontekst i obserwacje. Notatki z dzisiaj i wczoraj są ładowane automatycznie.
  • DREAMS.md (opcjonalnie) — Dziennik Dreaming i podsumowania przeglądów Dreaming do weryfikacji przez człowieka, w tym osadzone w źródłach historyczne wpisy backfill.

Te pliki znajdują się w przestrzeni roboczej agenta (domyślnie ~/.openclaw/workspace).

Wywnioskowane zobowiązania

Niektóre przyszłe działania następcze nie są trwałymi faktami. Jeśli wspomnisz o rozmowie kwalifikacyjnej jutro, użyteczną 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 wywnioskuje 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ą zaplanowanych zadań.

Narzędzia pamięci

Agent ma dwa narzędzia do pracy z pamięcią:

  • memory_search — znajduje odpowiednie notatki przy użyciu 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ą udostępniane przez aktywny Plugin pamięci (domyślnie: memory-core).

Plugin towarzyszący Memory Wiki

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.

memory-wiki kompiluje trwałą wiedzę do skarbca wiki z:

  • deterministyczną strukturą stron
  • ustrukturyzowanymi twierdzeniami i dowodami
  • śledzeniem sprzeczności i świeżości
  • wygenerowanymi pulpitami
  • skompilowanymi skrótami dla konsumentów agenta/środowiska uruchomieniowego
  • natywnymi narzędziami wiki, takimi jak wiki_search, wiki_get, wiki_apply i wiki_lint

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.

Zobacz Memory Wiki.

Wyszukiwanie w pamięci

Gdy skonfigurowany jest dostawca osadzeń, memory_search używa wyszukiwania hybrydowego — łączącego 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 dowolnego obsługiwanego dostawcy.

Szczegóły działania wyszukiwania, opcje dostrajania i konfigurację dostawcy znajdziesz w Wyszukiwaniu w pamięci.

Backendy pamięci

Warstwa wiki wiedzy

Automatyczne opróżnianie pamięci

Zanim Compaction podsumuje 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 utrzymać tę turę porządkową na modelu lokalnym, ustaw dokładne nadpisanie modelu opróżniania pamięci:

{
  "agents": {
    "defaults": {
      "compaction": {
        "memoryFlush": {
          "model": "ollama/qwen3:8b"
        }
      }
    }
  }
}

Nadpisanie dotyczy tylko tury opróżniania pamięci i nie dziedziczy łańcucha rezerwowego aktywnej sesji.

Dreaming

Dreaming to opcjonalny przebieg konsolidacji pamięci w tle. Zbiera krótkoterminowe sygnały, ocenia kandydatów i promuje tylko kwalifikujące się elementy do pamięci długoterminowej (MEMORY.md).

Zaprojektowano go tak, aby pamięć długoterminowa miała wysoki stosunek sygnału do szumu:

  • Opcjonalne włączenie: domyślnie wyłączone.
  • Zaplanowane: po włączeniu memory-core automatycznie zarządza jednym cyklicznym zadaniem Cron dla pełnego przeglądu Dreaming.
  • Progowe: promocje muszą przejść bramki wyniku, częstotliwości przywołania i różnorodności zapytań.
  • Możliwe do przeglądu: podsumowania faz i wpisy dziennika są zapisywane w DREAMS.md do weryfikacji przez człowieka.

Szczegóły zachowania faz, sygnałów punktacji i Dziennika Dreaming znajdziesz w Dreaming.

Osadzony backfill i promocja na żywo

System Dreaming ma teraz dwie ściśle powiązane ścieżki przeglądu:

  • Dreaming na żywo działa na krótkoterminowym magazynie Dreaming pod memory/.dreams/ i jest tym, czego normalna faza głęboka używa przy decydowaniu, co może przejść do MEMORY.md.
  • Osadzony backfill odczytuje historyczne notatki memory/YYYY-MM-DD.md jako samodzielne pliki dzienne i zapisuje ustrukturyzowany wynik przeglądu w DREAMS.md.

Osadzony backfill jest przydatny, gdy chcesz odtworzyć starsze notatki i sprawdzić, co system uważa za trwałe, bez ręcznej edycji MEMORY.md.

Gdy używasz:

openclaw memory rem-backfill --path ./memory --stage-short-term

osadzeni trwali kandydaci nie są promowani bezpośrednio. Są etapowani do tego samego krótkoterminowego magazynu Dreaming, którego normalna faza głęboka już używa. To oznacza, że:

  • DREAMS.md pozostaje powierzchnią przeglądu dla człowieka.
  • magazyn krótkoterminowy pozostaje powierzchnią rankingową dla maszyny.
  • MEMORY.md nadal jest zapisywany tylko przez głęboką promocję.

Jeśli uznasz, że odtworzenie nie było użyteczne, możesz usunąć etapowane artefakty bez dotykania zwykłych wpisów dziennika ani normalnego stanu przywoływania:

openclaw memory rem-backfill --rollback
openclaw memory rem-backfill --rollback-short-term

CLI

openclaw memory status          # Check index status and provider
openclaw memory search "query"  # Search from the command line
openclaw memory index --force   # Rebuild the index

Dalsza lektura

Powiązane