Sessions and memory

Ingebouwde geheugenengine

De ingebouwde engine is de standaardbackend voor geheugen. Deze slaat je geheugenindex op in een SQLite-database per agent en vereist geen extra afhankelijkheden om aan de slag te gaan.

Wat deze biedt

  • Zoeken op trefwoorden via FTS5-indexering van volledige tekst (BM25-score).
  • Vectorzoeken via embeddings van elke ondersteunde provider.
  • Hybride zoeken dat beide combineert voor de beste resultaten.
  • CJK-ondersteuning via trigramtokenisatie voor Chinees, Japans en Koreaans.
  • sqlite-vec-versnelling voor vectorquery's in de database (optioneel).

Aan de slag

Standaard gebruikt de ingebouwde engine OpenAI-embeddings. Als OPENAI_API_KEY of models.providers.openai.apiKey al is geconfigureerd, werkt vectorzoeken zonder extra geheugenconfiguratie.

Een provider expliciet instellen:

json5
{  memory: {    search: {      provider: "openai",    },  },}

Zonder embeddingprovider is alleen zoeken op trefwoorden beschikbaar.

Installeer de officiële llama.cpp-provider- plugin om lokale GGUF-embeddings af te dwingen en laat local.modelPath vervolgens naar een GGUF-bestand verwijzen:

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

Ondersteunde embeddingproviders

Provider ID Opmerkingen
Bedrock bedrock Gebruikt de AWS-referentieketen
DeepInfra deepinfra Standaard: BAAI/bge-m3
Gemini gemini Ondersteunt multimodaal (beeld + audio)
GitHub Copilot github-copilot Gebruikt je Copilot-abonnement
LM Studio lmstudio Lokaal/zelfgehost
Lokaal local @openclaw/llama-cpp-provider
Mistral mistral
Ollama ollama Lokaal/zelfgehost
OpenAI openai Standaard: text-embedding-3-small
OpenAI-compatibel openai-compatible Algemeen /v1/embeddings-eindpunt
Voyage voyage

Stel memory.search.provider in om van OpenAI over te schakelen.

Hoe indexering werkt

OpenClaw indexeert MEMORY.md en memory/*.md in segmenten (standaard 400 tokens met een overlap van 80 tokens) en slaat deze op in een SQLite-database per agent.

  • Indexlocatie: de database van de eigenaaragent op ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite
  • Opslagonderhoud: SQLite WAL-nevenbestanden worden begrensd met periodieke controlepunten en controlepunten bij het afsluiten.
  • Bestandsbewaking: wijzigingen in geheugenbestanden activeren een vertraagde herindexering (standaard 1,5 s).
  • Automatische herindexering: de index wordt automatisch opnieuw opgebouwd wanneer de embeddingprovider, het model, de segmenteringsconfiguratie, de geconfigureerde bronnen of het bereik veranderen.
  • Herindexering op aanvraag: openclaw memory index --force

Wanneer te gebruiken

De ingebouwde engine is de juiste keuze voor de meeste gebruikers:

  • Werkt direct zonder extra afhankelijkheden.
  • Verwerkt zoeken op trefwoorden en vectorzoeken goed.
  • Ondersteunt alle embeddingproviders.
  • Hybride zoeken combineert het beste van beide zoekbenaderingen.

Overweeg over te schakelen op QMD als je herordening, query- uitbreiding nodig hebt of mappen buiten de werkruimte wilt indexeren.

Overweeg Honcho als je geheugen over sessies heen wilt met automatische gebruikersmodellering.

Problemen oplossen

Geheugenzoeken uitgeschakeld? Controleer openclaw memory status. Als er geen provider wordt gedetecteerd, stel je er expliciet een in of voeg je een API-sleutel toe.

Lokale provider niet gedetecteerd? Controleer of het lokale pad bestaat en voer het volgende uit:

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

Zowel zelfstandige CLI-opdrachten als de Gateway gebruiken dezelfde provider-ID local. Stel memory.search.provider: "local" in wanneer je lokale embeddings wilt.

Verouderde resultaten? Voer openclaw memory index --force uit om de index opnieuw op te bouwen. De bewaking kan in zeldzame randgevallen wijzigingen missen.

Wordt sqlite-vec niet geladen? OpenClaw valt automatisch terug op cosinus- gelijkenis binnen het proces. openclaw memory status --deep rapporteert de lokale vectoropslag afzonderlijk van de embeddingprovider, dus Vector store: unavailable verwijst naar het laden van sqlite-vec, terwijl Embeddings: unavailable verwijst naar de gereedheid van de provider/authenticatie of het model. Controleer de logboeken op de specifieke laadfout.

Configuratie

Zie voor het instellen van embeddingproviders, het afstemmen van hybride zoeken (gewichten, MMR, temporeel verval), batchindexering, multimodaal geheugen, sqlite-vec, extra paden en alle overige configuratieopties de referentie voor geheugenconfiguratie.

Gerelateerd

Was this useful?
On this page

On this page