Skip to main content

Dreaming (deneysel)

Dreaming, memory-core içindeki arka plan hafıza konsolidasyonu geçişidir. “Bunu neden dreaming olarak adlandırıyoruz?” çünkü sistem gün içinde ortaya çıkanları yeniden gözden geçirir ve kalıcı bağlam olarak neleri tutmaya değer olduğuna karar verir. Dreaming deneyseldir, isteğe bağlıdır ve varsayılan olarak kapalıdır.

Dreaming ne yapar?

  1. memory_search isabetlerinden gelen kısa süreli hatırlama olaylarını memory/YYYY-MM-DD.md içinde izler.
  2. Bu hatırlama adaylarını ağırlıklı sinyallerle puanlar.
  3. Yalnızca uygun adayları MEMORY.md içine terfi ettirir.
Bu, uzun süreli hafızayı tek seferlik ayrıntılar yerine kalıcı, tekrarlanan bağlama odaklı tutar.

Terfi sinyalleri

Dreaming dört sinyali birleştirir:
  • Sıklık: aynı adayın ne kadar sık hatırlandığı.
  • İlgililik: geri getirildiğinde hatırlama puanlarının ne kadar güçlü olduğu.
  • Sorgu çeşitliliği: kaç farklı sorgu amacının onu yüzeye çıkardığı.
  • Güncellik: son hatırlamalar üzerindeki zamansal ağırlıklandırma.
Terfi için yalnızca tek bir sinyalin değil, yapılandırılmış tüm eşik kapılarının geçilmesi gerekir.

Sinyal ağırlıkları

SinyalAğırlıkAçıklama
Sıklık0.35Aynı girdinin ne kadar sık hatırlandığı
İlgililik0.35Geri getirildiğindeki ortalama hatırlama puanları
Çeşitlilik0.15Onu yüzeye çıkaran farklı sorgu amaçlarının sayısı
Güncellik0.15Zamansal azalma (14 günlük yarı ömür)

Nasıl çalışır

  1. Hatırlama takibi — Her memory_search isabeti memory/.dreams/short-term-recall.json dosyasına hatırlama sayısı, puanlar ve sorgu karması ile kaydedilir.
  2. Zamanlanmış puanlama — Yapılandırılmış zamanlamada adaylar ağırlıklı sinyaller kullanılarak sıralanır. Tüm eşik kapıları aynı anda geçilmelidir.
  3. Terfi — Uygun girdiler, terfi zaman damgasıyla birlikte MEMORY.md dosyasına eklenir.
  4. Temizlik — Zaten terfi edilmiş girdiler gelecek döngülerden süzülür. Bir dosya kilidi eşzamanlı çalıştırmaları önler.

Modlar

dreaming.mode, zamanlamayı ve varsayılan eşikleri kontrol eder:
ModZamanlamaminScoreminRecallCountminUniqueQueries
offDevre dışı
coreHer gün 3 AM0.7532
remHer 6 saatte0.8543
deepHer 12 saatte0.8033

Zamanlama modeli

Dreaming etkin olduğunda memory-core, yinelenen zamanlamayı otomatik olarak yönetir. Bu özellik için elle bir cron işi oluşturmanız gerekmez. Yine de davranışı aşağıdaki gibi açık geçersiz kılmalarla ayarlayabilirsiniz:
  • dreaming.frequency (cron ifadesi)
  • dreaming.timezone
  • dreaming.limit
  • dreaming.minScore
  • dreaming.minRecallCount
  • dreaming.minUniqueQueries

Yapılandırma

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

Sohbet komutları

Sohbetten modları değiştirin ve durumu kontrol edin:
/dreaming core          # core moduna geç (gecelik)
/dreaming rem           # rem moduna geç (her 6 saatte bir)
/dreaming deep          # deep moduna geç (her 12 saatte bir)
/dreaming off           # dreaming'i devre dışı bırak
/dreaming status        # Geçerli config ve zamanlamayı göster
/dreaming help          # Mod kılavuzunu göster

CLI komutları

Komut satırından terfileri önizleyin ve uygulayın:
# Terfi adaylarını önizle
openclaw memory promote

# Terfileri MEMORY.md dosyasına uygula
openclaw memory promote --apply

# Önizleme sayısını sınırla
openclaw memory promote --limit 5

# Zaten terfi edilmiş girdileri dahil et
openclaw memory promote --include-promoted

# Dreaming durumunu kontrol et
openclaw memory status --deep
Tam bayrak başvurusu için memory CLI sayfasına bakın.

Dreams UI

Dreaming etkin olduğunda Gateway kenar çubuğunda, hafıza istatistiklerini (kısa süreli sayı, uzun süreli sayı, terfi edilen sayı) ve bir sonraki zamanlanmış döngü zamanını gösteren bir Dreams sekmesi görünür.

Ek okuma