Sessions and memory
Вбудований рушій пам’яті
Вбудований рушій є стандартним серверним модулем пам’яті. Він зберігає індекс пам’яті в окремій для кожного агента базі даних SQLite й не потребує додаткових залежностей для початку роботи.
Можливості
- Пошук за ключовими словами через повнотекстове індексування FTS5 (оцінювання BM25).
- Векторний пошук через вбудовування від будь-якого підтримуваного постачальника.
- Гібридний пошук, який поєднує обидва підходи для найкращих результатів.
- Підтримка CJK через триграмну токенізацію для китайської, японської та корейської мов.
- Прискорення sqlite-vec для векторних запитів у базі даних (необов’язково).
Початок роботи
За замовчуванням вбудований рушій використовує вбудовування OpenAI. Якщо
OPENAI_API_KEY або models.providers.openai.apiKey уже налаштовано, векторний
пошук працює без додаткового налаштування пам’яті.
Щоб явно вказати постачальника:
{ agents: { defaults: { memorySearch: { provider: "openai", }, }, },}Без постачальника вбудовувань доступний лише пошук за ключовими словами.
Щоб примусово використовувати локальні вбудовування GGUF, установіть офіційний
plugin постачальника llama.cpp, а потім укажіть у local.modelPath файл GGUF:
openclaw plugins install @openclaw/llama-cpp-provider{ 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.
Локального постачальника не виявлено? Переконайтеся, що локальний шлях існує, і виконайте:
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, додаткові шляхи та всі інші параметри конфігурації див. у довіднику з конфігурації пам’яті.