Перейти до основного вмісту

Вбудований рушій пам’яті

Вбудований рушій — це типовий бекенд пам’яті. Він зберігає індекс пам’яті у SQLite-базі даних для кожного агента окремо й не потребує жодних додаткових залежностей для початку роботи.

Що він надає

  • Пошук за ключовими словами через повнотекстове індексування FTS5 (оцінювання BM25).
  • Векторний пошук через embeddings від будь-якого підтримуваного провайдера.
  • Гібридний пошук, що поєднує обидва підходи для найкращих результатів.
  • Підтримка CJK через триграмну токенізацію для китайської, японської та корейської мов.
  • Прискорення sqlite-vec для внутрішньобазових векторних запитів (необов’язково).

Початок роботи

Якщо у вас є API-ключ для OpenAI, Gemini, Voyage або Mistral, вбудований рушій автоматично виявить його й увімкне векторний пошук. Налаштування не потрібні. Щоб явно вказати провайдера:
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai",
      },
    },
  },
}
Без провайдера embeddings доступний лише пошук за ключовими словами.

Підтримувані провайдери embeddings

ПровайдерIDАвтовиявленняПримітки
OpenAIopenaiТакЗа замовчуванням: text-embedding-3-small
GeminigeminiТакПідтримує мультимодальність (зображення + аудіо)
VoyagevoyageТак
MistralmistralТак
OllamaollamaНіЛокальний, потрібно вказати явно
LocallocalТак (першим)Модель GGUF, завантаження ~0.6 ГБ
Автовиявлення вибирає першого провайдера, для якого вдається визначити API-ключ, у наведеному порядку. Щоб перевизначити це, установіть memorySearch.provider.

Як працює індексування

OpenClaw індексує MEMORY.md і memory/*.md у фрагменти (~400 токенів із перекриттям у 80 токенів) і зберігає їх у SQLite-базі даних для кожного агента окремо.
  • Розташування індексу: ~/.openclaw/memory/<agentId>.sqlite
  • Відстеження файлів: зміни у файлах пам’яті запускають відкладене повторне індексування (1.5 с).
  • Автоматичне повторне індексування: коли змінюється провайдер embeddings, модель або конфігурація фрагментації, увесь індекс автоматично перебудовується.
  • Повторне індексування за запитом: openclaw memory index --force
Ви також можете індексувати Markdown-файли поза межами робочого простору через memorySearch.extraPaths. Див. довідник із конфігурації.

Коли використовувати

Вбудований рушій — правильний вибір для більшості користувачів:
  • Працює одразу без додаткових залежностей.
  • Добре справляється з пошуком за ключовими словами й векторним пошуком.
  • Підтримує всіх провайдерів embeddings.
  • Гібридний пошук поєднує найкраще з обох підходів до пошуку.
Подумайте про перехід на QMD, якщо вам потрібні reranking, query expansion або якщо ви хочете індексувати каталоги поза робочим простором. Розгляньте Honcho, якщо вам потрібна пам’ять між сесіями з автоматичним моделюванням користувача.

Усунення несправностей

Пошук у пам’яті вимкнено? Перевірте openclaw memory status. Якщо жодного провайдера не виявлено, укажіть його явно або додайте API-ключ. Застарілі результати? Виконайте openclaw memory index --force, щоб перебудувати індекс. Спостерігач у рідкісних крайових випадках може пропустити зміни. sqlite-vec не завантажується? OpenClaw автоматично повертається до обчислення косинусної подібності в процесі. Перевірте журнали на наявність конкретної помилки завантаження.

Конфігурація

Налаштування провайдера embeddings, tuning гібридного пошуку (ваги, MMR, temporal decay), пакетного індексування, мультимодальної пам’яті, sqlite-vec, додаткових шляхів і всіх інших параметрів конфігурації див. у довіднику конфігурації пам’яті.