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 adalah Plugin memori bawaan yang menyimpan memori jangka panjang di
LanceDB dan menggunakan embedding untuk pengingatan. Plugin ini dapat secara otomatis mengingat
memori yang relevan sebelum giliran model dan menangkap fakta penting setelah respons.
Gunakan ini saat Anda menginginkan basis data vektor lokal untuk memori, membutuhkan endpoint
embedding yang kompatibel dengan OpenAI, atau ingin menyimpan basis data memori di luar
penyimpanan memori bawaan default.
memory-lancedb adalah Plugin Active Memory. Aktifkan dengan memilih slot memori
menggunakan plugins.slots.memory = "memory-lancedb". Plugin pendamping seperti
memory-wiki dapat berjalan berdampingan dengannya, tetapi hanya satu Plugin yang memiliki slot Active Memory.Mulai cepat
Embedding yang didukung penyedia
memory-lancedb dapat menggunakan adaptor penyedia embedding memori yang sama dengan
memory-core. Atur embedding.provider dan hilangkan embedding.apiKey untuk menggunakan
profil autentikasi yang dikonfigurasi penyedia, variabel lingkungan, atau
models.providers.<provider>.apiKey.
openai-codex) bukan kredensial embedding OpenAI Platform.
Untuk embedding OpenAI, gunakan profil autentikasi kunci OpenAI API,
OPENAI_API_KEY, atau models.providers.openai.apiKey. Pengguna yang hanya memakai OAuth dapat menggunakan
penyedia lain yang mendukung embedding seperti GitHub Copilot atau Ollama.
Embedding Ollama
Untuk embedding Ollama, sebaiknya gunakan penyedia embedding Ollama bawaan. Penyedia ini menggunakan endpoint Ollama/api/embed native dan mengikuti aturan autentikasi/base URL yang sama seperti
penyedia Ollama yang didokumentasikan di Ollama.
dimensions untuk model embedding nonstandar. OpenClaw mengetahui
dimensi untuk text-embedding-3-small dan text-embedding-3-large; model kustom
memerlukan nilai dalam konfigurasi agar LanceDB dapat membuat kolom vektor.
Untuk model embedding lokal kecil, turunkan recallMaxChars jika Anda melihat galat
panjang konteks dari server lokal.
Penyedia yang kompatibel dengan OpenAI
Beberapa penyedia embedding yang kompatibel dengan OpenAI menolak parameterencoding_format, sementara yang lain mengabaikannya dan selalu mengembalikan vektor number[].
Karena itu, memory-lancedb menghilangkan encoding_format pada permintaan embedding dan
menerima respons berupa array float atau respons float32 yang dienkode base64.
Jika Anda memiliki endpoint embedding mentah yang kompatibel dengan OpenAI dan tidak memiliki
adaptor penyedia bawaan, hilangkan embedding.provider (atau biarkan sebagai openai) dan
atur embedding.apiKey beserta embedding.baseUrl. Ini mempertahankan jalur klien langsung
yang kompatibel dengan OpenAI.
Atur embedding.dimensions untuk penyedia yang dimensi modelnya tidak tersedia bawaan.
Misalnya, ZhiPu embedding-3 menggunakan dimensi 2048:
Batas pengingatan dan penangkapan
memory-lancedb memiliki dua batas teks terpisah:
| Pengaturan | Default | Rentang | Berlaku untuk |
|---|---|---|---|
recallMaxChars | 1000 | 100-10000 | teks yang dikirim ke embedding API untuk pengingatan |
captureMaxChars | 500 | 100-10000 | panjang pesan asisten yang memenuhi syarat untuk ditangkap |
recallMaxChars mengontrol pengingatan otomatis, alat memory_recall, jalur kueri
memory_forget, dan openclaw ltm search. Pengingatan otomatis memprioritaskan
pesan pengguna terbaru dari giliran tersebut dan hanya kembali ke prompt penuh saat tidak ada
pesan pengguna yang tersedia. Ini menjaga metadata kanal dan blok prompt besar
agar tidak masuk ke permintaan embedding.
captureMaxChars mengontrol apakah respons cukup pendek untuk dipertimbangkan
untuk penangkapan otomatis. Ini tidak membatasi embedding kueri pengingatan.
Perintah
Saatmemory-lancedb menjadi Plugin memori aktif, Plugin ini mendaftarkan namespace CLI ltm:
openclaw memory dengan subperintah query non-vektor
yang berjalan langsung terhadap tabel LanceDB:
--cols <columns>: allowlist kolom yang dipisahkan koma (default keid,text,importance,category,createdAt).--filter <condition>: klausa WHERE bergaya SQL; dibatasi hingga 200 karakter dan dibatasi ke alfanumerik, operator perbandingan, tanda kutip, tanda kurung, dan sekumpulan kecil tanda baca aman.--limit <n>: bilangan bulat positif; default10.--order-by <column>:<asc|desc>: pengurutan dalam memori yang diterapkan setelah filter; kolom pengurutan otomatis disertakan dalam proyeksi.
memory_recalluntuk pengingatan yang didukung LanceDBmemory_storeuntuk menyimpan fakta, preferensi, keputusan, dan entitas pentingmemory_forgetuntuk menghapus memori yang cocok
Penyimpanan
Secara default, data LanceDB berada di bawah~/.openclaw/memory/lancedb. Timpa
jalurnya dengan dbPath:
storageOptions menerima pasangan kunci/nilai string untuk backend penyimpanan LanceDB dan
mendukung ekspansi ${ENV_VAR}:
Dependensi runtime
memory-lancedb bergantung pada paket native @lancedb/lancedb. Instalasi
OpenClaw dalam paket pertama-tama mencoba dependensi runtime bawaan dan dapat memperbaiki
dependensi runtime Plugin di bawah state OpenClaw saat impor bawaan tidak
tersedia.
Jika instalasi lama mencatat galat dist/package.json yang hilang atau
@lancedb/lancedb yang hilang selama pemuatan Plugin, tingkatkan OpenClaw dan mulai ulang
Gateway.
Jika Plugin mencatat bahwa LanceDB tidak tersedia di darwin-x64, gunakan backend
memori default pada mesin tersebut, pindahkan Gateway ke platform yang didukung, atau
nonaktifkan memory-lancedb.
Pemecahan masalah
Panjang input melebihi panjang konteks
Ini biasanya berarti model embedding menolak kueri pengingatan:recallMaxChars yang lebih rendah, lalu mulai ulang Gateway:
Model embedding tidak didukung
Tanpadimensions, hanya dimensi embedding OpenAI bawaan yang diketahui.
Untuk model embedding lokal atau kustom, atur embedding.dimensions ke ukuran vektor
yang dilaporkan oleh model tersebut.
Plugin dimuat tetapi tidak ada memori yang muncul
Periksa bahwaplugins.slots.memory mengarah ke memory-lancedb, lalu jalankan:
autoCapture dinonaktifkan, Plugin akan mengingat memori yang ada tetapi tidak akan
secara otomatis menyimpan yang baru. Gunakan alat memory_store atau aktifkan
autoCapture jika Anda menginginkan penangkapan otomatis.