Що він надає
- Пошук за ключовими словами через повнотекстове індексування FTS5 (оцінювання BM25).
- Векторний пошук через embeddings від будь-якого підтримуваного постачальника.
- Гібридний пошук, що поєднує обидва підходи для найкращих результатів.
- Підтримку CJK через триграмну токенізацію для китайської, японської та корейської мов.
- Прискорення sqlite-vec для векторних запитів у базі даних (необов’язково).
Початок роботи
Типово вбудований рушій використовує OpenAI embeddings. Якщо у вас уже налаштованоOPENAI_API_KEY або models.providers.openai.apiKey, векторний пошук
працює без додаткової конфігурації пам’яті.
Щоб явно задати постачальника:
local.modelPath на файл GGUF:
Підтримувані постачальники embeddings
| Постачальник | ID | Примітки |
|---|---|---|
| Bedrock | bedrock | Використовує ланцюг облікових даних AWS |
| DeepInfra | deepinfra | Типово: BAAI/bge-m3 |
| Gemini | gemini | Підтримує мультимодальність (зображення + аудіо) |
| GitHub Copilot | github-copilot | Використовує передплату Copilot |
| Локальний | local | @openclaw/llama-cpp-provider |
| Mistral | mistral | |
| Ollama | ollama | Локальний/самостійно розгорнутий |
| OpenAI | openai | Типово: text-embedding-3-small |
| OpenAI-сумісний | openai-compatible | Універсальний endpoint /v1/embeddings |
| Voyage | voyage |
memorySearch.provider, щоб перейти з OpenAI на іншого постачальника.
Як працює індексування
OpenClaw індексуєMEMORY.md і memory/*.md у фрагменти (~400 токенів із
перекриттям 80 токенів) і зберігає їх у SQLite-базі даних для кожного агента.
- Розташування індексу: база даних відповідного агента за адресою
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - Обслуговування сховища: побічні файли SQLite WAL обмежуються періодичними checkpoint і checkpoint під час завершення роботи.
- Відстеження файлів: зміни у файлах пам’яті запускають повторне індексування з debounce (1,5 с).
- Автоматичне повторне індексування: коли змінюється постачальник embeddings, модель або конфігурація фрагментації, весь індекс автоматично перебудовується.
- Повторне індексування на вимогу:
openclaw memory index --force
Ви також можете індексувати Markdown-файли поза робочою областю за допомогою
memorySearch.extraPaths. Див.
довідник із конфігурації.Коли використовувати
Вбудований рушій є правильним вибором для більшості користувачів:- Працює одразу без додаткових залежностей.
- Добре обробляє пошук за ключовими словами та векторний пошук.
- Підтримує всіх постачальників embeddings.
- Гібридний пошук поєднує найкраще з обох підходів до пошуку.
Усунення несправностей
Пошук у пам’яті вимкнено? Перевіртеopenclaw memory status. Якщо постачальника
не виявлено, задайте його явно або додайте ключ API.
Локального постачальника не виявлено? Переконайтеся, що локальний шлях існує, і виконайте:
local.
Задайте memorySearch.provider: "local", коли хочете використовувати локальні embeddings.
Застарілі результати? Виконайте openclaw memory index --force, щоб перебудувати індекс. Watcher
може пропустити зміни в рідкісних крайових випадках.
sqlite-vec не завантажується? OpenClaw автоматично повертається до in-process cosine similarity.
openclaw memory status --deep повідомляє про локальне векторне сховище
окремо від постачальника embeddings, тож Vector store: unavailable вказує
на завантаження sqlite-vec, тоді як Embeddings: unavailable вказує на постачальника/auth
або готовність моделі. Перевірте журнали на конкретну помилку завантаження.