Fitur yang disediakan
- Pencarian kata kunci melalui pengindeksan teks lengkap FTS5 (penilaian BM25).
- Pencarian vektor melalui embedding dari penyedia mana pun yang didukung.
- Pencarian hibrida yang menggabungkan keduanya untuk hasil terbaik.
- Dukungan CJK melalui tokenisasi trigram untuk bahasa Tionghoa, Jepang, dan Korea.
- Akselerasi sqlite-vec untuk kueri vektor dalam basis data (opsional).
Memulai
Secara default, mesin bawaan menggunakan embedding OpenAI. JikaOPENAI_API_KEY atau
models.providers.openai.apiKey sudah dikonfigurasi, pencarian vektor berfungsi
tanpa konfigurasi memori tambahan.
Untuk menetapkan penyedia secara eksplisit:
local.modelPath ke berkas GGUF:
Penyedia embedding yang didukung
Atur
memorySearch.provider untuk beralih dari OpenAI.
Cara kerja pengindeksan
OpenClaw mengindeksMEMORY.md dan memory/*.md menjadi potongan-potongan (secara
default 400 token dengan tumpang tindih 80 token) dan menyimpannya dalam basis data
SQLite per agen.
- Lokasi indeks: basis data agen pemilik di
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - Pemeliharaan penyimpanan: berkas pendamping WAL SQLite dibatasi dengan checkpoint berkala dan saat penghentian.
- Pemantauan berkas: perubahan pada berkas memori memicu pengindeksan ulang dengan penundaan debounce (default 1,5 detik).
- Pengindeksan ulang otomatis: indeks dibuat ulang secara otomatis ketika penyedia embedding, model, konfigurasi pemotongan, sumber yang dikonfigurasi, atau cakupan berubah.
- Pengindeksan ulang sesuai permintaan:
openclaw memory index --force
Anda juga dapat mengindeks berkas Markdown di luar ruang kerja dengan
memorySearch.extraPaths. Lihat
referensi konfigurasi.Kapan digunakan
Mesin bawaan adalah pilihan yang tepat bagi sebagian besar pengguna:- Langsung berfungsi tanpa dependensi tambahan.
- Menangani pencarian kata kunci dan vektor dengan baik.
- Mendukung semua penyedia embedding.
- Pencarian hibrida menggabungkan keunggulan kedua pendekatan pengambilan.
Pemecahan masalah
Pencarian memori dinonaktifkan? Periksaopenclaw memory status. Jika tidak ada
penyedia yang terdeteksi, tetapkan penyedia secara eksplisit atau tambahkan kunci API.
Penyedia lokal tidak terdeteksi? Pastikan jalur lokal tersedia dan jalankan:
local yang sama.
Atur memorySearch.provider: "local" saat Anda ingin menggunakan embedding lokal.
Hasil usang? Jalankan openclaw memory index --force untuk membuat ulang indeks.
Pemantau mungkin melewatkan perubahan dalam kasus langka tertentu.
sqlite-vec tidak dimuat? OpenClaw secara otomatis beralih ke kemiripan kosinus
dalam proses. openclaw memory status --deep melaporkan penyimpanan vektor lokal
secara terpisah dari penyedia embedding, sehingga Vector store: unavailable menunjukkan masalah pemuatan sqlite-vec, sedangkan Embeddings: unavailable
menunjukkan masalah kesiapan penyedia/autentikasi atau model. Periksa log untuk melihat
kesalahan pemuatan spesifik.