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 to dołączony Plugin pamięci, który przechowuje pamięć długoterminową w
LanceDB i używa osadzeń do przywoływania. Może automatycznie przywoływać istotne
wspomnienia przed turą modelu i przechwytywać ważne fakty po odpowiedzi.
Użyj go, gdy chcesz mieć lokalną wektorową bazę danych dla pamięci, potrzebujesz
punktu końcowego osadzeń zgodnego z OpenAI albo chcesz przechowywać bazę pamięci poza
domyślnym wbudowanym magazynem pamięci.
memory-lancedb to Plugin aktywnej pamięci. Włącz go, wybierając slot pamięci za pomocą plugins.slots.memory = "memory-lancedb". Towarzyszące Pluginy, takie jak
memory-wiki, mogą działać obok niego, ale tylko jeden Plugin jest właścicielem aktywnego slotu pamięci.Szybki start
Osadzenia oparte na dostawcy
memory-lancedb może używać tych samych adapterów dostawców osadzeń pamięci co
memory-core. Ustaw embedding.provider i pomiń embedding.apiKey, aby użyć
skonfigurowanego profilu uwierzytelniania dostawcy, zmiennej środowiskowej albo
models.providers.<provider>.apiKey.
openai-codex) nie jest poświadczeniem osadzeń OpenAI Platform.
W przypadku osadzeń OpenAI użyj profilu uwierzytelniania z kluczem API OpenAI,
OPENAI_API_KEY albo models.providers.openai.apiKey. Użytkownicy korzystający tylko z OAuth mogą użyć
innego dostawcy obsługującego osadzenia, takiego jak GitHub Copilot albo Ollama.
Osadzenia Ollama
W przypadku osadzeń Ollama preferuj dołączonego dostawcę osadzeń Ollama. Używa on natywnego punktu końcowego Ollama/api/embed i stosuje te same reguły uwierzytelniania/bazowego adresu URL co
dostawca Ollama opisany w Ollama.
dimensions dla niestandardowych modeli osadzeń. OpenClaw zna
wymiary dla text-embedding-3-small i text-embedding-3-large; modele niestandardowe
wymagają tej wartości w konfiguracji, aby LanceDB mogło utworzyć kolumnę wektorową.
W przypadku małych lokalnych modeli osadzeń zmniejsz recallMaxChars, jeśli widzisz błędy
długości kontekstu z lokalnego serwera.
Dostawcy zgodni z OpenAI
Niektórzy dostawcy osadzeń zgodni z OpenAI odrzucają parametrencoding_format,
podczas gdy inni go ignorują i zawsze zwracają wektory number[].
Dlatego memory-lancedb pomija encoding_format w żądaniach osadzeń i
akceptuje odpowiedzi w postaci tablic liczb zmiennoprzecinkowych albo zakodowane w base64 odpowiedzi float32.
Jeśli masz surowy punkt końcowy osadzeń zgodny z OpenAI, który nie ma
dołączonego adaptera dostawcy, pomiń embedding.provider (albo pozostaw jako openai) i
ustaw embedding.apiKey oraz embedding.baseUrl. Zachowuje to bezpośrednią
ścieżkę klienta zgodnego z OpenAI.
Ustaw embedding.dimensions dla dostawców, których wymiary modeli nie są wbudowane.
Na przykład ZhiPu embedding-3 używa 2048 wymiarów:
Limity przywoływania i przechwytywania
memory-lancedb ma dwa osobne limity tekstu:
| Ustawienie | Domyślnie | Zakres | Dotyczy |
|---|---|---|---|
recallMaxChars | 1000 | 100-10000 | tekst wysyłany do API osadzeń na potrzeby przywoływania |
captureMaxChars | 500 | 100-10000 | długość wiadomości asystenta kwalifikująca się do przechwycenia |
recallMaxChars kontroluje automatyczne przywoływanie, narzędzie memory_recall, ścieżkę zapytania
memory_forget oraz openclaw ltm search. Automatyczne przywoływanie preferuje
najnowszą wiadomość użytkownika z tury i wraca do pełnego promptu tylko wtedy, gdy żadna
wiadomość użytkownika nie jest dostępna. Dzięki temu metadane kanału i duże bloki promptów
nie trafiają do żądania osadzeń.
captureMaxChars kontroluje, czy odpowiedź jest wystarczająco krótka, aby rozważyć ją
do automatycznego przechwycenia. Nie ogranicza osadzeń zapytań przywoływania.
Polecenia
Gdymemory-lancedb jest aktywnym Pluginem pamięci, rejestruje przestrzeń nazw CLI
ltm:
openclaw memory o niewektorowe podpolecenie query,
które działa bezpośrednio na tabeli LanceDB:
--cols <columns>: rozdzielona przecinkami lista dozwolonych kolumn (domyślnieid,text,importance,category,createdAt).--filter <condition>: klauzula WHERE w stylu SQL; ograniczona do 200 znaków i zawężona do znaków alfanumerycznych, operatorów porównania, cudzysłowów, nawiasów oraz niewielkiego zestawu bezpiecznych znaków interpunkcyjnych.--limit <n>: dodatnia liczba całkowita; domyślnie10.--order-by <column>:<asc|desc>: sortowanie w pamięci stosowane po filtrze; kolumna sortowania jest automatycznie uwzględniana w projekcji.
memory_recalldo przywoływania opartego na LanceDBmemory_storedo zapisywania ważnych faktów, preferencji, decyzji i encjimemory_forgetdo usuwania pasujących wspomnień
Przechowywanie
Domyślnie dane LanceDB znajdują się w~/.openclaw/memory/lancedb. Nadpisz
ścieżkę za pomocą dbPath:
storageOptions akceptuje pary klucz/wartość typu string dla backendów przechowywania LanceDB i
obsługuje rozwijanie ${ENV_VAR}:
Zależności uruchomieniowe
memory-lancedb zależy od natywnego pakietu @lancedb/lancedb. Spakowane
instalacje OpenClaw najpierw próbują użyć dołączonej zależności uruchomieniowej i mogą naprawić
zależność uruchomieniową Pluginu w stanie OpenClaw, gdy dołączony import nie jest
dostępny.
Jeśli starsza instalacja podczas ładowania Pluginu zapisuje w logach błąd braku dist/package.json lub brakującego
@lancedb/lancedb, zaktualizuj OpenClaw i uruchom ponownie
Gateway.
Jeśli Plugin zapisuje w logach, że LanceDB jest niedostępne na darwin-x64, użyj domyślnego
backendu pamięci na tej maszynie, przenieś Gateway na obsługiwaną platformę albo
wyłącz memory-lancedb.
Rozwiązywanie problemów
Długość wejścia przekracza długość kontekstu
Zwykle oznacza to, że model osadzeń odrzucił zapytanie przywoływania:recallMaxChars, a następnie uruchom ponownie Gateway:
Nieobsługiwany model osadzeń
Bezdimensions znane są tylko wbudowane wymiary osadzeń OpenAI.
W przypadku lokalnych lub niestandardowych modeli osadzeń ustaw embedding.dimensions na rozmiar wektora
zgłaszany przez ten model.
Plugin ładuje się, ale nie pojawiają się żadne wspomnienia
Sprawdź, czyplugins.slots.memory wskazuje na memory-lancedb, a następnie uruchom:
autoCapture jest wyłączone, Plugin będzie przywoływać istniejące wspomnienia, ale
nie będzie automatycznie przechowywać nowych. Użyj narzędzia memory_store albo włącz
autoCapture, jeśli chcesz automatycznego przechwytywania.