Sessions and memory

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

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

Можливості

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

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

За замовчуванням вбудований рушій використовує вбудовування OpenAI. Якщо OPENAI_API_KEY або models.providers.openai.apiKey уже налаштовано, векторний пошук працює без додаткового налаштування пам’яті.

Щоб явно вказати постачальника:

json5
{  agents: {    defaults: {      memorySearch: {        provider: "openai",      },    },  },}

Без постачальника вбудовувань доступний лише пошук за ключовими словами.

Щоб примусово використовувати локальні вбудовування GGUF, установіть офіційний plugin постачальника llama.cpp, а потім укажіть у local.modelPath файл GGUF:

bash
openclaw plugins install @openclaw/llama-cpp-provider
json5
{  agents: {    defaults: {      memorySearch: {        provider: "local",        fallback: "none",        local: {          modelPath: "~/.node-llama-cpp/models/embeddinggemma-300m-qat-Q8_0.gguf",        },      },    },  },}

Підтримувані постачальники вбудовувань

Постачальник Ідентифікатор Примітки
Bedrock bedrock Використовує ланцюжок облікових даних AWS
DeepInfra deepinfra За замовчуванням: BAAI/bge-m3
Gemini gemini Підтримує мультимодальність (зображення + аудіо)
GitHub Copilot github-copilot Використовує вашу передплату Copilot
LM Studio lmstudio Локальний/самостійно розгорнутий
Локальний local @openclaw/llama-cpp-provider
Mistral mistral
Ollama ollama Локальний/самостійно розгорнутий
OpenAI openai За замовчуванням: text-embedding-3-small
Сумісний з OpenAI openai-compatible Універсальна кінцева точка /v1/embeddings
Voyage voyage

Змініть memorySearch.provider, щоб перейти з OpenAI на іншого постачальника.

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

OpenClaw розбиває MEMORY.md і memory/*.md на фрагменти (за замовчуванням по 400 токенів із перекриттям у 80 токенів), індексує їх і зберігає в окремій для кожного агента базі даних SQLite.

  • Розташування індексу: база даних відповідного агента за адресою ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite
  • Обслуговування сховища: розмір супровідних файлів WAL SQLite обмежується періодичними контрольними точками та контрольними точками під час завершення роботи.
  • Відстеження файлів: зміни у файлах пам’яті запускають повторне індексування із затримкою для усунення брязкоту (за замовчуванням 1,5 с).
  • Автоматичне повторне індексування: індекс автоматично перебудовується, коли змінюються постачальник вбудовувань, модель, конфігурація розбиття, налаштовані джерела або область дії.
  • Повторне індексування на вимогу: openclaw memory index --force

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

Вбудований рушій — оптимальний вибір для більшості користувачів:

  • Працює одразу без додаткових залежностей.
  • Добре виконує пошук за ключовими словами та векторний пошук.
  • Підтримує всіх постачальників вбудовувань.
  • Гібридний пошук поєднує переваги обох підходів до пошуку інформації.

Розгляньте перехід на QMD, якщо вам потрібні повторне ранжування, розширення запитів або індексування каталогів поза робочою областю.

Розгляньте Honcho, якщо вам потрібна пам’ять між сеансами з автоматичним моделюванням користувача.

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

Пошук у пам’яті вимкнено? Перевірте openclaw memory status. Якщо постачальника не виявлено, укажіть його явно або додайте ключ API.

Локального постачальника не виявлено? Переконайтеся, що локальний шлях існує, і виконайте:

bash
openclaw memory status --deep --agent mainopenclaw memory index --force --agent main

Окремі команди CLI та Gateway використовують однаковий ідентифікатор локального постачальника local. Установіть memorySearch.provider: "local", якщо хочете використовувати локальні вбудовування.

Застарілі результати? Виконайте openclaw memory index --force, щоб перебудувати індекс. У рідкісних граничних випадках засіб відстеження може не помітити зміни.

sqlite-vec не завантажується? OpenClaw автоматично переходить до обчислення косинусної подібності в процесі. openclaw memory status --deep показує локальне векторне сховище окремо від постачальника вбудовувань, тому Vector store: unavailable указує на проблему із завантаженням sqlite-vec, а Embeddings: unavailable — на проблему з постачальником, автентифікацією або готовністю моделі. Перевірте журнали, щоб знайти конкретну помилку завантаження.

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

Відомості про налаштування постачальника вбудовувань, оптимізацію гібридного пошуку (ваги, MMR, часове згасання), пакетне індексування, мультимодальну пам’ять, sqlite-vec, додаткові шляхи та всі інші параметри конфігурації див. у довіднику з конфігурації пам’яті.

Пов’язані матеріали

Was this useful?
On this page

On this page