OpenClaw Memory: как настроить память AI-агента — MEMORY.md, pgvector и daily notes
OpenClaw Memory — это система хранения контекста AI-агента, построенная на обычных Markdown-файлах (MEMORY.md + daily notes), которую можно расширить векторной базой pgvector для семантического поиска. В отличие от чат-ботов, теряющих память после каждой сессии, агент с правильно настроенной памятью помнит ваши решения, проекты и предпочтения неделями и месяцами.
🧠 Как устроена память в OpenClaw?
OpenClaw использует принцип file-first memory: модель помнит только то, что записано на диск. Никакого скрытого состояния — вся память прозрачна и доступна для редактирования человеком. Это ключевое отличие от закрытых платформ, где память — чёрный ящик.
Система памяти состоит из двух уровней:
| Уровень | Файл | Назначение | Загрузка |
|---|---|---|---|
| Долгосрочная | MEMORY.md |
Факты, решения, предпочтения | Каждая сессия |
| Ежедневная | memory/YYYY-MM-DD.md |
Лог событий за день | Сегодня + вчера |
OpenClaw загружает MEMORY.md при каждом запуске сессии, а daily notes — за текущий и предыдущий день. Это даёт агенту контекст последних событий без перегрузки токенами за прошлые недели.
📂 Как правильно организовать MEMORY.md?
MEMORY.md — это «мозг» вашего агента. Вот структура, которая работает на практике:
# MEMORY.md
## Обо мне
- Имя: Алексей
- Часовой пояс: UTC+5
- Предпочитаю краткие ответы
## Проекты
### Сайт aigenthub.ru
- Стек: Ghost + Caddy + Docker
- Публикации: 2 статьи в день
- SEO-фокус: AI-агенты, OpenClaw
## Решения
- 2026-03-15: Перешли на pgvector для семантического поиска
- 2026-03-20: Отказались от Notion в пользу Markdown
## Важное
- Не отправлять письма без подтверждения
- Git push в конце каждой сессииПравила ведения MEMORY.md:
- 📌 Храните только актуальную информацию — устаревшее удаляйте
- 📌 Решения записывайте с датой и контекстом
- 📌 Размер файла — до 3-5 КБ (иначе съедает бюджет токенов)
- 📌 Структурируйте по разделам: о пользователе, проекты, решения, правила
📝 Как работают daily notes и зачем они нужны?
Daily notes — это сырой лог событий за день. Агент создаёт файл memory/2026-03-31.md и записывает туда всё важное: выполненные задачи, ошибки, промежуточные результаты.
Пример daily note:
# 2026-03-31
## Утро
- Опубликовал статью про парсинг данных на aigenthub.ru
- Обновил HEARTBEAT.md — добавил проверку метрик
## День
- Настроил cron для автопубликации в Telegram
- Ошибка: Ghost API вернул 422 — забыли updated_at в PUT-запросе
## Вечер
- Git push: 3 коммита за день
- Бэкап workspace: 18 MBКлючевой момент: OpenClaw автоматически загружает только 2 последних daily notes. Это значит, что информация старше двух дней доступна только через поиск — и здесь на помощь приходит векторная память.
🔍 Как подключить pgvector для семантического поиска?
Когда у агента накапливается больше 20-30 daily notes, простой поиск по файлам становится медленным и неточным. Решение — pgvector, расширение PostgreSQL для векторного поиска.
Шаг 1. Установите PostgreSQL с pgvector
# Ubuntu/Debian
sudo apt install postgresql postgresql-contrib
sudo apt install postgresql-16-pgvector
# Или через Docker
docker run -d --name pgvector \
-e POSTGRES_PASSWORD=mypassword \
-p 5432:5432 \
pgvector/pgvector:pg16Шаг 2. Создайте базу для памяти агента
CREATE DATABASE agent_memory;
\c agent_memory
CREATE EXTENSION vector;
CREATE TABLE memories (
id SERIAL PRIMARY KEY,
content TEXT NOT NULL,
category VARCHAR(50),
tags TEXT[],
embedding vector(768),
created_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX ON memories
USING ivfflat (embedding vector_cosine_ops)
WITH (lists = 100);Шаг 3. Настройте embedding-модель
Для генерации эмбеддингов подойдёт бесплатная модель через Ollama:
# Установка Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Загрузка embedding-модели
ollama pull nomic-embed-text
# Проверка
curl http://localhost:11434/api/embeddings \
-d '{"model":"nomic-embed-text","prompt":"тест"}'Шаг 4. Скрипт для сохранения и поиска
# Сохранение новой записи
python3 scripts/memory_vector.py save \
"Решили перейти на Ghost для блога" \
--category decision --tags "ghost,blog"
# Семантический поиск
python3 scripts/memory_vector.py search \
"какой блог-движок выбрали?" --limit 5Результат: агент находит релевантные записи даже по смыслу, а не только по точному совпадению слов.
⚡ Какие плагины памяти есть в OpenClaw?
Помимо встроенной файловой памяти, OpenClaw поддерживает плагины:
| Плагин | Тип памяти | Точность поиска | Сложность настройки |
|---|---|---|---|
| Встроенная (MEMORY.md) | Файловая | ~52% | Нулевая |
| memory-pgvector | Векторная БД | ~75% | Средняя |
| mr-memory | Гибридная | ~80% | Средняя |
| Cognee (граф знаний) | Граф + векторы | ~85% | Высокая |
Установка плагина memory-pgvector:
# Миграция встроенной памяти в PostgreSQL
export DATABASE_URL="postgresql://user:pass@localhost:5432/openclaw"
openclaw plugins install memory-pgvector
npm run migrate -- --sqlite ~/.openclaw/memory/main.sqlite --pg "$DATABASE_URL"🛠 Типичные проблемы с памятью и как их решить
Вот пять самых частых ошибок при работе с памятью OpenClaw:
- 🔴 MEMORY.md разросся до 10+ КБ → агент тратит половину контекста на загрузку памяти. Решение: вынесите детали в отдельные файлы (
memory/projects/), оставьте в MEMORY.md только ключевые факты - 🔴 Агент «забывает» события 3-дневной давности → daily notes за позавчера уже не загружаются. Решение: подключите векторный поиск или добавьте важное в MEMORY.md
- 🔴 Дубликаты записей в памяти → агент сохраняет одно и то же несколько раз. Решение: проверяйте дубликаты перед записью, используйте категории и теги
- 🔴 Секретные данные попали в MEMORY.md → пароли, токены оказались в памяти агента. Решение: храните секреты в
.envили менеджере паролей, не в markdown-файлах - 🔴 Медленный поиск по 100+ файлам → grep по сотням daily notes занимает секунды. Решение: pgvector + индексация, поиск по эмбеддингам за миллисекунды
✅ Чеклист настройки памяти OpenClaw
- ☑️ Создайте
MEMORY.mdс базовой информацией о себе и проектах - ☑️ Настройте автосоздание daily notes (
memory/YYYY-MM-DD.md) - ☑️ Ограничьте MEMORY.md до 3-5 КБ — только ключевые факты
- ☑️ Установите PostgreSQL + pgvector для долгосрочной индексации
- ☑️ Настройте cron для автосинхронизации файлов → векторную БД
- ☑️ Добавьте правила в AGENTS.md: что сохранять, а что — нет
- ☑️ Протестируйте семантический поиск: найдите решение недельной давности
🎯 Подведём итог
Память в OpenClaw — это не магия, а продуманная система файлов и индексов. Начните с простого: MEMORY.md + daily notes покрывают 80% задач. Когда записей станет много — подключите pgvector и получите семантический поиск по всей истории агента.
Главное правило: если не записано — не существует. Агент помнит ровно столько, сколько записано на диск. Настройте память один раз — и ваш AI-агент перестанет «просыпаться с амнезией» каждую сессию.
👉 Подписывайтесь на Telegram-канал — разбираем AI-агентов, OpenClaw и автоматизацию на практике.
Частые вопросы
Что такое MEMORY.md в OpenClaw?
MEMORY.md — это файл долгосрочной памяти AI-агента. Он загружается при каждой сессии и содержит ключевые факты, решения и предпочтения пользователя. Это аналог «постоянной памяти», которая не теряется между перезапусками.
Сколько информации может хранить память OpenClaw?
Файловая память ограничена только диском. Но в контекст модели загружается MEMORY.md (рекомендуется до 3-5 КБ) и 2 последних daily notes. Для масштабирования используют pgvector — векторная база хранит тысячи записей с быстрым семантическим поиском.
Как агент ищет информацию в старых записях?
Без pgvector — grep по markdown-файлам (медленно и неточно). С pgvector — семантический поиск по эмбеддингам: агент находит релевантные записи по смыслу, даже если слова отличаются от запроса.
Можно ли использовать OpenClaw Memory без PostgreSQL?
Да. Встроенная файловая система (MEMORY.md + daily notes) работает из коробки без внешних баз данных. PostgreSQL + pgvector — это расширение для тех, кому нужен семантический поиск по большому объёму записей.
Как защитить память агента от утечки данных?
Не храните пароли и токены в MEMORY.md — используйте .env файлы. В групповых чатах OpenClaw автоматически не загружает MEMORY.md, чтобы личные данные не попали к третьим лицам. Дополнительно: ограничьте права доступа к папке memory/.
Как часто нужно чистить память агента?
Рекомендуется ревизия MEMORY.md раз в 1-2 недели: удаляйте устаревшие факты, обновляйте проектные данные. Daily notes можно архивировать помесячно. При использовании pgvector — настройте автоматическую синхронизацию через cron.
Какую модель embedding использовать для векторной памяти?
Для бесплатного локального решения — nomic-embed-text через Ollama (768 измерений). Для облачного варианта — text-embedding-3-small от OpenAI. Оба варианта дают хорошую точность для русскоязычных текстов.