Skip to main content

Dreaming (eksperymentalne)

Dreaming to działający w tle etap konsolidacji pamięci w memory-core. Nazywa się go „dreaming”, ponieważ system ponownie analizuje to, co pojawiło się w ciągu dnia, i decyduje, co warto zachować jako trwały kontekst. Dreaming jest eksperymentalne, opt-in i domyślnie wyłączone.

Co robi dreaming

  1. Śledzi zdarzenia przywołań krótkoterminowych z trafień memory_search w memory/YYYY-MM-DD.md.
  2. Ocenia tych kandydatów przywołań za pomocą ważonych sygnałów.
  3. Promuje do MEMORY.md tylko kwalifikujących się kandydatów.
Dzięki temu pamięć długoterminowa pozostaje skupiona na trwałym, powtarzającym się kontekście zamiast gromadzić jednorazowe szczegóły.

Sygnały promocji

Dreaming łączy cztery sygnały:
  • Częstotliwość: jak często przywoływano tego samego kandydata.
  • Trafność: jak wysokie były wyniki przywołań podczas jego pobierania.
  • Różnorodność zapytań: ile odrębnych intencji zapytań go ujawniło.
  • Świeżość: ważenie czasowe ostatnich przywołań.
Promocja wymaga przejścia przez wszystkie skonfigurowane progi, a nie tylko przez jeden sygnał.

Wagi sygnałów

SygnałWagaOpis
Częstotliwość0.35Jak często przywoływano ten sam wpis
Trafność0.35Średnie wyniki przywołań podczas pobierania
Różnorodność0.15Liczba odrębnych intencji zapytań, które go ujawniły
Świeżość0.15Zanikanie w czasie (okres półtrwania 14 dni)

Jak to działa

  1. Śledzenie przywołań — Każde trafienie memory_search jest zapisywane do memory/.dreams/short-term-recall.json wraz z liczbą przywołań, wynikami i hashem zapytania.
  2. Planowane ocenianie — Zgodnie ze skonfigurowanym harmonogramem kandydaci są klasyfikowani przy użyciu ważonych sygnałów. Wszystkie progi muszą zostać spełnione jednocześnie.
  3. Promocja — Kwalifikujące się wpisy są dopisywane do MEMORY.md ze znacznikiem czasu promocji.
  4. Czyszczenie — Wpisy już promowane są filtrowane w kolejnych cyklach. Blokada pliku zapobiega równoczesnym uruchomieniom.

Tryby

dreaming.mode kontroluje harmonogram i domyślne progi:
TrybHarmonogramminScoreminRecallCountminUniqueQueries
offWyłączone
coreCodziennie o 3:000.7532
remCo 6 godzin0.8543
deepCo 12 godzin0.8033

Model harmonogramu

Gdy dreaming jest włączone, memory-core automatycznie zarządza powtarzającym się harmonogramem. Nie musisz ręcznie tworzyć zadania cron dla tej funkcji. Nadal możesz dostroić działanie za pomocą jawnych nadpisań, takich jak:
  • dreaming.frequency (wyrażenie cron)
  • dreaming.timezone
  • dreaming.limit
  • dreaming.minScore
  • dreaming.minRecallCount
  • dreaming.minUniqueQueries

Konfiguracja

{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "mode": "core"
          }
        }
      }
    }
  }
}

Polecenia czatu

Przełączaj tryby i sprawdzaj stan z poziomu czatu:
/dreaming core          # Przełącz na tryb core (nocny)
/dreaming rem           # Przełącz na tryb rem (co 6 h)
/dreaming deep          # Przełącz na tryb deep (co 12 h)
/dreaming off           # Wyłącz dreaming
/dreaming status        # Pokaż bieżącą konfigurację i harmonogram
/dreaming help          # Pokaż przewodnik po trybach

Polecenia CLI

Wyświetl podgląd i stosuj promocje z poziomu wiersza poleceń:
# Wyświetl podgląd kandydatów do promocji
openclaw memory promote

# Zastosuj promocje do MEMORY.md
openclaw memory promote --apply

# Ogranicz liczbę elementów w podglądzie
openclaw memory promote --limit 5

# Uwzględnij już promowane wpisy
openclaw memory promote --include-promoted

# Sprawdź stan dreaming
openclaw memory status --deep
Pełne informacje o flagach znajdziesz w CLI memory.

Interfejs Dreams

Gdy dreaming jest włączone, pasek boczny Gateway pokazuje kartę Dreams z statystykami pamięci (liczba elementów krótkoterminowych, liczba elementów długoterminowych, liczba promowanych) oraz czasem następnego zaplanowanego cyklu.

Dalsza lektura