Ana içeriğe atla

Bellek Araması

memory_search, ifade biçimi özgün metinden farklı olsa bile bellek dosyalarınızdan ilgili notları bulur. Bunu, belleği küçük parçalara ayırarak dizinleyip gömmeler, anahtar kelimeler ya da her ikisini kullanarak arayarak yapar.

Hızlı başlangıç

Yapılandırılmış bir OpenAI, Gemini, Voyage veya Mistral API anahtarınız varsa bellek araması otomatik olarak çalışır. Bir sağlayıcıyı açıkça ayarlamak için:
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai", // veya "gemini", "local", "ollama" vb.
      },
    },
  },
}
API anahtarı olmadan yerel gömmeler için provider: "local" kullanın (node-llama-cpp gerektirir).

Desteklenen sağlayıcılar

SağlayıcıKimlikAPI anahtarı gerekirNotlar
OpenAIopenaiEvetOtomatik algılanır, hızlı
GeminigeminiEvetGörsel/ses dizinlemeyi destekler
VoyagevoyageEvetOtomatik algılanır
MistralmistralEvetOtomatik algılanır
BedrockbedrockHayırAWS kimlik bilgisi zinciri çözümlendiğinde otomatik algılanır
OllamaollamaHayırYerel, açıkça ayarlanmalıdır
LocallocalHayırGGUF model, ~0.6 GB indirme

Arama nasıl çalışır

OpenClaw iki erişim yolunu paralel olarak çalıştırır ve sonuçları birleştirir:
  • Vektör araması, benzer anlama sahip notları bulur (“gateway host”, “OpenClaw çalıştıran makine” ile eşleşir).
  • BM25 anahtar kelime araması, tam eşleşmeleri bulur (kimlikler, hata dizeleri, yapılandırma anahtarları).
Yalnızca bir yol kullanılabiliyorsa (gömme yoksa veya FTS yoksa), diğeri tek başına çalışır.

Arama kalitesini iyileştirme

Büyük bir not geçmişiniz varsa iki isteğe bağlı özellik yardımcı olur:

Zamansal azalma

Eski notlar sıralama ağırlığını kademeli olarak kaybeder, böylece son bilgiler önce görünür. Varsayılan 30 günlük yarı ömürle, geçen aydan bir not özgün ağırlığının %50’siyle puanlanır. MEMORY.md gibi her zaman geçerli dosyalar hiçbir zaman azaltılmaz.
Aracınızın aylarca günlük notu varsa ve eski bilgiler sürekli son bağlamın önüne geçiyorsa zamansal azalmayı etkinleştirin.

MMR (çeşitlilik)

Tekrarlayan sonuçları azaltır. Beş notun hepsi aynı yönlendirici yapılandırmasından söz ediyorsa MMR, en üstteki sonuçların tekrar etmek yerine farklı konuları kapsamasını sağlar.
memory_search, farklı günlük notlardan birbirine çok benzeyen parçaları sürekli döndürüyorsa MMR’yi etkinleştirin.

İkisini de etkinleştirme

{
  agents: {
    defaults: {
      memorySearch: {
        query: {
          hybrid: {
            mmr: { enabled: true },
            temporalDecay: { enabled: true },
          },
        },
      },
    },
  },
}

Çok kipli bellek

Gemini Embedding 2 ile görselleri ve ses dosyalarını Markdown ile birlikte dizinleyebilirsiniz. Arama sorguları metin olarak kalır, ancak görsel ve ses içeriğiyle eşleşir. Kurulum için Bellek yapılandırma başvurusu bölümüne bakın.

Oturum belleği araması

İsteğe bağlı olarak oturum dökümlerini dizinleyebilirsiniz; böylece memory_search önceki konuşmaları hatırlayabilir. Bu özellik memorySearch.experimental.sessionMemory üzerinden isteğe bağlı olarak etkinleştirilir. Ayrıntılar için yapılandırma başvurusu bölümüne bakın.

Sorun giderme

Sonuç yok mu? Dizini kontrol etmek için openclaw memory status çalıştırın. Boşsa openclaw memory index --force çalıştırın. Yalnızca anahtar kelime eşleşmeleri mi var? Gömme sağlayıcınız yapılandırılmamış olabilir. openclaw memory status --deep ile kontrol edin. CJK metni bulunamıyor mu? FTS dizinini openclaw memory index --force ile yeniden oluşturun.

Daha fazla bilgi