> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Dreaming

Dreaming — это система фоновой консолидации памяти в `memory-core`. Она переносит устойчивые краткосрочные сигналы в долговременную память, сохраняя процесс объяснимым и доступным для проверки.

> [!NOTE]
>
> Dreaming работает только при **явном включении** и по умолчанию отключён.

## Что записывает Dreaming

* **Состояние системы** в `memory/.dreams/` (хранилище припоминания, сигналы фаз, контрольные точки приёма данных, блокировки).
* **Доступные для чтения человеком данные** в `DREAMS.md` (или существующий `dreams.md`) и необязательные файлы отчётов по фазам в `memory/dreaming/<phase>/YYYY-MM-DD.md`.

При переносе в долговременную память данные по-прежнему записываются только в `MEMORY.md`.

## Модель фаз

За каждый проход Dreaming последовательно выполняет три совместно работающие фазы: лёгкую -> REM -> глубокую. Это внутренние фазы реализации, а не отдельные режимы, настраиваемые пользователем.

| Фаза | Назначение | Долговременная запись |
| - | - | - |
| Лёгкая | Сортировка и подготовка свежих краткосрочных данных | Нет |
| REM | Анализ тем и повторяющихся идей | Нет |
| Глубокая | Оценка и перенос кандидатов в долговременную память | Да (`MEMORY.md`) |

> [accordion] Лёгкая фаза
>
> * Считывает свежее состояние краткосрочного припоминания, ежедневные файлы памяти и отредактированные расшифровки сеансов, если они доступны.
> * Удаляет дублирующиеся сигналы и подготавливает строки-кандидаты.
> * Записывает управляемый блок `## Light Sleep`, если хранилище предусматривает встроенный вывод.
> * Регистрирует сигналы подкрепления для последующего ранжирования в глубокой фазе.
> * Никогда не записывает данные в `MEMORY.md`.

> [accordion] Фаза REM
>
> * Формирует сводки по темам и размышлениям на основе свежих краткосрочных следов.
> * Записывает управляемый блок `## REM Sleep`, если хранилище предусматривает встроенный вывод.
> * Регистрирует сигналы подкрепления REM, используемые при ранжировании в глубокой фазе.
> * Никогда не записывает данные в `MEMORY.md`.

> [accordion] Глубокая фаза
>
> * Ранжирует кандидатов с помощью взвешенной оценки и пороговых условий (все `minScore`, `minRecallCount` и `minUniqueQueries` должны быть выполнены).
> * Перед записью повторно загружает фрагменты из актуальных ежедневных файлов, поэтому устаревшие или удалённые фрагменты пропускаются.
> * Добавляет перенесённые записи в `MEMORY.md`.
> * Записывает сводку `## Deep Sleep` в `DREAMS.md` и при необходимости в `memory/dreaming/deep/YYYY-MM-DD.md`.

## Приём расшифровок сеансов

Dreaming может добавлять отредактированные расшифровки сеансов в свой корпус данных. Когда расшифровки доступны, они поступают в лёгкую фазу вместе с сигналами ежедневной памяти и следами припоминания. Перед приёмом персональные и конфиденциальные данные редактируются.

## Дневник сновидений

Dreaming ведёт повествовательный **дневник сновидений** в `DREAMS.md`. После того как в каждой фазе накапливается достаточно материала, `memory-core` в фоновом режиме по мере возможности запускает ход субагента и добавляет краткую запись в дневник, используя модель среды выполнения по умолчанию, если не настроен `dreaming.model`. Если настроенная модель недоступна, дневник повторяет запуск один раз с моделью сеанса по умолчанию; ошибки доверия или списка разрешённых моделей не приводят к повторной попытке и остаются видимыми в журналах вместо незаметного перехода к универсальной записи дневника.

> [!NOTE]
>
> Дневник предназначен для чтения человеком в интерфейсе сновидений, а не для переноса данных. Артефакты дневника и отчётов исключены из переноса краткосрочной памяти; в `MEMORY.md` могут переноситься только фрагменты памяти, подкреплённые исходными данными.

Также предусмотрен контур обоснованного исторического заполнения для проверки и восстановления:

> [accordion] Команды заполнения
>
> * `memory rem-harness --path ... --grounded` показывает предварительный вариант обоснованных записей дневника, созданных из исторических заметок `YYYY-MM-DD.md`.
> * `memory rem-backfill --path ...` записывает обратимые обоснованные записи дневника в `DREAMS.md`.
> * `memory rem-backfill --path ... --stage-short-term` помещает обоснованные кандидаты для долговременной памяти в то же хранилище краткосрочных свидетельств, которое использует обычная глубокая фаза.
> * `memory rem-backfill --rollback` и `--rollback-short-term` удаляют эти подготовленные артефакты заполнения, не затрагивая обычные записи дневника и актуальное краткосрочное припоминание.

Control UI предоставляет тот же процесс заполнения и сброса дневника на вкладке памяти агента (страница агентов), чтобы можно было проверить результаты в сцене сновидений, прежде чем решать, заслуживают ли обоснованные кандидаты переноса. Отдельный обоснованный контур сцены показывает, какие подготовленные краткосрочные записи получены при историческом воспроизведении, какие перенесённые элементы были преимущественно обоснованными, а также позволяет удалить только подготовленные записи, относящиеся исключительно к обоснованным данным, не затрагивая актуальное состояние краткосрочной памяти.

## Сигналы ранжирования глубокой фазы

Ранжирование глубокой фазы использует шесть взвешенных базовых сигналов и подкрепление фаз:

| Сигнал | Вес | Описание |
| - | - | - |
| Релевантность | 0.30 | Среднее качество извлечения записи |
| Частота | 0.24 | Количество накопленных записью краткосрочных сигналов |
| Разнообразие запросов | 0.15 | Количество различных контекстов запросов и дней, в которых она появлялась |
| Актуальность | 0.15 | Оценка свежести с временным затуханием |
| Консолидация | 0.10 | Устойчивость повторения на протяжении нескольких дней |
| Концептуальная насыщенность | 0.06 | Плотность тегов понятий во фрагменте или пути |

Срабатывания в лёгкой фазе и фазе REM добавляют небольшое усиление с затуханием по времени из `memory/.dreams/phase-signals.json`.

Результаты теневого испытания могут накладываться на базовую оценку как сигнал для проверки перед любой долговременной записью: полезное испытание даёт кандидату небольшое ограниченное усиление, нейтральное оставляет его отложенным, а вредное помечает его отклонённым для данного прохода оценки. Этот сигнал используется только в отчёте: он может изменить порядок кандидатов или метаданные проверки, но никогда сам по себе не записывает данные в `MEMORY.md` и не переносит кандидата.

### Покрытие отчёта теневого испытания в QA

QA Lab включает сценарий, предназначенный только для отчётности и позволяющий исследовать, как будущее теневое испытание Dreaming могло бы проверять память-кандидат перед переносом: агент сравнивает базовый ответ с ответом, который может использовать память-кандидат, а затем записывает локальный отчёт с вердиктом, причиной и флагами риска. Это покрытие ограничено QA: оно проверяет, что артефакт отчёта остаётся отдельным от `MEMORY.md` и что агент никогда не заявляет о переносе кандидата. Оно не добавляет рабочее поведение теневого испытания и не изменяет механизм переноса глубокой фазы.

Средство запуска теневых испытаний `memory-core` сохраняет тот же контракт только для отчётности в путях кода, которым требуется стабильный артефакт. Оно принимает кандидата, запрос испытания, базовый результат, результат с кандидатом, вердикт, причину, флаги риска и ссылки на свидетельства, а затем записывает отчёт с помощью `promotion action: report-only`. Полезные вердикты сопоставляются с рекомендацией `promote`, нейтральные — с `defer`, а вредные — с `reject`; ни один из них не записывает данные в `MEMORY.md` и не выполняет перенос глубокой фазы.

## Планирование

Когда функция включена, `memory-core` автоматически управляет одним заданием Cron для полного прохода Dreaming, устраняя дублирование между основным рабочим пространством среды выполнения и всеми настроенными рабочими пространствами агентов, чтобы разветвление рабочих пространств субагентов не исключало `DREAMS.md` и состояние памяти основного агента.

| Настройка | Значение по умолчанию |
| - | - |
| `dreaming.frequency` | `0 3 * * *` |
| `dreaming.model` | модель по умолчанию |

## Быстрый старт

> [tab] Включение Dreaming
>
> ```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   "plugins": {
>     "entries": {
>       "memory-core": {
>         "config": {
>           "dreaming": {
>             "enabled": true
>           }
>         }
>       }
>     }
>   }
> }
> ```

> [tab] Пользовательская периодичность проходов
>
> ```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   "plugins": {
>     "entries": {
>       "memory-core": {
>         "config": {
>           "dreaming": {
>             "enabled": true,
>             "timezone": "America/Los_Angeles",
>             "frequency": "0 */6 * * *"
>           }
>         }
>       }
>     }
>   }
> }
> ```

## Команда с косой чертой

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
/dreaming status
/dreaming on
/dreaming off
/dreaming help
```

`/dreaming on` и `/dreaming off` требуют статуса владельца для вызывающих сторон канала или `operator.admin` для клиентов Gateway. `/dreaming status` и `/dreaming help` доступны только для чтения.

## Рабочий процесс CLI

> [tab] Предпросмотр и применение переноса
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> openclaw memory promote
> openclaw memory promote --apply
> openclaw memory promote --limit 5
> openclaw memory status --deep
> ```
>
> При ручном `memory promote` по умолчанию используются пороговые значения глубокой фазы, если они не переопределены флагами CLI.

> [tab] Объяснение переноса
>
> Объясните, почему конкретный кандидат будет или не будет перенесён:
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> openclaw memory promote-explain "router vlan"
> openclaw memory promote-explain "router vlan" --json
> ```

> [tab] Предпросмотр стенда REM
>
> Просмотрите размышления REM, истины-кандидаты и результаты переноса глубокой фазы без записи данных:
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> openclaw memory rem-harness
> openclaw memory rem-harness --json
> ```

## Основные значения по умолчанию

Все настройки находятся в `plugins.entries.memory-core.config.dreaming`.

**enabled** `boolean` (default: false)

Включает или отключает проход Dreaming.

**frequency** `string` (default: 0 3 \* \* \*)

Периодичность Cron для полного прохода Dreaming.

**model** `string`

Необязательное переопределение модели субагента дневника сновидений. Используйте каноническое значение `provider/model`, если также задаётся список разрешённых моделей субагента `allowedModels`.

**phases.deep.maxPromotedSnippetTokens** `number` (default: 160)

Максимальное приблизительное количество токенов, сохраняемое из каждого фрагмента краткосрочного припоминания, перенесённого в `MEMORY.md`. Происхождение данных ранжирования остаётся видимым.

> [!WARNING]
>
> `dreaming.model` требует `plugins.entries.memory-core.subagent.allowModelOverride: true`. Чтобы ограничить его, также задайте `plugins.entries.memory-core.subagent.allowedModels`. Автоматическая повторная попытка выполняется только при ошибках недоступности модели; ошибки доверия или списка разрешённых моделей остаются видимыми в журналах вместо незаметного перехода к резервному варианту.

> [!NOTE]
>
> Большинство правил фаз, пороговых значений и особенностей работы хранилища относятся к внутренним деталям реализации. Полный список ключей приведён в [справочнике по настройке памяти](https://docs2.openclaw.ai/ru/reference/memory-config.md#dreaming).

## Интерфейс сновидений

Когда функция включена, вкладка **сновидений** в Gateway показывает:

* текущее состояние включения Dreaming
* состояние отдельных фаз и наличие управляемого прохода
* количество краткосрочных, обоснованных и перенесённых сегодня элементов, а также сигналов
* время следующего запланированного запуска
* отдельный обоснованный контур сцены для подготовленных записей исторического воспроизведения
* раскрываемое средство чтения дневника сновидений на основе `doctor.memory.dreamDiary`

## Связанные материалы

* [Память](https://docs2.openclaw.ai/ru/concepts/memory.md)
* [CLI памяти](https://docs2.openclaw.ai/ru/cli/memory.md)
* [Справочник по настройке памяти](https://docs2.openclaw.ai/ru/reference/memory-config.md)
* [Поиск по памяти](https://docs2.openclaw.ai/ru/concepts/memory-search.md)
