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",        },      },    },  },}

Поддерживаемые поставщики эмбеддингов

Поставщик 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

Когда использовать

Встроенный движок подходит большинству пользователей:

  • Работает сразу, без дополнительных зависимостей.
  • Хорошо справляется с поиском по ключевым словам и векторным поиском.
  • Поддерживает всех поставщиков эмбеддингов.
  • Гибридный поиск сочетает лучшее из обоих подходов к извлечению.

Рассмотрите переход на 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