Sağladıkları
- Anahtar kelime araması, FTS5 tam metin dizinleme (BM25 puanlaması) aracılığıyla.
- Vektör araması, desteklenen herhangi bir sağlayıcının gömmeleri aracılığıyla.
- Hibrit arama, en iyi sonuçlar için ikisini birleştirir.
- CJK desteği, Çince, Japonca ve Korece için trigram tokenleştirme aracılığıyla.
- sqlite-vec hızlandırması, veritabanı içi vektör sorguları için (isteğe bağlı).
Başlarken
Yerleşik motor varsayılan olarak OpenAI gömmelerini kullanır.OPENAI_API_KEY veya
models.providers.openai.apiKey zaten yapılandırılmışsa vektör araması,
ek bellek yapılandırması olmadan çalışır.
Bir sağlayıcıyı açıkça ayarlamak için:
local.modelPath öğesini bir GGUF dosyasına yönlendirin:
Desteklenen gömme sağlayıcıları
OpenAI’dan geçiş yapmak için
memory.search.provider öğesini ayarlayın.
Dizinleme nasıl çalışır?
OpenClaw,MEMORY.md ve memory/*.md öğelerini parçalara (varsayılan olarak
80 token çakışmalı 400 token) ayırarak dizinler ve bunları ajan başına bir SQLite veritabanında depolar.
- Dizin konumu: sahibi olan ajan veritabanında:
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - Depolama bakımı: SQLite WAL yan dosyaları, periyodik ve kapatma sırasındaki kontrol noktalarıyla sınırlandırılır.
- Dosya izleme: bellek dosyalarındaki değişiklikler, gecikmeli bir yeniden dizinlemeyi tetikler (varsayılan 1.5s).
- Otomatik yeniden dizinleme: gömme sağlayıcısı, model, parçalama yapılandırması, yapılandırılmış kaynaklar veya kapsam değiştiğinde dizin otomatik olarak yeniden oluşturulur.
- İstek üzerine yeniden dizinleme:
openclaw memory index --force
Çalışma alanı dışındaki Markdown dosyalarını da
memory.search.extraPaths ile dizinleyebilirsiniz. Bkz.
yapılandırma referansı.Ne zaman kullanılmalı?
Yerleşik motor çoğu kullanıcı için doğru seçimdir:- Ek bağımlılık gerektirmeden kullanıma hazır çalışır.
- Anahtar kelime ve vektör aramasını iyi yönetir.
- Tüm gömme sağlayıcılarını destekler.
- Hibrit arama, her iki getirme yaklaşımının en iyi yönlerini birleştirir.
Sorun giderme
Bellek araması devre dışı mı?openclaw memory status öğesini kontrol edin. Sağlayıcı
algılanmazsa açıkça bir tane ayarlayın veya bir API anahtarı ekleyin.
Yerel sağlayıcı algılanmıyor mu? Yerel yolun mevcut olduğunu doğrulayın ve şunları çalıştırın:
local sağlayıcı kimliğini kullanır.
Yerel gömmeler istediğinizde memory.search.provider: "local" öğesini ayarlayın.
Sonuçlar güncel değil mi? Yeniden oluşturmak için openclaw memory index --force komutunu çalıştırın. İzleyici,
nadir uç durumlarda değişiklikleri kaçırabilir.
sqlite-vec yüklenmiyor mu? OpenClaw otomatik olarak işlem içi kosinüs
benzerliğine geri döner. openclaw memory status --deep, yerel
vektör deposunu gömme sağlayıcısından ayrı olarak bildirir; bu nedenle Vector store: unavailable, sqlite-vec yüklemesini, Embeddings: unavailable ise
sağlayıcı/kimlik doğrulama veya model hazırlığını gösterir. Belirli yükleme
hatası için günlükleri kontrol edin.