Что он предоставляет
- Поиск по ключевым словам через полнотекстовое индексирование FTS5 (оценка BM25).
- Векторный поиск через эмбеддинги от любого поддерживаемого поставщика.
- Гибридный поиск, который сочетает оба подхода для лучших результатов.
- Поддержка CJK через триграммную токенизацию для китайского, японского и корейского языков.
- Ускорение sqlite-vec для векторных запросов внутри базы данных (необязательно).
Начало работы
По умолчанию встроенный движок использует эмбеддинги OpenAI. Если у вас уже настроенOPENAI_API_KEY или models.providers.openai.apiKey, векторный поиск
работает без дополнительной конфигурации памяти.
Чтобы явно задать поставщика:
local.modelPath путь к файлу GGUF:
Поддерживаемые поставщики эмбеддингов
| Поставщик | 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 | Универсальная конечная точка /v1/embeddings |
| Voyage | voyage |
memorySearch.provider, чтобы переключиться с OpenAI.
Как работает индексирование
OpenClaw индексируетMEMORY.md и memory/*.md в фрагменты (~400 токенов с
перекрытием 80 токенов) и сохраняет их в SQLite-базе данных отдельного агента.
- Расположение индекса: база данных агента-владельца по адресу
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - Обслуживание хранилища: служебные файлы SQLite WAL ограничиваются периодическими контрольными точками и контрольными точками при завершении работы.
- Отслеживание файлов: изменения файлов памяти запускают переиндексацию с задержкой подавления дребезга (1,5 с).
- Автоматическая переиндексация: когда меняется поставщик эмбеддингов, модель или конфигурация разбиения на фрагменты, весь индекс автоматически перестраивается.
- Переиндексация по запросу:
openclaw memory index --force
Вы также можете индексировать Markdown-файлы вне рабочей области с помощью
memorySearch.extraPaths. См.
справочник по конфигурации.Когда использовать
Встроенный движок подходит большинству пользователей:- Работает сразу, без дополнительных зависимостей.
- Хорошо справляется с поиском по ключевым словам и векторным поиском.
- Поддерживает всех поставщиков эмбеддингов.
- Гибридный поиск сочетает лучшее из обоих подходов к извлечению.
Устранение неполадок
Поиск по памяти отключен? Проверьтеopenclaw memory status. Если поставщик не
обнаружен, задайте его явно или добавьте ключ API.
Локальный поставщик не обнаружен? Убедитесь, что локальный путь существует, и выполните:
local.
Задайте memorySearch.provider: "local", если хотите использовать локальные эмбеддинги.
Устаревшие результаты? Выполните openclaw memory index --force, чтобы перестроить индекс. Средство отслеживания
может пропускать изменения в редких пограничных случаях.
sqlite-vec не загружается? OpenClaw автоматически переключается на косинусное сходство
в процессе. openclaw memory status --deep сообщает о локальном векторном хранилище
отдельно от поставщика эмбеддингов, поэтому Vector store: unavailable указывает
на загрузку sqlite-vec, а Embeddings: unavailable указывает на готовность поставщика/авторизации
или модели. Проверьте журналы на наличие конкретной ошибки загрузки.