Sessions and memory
Обзор памяти
OpenClaw запоминает информацию, записывая обычные файлы Markdown в рабочей области вашего агента. Модель «помнит» только то, что сохранено на диск — скрытого состояния нет.
Как это работает
У вашего агента есть три файла, связанные с памятью:
MEMORY.md— долгосрочная память. Устойчивые факты, предпочтения и решения. Загружается в начале каждого сеанса DM.memory/YYYY-MM-DD.md(илиmemory/YYYY-MM-DD-<slug>.md) — ежедневные заметки. Текущий контекст и наблюдения. Заметки за сегодня и вчера загружаются автоматически, а варианты со slug, например созданные встроенным хуком session-memory при/newили/reset, теперь подхватываются вместе с файлом, содержащим только дату.DREAMS.md(необязательно) — дневник Dreaming и сводки проходов Dreaming для проверки человеком, включая привязанные к истории записи обратного заполнения.
Эти файлы находятся в рабочей области агента (по умолчанию ~/.openclaw/workspace).
Что куда помещать
MEMORY.md — это компактный, отобранный слой. Используйте его для устойчивых
фактов, предпочтений, постоянных решений и коротких сводок, которые должны быть
доступны в начале основного приватного сеанса. Он не предназначен для сырых
транскриптов, ежедневного журнала или исчерпывающего архива.
Файлы memory/YYYY-MM-DD.md — это рабочий слой. Используйте их для подробных
ежедневных заметок, наблюдений, сводок сеансов и сырого контекста, который может
пригодиться позже. Эти файлы индексируются для memory_search и memory_get, но
не вставляются в обычный начальный prompt при каждом ходе.
Со временем ожидается, что агент будет извлекать полезный материал из ежедневных
заметок в MEMORY.md и удалять устаревшие долгосрочные записи. Сгенерированные
инструкции рабочей области и поток Heartbeat могут делать это периодически; вам
не нужно вручную редактировать MEMORY.md для каждой запомненной детали.
Если MEMORY.md превышает бюджет начального файла, OpenClaw оставляет файл на
диске без изменений, но обрезает копию, вставляемую в контекст модели. Считайте
это сигналом перенести подробный материал обратно в memory/*.md, оставить в
MEMORY.md только устойчивую сводку или увеличить начальные лимиты, если вы явно
хотите тратить больше бюджета prompt. Используйте /context list,
/context detail или openclaw doctor, чтобы увидеть исходные и вставляемые
размеры, а также статус обрезки.
Память, влияющая на действия
Большинство воспоминаний можно записывать как обычные заметки Markdown. Но некоторые воспоминания влияют на то, что агент должен делать позже. Для них фиксируйте, когда безопасно действовать на основании заметки, а не только сам факт.
Фиксируйте эту границу действия, когда заметка касается:
- требований к одобрению или разрешению,
- временных ограничений,
- передачи другому сеансу, thread или человеку,
- условий истечения,
- момента, когда безопасно действовать,
- авторитетности источника или владельца,
- инструкций избегать привлекательного действия.
Полезная память, влияющая на действия, ясно показывает:
- что меняет будущее поведение,
- когда или при каком условии это применяется,
- когда это истекает или что разблокирует действие,
- чего агенту следует избегать,
- кто является источником или владельцем, если это влияет на доверие или полномочия.
Память может сохранять контекст одобрения, но она не обеспечивает соблюдение политики. Для жестких операционных ограничений используйте настройки одобрений OpenClaw, sandboxing и scheduled tasks.
Пример:
The API migration is being designed in another session. Future turns should not edit the API implementation from this thread; use findings here only as design input until the migration plan lands.Другой пример:
A report from an untrusted source needs review before promotion. Future turns should treat it as evidence only; do not store it as durable memory until a trusted reviewer confirms the contents.Используйте обязательства для выведенных краткосрочных последующих действий. Используйте scheduled tasks для точных напоминаний, проверок по времени и повторяющейся работы. Память всё равно может суммировать устойчивый контекст вокруг любого из этих путей.
Это не обязательная схема для каждого воспоминания. Простые факты могут оставаться краткими. Используйте границы для памяти, влияющей на действия, когда потеря времени, полномочий, истечения или контекста безопасного действия может позже привести агента к неправильному действию.
Выведенные обязательства
Некоторые будущие последующие действия не являются устойчивыми фактами. Если вы
упомянете собеседование завтра, полезная память может быть «проверить после
собеседования», а не «хранить это навсегда в MEMORY.md».
Обязательства — это включаемые по желанию краткосрочные воспоминания о последующих действиях для такого случая. OpenClaw выводит их в скрытом фоновом проходе, ограничивает тем же агентом и каналом и доставляет назначенные проверки через Heartbeat. Явные напоминания по-прежнему используют scheduled tasks.
Инструменты памяти
У агента есть два инструмента для работы с памятью:
memory_search— находит релевантные заметки с помощью семантического поиска, даже если формулировка отличается от исходной.memory_get— читает конкретный файл памяти или диапазон строк.
Оба инструмента предоставляет активный Plugin памяти (по умолчанию:
memory-core).
Сопутствующий Plugin Memory Wiki
Если вы хотите, чтобы устойчивая память больше походила на поддерживаемую базу
знаний, а не просто на сырые заметки, используйте встроенный Plugin
memory-wiki.
memory-wiki компилирует устойчивые знания в wiki-хранилище с:
- детерминированной структурой страниц
- структурированными утверждениями и доказательствами
- отслеживанием противоречий и актуальности
- сгенерированными панелями
- скомпилированными дайджестами для потребителей агента/runtime
- wiki-native инструментами, такими как
wiki_search,wiki_get,wiki_applyиwiki_lint
Он не заменяет Active Memory Plugin. Active Memory Plugin по-прежнему отвечает за
вспоминание, продвижение и Dreaming. memory-wiki добавляет рядом слой знаний с
богатым происхождением.
См. Memory Wiki.
Поиск по памяти
Когда настроен поставщик embedding, memory_search использует гибридный
поиск — сочетая векторное сходство (семантический смысл) с сопоставлением
ключевых слов (точные термины, такие как ID и символы кода). Это работает сразу,
как только у вас есть API-ключ любого поддерживаемого поставщика.
Подробности о том, как работает поиск, параметрах настройки и настройке поставщиков, см. в разделе Поиск по памяти.
Бэкенды памяти
На основе SQLite. Работает сразу с поиском по ключевым словам, векторным сходством и гибридным поиском. Без дополнительных зависимостей.
Local-first sidecar с reranking, расширением запросов и возможностью индексировать каталоги за пределами рабочей области.
AI-native межсеансовая память с моделированием пользователя, семантическим поиском и осведомленностью о нескольких агентах. Устанавливается как Plugin.
Встроенная память на базе LanceDB с OpenAI-compatible embeddings, автоматическим вспоминанием, автоматическим захватом и поддержкой локальных embeddings Ollama.
Wiki-слой знаний
Автоматический сброс памяти
Перед тем как Compaction суммирует ваш разговор, OpenClaw запускает тихий ход, который напоминает агенту сохранить важный контекст в файлы памяти. Это включено по умолчанию — вам не нужно ничего настраивать.
Чтобы оставить этот служебный ход на локальной модели, задайте точное переопределение модели для сброса памяти:
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}Переопределение применяется только к ходу сброса памяти и не наследует цепочку fallback активного сеанса.
Dreaming
Dreaming — это необязательный фоновый проход консолидации памяти. Он собирает
краткосрочные сигналы, оценивает кандидатов и продвигает в долгосрочную память
(MEMORY.md) только подходящие элементы.
Он создан для того, чтобы долгосрочная память оставалась высокосигнальной:
- Включается явно: по умолчанию отключен.
- По расписанию: когда включен,
memory-coreавтоматически управляет одной повторяющейся задачей Cron для полного прохода Dreaming. - С порогами: продвижения должны пройти пороги оценки, частоты вспоминания и разнообразия запросов.
- Доступен для проверки: сводки фаз и записи дневника записываются в
DREAMS.mdдля проверки человеком.
О поведении фаз, сигналах оценки и подробностях дневника Dreaming см. Dreaming.
Привязанное обратное заполнение и live-продвижение
В системе Dreaming теперь есть два тесно связанных review-канала:
- Live dreaming работает с краткосрочным хранилищем Dreaming в
memory/.dreams/и используется обычной глубокой фазой при решении, что может перейти вMEMORY.md. - Привязанное обратное заполнение читает исторические заметки
memory/YYYY-MM-DD.mdкак отдельные дневные файлы и записывает структурированный результат проверки вDREAMS.md.
Привязанное обратное заполнение полезно, когда вы хотите повторно проиграть
старые заметки и посмотреть, что система считает устойчивым, без ручного
редактирования MEMORY.md.
Когда вы используете:
openclaw memory rem-backfill --path ./memory --stage-short-termпривязанные устойчивые кандидаты не продвигаются напрямую. Они помещаются в то же краткосрочное хранилище Dreaming, которое уже использует обычная глубокая фаза. Это значит:
DREAMS.mdостается поверхностью проверки человеком.- краткосрочное хранилище остается машинной поверхностью ранжирования.
MEMORY.mdпо-прежнему записывается только глубоким продвижением.
Если вы решите, что повторное проигрывание не было полезным, можно удалить подготовленные артефакты, не затрагивая обычные дневниковые записи или обычное состояние вспоминания:
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-termCLI
openclaw memory status # Check index status and provideropenclaw memory search "query" # Search from the command lineopenclaw memory index --force # Rebuild the indexДополнительные материалы
- Встроенный механизм памяти: бэкенд SQLite по умолчанию.
- Механизм памяти QMD: продвинутый local-first sidecar.
- Память Honcho: AI-native межсеансовая память.
- Memory LanceDB: Plugin на базе LanceDB с OpenAI-compatible embeddings.
- Memory Wiki: скомпилированное хранилище знаний и wiki-native инструменты.
- Поиск по памяти: поисковый pipeline, поставщики и настройка.
- Dreaming: фоновое продвижение из краткосрочного вспоминания в долгосрочную память.
- Справочник конфигурации памяти: все параметры конфигурации.
- Compaction: как Compaction взаимодействует с памятью.