Sessions and memory
Огляд пам’яті
OpenClaw запам’ятовує речі, записуючи звичайні файли Markdown у робочий простір вашого агента. Модель "пам’ятає" лише те, що збережено на диск — жодного прихованого стану немає.
Як це працює
Ваш агент має три файли, пов’язані з пам’яттю:
MEMORY.md— довготривала пам’ять. Стійкі факти, налаштування та рішення. Завантажується на початку кожної сесії в особистих повідомленнях.memory/YYYY-MM-DD.md(абоmemory/YYYY-MM-DD-<slug>.md) — щоденні нотатки. Поточний контекст і спостереження. Нотатки за сьогодні й учора завантажуються автоматично, а варіанти зі slug, наприклад ті, що записуються вбудованим хуком пам’яті сесії під час/newабо/reset, тепер підхоплюються разом із файлом лише з датою.DREAMS.md(необов’язково) — щоденник Dream Diary і підсумки проходів 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. Але деякі спогади впливають на те, що агент має робити пізніше. Для них фіксуйте, коли безпечно діяти на основі нотатки, а не лише сам факт.
Фіксуйте цю межу дії, коли нотатка стосується:
- вимог щодо схвалення або дозволу,
- тимчасових обмежень,
- передавання іншій сесії, гілці або людині,
- умов завершення строку дії,
- часу, коли безпечно діяти,
- повноважень джерела або власника,
- інструкцій уникати спокусливої дії.
Корисна чутлива до дій пам’ять чітко вказує:
- що змінює майбутню поведінку,
- коли або за якої умови це застосовується,
- коли це завершується або що розблоковує дію,
- чого агент має уникати,
- хто є джерелом або власником, якщо це впливає на довіру чи повноваження.
Пам’ять може зберігати контекст схвалення, але вона не забезпечує дотримання політики. Для жорстких операційних контролів використовуйте налаштування схвалення OpenClaw, sandboxing і заплановані завдання.
Приклад:
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.Використовуйте зобов’язання для виведених короткочасних подальших дій. Використовуйте заплановані завдання для точних нагадувань, перевірок за часом і повторюваної роботи. Пам’ять усе одно може підсумовувати стійкий контекст навколо будь-якого з цих шляхів.
Це не обов’язкова схема для кожного спогаду. Прості факти можуть лишатися стислими. Використовуйте чутливі до дій межі, коли втрата часу, повноважень, строку дії або контексту безпечної дії може змусити агента зробити неправильну річ пізніше.
Виведені зобов’язання
Деякі майбутні подальші дії не є стійкими фактами. Якщо ви згадуєте співбесіду
завтра, корисною пам’яттю може бути "перевірити після співбесіди", а не
"зберегти це назавжди в MEMORY.md."
Зобов’язання — це ввімкнені за бажанням короткочасні спогади про подальші дії для такого випадку. OpenClaw виводить їх у прихованому фоновому проході, обмежує тим самим агентом і каналом, а належні check-in доставляє через Heartbeat. Явні нагадування й далі використовують заплановані завдання.
Інструменти пам’яті
Агент має два інструменти для роботи з пам’яттю:
memory_search— знаходить релевантні нотатки за допомогою семантичного пошуку, навіть коли формулювання відрізняється від оригіналу.memory_get— читає конкретний файл пам’яті або діапазон рядків.
Обидва інструменти надає активний Plugin пам’яті (типово: memory-core).
Супутній Plugin Memory Wiki
Якщо ви хочете, щоб стійка пам’ять поводилася радше як підтримувана база знань,
а не просто сирі нотатки, використовуйте вбудований Plugin memory-wiki.
memory-wiki компілює стійкі знання у wiki-сховище з:
- детермінованою структурою сторінок
- структурованими твердженнями й доказами
- відстеженням суперечностей і актуальності
- згенерованими dashboard
- скомпільованими дайджестами для споживачів агента/runtime
- wiki-native інструментами, як-от
wiki_search,wiki_get,wiki_applyіwiki_lint
Він не замінює активний Plugin пам’яті. Активний Plugin пам’яті й далі відповідає
за пригадування, просування та Dreaming. memory-wiki додає поруч із ним
насичений походженням шар знань.
Див. Memory Wiki.
Пошук у пам’яті
Коли налаштовано постачальника embedding, memory_search використовує гібридний
пошук — поєднує векторну подібність (семантичне значення) зі збігом ключових
слів (точні терміни, як-от ID і символи коду). Це працює відразу після того, як
у вас є API key для будь-якого підтримуваного постачальника.
Докладніше про те, як працює пошук, параметри налаштування та налаштування постачальників див. у Пошуку в пам’яті.
Backend пам’яті
На основі SQLite. Працює відразу з пошуком за ключовими словами, векторною подібністю та гібридним пошуком. Без додаткових залежностей.
Local-first sidecar із reranking, розширенням запиту та можливістю індексувати каталоги поза робочим простором.
AI-native міжсесійна пам’ять із моделюванням користувача, семантичним пошуком і обізнаністю про кількох агентів. Встановлення Plugin.
Вбудована пам’ять на основі LanceDB із сумісними з OpenAI embedding, auto-recall, auto-capture і підтримкою локальних embedding Ollama.
Шар wiki знань
Автоматичне скидання пам’яті
Перед тим як Compaction підсумує вашу розмову, OpenClaw запускає тихий хід, який нагадує агенту зберегти важливий контекст у файли пам’яті. Це ввімкнено типово — вам не потрібно нічого налаштовувати.
Щоб утримувати цей службовий хід на локальній моделі, задайте точне перевизначення моделі скидання пам’яті:
{ "agents": { "defaults": { "compaction": { "memoryFlush": { "model": "ollama/qwen3:8b" } } } }}Перевизначення застосовується лише до ходу скидання пам’яті й не успадковує ланцюжок fallback активної сесії.
Dreaming
Dreaming — це необов’язковий фоновий прохід консолідації для пам’яті. Він збирає
короткострокові сигнали, оцінює кандидатів і просуває лише кваліфіковані
елементи в довготривалу пам’ять (MEMORY.md).
Він призначений підтримувати довготривалу пам’ять із високим співвідношенням сигналу:
- Увімкнення за бажанням: типово вимкнено.
- Заплановано: коли ввімкнено,
memory-coreавтоматично керує одним повторюваним cron job для повного проходу Dreaming. - З порогами: просування мають пройти пороги оцінки, частоти пригадування та різноманітності запитів.
- Доступно для перегляду: підсумки фаз і записи щоденника записуються в
DREAMS.mdдля людського перегляду.
Поведінку фаз, сигнали оцінювання та деталі Dream Diary див. у 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обґрунтовані стійкі кандидати не просуваються напряму. Вони розміщуються в тому самому короткостроковому сховищі Dreaming, яке вже використовує звичайна глибока фаза. Це означає:
DREAMS.mdлишається поверхнею людського перегляду.- короткострокове сховище лишається машинною поверхнею ранжування.
MEMORY.mdі далі записується лише глибоким просуванням.
Якщо ви вирішите, що відтворення не було корисним, можна видалити staged артефакти, не зачіпаючи звичайні записи щоденника або звичайний стан пригадування:
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Додаткове читання
- Вбудований рушій пам’яті: типовий backend SQLite.
- Рушій пам’яті QMD: просунутий local-first sidecar.
- Пам’ять Honcho: AI-native міжсесійна пам’ять.
- Memory LanceDB: Plugin на основі LanceDB із сумісними з OpenAI embedding.
- Memory Wiki: скомпільоване сховище знань і wiki-native інструменти.
- Пошук у пам’яті: pipeline пошуку, постачальники та налаштування.
- Dreaming: фонове просування з короткострокового пригадування в довготривалу пам’ять.
- Довідник конфігурації пам’яті: усі ручки конфігурації.
- Compaction: як Compaction взаємодіє з пам’яттю.