Sessions and memory
Dreaming
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.
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ącymdreams.md) oraz opcjonalnych plikach raportów faz wmemory/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:
| Faza | Cel | Trwały zapis |
|---|---|---|
| Light | Sortowanie i etapowanie ostatnich materiałów krótkoterminowych | Nie |
| Deep | Ocena i promowanie trwałych kandydatów | Tak (MEMORY.md) |
| REM | Refleksja nad motywami i powracającymi ideami | Nie |
Te fazy są wewnętrznymi szczegółami implementacji, a nie oddzielnymi „trybami” konfigurowanymi przez użytkownika.
Faza Light
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
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,minRecallCountiminUniqueQueries. - 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 SleepwDREAMS.mdi opcjonalnie zapisujememory/dreaming/deep/YYYY-MM-DD.md.
Faza REM
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.
Istnieje także ugruntowana ścieżka historycznego backfillu do prac przeglądowych i odzyskiwania:
Polecenia backfillu
memory rem-harness --path ... --groundedwyświetla podgląd ugruntowanego wyniku dziennika z historycznych notatekYYYY-MM-DD.md.memory rem-backfill --path ...zapisuje odwracalne, ugruntowane wpisy dziennika wDREAMS.md.memory rem-backfill --path ... --stage-short-termetapuje 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 --rollbacki--rollback-short-termusuwają 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ł | Waga | Opis |
|---|---|---|
| Częstotliwość | 0.24 | Ile sygnałów krótkoterminowych zgromadził wpis |
| Trafność | 0.30 | Średnia jakość pobierania dla wpisu |
| Różnorodność zapytań | 0.15 | Odrębne konteksty zapytań/dni, w których się pojawił |
| Świeżość | 0.15 | Punktacja świeżości z zanikiem w czasie |
| Konsolidacja | 0.10 | Siła powtarzania się przez wiele dni |
| Bogactwo pojęciowe | 0.06 | Gę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:
| Ustawienie | Domyślnie |
|---|---|
dreaming.frequency |
0 3 * * * |
dreaming.model |
model domyślny |
Szybki start
Włącz Dreaming
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true
}
}
}
}
}
}
Niestandardowa kadencja przebiegu
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true,
"timezone": "America/Los_Angeles",
"frequency": "0 */6 * * *"
}
}
}
}
}
}
Polecenie slash
/dreaming status
/dreaming on
/dreaming off
/dreaming help
Przepływ pracy CLI
Podgląd promocji / zastosowanie
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.
Wyjaśnij promocję
Wyjaśnij, dlaczego konkretny kandydat zostałby albo nie zostałby promowany:
openclaw memory promote-explain "router vlan"
openclaw memory promote-explain "router vlan" --json
Podgląd harness REM
Wyświetl podgląd refleksji REM, prawd kandydatów i wyniku promocji Deep bez zapisywania czegokolwiek:
openclaw memory rem-harness
openclaw memory rem-harness --json
Kluczowe wartości domyślne
Wszystkie ustawienia znajdują się pod plugins.entries.memory-core.config.dreaming.
enabledbooleanWłącza lub wyłącza przebieg Dreaming.
frequencystringKadencja Cron dla pełnego przebiegu Dreaming.
modelstringOpcjonalne nadpisanie modelu subagenta Dziennika snów. Użyj kanonicznej wartości provider/model, gdy ustawiasz także allowlistę allowedModels subagenta.
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.