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 Langzeitspeicher in
LanceDB speichert und Embeddings für den Abruf verwendet. Es kann relevante
Erinnerungen vor einem Modell-Turn automatisch abrufen und wichtige Fakten nach
einer Antwort erfassen.
Verwenden Sie es, wenn Sie eine lokale Vektordatenbank für Memory benötigen,
einen OpenAI-kompatiblen Embedding-Endpunkt brauchen oder eine Memory-Datenbank
außerhalb des standardmäßigen integrierten Memory-Speichers verwalten 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. Begleit-Plugins wie
memory-wiki können daneben ausgeführt werden, aber nur ein Plugin besitzt den Active Memory-Slot.Schnellstart
Provider-gestützte Embeddings
memory-lancedb kann dieselben Memory-Embedding-Provider-Adapter wie
memory-core verwenden. 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 kein OpenAI Platform-Zugangsnachweis
für Embeddings. Verwenden Sie für OpenAI-Embeddings ein Authentifizierungsprofil mit OpenAI-API-Schlüssel,
OPENAI_API_KEY oder models.providers.openai.apiKey. Reine OAuth-Nutzer 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 Authentifizierungs- und Basis-URL-Regeln wie
der Ollama-Provider, der in Ollama dokumentiert ist.
dimensions für nicht standardmäßige Embedding-Modelle fest. 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.
Reduzieren Sie bei kleinen lokalen Embedding-Modellen recallMaxChars, wenn Sie Kontextlängenfehler
vom lokalen Server sehen.
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 bei Embedding-Anfragen daher weg und
akzeptiert entweder Float-Array-Antworten oder base64-codierte float32-Antworten.
Wenn Sie einen rohen OpenAI-kompatiblen Embeddings-Endpunkt haben, für den es keinen
gebündelten Provider-Adapter gibt, lassen Sie embedding.provider weg (oder belassen Sie ihn bei openai) und
setzen Sie embedding.apiKey sowie embedding.baseUrl. Dadurch bleibt der direkte
OpenAI-kompatible Client-Pfad erhalten.
Setzen Sie embedding.dimensions für Provider, deren Modelldimensionen nicht integriert
sind. ZhiPu embedding-3 verwendet beispielsweise 2048 Dimensionen:
Abruf- und Erfassungslimits
memory-lancedb hat zwei separate 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 Assistentennachrichten, die für die Erfassung infrage kommen |
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 dem Turn und greift 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 Embeddings für Abrufabfragen.
Befehle
Wennmemory-lancedb das Active Memory-Plugin ist, registriert es den CLI-Namespace ltm:
openclaw memory um einen nicht vektorbasierten Unterbefehl query,
der direkt gegen die LanceDB-Tabelle ausgeführt wird:
--cols <columns>: kommagetrennte Spalten-Allowlist (standardmäßigid,text,importance,category,createdAt).--filter <condition>: SQL-ähnliche WHERE-Klausel; auf 200 Zeichen begrenzt und auf alphanumerische Zeichen, Vergleichsoperatoren, Anführungszeichen, Klammern und eine kleine Menge sicherer Satzzeichen beschränkt.--limit <n>: positive ganze Zahl; Standardwert10.--order-by <column>:<asc|desc>: In-Memory-Sortierung, die nach dem Filter angewendet wird; 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 Erinnerungen
Speicherung
Standardmäßig liegen LanceDB-Daten unter~/.openclaw/memory/lancedb. Überschreiben Sie den
Pfad mit dbPath:
storageOptions akzeptiert Zeichenfolgen-Schlüssel/Wert-Paare für LanceDB-Speicher-Backends und
unterstützt ${ENV_VAR}-Erweiterung:
Laufzeitabhängigkeiten
memory-lancedb hängt vom nativen Paket @lancedb/lancedb ab. Paketierte
OpenClaw-Installationen versuchen zuerst, die gebündelte Laufzeitabhängigkeit zu verwenden, und können die
Plugin-Laufzeitabhängigkeit unter dem OpenClaw-Status reparieren, wenn der gebündelte Import nicht
verfügbar ist.
Wenn eine ältere Installation während des Ladens 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 Rechner 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
Dies 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.
Legen Sie für lokale oder benutzerdefinierte Embedding-Modelle embedding.dimensions auf die von diesem Modell gemeldete
Vektorgröße fest.
Plugin wird geladen, aber es werden keine Erinnerungen angezeigt
Prüfen Sie, obplugins.slots.memory auf memory-lancedb zeigt, und führen Sie dann Folgendes aus:
autoCapture deaktiviert ist, ruft das Plugin vorhandene Erinnerungen ab, speichert aber
nicht automatisch neue. Verwenden Sie das Tool memory_store oder aktivieren Sie
autoCapture, wenn Sie automatische Erfassung wünschen.