Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
memory-lancedb ist ein gebündeltes Memory-Plugin, das langfristige Memory in
LanceDB speichert und Embeddings für den Abruf verwendet. Es kann relevante
Memories vor einer Modellrunde automatisch abrufen und wichtige Fakten nach einer Antwort erfassen.
Verwenden Sie es, wenn Sie eine lokale Vektordatenbank für Memory wünschen, einen
OpenAI-kompatiblen Embedding-Endpunkt benötigen oder eine Memory-Datenbank außerhalb
des standardmäßigen integrierten Memory-Speichers behalten möchten.
memory-lancedb ist ein Active Memory-Plugin. Aktivieren Sie es, indem Sie den Memory-
Slot mit plugins.slots.memory = "memory-lancedb" auswählen. Begleitende Plugins wie
memory-wiki können daneben laufen, aber nur ein Plugin besitzt den Active Memory-Slot.Schnellstart
Provider-gestützte Embeddings
memory-lancedb kann dieselben Adapter für Memory-Embedding-Provider verwenden wie
memory-core. Setzen Sie embedding.provider und lassen Sie embedding.apiKey weg, um das
konfigurierte Authentifizierungsprofil des Providers, die Umgebungsvariable oder
models.providers.<provider>.apiKey zu verwenden.
openai-codex) ist keine Embedding-Anmeldedatenquelle für die OpenAI Platform.
Verwenden Sie für OpenAI-Embeddings ein Authentifizierungsprofil mit OpenAI API-Schlüssel,
OPENAI_API_KEY oder models.providers.openai.apiKey. Benutzer mit reinem OAuth können
einen anderen Embedding-fähigen Provider wie GitHub Copilot oder Ollama verwenden.
Ollama-Embeddings
Für Ollama-Embeddings sollten Sie den gebündelten Ollama-Embedding-Provider bevorzugen. Er verwendet den nativen Ollama-Endpunkt/api/embed und folgt denselben Regeln für Authentifizierung und Basis-URL wie
der in Ollama dokumentierte Ollama-Provider.
dimensions für nicht standardmäßige Embedding-Modelle. OpenClaw kennt die
Dimensionen für text-embedding-3-small und text-embedding-3-large; benutzerdefinierte
Modelle benötigen den Wert in der Konfiguration, damit LanceDB die Vektorspalte erstellen kann.
Verringern Sie bei kleinen lokalen Embedding-Modellen recallMaxChars, wenn Sie vom lokalen Server
Fehler zur Kontextlänge erhalten.
OpenAI-kompatible Provider
Einige OpenAI-kompatible Embedding-Provider lehnen den Parameterencoding_format
ab, während andere ihn ignorieren und immer number[]-Vektoren zurückgeben.
memory-lancedb lässt encoding_format daher bei Embedding-Anfragen weg und
akzeptiert entweder Float-Array-Antworten oder base64-codierte float32-Antworten.
Wenn Sie einen einfachen OpenAI-kompatiblen Embeddings-Endpunkt haben, für den es keinen
gebündelten Provider-Adapter gibt, lassen Sie embedding.provider weg (oder belassen Sie es bei openai) und
setzen Sie embedding.apiKey zusammen mit embedding.baseUrl. Dadurch bleibt der direkte
OpenAI-kompatible Client-Pfad erhalten.
Setzen Sie embedding.dimensions für Provider, deren Modelldimensionen nicht integriert
sind. Beispielsweise verwendet ZhiPu embedding-3 2048 Dimensionen:
Abruf- und Erfassungslimits
memory-lancedb hat zwei getrennte Textlimits:
| Einstellung | Standard | Bereich | Gilt für |
|---|---|---|---|
recallMaxChars | 1000 | 100-10000 | Text, der für den Abruf an die Embedding-API gesendet wird |
captureMaxChars | 500 | 100-10000 | Länge von Assistant-Nachrichten, die für die Erfassung infrage kommt |
recallMaxChars steuert den automatischen Abruf, das Tool memory_recall, den
Abfragepfad memory_forget und openclaw ltm search. Der automatische Abruf bevorzugt die
neueste Benutzernachricht aus der Runde und fällt nur dann auf den vollständigen Prompt zurück, wenn keine
Benutzernachricht verfügbar ist. Dadurch bleiben Kanalmetadaten und große Prompt-Blöcke
aus der Embedding-Anfrage heraus.
captureMaxChars steuert, ob eine Antwort kurz genug ist, um für die
automatische Erfassung berücksichtigt zu werden. Es begrenzt keine Abrufabfrage-Embeddings.
Befehle
Wennmemory-lancedb das aktive Memory-Plugin ist, registriert es den ltm-CLI-
Namensraum:
openclaw memory um den nicht vektorbasierten Unterbefehl query,
der direkt gegen die LanceDB-Tabelle ausgeführt wird:
--cols <columns>: Kommagetrennte Allowlist von Spalten (standardmäßigid,text,importance,category,createdAt).--filter <condition>: SQL-artige WHERE-Klausel; auf 200 Zeichen begrenzt und auf alphanumerische Zeichen, Vergleichsoperatoren, Anführungszeichen, Klammern und eine kleine Menge sicherer Interpunktion beschränkt.--limit <n>: Positive ganze Zahl; Standardwert10.--order-by <column>:<asc|desc>: Im Arbeitsspeicher angewendete Sortierung nach dem Filter; die Sortierspalte wird automatisch in die Projektion aufgenommen.
memory_recallfür LanceDB-gestützten Abrufmemory_storezum Speichern wichtiger Fakten, Präferenzen, Entscheidungen und Entitätenmemory_forgetzum Entfernen passender Memories
Speicherung
Standardmäßig liegen LanceDB-Daten unter~/.openclaw/memory/lancedb. Überschreiben Sie den
Pfad mit dbPath:
storageOptions akzeptiert Zeichenketten-Schlüssel/Wert-Paare für LanceDB-Speicher-Backends und
unterstützt die Erweiterung von ${ENV_VAR}:
Laufzeitabhängigkeiten
memory-lancedb hängt vom nativen Paket @lancedb/lancedb ab. Paketiertes
OpenClaw behandelt dieses Paket als Teil des Plugin-Pakets. Der Gateway-Start
repariert keine Plugin-Abhängigkeiten; wenn die Abhängigkeit fehlt, installieren oder
aktualisieren Sie das Plugin-Paket erneut und starten Sie den Gateway neu.
Wenn eine ältere Installation beim Laden des Plugins einen fehlenden dist/package.json- oder fehlenden
@lancedb/lancedb-Fehler protokolliert, aktualisieren Sie OpenClaw und starten Sie den
Gateway neu.
Wenn das Plugin protokolliert, dass LanceDB auf darwin-x64 nicht verfügbar ist, verwenden Sie auf diesem Computer
das standardmäßige Memory-Backend, verschieben Sie den Gateway auf eine unterstützte Plattform oder
deaktivieren Sie memory-lancedb.
Fehlerbehebung
Eingabelänge überschreitet die Kontextlänge
Das bedeutet in der Regel, dass das Embedding-Modell die Abrufabfrage abgelehnt hat:recallMaxChars niedriger und starten Sie dann den Gateway neu:
Nicht unterstütztes Embedding-Modell
Ohnedimensions sind nur die integrierten OpenAI-Embedding-Dimensionen bekannt.
Setzen Sie für lokale oder benutzerdefinierte Embedding-Modelle embedding.dimensions auf die von diesem Modell
gemeldete Vektorgröße.
Plugin lädt, aber es erscheinen keine Memories
Prüfen Sie, obplugins.slots.memory auf memory-lancedb zeigt, und führen Sie dann Folgendes aus:
autoCapture deaktiviert ist, ruft das Plugin vorhandene Memories ab, speichert aber
nicht automatisch neue. Verwenden Sie das Tool memory_store oder aktivieren Sie
autoCapture, wenn Sie automatische Erfassung wünschen.