Sessions and memory
Yerleşik bellek motoru
Yerleşik motor varsayılan bellek arka ucudur. Bellek dizininizi ajan başına SQLite veritabanında saklar ve başlamak için ek bağımlılık gerektirmez.
Neler sağlar
- FTS5 tam metin dizinleme (BM25 puanlama) ile anahtar sözcük araması.
- Desteklenen herhangi bir sağlayıcıdan gelen gömmeler ile vektör araması.
- En iyi sonuçlar için ikisini birleştiren hibrit arama.
- Çince, Japonca ve Korece için trigram tokenizasyonuyla CJK desteği.
- Veritabanı içi vektör sorguları için sqlite-vec hızlandırması (isteğe bağlı).
Başlarken
Varsayılan olarak yerleşik motor OpenAI gömmelerini kullanır. Zaten
OPENAI_API_KEY veya models.providers.openai.apiKey yapılandırdıysanız,
vektör araması ek bellek yapılandırması olmadan çalışır.
Bir sağlayıcıyı açıkça ayarlamak için:
{ agents: { defaults: { memorySearch: { provider: "openai", }, }, },}Bir gömme sağlayıcısı olmadan yalnızca anahtar sözcük araması kullanılabilir.
Yerel GGUF gömmelerini zorunlu kılmak için resmi llama.cpp sağlayıcı Plugin'ini
kurun, ardından local.modelPath değerini bir GGUF dosyasına yönlendirin:
openclaw plugins install @openclaw/llama-cpp-provider{ agents: { defaults: { memorySearch: { provider: "local", fallback: "none", local: { modelPath: "~/.node-llama-cpp/models/embeddinggemma-300m-qat-Q8_0.gguf", }, }, }, },}Desteklenen gömme sağlayıcıları
| Sağlayıcı | ID | Notlar |
|---|---|---|
| Bedrock | bedrock |
AWS kimlik bilgisi zincirini kullanır |
| DeepInfra | deepinfra |
Varsayılan: BAAI/bge-m3 |
| Gemini | gemini |
Çok modluyu destekler (görüntü + ses) |
| GitHub Copilot | github-copilot |
Copilot aboneliğini kullanır |
| Yerel | local |
@openclaw/llama-cpp-provider |
| Mistral | mistral |
|
| Ollama | ollama |
Yerel/kendi barındırmalı |
| OpenAI | openai |
Varsayılan: text-embedding-3-small |
| OpenAI uyumlu | openai-compatible |
Genel /v1/embeddings uç noktası |
| Voyage | voyage |
OpenAI'dan ayrılmak için memorySearch.provider değerini ayarlayın.
Dizinleme nasıl çalışır
OpenClaw, MEMORY.md ve memory/*.md dosyalarını parçalara (~400 token,
80 token örtüşme ile) dizinler ve ajan başına bir SQLite veritabanında saklar.
- Dizin konumu: sahip olan ajan veritabanı:
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - Depolama bakımı: SQLite WAL yan dosyaları periyodik ve kapanış checkpoint'leriyle sınırlandırılır.
- Dosya izleme: bellek dosyalarındaki değişiklikler gecikmeli yeniden dizinlemeyi tetikler (1,5 sn).
- Otomatik yeniden dizinleme: gömme sağlayıcısı, model veya parçalama yapılandırması değiştiğinde tüm dizin otomatik olarak yeniden oluşturulur.
- İsteğe bağlı yeniden dizinleme:
openclaw memory index --force
Ne zaman kullanılmalı
Yerleşik motor çoğu kullanıcı için doğru seçimdir:
- Ek bağımlılık olmadan kutudan çıktığı gibi çalışır.
- Anahtar sözcük ve vektör aramasını iyi şekilde işler.
- Tüm gömme sağlayıcılarını destekler.
- Hibrit arama, iki getirme yaklaşımının en iyi yönlerini birleştirir.
Yeniden sıralama, sorgu genişletme gerekiyorsa veya çalışma alanı dışındaki dizinleri dizinlemek istiyorsanız QMD seçeneğine geçmeyi düşünün.
Otomatik kullanıcı modelleme ile oturumlar arası bellek istiyorsanız Honcho seçeneğini düşünün.
Sorun giderme
Bellek araması devre dışı mı? openclaw memory status komutunu kontrol edin.
Hiçbir sağlayıcı algılanmazsa, birini açıkça ayarlayın veya bir API anahtarı ekleyin.
Yerel sağlayıcı algılanmıyor mu? Yerel yolun var olduğunu doğrulayın ve şunu çalıştırın:
openclaw memory status --deep --agent mainopenclaw memory index --force --agent mainHem bağımsız CLI komutları hem de Gateway aynı local sağlayıcı kimliğini
kullanır. Yerel gömmeler istediğinizde memorySearch.provider: "local" ayarlayın.
Sonuçlar bayat mı? Yeniden oluşturmak için openclaw memory index --force
çalıştırın. İzleyici nadir uç durumlarda değişiklikleri kaçırabilir.
sqlite-vec yüklenmiyor mu? OpenClaw otomatik olarak süreç 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ı bildirir; bu nedenle Vector store: unavailable
sqlite-vec yüklemesine, Embeddings: unavailable ise sağlayıcı/kimlik doğrulama
veya model hazır olma durumuna işaret eder. Belirli yükleme hatası için günlükleri
kontrol edin.
Yapılandırma
Gömme sağlayıcısı kurulumu, hibrit arama ayarı (ağırlıklar, MMR, zamansal azalma), toplu dizinleme, çok modlu bellek, sqlite-vec, ek yollar ve diğer tüm yapılandırma düğmeleri için Bellek yapılandırması başvurusu bölümüne bakın.