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 і підсумки проходів 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— читає конкретний файл пам’яті або діапазон рядків.
Обидва інструменти надає активний Plugin пам’яті (типово: memory-core).
Пошук у пам’яті
Коли налаштовано постачальника векторних представлень, memory_search використовує гібридний пошук: подібність векторів (семантичне значення) у поєднанні з пошуком за ключовими словами (точні терміни, як-от ідентифікатори та символи коду). Це працює одразу після надання ключа API будь-якого підтримуваного постачальника.
Докладніше про роботу пошуку, параметри налаштування та налаштування постачальника див. у розділі Пошук у пам’яті.
Серверні модулі пам’яті
На основі SQLite. Одразу підтримує пошук за ключовими словами, подібність векторів і гібридний пошук. Без додаткових залежностей.
Орієнтований на локальну роботу допоміжний процес із повторним ранжуванням, розширенням запитів і можливістю індексувати каталоги поза робочим простором.
Орієнтована на ШІ міжсеансна пам’ять із моделюванням користувача, семантичним пошуком і підтримкою кількох агентів. Встановлення Plugin.
Пам’ять на основі LanceDB із сумісними з OpenAI векторними представленнями, автоматичним пригадуванням, автоматичним збереженням і підтримкою локальних векторних представлень Ollama. Встановлення Plugin.
Рівень вікі знань
Якщо ви хочете, щоб довготривала пам’ять працювала радше як підтримувана база знань, а не як необроблені нотатки, використовуйте вбудований Plugin memory-wiki. Він компілює стійкі знання у вікі-сховище з детермінованою структурою сторінок, структурованими твердженнями й доказами, відстеженням суперечностей і актуальності, згенерованими інформаційними панелями, скомпільованими оглядами та нативними інструментами вікі (wiki_status, wiki_search, wiki_get, wiki_apply, wiki_lint).
memory-wiki не замінює активний Plugin пам’яті; активний Plugin пам’яті й надалі відповідає за пригадування, підвищення статусу та 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 працює з короткочасним сховищем 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: Plugin на основі LanceDB із сумісними з OpenAI векторними представленнями.
- Вікі пам’яті: скомпільоване сховище знань і нативні інструменти вікі.
- Dreaming: фонове перенесення з короткочасного пригадування до довготривалої пам’яті.
- Довідник із налаштування пам’яті: усі параметри конфігурації.
- Compaction: як Compaction взаємодіє з пам’яттю.
- Active Memory: пам’ять підлеглого агента для інтерактивних сеансів чату.