Przejdź do głównej treści

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Dreaming to system konsolidacji pamięci w tle w memory-core. Pomaga OpenClaw przenosić silne sygnały krótkoterminowe do trwałej pamięci, zachowując przy tym proces jako możliwy do wyjaśnienia i przejrzenia.
Dreaming jest opcjonalny i domyślnie wyłączony.

Co zapisuje Dreaming

Dreaming przechowuje dwa rodzaje wyników:
  • Stan maszyny w memory/.dreams/ (magazyn przywołań, sygnały faz, punkty kontrolne ingestii, blokady).
  • Wynik czytelny dla człowieka w DREAMS.md (lub istniejącym dreams.md) oraz opcjonalnych plikach raportów faz w memory/dreaming/<phase>/YYYY-MM-DD.md.
Promocja długoterminowa nadal zapisuje wyłącznie do MEMORY.md.

Model faz

Dreaming używa trzech współpracujących faz:
FazaCelTrwały zapis
LightSortowanie i etapowanie ostatnich materiałów krótkoterminowychNie
DeepOcena i promowanie trwałych kandydatówTak (MEMORY.md)
REMRefleksja nad motywami i powracającymi ideamiNie
Te fazy są wewnętrznymi szczegółami implementacji, a nie oddzielnymi „trybami” konfigurowanymi przez użytkownika.
Faza Light pobiera ostatnie dzienne sygnały pamięci i ślady przywołań, deduplikuje je oraz etapuje linie kandydatów.
  • Odczytuje stan krótkoterminowych przywołań, ostatnie dzienne pliki pamięci i zredagowane transkrypty sesji, gdy są dostępne.
  • Zapisuje zarządzany blok ## Light Sleep, gdy magazyn obejmuje wynik inline.
  • Rejestruje sygnały wzmocnienia do późniejszego rankingu Deep.
  • Nigdy nie zapisuje do MEMORY.md.
Faza Deep decyduje, co staje się pamięcią długoterminową.
  • Klasyfikuje kandydatów przy użyciu ważonej punktacji i progów bramkujących.
  • Wymaga spełnienia minScore, minRecallCount i minUniqueQueries.
  • Ponownie nawadnia fragmenty z aktywnych dziennych plików przed zapisem, więc przestarzałe/usunięte fragmenty są pomijane.
  • Dopisuje promowane wpisy do MEMORY.md.
  • Zapisuje podsumowanie ## Deep Sleep w DREAMS.md i opcjonalnie zapisuje memory/dreaming/deep/YYYY-MM-DD.md.
Faza REM wyodrębnia wzorce i sygnały refleksyjne.
  • Buduje podsumowania motywów i refleksji z ostatnich śladów krótkoterminowych.
  • Zapisuje zarządzany blok ## REM Sleep, gdy magazyn obejmuje wynik inline.
  • Rejestruje sygnały wzmocnienia REM używane przez ranking Deep.
  • Nigdy nie zapisuje do MEMORY.md.

Ingestia transkryptów sesji

Dreaming może ingestować zredagowane transkrypty sesji do korpusu Dreaming. Gdy transkrypty są dostępne, są przekazywane do fazy Light razem z dziennymi sygnałami pamięci i śladami przywołań. Treści osobiste i wrażliwe są redagowane przed ingestą.

Dziennik snów

Dreaming utrzymuje też narracyjny Dziennik snów w DREAMS.md. Gdy każda faza ma wystarczająco dużo materiału, memory-core uruchamia w tle próbę subagenta w trybie najlepszych starań i dopisuje krótki wpis dziennika. Używa domyślnego modelu runtime, chyba że skonfigurowano dreaming.model. Jeśli skonfigurowany model jest niedostępny, Dziennik snów ponawia próbę raz z domyślnym modelem sesji.
Ten dziennik jest przeznaczony do czytania przez ludzi w interfejsie Dreams, a nie jako źródło promocji. Artefakty dziennika/raportów wygenerowane przez Dreaming są wyłączone z promocji krótkoterminowej. Tylko ugruntowane fragmenty pamięci kwalifikują się do promocji do MEMORY.md.
Istnieje także ugruntowana ścieżka historycznego backfillu do prac przeglądowych i odzyskiwania:
  • memory rem-harness --path ... --grounded wyświetla podgląd ugruntowanego wyniku dziennika z historycznych notatek YYYY-MM-DD.md.
  • memory rem-backfill --path ... zapisuje odwracalne, ugruntowane wpisy dziennika w DREAMS.md.
  • memory rem-backfill --path ... --stage-short-term etapuje ugruntowanych trwałych kandydatów w tym samym magazynie krótkoterminowych dowodów, którego używa już zwykła faza Deep.
  • memory rem-backfill --rollback i --rollback-short-term usuwają te etapowane artefakty backfillu bez naruszania zwykłych wpisów dziennika ani aktywnych krótkoterminowych przywołań.
Control UI udostępnia ten sam przepływ backfillu/resetu dziennika, aby można było sprawdzić wyniki w scenie Dreams przed decyzją, czy ugruntowani kandydaci zasługują na promocję. Scena pokazuje też osobną ugruntowaną ścieżkę, dzięki czemu widać, które etapowane wpisy krótkoterminowe pochodzą z historycznego odtworzenia, które promowane elementy były prowadzone przez ugruntowanie, oraz można wyczyścić tylko ugruntowane etapowane wpisy bez naruszania zwykłego aktywnego stanu krótkoterminowego.

Sygnały rankingu Deep

Ranking Deep używa sześciu ważonych sygnałów bazowych oraz wzmocnienia faz:
SygnałWagaOpis
Częstotliwość0.24Ile sygnałów krótkoterminowych zgromadził wpis
Trafność0.30Średnia jakość pobierania dla wpisu
Różnorodność zapytań0.15Odrębne konteksty zapytań/dni, w których się pojawił
Świeżość0.15Punktacja świeżości z zanikiem w czasie
Konsolidacja0.10Siła powtarzania się przez wiele dni
Bogactwo pojęciowe0.06Gęstość tagów pojęć z fragmentu/ścieżki
Trafienia faz Light i REM dodają niewielkie wzmocnienie z zanikiem świeżości z memory/.dreams/phase-signals.json.

Harmonogram

Po włączeniu memory-core automatycznie zarządza jednym zadaniem cron dla pełnego przebiegu Dreaming. Każdy przebieg uruchamia fazy w kolejności: Light → REM → Deep. Przebieg obejmuje główny obszar roboczy runtime oraz wszystkie skonfigurowane obszary robocze agentów, zdeduplikowane według ścieżki, więc rozproszenie obszarów roboczych subagentów nie wyklucza DREAMS.md i stanu pamięci głównego agenta. Domyślne działanie kadencji:
UstawienieDomyślnie
dreaming.frequency0 3 * * *
dreaming.modelmodel domyślny

Szybki start

{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true
          }
        }
      }
    }
  }
}

Polecenie slash

/dreaming status
/dreaming on
/dreaming off
/dreaming help

Przepływ pracy CLI

openclaw memory promote
openclaw memory promote --apply
openclaw memory promote --limit 5
openclaw memory status --deep
Ręczne memory promote używa domyślnie progów fazy Deep, chyba że zostaną nadpisane flagami CLI.

Kluczowe wartości domyślne

Wszystkie ustawienia znajdują się pod plugins.entries.memory-core.config.dreaming.
enabled
boolean
domyślnie:"false"
Włącza lub wyłącza przebieg Dreaming.
frequency
string
domyślnie:"0 3 * * *"
Kadencja Cron dla pełnego przebiegu Dreaming.
model
string
Opcjonalne nadpisanie modelu subagenta Dziennika snów. Użyj kanonicznej wartości provider/model, gdy ustawiasz także allowlistę allowedModels subagenta.
dreaming.model wymaga plugins.entries.memory-core.subagent.allowModelOverride: true. Aby je ograniczyć, ustaw także plugins.entries.memory-core.subagent.allowedModels. Błędy zaufania lub allowlisty pozostają widoczne zamiast cicho wracać do wartości zapasowej; ponowna próba obejmuje tylko błędy niedostępności modelu.
Zasady faz, progi i zachowanie magazynu są wewnętrznymi szczegółami implementacji (nie konfiguracją widoczną dla użytkownika). Zobacz referencję konfiguracji pamięci, aby uzyskać pełną listę kluczy.

Interfejs Dreams

Po włączeniu karta Dreams w Gateway pokazuje:
  • bieżący stan włączenia Dreaming
  • status na poziomie faz i obecność zarządzanego przebiegu
  • liczby krótkoterminowe, ugruntowane, sygnałów i promowanych-dzisiaj
  • czas następnego zaplanowanego uruchomienia
  • osobną ugruntowaną ścieżkę Sceny dla etapowanych wpisów historycznego odtworzenia
  • rozwijany czytnik Dziennika snów oparty na doctor.memory.dreamDiary

Dreaming nigdy się nie uruchamia: status pokazuje zablokowanie

Jeśli openclaw memory status zgłasza Dreaming status: blocked, zarządzany cron istnieje, ale Heartbeat domyślnego agenta się nie uruchamia. Sprawdź, czy Heartbeat jest włączony dla domyślnego agenta i czy jego cel nie jest none, a następnie ponownie uruchom openclaw memory status --deep po następnym interwale Heartbeat.

Powiązane