Sessions and memory
Dreaming
Dreaming — це фонова система консолідації пам'яті в memory-core. Вона допомагає OpenClaw переносити сильні короткострокові сигнали в довготривалу пам'ять, зберігаючи процес пояснюваним і придатним для перегляду.
Що записує Dreaming
Dreaming зберігає два види результатів:
- Машинний стан у
memory/.dreams/(сховище пригадування, фазові сигнали, контрольні точки приймання, блокування). - Людиночитний результат у
DREAMS.md(або наявномуdreams.md) і необов'язкових файлах фазових звітів уmemory/dreaming/<phase>/YYYY-MM-DD.md.
Довготривале просування й надалі записує лише до MEMORY.md.
Модель фаз
Dreaming використовує три кооперативні фази:
| Фаза | Призначення | Довготривалий запис |
|---|---|---|
| Light | Сортує й готує нещодавній короткостроковий матеріал | Ні |
| Deep | Оцінює й просуває довготривалих кандидатів | Так (MEMORY.md) |
| REM | Осмислює теми й повторювані ідеї | Ні |
Ці фази є внутрішніми деталями реалізації, а не окремими налаштованими користувачем "режимами".
Light phase
Фаза Light приймає нещодавні щоденні сигнали пам'яті та сліди пригадування, усуває дублікати й готує рядки-кандидати.
- Читає з короткострокового стану пригадування, нещодавніх щоденних файлів пам'яті та відредагованих стенограм сесій, коли вони доступні.
- Записує керований блок
## Light Sleep, коли сховище включає вбудований результат. - Фіксує сигнали підсилення для подальшого глибокого ранжування.
- Ніколи не записує до
MEMORY.md.
Deep phase
Фаза Deep вирішує, що стає довготривалою пам'яттю.
- Ранжує кандидатів за допомогою зваженого оцінювання та порогових фільтрів.
- Вимагає проходження
minScore,minRecallCountіminUniqueQueries. - Перед записом повторно завантажує фрагменти з актуальних щоденних файлів, тому застарілі або видалені фрагменти пропускаються.
- Додає просунуті записи до
MEMORY.md. - Записує підсумок
## Deep SleepуDREAMS.mdі за потреби записуєmemory/dreaming/deep/YYYY-MM-DD.md.
REM phase
Фаза REM витягує патерни та рефлексивні сигнали.
- Створює підсумки тем і рефлексій з нещодавніх короткострокових слідів.
- Записує керований блок
## REM Sleep, коли сховище включає вбудований результат. - Фіксує сигнали підсилення REM, які використовує глибоке ранжування.
- Ніколи не записує до
MEMORY.md.
Приймання стенограм сесій
Dreaming може приймати відредаговані стенограми сесій у корпус Dreaming. Коли стенограми доступні, вони подаються у фазу Light разом із щоденними сигналами пам'яті та слідами пригадування. Особистий і чутливий вміст редагується перед прийманням.
Щоденник снів
Dreaming також веде оповідний Щоденник снів у DREAMS.md. Після того як кожна фаза має достатньо матеріалу, memory-core запускає best-effort фоновий хід субагента й додає короткий запис щоденника. Він використовує стандартну модель середовища виконання, якщо не налаштовано dreaming.model. Якщо налаштована модель недоступна, Щоденник снів повторює спробу один раз зі стандартною моделлю сесії.
Також існує обґрунтований канал історичного дозаповнення для перегляду й відновлення:
Backfill commands
memory rem-harness --path ... --groundedпопередньо показує обґрунтований результат щоденника з історичних нотатокYYYY-MM-DD.md.memory rem-backfill --path ...записує оборотні обґрунтовані записи щоденника доDREAMS.md.memory rem-backfill --path ... --stage-short-termготує обґрунтованих довготривалих кандидатів у тому самому сховищі короткострокових доказів, яке вже використовує звичайна фаза Deep.memory rem-backfill --rollbackі--rollback-short-termвидаляють ці підготовлені артефакти дозаповнення, не зачіпаючи звичайні записи щоденника або активне короткострокове пригадування.
Control UI надає той самий потік дозаповнення/скидання щоденника, щоб ви могли переглянути результати в сцені Dreams перед рішенням, чи заслуговують обґрунтовані кандидати на просування. Сцена також показує окремий обґрунтований канал, щоб ви могли бачити, які підготовлені короткострокові записи походять з історичного відтворення, які просунуті елементи були обґрунтовано керованими, і очищати лише обґрунтовані підготовлені записи, не зачіпаючи звичайний активний короткостроковий стан.
Сигнали глибокого ранжування
Глибоке ранжування використовує шість зважених базових сигналів плюс фазове підсилення:
| Сигнал | Вага | Опис |
|---|---|---|
| Частота | 0.24 | Скільки короткострокових сигналів накопичив запис |
| Релевантність | 0.30 | Середня якість пошуку для запису |
| Різноманітність запитів | 0.15 | Окремі контексти запиту/дня, у яких він з'являвся |
| Давність | 0.15 | Оцінка свіжості з часовим спаданням |
| Консолідація | 0.10 | Сила повторення протягом кількох днів |
| Концептуальна насиченість | 0.06 | Щільність концептуальних тегів з фрагмента/шляху |
Попадання фаз Light і REM додають невелике підсилення з часовим спаданням із memory/.dreams/phase-signals.json.
Планування
Коли ввімкнено, memory-core автоматично керує одним завданням Cron для повного проходу Dreaming. Кожен прохід виконує фази в порядку: light → REM → deep.
Прохід включає основний робочий простір середовища виконання та всі налаштовані робочі простори агентів, з усуненням дублікатів за шляхом, тому розгалуження робочих просторів субагентів не виключає DREAMS.md і стан пам'яті головного агента.
Типова поведінка періодичності:
| Налаштування | Типово |
|---|---|
dreaming.frequency |
0 3 * * * |
dreaming.model |
стандартна модель |
Швидкий старт
Enable dreaming
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true
}
}
}
}
}
}
Custom sweep cadence
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true,
"timezone": "America/Los_Angeles",
"frequency": "0 */6 * * *"
}
}
}
}
}
}
Slash-команда
/dreaming status
/dreaming on
/dreaming off
/dreaming help
Робочий процес CLI
Promotion preview / apply
openclaw memory promote
openclaw memory promote --apply
openclaw memory promote --limit 5
openclaw memory status --deep
Ручна команда memory promote типово використовує пороги фази Deep, якщо їх не перевизначено прапорцями CLI.
Explain promotion
Поясніть, чому конкретний кандидат був би або не був би просунутий:
openclaw memory promote-explain "router vlan"
openclaw memory promote-explain "router vlan" --json
REM harness preview
Попередньо перегляньте рефлексії REM, кандидатні істини та результат глибокого просування без запису будь-чого:
openclaw memory rem-harness
openclaw memory rem-harness --json
Основні типові значення
Усі налаштування розміщені в plugins.entries.memory-core.config.dreaming.
enabledbooleanУвімкнути або вимкнути прохід Dreaming.
frequencystringПеріодичність Cron для повного проходу Dreaming.
modelstringНеобов'язкове перевизначення моделі субагента для Щоденника снів. Використовуйте канонічне значення provider/model, коли також задаєте allowlist allowedModels для субагента.
Інтерфейс Dreams
Коли ввімкнено, вкладка Dreams у Gateway показує:
- поточний стан увімкнення Dreaming
- стан на рівні фаз і наявність керованого проходу
- кількість короткострокових, обґрунтованих, сигнальних і просунутих сьогодні елементів
- час наступного запланованого запуску
- окремий обґрунтований канал сцени для підготовлених записів історичного відтворення
- розгортаний читач Щоденника снів на основі
doctor.memory.dreamDiary
Dreaming ніколи не запускається: стан показує blocked
Якщо openclaw memory status повідомляє Dreaming status: blocked, керований Cron існує, але Heartbeat стандартного агента не спрацьовує. Перевірте, що Heartbeat увімкнено для стандартного агента і що його ціль не none, а потім знову запустіть openclaw memory status --deep після наступного інтервалу Heartbeat.