Sessions and memory
Обзор памяти
OpenClaw запоминает информацию, записывая обычные файлы Markdown в рабочую область
вашего агента (по умолчанию ~/.openclaw/workspace). Модель помнит только то, что
сохранено на диск; никакого скрытого состояния нет.
Как это работает
У вашего агента есть три файла, связанных с памятью:
MEMORY.md— долговременная память. Устойчивые факты, предпочтения и решения. Загружается в начале сеанса.memory/YYYY-MM-DD.md(илиmemory/YYYY-MM-DD-<slug>.md) — ежедневные заметки. Текущий контекст и наблюдения. Датированные заметки за сегодня и вчера автоматически загружаются при обычном/newили/reset; варианты со слагом, например записанные встроенным хуком памяти сеанса, подхватываются вместе с файлом, в имени которого указана только дата.DREAMS.md(необязательно) — дневник сновидений и сводки проходов Dreaming для проверки человеком, включая обоснованные записи исторического восстановления.
Что куда записывается
MEMORY.md — компактный, тщательно отобранный слой: устойчивые факты, предпочтения, постоянные
решения и краткие сводки, которые должны быть доступны в начале
сеанса. Это не необработанная стенограмма, ежедневный журнал или полный архив.
Файлы memory/YYYY-MM-DD.md — рабочий слой: подробные ежедневные заметки,
наблюдения, сводки сеансов и необработанный контекст, который ещё может пригодиться
в дальнейшем. Они индексируются для memory_search и memory_get, но не
вставляются в начальный промпт при каждом ходе.
Со временем агент извлекает полезный материал из ежедневных заметок и переносит его в
MEMORY.md, удаляя устаревшие записи долговременной памяти. Созданные инструкции
рабочей области и процесс Heartbeat выполняют это периодически; вам не нужно
вручную редактировать MEMORY.md для каждой детали.
Если MEMORY.md превышает бюджет начальных файлов, OpenClaw сохраняет файл на
диске без изменений, но обрезает его копию, вставляемую в контекст. Считайте это
сигналом перенести подробный материал в memory/*.md, оставить в
MEMORY.md только устойчивую сводку или увеличить начальные лимиты, если вы готовы выделить больше
бюджета промпта. Используйте /context list, /context detail или openclaw doctor, чтобы
увидеть исходные и вставленные размеры, а также состояние обрезки.
Память, влияющая на действия
Большинство воспоминаний — это обычные заметки Markdown. Некоторые из них влияют на то, что агент должен делать впоследствии; в таких случаях фиксируйте не только сам факт, но и условия, при которых можно безопасно действовать на основании заметки.
Фиксируйте эту границу допустимых действий, если заметка касается:
- требований к одобрению или разрешению,
- временных ограничений,
- передачи работы другому сеансу, обсуждению или человеку,
- условий истечения срока действия,
- момента, когда действие становится безопасным,
- полномочий источника или владельца,
- инструкций не выполнять заманчивое действие.
Полезная запись памяти, влияющая на действия, чётко определяет:
- что изменяет будущее поведение,
- когда или при каком условии это применяется,
- когда действие записи прекращается или что разрешает действовать,
- чего агенту не следует делать,
- кто является источником или владельцем, если это влияет на доверие или полномочия.
Память может сохранять контекст одобрения, но не обеспечивает соблюдение политик. Для строгого операционного контроля используйте настройки одобрения OpenClaw, песочницу и запланированные задачи.
Пример:
Перенос API проектируется в другом сеансе. В последующих ходах не следуетредактировать реализацию API из этого обсуждения; используйте полученные здесь выводы только какисходные данные для проектирования, пока план переноса не будет принят.Другой пример:
Отчёт из ненадёжного источника необходимо проверить перед распространением. В последующих ходахследует рассматривать его только как свидетельство; не сохраняйте его в долговременную память, покадоверенный проверяющий не подтвердит содержимое.Это не обязательная схема для каждой записи памяти; простые факты могут оставаться краткими. Используйте границы допустимых действий, если потеря контекста времени, полномочий, срока действия или безопасности действия может впоследствии привести к неправильным действиям агента.
Используйте обязательства для предполагаемых краткосрочных последующих действий. Используйте запланированные задачи для точных напоминаний, проверок по времени и регулярной работы. Память по-прежнему может содержать сводку устойчивого контекста для любого из этих вариантов.
Предполагаемые обязательства
Некоторые будущие последующие действия не являются устойчивыми фактами. Если вы упоминаете собеседование
завтра, полезной записью памяти может быть «узнать, как прошло собеседование», а не «навсегда
сохранить это в MEMORY.md».
Обязательства — это включаемые по желанию краткосрочные записи памяти для последующих действий в таких случаях. OpenClaw определяет их в скрытом фоновом проходе, ограничивает тем же агентом и каналом и доставляет наступившие контрольные сообщения через Heartbeat. Для явных напоминаний по-прежнему используются запланированные задачи.
Инструменты памяти
У агента есть два инструмента для работы с памятью:
memory_search— находит подходящие заметки с помощью семантического поиска, даже если формулировка отличается от исходной.memory_get— читает определённый файл памяти или диапазон строк.
Оба инструмента предоставляются активным плагином памяти (по умолчанию: memory-core).
Поиск по памяти
Когда настроен поставщик эмбеддингов, memory_search использует гибридный поиск:
векторное сходство (семантическое значение) в сочетании с сопоставлением ключевых слов (точных
терминов, таких как идентификаторы и символы кода). Это работает сразу после указания ключа API
любого поддерживаемого поставщика.
Описание работы поиска, параметров настройки и конфигурации поставщиков см. в разделе Поиск по памяти.
Серверные части памяти
Основана на SQLite. Сразу поддерживает поиск по ключевым словам, векторное сходство и гибридный поиск. Дополнительные зависимости не требуются.
Локальная вспомогательная служба с повторным ранжированием, расширением запросов и возможностью индексировать каталоги за пределами рабочей области.
Межсеансовая память, изначально ориентированная на ИИ, с моделированием пользователей, семантическим поиском и поддержкой нескольких агентов. Требуется установка плагина.
Память на базе LanceDB с совместимыми с OpenAI эмбеддингами, автоматическим извлечением, автоматическим сохранением и поддержкой локальных эмбеддингов Ollama. Требуется установка плагина.
Слой вики знаний
Если вы хотите, чтобы долговременная память больше напоминала поддерживаемую базу знаний,
а не необработанные заметки, используйте встроенный плагин memory-wiki. Он компилирует устойчивые
знания в вики-хранилище с детерминированной структурой страниц, структурированными
утверждениями и свидетельствами, отслеживанием противоречий и актуальности, создаваемыми
панелями мониторинга, скомпилированными дайджестами и встроенными в вики инструментами (wiki_status,
wiki_search, wiki_get, wiki_apply, wiki_lint).
memory-wiki не заменяет активный плагин памяти; активный плагин памяти
по-прежнему отвечает за извлечение, перенос и Dreaming. memory-wiki добавляет рядом с ним
слой знаний с подробными данными о происхождении.
Автоматическая выгрузка памяти
Перед тем как Compaction создаст сводку беседы,
OpenClaw выполняет скрытый ход, напоминающий агенту сохранить важный контекст
в файлах памяти. По умолчанию эта функция включена; задайте
agents.defaults.compaction.memoryFlush.enabled: false, чтобы отключить её.
Чтобы этот служебный ход выполнялся локальной моделью, задайте точное переопределение, применяемое только к ходу выгрузки памяти (он не наследует цепочку резервных моделей активного сеанса):
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}Dreaming
Dreaming — необязательный фоновый проход консолидации памяти. Он собирает
сигналы краткосрочного извлечения, оценивает кандидатов и переносит в долговременную
память (MEMORY.md) только подходящие элементы:
- Включается по желанию: по умолчанию отключён.
- Выполняется по расписанию: когда функция включена,
memory-coreавтоматически управляет одной регулярной задачей Cron для полного прохода Dreaming. - Использует пороговые значения: переносимые элементы должны пройти пороги оценки, частоты извлечения и разнообразия запросов.
- Доступен для проверки: сводки этапов и записи дневника сохраняются в
DREAMS.mdдля проверки человеком.
Описание поведения этапов, сигналов оценки и дневника сновидений см. в разделе Dreaming.
Обоснованное восстановление и перенос в реальном времени
В системе Dreaming есть два связанных направления проверки:
- Dreaming в реальном времени использует хранилище краткосрочных данных Dreaming в
memory/.dreams/; именно на его основе обычный глубокий этап решает, что переносить вMEMORY.md. - Обоснованное восстановление считывает исторические заметки
memory/YYYY-MM-DD.mdкак отдельные файлы по дням и записывает структурированный результат проверки вDREAMS.md.
Обоснованное восстановление полезно для повторной обработки старых заметок и проверки того, что
система считает устойчивым, без ручного редактирования MEMORY.md.
openclaw memory rem-backfill --path ./memory --stage-short-termФлаг --stage-short-term помещает обоснованных кандидатов для долговременного хранения в то же
хранилище краткосрочных данных Dreaming, которое уже используется обычным глубоким этапом; он не
переносит их напрямую. Поэтому:
DREAMS.mdостаётся интерфейсом для проверки человеком.- Хранилище краткосрочных данных остаётся интерфейсом ранжирования для машины.
MEMORY.mdпо-прежнему записывается только при глубоком переносе.
Чтобы отменить повторную обработку, не затрагивая обычные записи дневника или стандартное состояние извлечения:
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-termCLI
openclaw memory status # Проверить состояние индекса и поставщикаopenclaw memory search "query" # Выполнить поиск из командной строкиopenclaw memory index --force # Перестроить индексДополнительные материалы
- Поиск по памяти: конвейер поиска, поставщики и настройка.
- Встроенный механизм памяти: серверная часть SQLite по умолчанию.
- Механизм памяти QMD: расширенная локальная вспомогательная служба.
- Память Honcho: межсеансовая память, изначально ориентированная на ИИ.
- Память LanceDB: плагин на базе LanceDB с совместимыми с OpenAI эмбеддингами.
- Вики памяти: скомпилированное хранилище знаний и встроенные в вики инструменты.
- Dreaming: фоновый перенос из краткосрочного извлечения в долговременную память.
- Справочник по конфигурации памяти: все параметры конфигурации.
- Compaction: как Compaction взаимодействует с памятью.
- Активная память: память субагентов для интерактивных сеансов чата.