QMD Bellek Motoru
QMD, OpenClaw ile birlikte çalışan yerel öncelikli bir arama yardımcı hizmetidir. BM25, vektör araması ve yeniden sıralamayı tek bir ikili dosyada birleştirir ve çalışma alanı bellek dosyalarınızın ötesindeki içeriği de dizinleyebilir.Yerleşik olana göre ne ekler
- Daha iyi geri çağırma için yeniden sıralama ve sorgu genişletme.
- Ek dizinleri dizinleme — proje belgeleri, ekip notları, diskteki her şey.
- Oturum transkriptlerini dizinleme — önceki konuşmaları geri çağırın.
- Tamamen yerel — Bun + node-llama-cpp ile çalışır, GGUF modellerini otomatik indirir.
- Otomatik geri dönüş — QMD kullanılamıyorsa OpenClaw sorunsuz şekilde yerleşik motora geri döner.
Başlarken
Önkoşullar
- QMD’yi yükleyin:
npm install -g @tobilu/qmdveyabun install -g @tobilu/qmd - Uzantılara izin veren SQLite derlemesi (
brew install sqlitemacOS’ta). - QMD, ağ geçidinin
PATHdeğişkeninde olmalıdır. - macOS ve Linux kutudan çıktığı gibi çalışır. Windows en iyi WSL2 üzerinden desteklenir.
Etkinleştirme
~/.openclaw/agents/<agentId>/qmd/ altında bağımsız bir QMD ana dizini oluşturur ve yardımcı hizmetin yaşam döngüsünü
otomatik olarak yönetir — koleksiyonlar, güncellemeler ve gömme çalıştırmaları sizin için işlenir.
Güncel QMD koleksiyonu ve MCP sorgu biçimlerini tercih eder, ancak gerektiğinde
eski --mask koleksiyon işaretlerine ve daha eski MCP araç adlarına yine de geri döner.
Yardımcı hizmet nasıl çalışır
- OpenClaw, çalışma alanı bellek dosyalarınızdan ve yapılandırılmış
memory.qmd.pathsgirdilerinden koleksiyonlar oluşturur, ardından açılışta ve düzenli aralıklarla (varsayılan olarak her 5 dakikada bir)qmd update+qmd embedçalıştırır. - Açılış yenilemesi arka planda çalışır, bu nedenle sohbet başlangıcı engellenmez.
- Aramalar yapılandırılmış
searchModekullanır (varsayılan:search; ayrıcavsearchvequeryde desteklenir). Bir mod başarısız olursa OpenClawqmd queryile yeniden dener. - QMD tamamen başarısız olursa OpenClaw yerleşik SQLite motoruna geri döner.
İlk arama yavaş olabilir — QMD, ilk
qmd query çalıştırmasında
yeniden sıralama ve sorgu genişletme için GGUF modellerini (~2 GB) otomatik olarak indirir.Model geçersiz kılmaları
QMD model ortam değişkenleri ağ geçidi işleminden değiştirilmeden geçirilir, böylece yeni OpenClaw yapılandırması eklemeden QMD’yi genel olarak ayarlayabilirsiniz:Ek yolları dizinleme
Ek dizinleri aranabilir yapmak için QMD’yi onlara yönlendirin:qmd/<collection>/<relative-path> olarak görünür. memory_get bu öneki anlar ve doğru
koleksiyon kökünden okur.
Oturum transkriptlerini dizinleme
Önceki konuşmaları geri çağırmak için oturum dizinlemeyi etkinleştirin:~/.openclaw/agents/<id>/qmd/sessions/ altındaki özel bir QMD koleksiyonuna dışa aktarılır.
Arama kapsamı
Varsayılan olarak, QMD arama sonuçları yalnızca DM oturumlarında gösterilir (gruplarda veya kanallarda değil). Bunu değiştirmek içinmemory.qmd.scope yapılandırın:
Alıntılar
memory.citations değeri auto veya on olduğunda, arama parçacıkları
Source: <path#line> alt bilgisi içerir. Alt bilgiyi çıkarmak ama
yolu dahili olarak aracıya iletmeye devam etmek için memory.citations = "off" ayarlayın.
Ne zaman kullanılmalı
Şunlara ihtiyacınız olduğunda QMD’yi seçin:- Daha yüksek kaliteli sonuçlar için yeniden sıralama.
- Çalışma alanı dışındaki proje belgelerinde veya notlarda arama yapma.
- Geçmiş oturum konuşmalarını geri çağırma.
- API anahtarı gerektirmeyen tamamen yerel arama.
Sorun giderme
QMD bulunamadı mı? İkili dosyanın ağ geçidininPATH değişkeninde olduğundan emin olun. OpenClaw
bir hizmet olarak çalışıyorsa bir sembolik bağ oluşturun:
sudo ln -s ~/.bun/bin/qmd /usr/local/bin/qmd.
İlk arama çok mu yavaş? QMD ilk kullanımda GGUF modellerini indirir. Aynı XDG dizinlerini kullanarak
qmd query "test" ile önceden ısıtın; OpenClaw da bunları kullanır.
Arama zaman aşımına mı uğruyor? memory.qmd.limits.timeoutMs değerini artırın (varsayılan: 4000ms).
Daha yavaş donanımlar için 120000 olarak ayarlayın.
Grup sohbetlerinde sonuçlar boş mu? memory.qmd.scope değerini kontrol edin — varsayılan yalnızca
DM oturumlarına izin verir.
Çalışma alanında görünen geçici depolar ENAMETOOLONG veya bozuk dizinlemeye mi neden oluyor?
QMD geçişi şu anda OpenClaw’ın yerleşik sembolik bağ kurallarından ziyade
temeldeki QMD tarayıcı davranışını izler. QMD, döngü güvenli geçişi veya açık dışlama denetimlerini sunana kadar
geçici monorepo checkout’larını .tmp/ gibi gizli dizinlerde veya dizinlenen QMD köklerinin dışında tutun.
Yapılandırma
Tam yapılandırma yüzeyi (memory.qmd.*), arama modları, güncelleme aralıkları,
kapsam kuralları ve diğer tüm ayarlar için
Bellek yapılandırma başvurusu bölümüne bakın.