Hızlı başlangıç
Güvenli varsayılan kurulum için bunuopenclaw.json içine yapıştırın — Plugin
açık, main aracısıyla sınırlı, yalnızca doğrudan mesaj oturumları, mümkün
olduğunda oturum modelini devralır:
plugins.entries.active-memory.enabled: truePlugin’i açarconfig.agents: ["main"]yalnızcamainaracını Active Memory’ye dahil ederconfig.allowedChatTypes: ["direct"]bunu doğrudan mesaj oturumlarıyla sınırlar (grupları/kanalları açıkça dahil edin)config.model(isteğe bağlı) özel bir geri çağırma modelini sabitler; ayarlanmazsa geçerli oturum modelini devralırconfig.modelFallbackyalnızca açıkça belirtilmiş veya devralınmış bir model çözümlenmediğinde kullanılırconfig.promptStyle: "balanced"recentmodu için varsayılandır- Active Memory yine de yalnızca uygun etkileşimli kalıcı sohbet oturumlarında çalışır
Hız önerileri
En basit kurulum,config.model değerini ayarlamamak ve Active Memory’nin
normal yanıtlar için zaten kullandığınız aynı modeli kullanmasına izin vermektir.
Bu en güvenli varsayılandır, çünkü mevcut sağlayıcı, kimlik doğrulama ve model
tercihlerinizi izler.
Active Memory’nin daha hızlı hissettirmesini istiyorsanız, ana sohbet modelini
ödünç almak yerine özel bir çıkarım modeli kullanın. Geri çağırma kalitesi
önemlidir, ancak gecikme ana yanıt yoluna göre daha önemlidir ve Active
Memory’nin araç yüzeyi dardır (yalnızca kullanılabilir bellek geri çağırma
araçlarını çağırır).
İyi hızlı model seçenekleri:
- özel düşük gecikmeli geri çağırma modeli için
cerebras/gpt-oss-120b - birincil sohbet modelinizi değiştirmeden düşük gecikmeli yedek olarak
google/gemini-3-flash config.modeldeğerini ayarlamayarak normal oturum modeliniz
Cerebras kurulumu
Bir Cerebras sağlayıcısı ekleyin ve Active Memory’yi ona yönlendirin:chat/completions
erişimine sahip olduğundan emin olun — yalnızca /v1/models görünürlüğü bunu
garanti etmez.
Nasıl görülür
Active Memory, model için gizli ve güvenilmeyen bir istem öneki enjekte eder. Normal istemcinin görebildiği yanıtta ham<active_memory_plugin>...</active_memory_plugin> etiketlerini göstermez.
Oturum anahtarı
Yapılandırmayı düzenlemeden geçerli sohbet oturumu için Active Memory’yi duraklatmak veya sürdürmek istediğinizde Plugin komutunu kullanın:plugins.entries.active-memory.enabled, aracı hedefleme
veya diğer genel yapılandırmayı değiştirmez.
Komutun yapılandırmaya yazmasını ve tüm oturumlar için Active Memory’yi
duraklatmasını veya sürdürmesini istiyorsanız, açık genel biçimi kullanın:
plugins.entries.active-memory.config.enabled değerini yazar.
Komutun daha sonra Active Memory’yi tekrar açabilmesi için
plugins.entries.active-memory.enabled açık kalır.
Canlı bir oturumda Active Memory’nin ne yaptığını görmek istiyorsanız, istediğiniz
çıktıyla eşleşen oturum anahtarlarını açın:
/verbose onolduğundaActive Memory: status=ok elapsed=842ms query=recent summary=34 charsgibi bir Active Memory durum satırı/trace onolduğundaActive Memory Debug: Lemon pepper wings with blue cheese.gibi okunabilir bir hata ayıklama özeti
/trace raw özelliğini de etkinleştirirseniz, izlenen Model Input (User Role)
bloğu gizli Active Memory önekini şöyle gösterir:
Ne zaman çalışır
Active Memory iki kapı kullanır:- Yapılandırma ile dahil etme
Plugin etkin olmalı ve geçerli aracı kimliği
plugins.entries.active-memory.config.agentsiçinde görünmelidir. - Sıkı çalışma zamanı uygunluğu Etkinleştirilmiş ve hedeflenmiş olsa bile Active Memory yalnızca uygun etkileşimli kalıcı sohbet oturumlarında çalışır.
Oturum türleri
config.allowedChatTypes, hangi tür konuşmaların Active Memory’yi çalıştırıp
çalıştıramayacağını denetler.
Varsayılan değer şudur:
config.allowedChatIds ve config.deniedChatIds kullanın.
allowedChatIds, çözümlenen konuşma kimliklerinden oluşan açık bir izin
listesidir. Boş olmadığında Active Memory yalnızca oturumun konuşma kimliği bu
listede olduğunda çalışır. Bu, doğrudan mesajlar dahil olmak üzere izin verilen
her sohbet türünü bir kerede daraltır. Tüm doğrudan mesajları ve yalnızca belirli
grupları istiyorsanız, doğrudan eş kimliklerini allowedChatIds içine ekleyin
veya allowedChatTypes değerini test ettiğiniz grup/kanal dağıtımına odaklı
tutun.
deniedChatIds açık bir ret listesidir. Her zaman allowedChatTypes ve
allowedChatIds üzerinde önceliklidir; bu nedenle eşleşen bir konuşma, oturum
türü başka türlü izinli olsa bile atlanır.
Kimlikler kalıcı kanal oturumu anahtarından gelir: örneğin Feishu chat_id /
open_id, Telegram sohbet kimliği veya Slack kanal kimliği. Eşleştirme
büyük/küçük harfe duyarsızdır. allowedChatIds boş değilse ve OpenClaw oturum
için bir konuşma kimliği çözemiyorsa, Active Memory tahmin etmek yerine turu
atlar.
Örnek:
Nerede çalışır
Active Memory, platform genelinde bir çıkarım özelliği değil, konuşmaya yönelik bir zenginleştirme özelliğidir.| Yüzey | Active Memory çalışır mı? |
|---|---|
| Control UI / web sohbet kalıcı oturumları | Evet, Plugin etkinse ve aracı hedeflenmişse |
| Aynı kalıcı sohbet yolundaki diğer etkileşimli kanal oturumları | Evet, Plugin etkinse ve aracı hedeflenmişse |
| Başsız tek seferlik çalıştırmalar | Hayır |
| Heartbeat/arka plan çalıştırmaları | Hayır |
Genel dahili agent-command yolları | Hayır |
| Alt aracı/dahili yardımcı yürütme | Hayır |
Neden kullanılmalı
Active Memory’yi şu durumlarda kullanın:- oturum kalıcı ve kullanıcıya dönük olduğunda
- aracının aranacak anlamlı uzun vadeli belleği olduğunda
- süreklilik ve kişiselleştirme, ham istem belirleyiciliğinden daha önemli olduğunda
- kararlı tercihler
- yinelenen alışkanlıklar
- doğal biçimde yüzeye çıkması gereken uzun vadeli kullanıcı bağlamı
- otomasyon
- dahili çalışanlar
- tek seferlik API görevleri
- gizli kişiselleştirmenin şaşırtıcı olacağı yerler
Nasıl çalışır
Çalışma zamanı biçimi şudur: Engelleyici bellek alt aracısı yalnızca yapılandırılmış bellek geri çağırma araçlarını kullanabilir. Varsayılan olarak bunlar şunlardır:memory_searchmemory_get
plugins.slots.memory değeri memory-lancedb olduğunda, bunun yerine varsayılan
memory_recall olur. Başka bir bellek sağlayıcısı farklı bir geri çağırma aracı
sözleşmesi sunuyorsa config.toolsAllow değerini ayarlayın.
Bağlantı zayıfsa NONE döndürmelidir.
Sorgu modları
config.queryMode, engelleyici bellek alt aracısının konuşmanın ne kadarını
göreceğini denetler. Takip sorularını hâlâ iyi yanıtlayan en küçük modu seçin;
zaman aşımı bütçeleri bağlam boyutuyla birlikte büyümelidir (message <
recent < full).
- message
- recent
- full
Yalnızca en son kullanıcı mesajı gönderilir.Bunu şu durumlarda kullanın:
- en hızlı davranışı istediğinizde
- kararlı tercih geri çağırmasına yönelik en güçlü önyargıyı istediğinizde
- takip turları konuşma bağlamına ihtiyaç duymadığında
config.timeoutMs için yaklaşık 3000 ila 5000 ms ile başlayın.İstem stilleri
config.promptStyle, bellek döndürüp döndürmemeye karar verirken engelleyici bellek alt ajanının ne kadar istekli veya katı olacağını denetler.
Kullanılabilir stiller:
balanced:recentmodu için genel amaçlı varsayılanstrict: en az istekli; yakın bağlamdan çok az sızıntı istediğinizde en iyisicontextual: sürekliliğe en uygun; konuşma geçmişinin daha fazla önem taşıması gerektiğinde en iyisirecall-heavy: daha yumuşak ama yine de makul eşleşmelerde belleği ortaya çıkarmaya daha isteklidirprecision-heavy: eşleşme belirgin olmadıkça agresif biçimdeNONEtercih ederpreference-only: favoriler, alışkanlıklar, rutinler, zevkler ve yinelenen kişisel bilgiler için optimize edilmiştir
config.promptStyle ayarlanmadığında varsayılan eşleme:
config.promptStyle değerini açıkça ayarlarsanız, bu geçersiz kılma kazanır.
Örnek:
Model yedekleme ilkesi
config.model ayarlanmamışsa, Active Memory modeli şu sırayla çözümlemeye çalışır:
config.modelFallback, yapılandırılmış yedekleme adımını denetler.
İsteğe bağlı özel yedekleme:
config.modelFallbackPolicy, yalnızca eski yapılandırmalar için kullanımdan kaldırılmış bir uyumluluk
alanı olarak tutulur. Artık çalışma zamanı davranışını değiştirmez.
Bellek araçları
Varsayılan olarak Active Memory, engelleyici geri çağırma alt ajanınınmemory_search ve memory_get çağırmasına izin verir. Bu, yerleşik memory-core
sözleşmesiyle eşleşir. plugins.slots.memory, memory-lancedb seçtiğinde ve
config.toolsAllow ayarlanmamışsa, Active Memory mevcut LanceDB davranışını korur
ve bunun yerine memory_recall kullanır.
Başka bir bellek Plugin kullanıyorsanız, config.toolsAllow değerini o Plugin tarafından kaydedilen tam araç
adlarına ayarlayın. Active Memory bu araçları geri çağırma
isteminde listeler ve aynı listeyi gömülü alt ajana iletir. Yapılandırılmış
araçların hiçbiri kullanılabilir değilse veya bellek alt ajanı başarısız olursa, Active Memory
o tur için geri çağırmayı atlar ve ana yanıt bellek bağlamı olmadan devam eder.
Özel geri çağırma araçları için, yapılandırılmış sonuç alanları açıkça boş sonuç veya
başarısızlık bildirmedikçe, boş olmayan ve modelin görebildiği araç çıktısı geri çağırma
kanıtı sayılır.
toolsAllow yalnızca somut bellek aracı adlarını kabul eder. Joker karakterler, group:*
girdileri ve read, exec, message ve
web_search gibi çekirdek ajan araçları, gizli bellek alt ajanı başlamadan önce yok sayılır.
Varsayılan davranış notu: Active Memory artık
memory-core varsayılan izin listesine memory_recall eklemez. Mevcut memory-lancedb kurulumları,
plugins.slots.memory memory-lancedb olarak ayarlandığında çalışmaya devam eder. Açık toolsAllow
her zaman otomatik varsayılanı geçersiz kılar.
Yerleşik memory-core
Varsayılan kurulum açık birtoolsAllow gerektirmez:
LanceDB belleği
Paketlenmişmemory-lancedb Plugin, memory_recall sunar. Bellek
yuvasını seçmek, Active Memory’nin bu geri çağırma aracını kullanması için yeterlidir:
Lossless Claw
Lossless Claw, kendi geri çağırma araçlarına sahip bir bağlam motoru Plugin’dir. Önce onu bir bağlam motoru olarak kurun ve yapılandırın; bkz. Bağlam motoru. Ardından Active Memory’nin Lossless Claw geri çağırma araçlarını kullanmasına izin verin:toolsAllow içine lcm_expand eklemeyin.
Lossless Claw bunu daha düşük düzeyli devredilmiş genişletme aracı olarak kullanır.
Gelişmiş kaçış seçenekleri
Bu seçenekler kasıtlı olarak önerilen kurulumun parçası değildir.config.thinking, engelleyici bellek alt ajanının düşünme düzeyini geçersiz kılabilir:
config.promptAppend, varsayılan Active
Memory isteminden sonra ve konuşma bağlamından önce ek operatör yönergeleri ekler:
toolsAllow ile promptAppend kullanın.
config.promptOverride, varsayılan Active Memory isteminin yerine geçer. OpenClaw
yine de konuşma bağlamını sonrasına ekler:
NONE
ya da kompakt kullanıcı bilgisi bağlamı döndürecek şekilde ayarlanmıştır.
Transkript kalıcılığı
Active Memory engelleyici bellek alt ajanı çalıştırmaları, engelleyici bellek alt ajanı çağrısı sırasında gerçek birsession.jsonl
transkripti oluşturur.
Varsayılan olarak bu transkript geçicidir:
- geçici bir dizine yazılır
- yalnızca engelleyici bellek alt ajanı çalıştırması için kullanılır
- çalıştırma biter bitmez silinir
config.transcriptDir ile değiştirebilirsiniz.
Bunu dikkatli kullanın:
- engelleyici bellek alt ajanı transkriptleri yoğun oturumlarda hızla birikebilir
fullsorgu modu çok fazla konuşma bağlamını çoğaltabilir- bu transkriptler gizli istem bağlamı ve geri çağrılan bellekler içerir
Yapılandırma
Tüm active memory yapılandırması şunun altında bulunur:| Anahtar | Tür | Anlam |
|---|---|---|
enabled | boolean | Plugin’in kendisini etkinleştirir |
config.agents | string[] | Active Memory kullanabilecek ajan kimlikleri |
config.model | string | İsteğe bağlı engelleyici bellek alt ajanı model ref’i; ayarlanmadığında Active Memory geçerli oturum modelini kullanır |
config.allowedChatTypes | ("direct" | "group" | "channel")[] | Active Memory çalıştırabilecek oturum türleri; varsayılan olarak doğrudan mesaj tarzı oturumlara ayarlanır |
config.allowedChatIds | string[] | allowedChatTypes sonrasında uygulanan isteğe bağlı konuşma başına izin listesi; boş olmayan listeler kapalı hata verir |
config.deniedChatIds | string[] | İzin verilen oturum türlerini ve izin verilen kimlikleri geçersiz kılan isteğe bağlı konuşma başına engelleme listesi |
config.queryMode | "message" | "recent" | "full" | Engelleyici bellek alt ajanının konuşmanın ne kadarını göreceğini denetler |
config.promptStyle | "balanced" | "strict" | "contextual" | "recall-heavy" | "precision-heavy" | "preference-only" | Engelleyici bellek alt ajanının bellek döndürüp döndürmemeye karar verirken ne kadar istekli veya katı olacağını denetler |
config.toolsAllow | string[] | Engelleyici bellek alt ajanının çağırabileceği somut bellek aracı adları; varsayılan olarak ["memory_search", "memory_get"], ya da plugins.slots.memory memory-lancedb olduğunda ["memory_recall"] kullanılır; jokerler, group:* girdileri ve çekirdek ajan araçları yok sayılır |
config.thinking | "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "adaptive" | "max" | Engelleyici bellek alt ajanı için gelişmiş düşünme geçersiz kılması; hız için varsayılan off |
config.promptOverride | string | Gelişmiş tam istem değiştirme; normal kullanım için önerilmez |
config.promptAppend | string | Varsayılan veya geçersiz kılınmış isteme eklenen gelişmiş ek talimatlar |
config.timeoutMs | number | Engelleyici bellek alt ajanı için katı zaman aşımı, 120000 ms ile sınırlıdır |
config.setupGraceTimeoutMs | number | Geri çağırma zaman aşımı dolmadan önceki gelişmiş ek kurulum bütçesi; varsayılanı 0’dır ve 30000 ms ile sınırlıdır. v2026.4.x yükseltme rehberi için Soğuk başlatma ek süresi bölümüne bakın |
config.maxSummaryChars | number | Active Memory özetinde izin verilen en fazla toplam karakter sayısı |
config.logging | boolean | Ayarlama sırasında Active Memory günlükleri yayar |
config.persistTranscripts | boolean | Geçici dosyaları silmek yerine engelleyici bellek alt ajanı transkriptlerini diskte tutar |
config.transcriptDir | string | Ajan oturumları klasörü altında göreli engelleyici bellek alt ajanı transkript dizini |
| Anahtar | Tür | Anlam |
|---|---|---|
config.maxSummaryChars | number | Active Memory özetinde izin verilen en fazla toplam karakter sayısı |
config.recentUserTurns | number | queryMode recent olduğunda dahil edilecek önceki kullanıcı dönüşleri |
config.recentAssistantTurns | number | queryMode recent olduğunda dahil edilecek önceki asistan dönüşleri |
config.recentUserChars | number | Son kullanıcı dönüşü başına en fazla karakter |
config.recentAssistantChars | number | Son asistan dönüşü başına en fazla karakter |
config.cacheTtlMs | number | Yinelenen aynı sorgular için önbellek yeniden kullanımı (aralık: 1000-120000 ms; varsayılan: 15000) |
config.circuitBreakerMaxTimeouts | number | Aynı ajan/model için bu kadar ardışık zaman aşımından sonra geri çağırmayı atla. Başarılı bir geri çağırmada veya bekleme süresi dolduktan sonra sıfırlanır (aralık: 1-20; varsayılan: 3). |
config.circuitBreakerCooldownMs | number | Devre kesici tetiklendikten sonra geri çağırmanın ms cinsinden ne kadar süreyle atlanacağı (aralık: 5000-600000; varsayılan: 60000). |
Önerilen kurulum
recent ile başlayın.
/verbose on ve
active-memory hata ayıklama özeti için /trace on kullanın. Sohbet kanallarında
bu tanılama satırları ana asistan yanıtından önce değil sonra gönderilir.
Ardından şuna geçin:
- Daha düşük gecikme istiyorsanız
message - Ek bağlamın daha yavaş engelleyici bellek alt ajanına değeceğine karar verirseniz
full
Soğuk başlatma ek süresi
v2026.5.2 öncesinde Plugin, soğuk başlatma sırasında yapılandırılmıştimeoutMs değerinizi sessizce ek 30000 ms uzatıyordu; böylece model ısınması,
embedding-index yüklemesi ve ilk geri çağırma daha büyük tek bir bütçeyi
paylaşabiliyordu. v2026.5.2 bu ek süreyi açık bir setupGraceTimeoutMs
yapılandırmasının arkasına taşıdı — siz dahil olmayı seçmediğiniz sürece
yapılandırılmış timeoutMs değeri artık varsayılan olarak geri çağırma işi
bütçesidir. Engelleyici hook bu bütçenin çevresinde iki sınırlı aşama kullanır:
geri çağırma başlamadan önce oturum/yapılandırma ön denetimi için en fazla
1500 ms, ardından geri çağırma işi durduktan sonra iptal uzlaşması ve transkript
kurtarma için ayrı sabit 1500 ms. Hiçbir tolerans model veya araç yürütmesini
uzatmaz.
v2026.4.x sürümünden yükselttiyseniz ve timeoutMs değerini eski örtük ek süre
dünyasına göre ayarlanmış bir değere ayarladıysanız (önerilen başlangıç
timeoutMs: 15000 buna bir örnektir), istem oluşturma hook’unu ve dış watchdog
bütçelerini v5.2 öncesi etkin değerlere geri uzatmak için
setupGraceTimeoutMs: 30000 ayarlayın:
timeoutMs + setupGraceTimeoutMs + 3000 ms’dir.
Gömülü recall çalıştırıcısı aynı etkili zaman aşımı bütçesini kullanır; bu yüzden
setupGraceTimeoutMs hem dış prompt oluşturma watchdog’unu hem de içteki
engelleyen recall çalıştırmasını kapsar. Preflight sınırı, bu bütçe başlamadan
önceki oturum/yapılandırma kontrollerini kapsar. Recall sonrası izin, dış hook’un
iptal temizliğini tamamlamasına ve son transcript durumunu okumasına olanak tanır.
Soğuk başlatma gecikmesinin bilinen bir ödünleşim olduğu kaynak açısından kısıtlı
Gateway’lerde daha düşük değerler (5000-15000 ms) de çalışır; ödünleşim, Gateway
yeniden başlatıldıktan sonraki ilk recall’ın, ısınma tamamlanırken boş dönme
olasılığının daha yüksek olmasıdır.
Hata Ayıklama
Active Memory beklediğiniz yerde görünmüyorsa:- Plugin’in
plugins.entries.active-memory.enabledaltında etkin olduğunu doğrulayın. - Geçerli agent id’sinin
config.agentsiçinde listelendiğini doğrulayın. - Etkileşimli kalıcı bir sohbet oturumu üzerinden test ettiğinizi doğrulayın.
config.logging: trueayarını açın ve Gateway günlüklerini izleyin.- Bellek aramanın kendisinin
openclaw memory status --deepile çalıştığını doğrulayın.
maxSummaryChars
queryModedeğerini düşürüntimeoutMsdeğerini düşürün- son tur sayılarını azaltın
- tur başına karakter sınırlarını azaltın
Yaygın Sorunlar
Active Memory, yapılandırılmış bellek Plugin’inin recall hattını kullanır; bu nedenle çoğu recall sürprizi Active Memory hatası değil, embedding provider sorunudur. Varsayılanmemory-core yolu memory_search ve memory_get kullanır;
memory-lancedb yuvası memory_recall kullanır. Başka bir bellek Plugin’i
kullanıyorsanız, config.toolsAllow değerinin o Plugin’in gerçekten kaydettiği
araçları adlandırdığını doğrulayın.
Embedding provider değişti veya çalışmayı durdurdu
Embedding provider değişti veya çalışmayı durdurdu
memorySearch.provider ayarlanmamışsa OpenClaw OpenAI embedding’lerini kullanır.
Yerel, Ollama, Gemini, Voyage, Mistral, DeepInfra, Bedrock, GitHub Copilot
veya OpenAI uyumlu embedding’ler için memorySearch.provider değerini açıkça
ayarlayın. Yapılandırılmış provider çalışamıyorsa memory_search yalnızca
sözcüksel getirmeye düşebilir; provider zaten seçildikten sonraki çalışma
zamanı hataları otomatik olarak geri dönüş yapmaz.Bilinçli tek bir geri dönüş istediğinizde isteğe bağlı memorySearch.fallback
ayarını yapın. Provider’ların tam listesi ve örnekler için
Bellek Arama sayfasına bakın.Recall yavaş, boş veya tutarsız geliyor
Recall yavaş, boş veya tutarsız geliyor
- Oturumda Plugin’e ait Active Memory hata ayıklama özetini göstermek için
/trace onkomutunu açın. - Her yanıttan sonra
🧩 Active Memory: ...durum satırını da görmek için/verbose onkomutunu açın. - Gateway günlüklerinde
active-memory: ... start|done,memory sync failed (search-bootstrap)veya provider embedding hatalarını izleyin. - Bellek arama arka ucunu ve dizin sağlığını incelemek için
openclaw memory status --deepkomutunu çalıştırın. ollamakullanıyorsanız embedding modelinin kurulu olduğunu doğrulayın (ollama list).
Gateway yeniden başlatıldıktan sonraki ilk recall `status=timeout` döndürüyor
Gateway yeniden başlatıldıktan sonraki ilk recall `status=timeout` döndürüyor
v2026.5.2 ve sonrasında, ilk recall tetiklendiğinde soğuk başlatma kurulumu
(model ısınması + embedding dizini yükleme) tamamlanmamışsa, çalıştırma
yapılandırılmış
timeoutMs bütçesine takılıp boş çıktı ile status=timeout
döndürebilir. Gateway günlükleri, yeniden başlatmadan sonraki ilk uygun yanıt
civarında active-memory timeout after Nms gösterir.Önerilen setupGraceTimeoutMs değeri için Önerilen kurulum altındaki
Soğuk başlatma toleransı bölümüne bakın.