Active Memory, uygun konuşma oturumlarında ana yanıttan önce çalışan, isteğe bağlı ve Plugin’e ait engelleyici bir bellek alt ajanıdır. Çoğu bellek sistemi yetenekli ama tepkisel olduğu için vardır. Ana ajanın bellekte ne zaman arama yapacağına karar vermesine veya kullanıcının “bunu hatırla” ya da “bellekte ara” gibi şeyler söylemesine dayanırlar. O zamana kadar, belleğin yanıtı doğal hissettireceği an çoktan geçmiş olur. Active Memory, ana yanıt oluşturulmadan önce ilgili belleği yüzeye çıkarmak için sisteme sınırlı bir fırsat verir.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Hızlı başlangıç
Güvenli varsayılan kurulum için bunuopenclaw.json içine yapıştırın — Plugin açık, kapsam main ajanıyla sınırlı, yalnızca doğrudan mesaj oturumları, kullanılabilir olduğunda oturum modelini devralır:
plugins.entries.active-memory.enabled: truePlugin’i açarconfig.agents: ["main"]yalnızcamainajanını Active Memory’ye dahil ederconfig.allowedChatTypes: ["direct"]kapsamı 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 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ı için çalışır
Hız önerileri
En basit kurulum,config.model değerini ayarlamadan bırakıp Active Memory’nin normal yanıtlar için zaten kullandığınız 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 ayarlamadan bırakarak normal oturum modeliniz
Cerebras kurulumu
Bir Cerebras sağlayıcısı ekleyin ve Active Memory’yi ona yönlendirin:chat/completions erişimi 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 geçişi
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, ajan hedefleme veya diğer genel yapılandırmaları 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. Daha sonra Active Memory’yi tekrar açmak üzere komut kullanılabilir kalsın diye plugins.entries.active-memory.enabled açık bırakılır.
Active Memory’nin canlı bir oturumda ne yaptığını görmek istiyorsanız, istediğiniz çıktıyla eşleşen oturum geçişlerini 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 seçeneğ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ırmayla dahil etme
Plugin etkin olmalı ve geçerli ajan kimliği
plugins.entries.active-memory.config.agentsiçinde yer almalıdır. - Sıkı çalışma zamanı uygunluğu Etkinleştirilmiş ve hedeflenmiş olsa bile Active Memory yalnızca uygun etkileşimli kalıcı sohbet oturumları için çalışır.
Oturum türleri
config.allowedChatTypes, hangi konuşma türlerinin Active Memory’yi çalıştırabileceğini kontrol eder.
Varsayılan değer şudur:
config.allowedChatIds ve config.deniedChatIds kullanın.
allowedChatIds, çözümlenmiş konuşma kimliklerinden oluşan açık bir izin listesidir. Boş değilse Active Memory yalnızca oturumun konuşma kimliği bu listede olduğunda çalışır. Bu, doğrudan mesajlar dahil her izin verilen sohbet türünü aynı anda daraltır. Tüm doğrudan mesajları ve yalnızca belirli grupları istiyorsanız doğrudan eş kimliklerini allowedChatIds içine ekleyin veya test ettiğiniz grup/kanal kullanıma alımına odaklanmış allowedChatTypes kullanın.
deniedChatIds açık bir ret listesidir. Her zaman allowedChatTypes ve allowedChatIds üzerinde önceliklidir; bu yüzden eşleşen bir konuşma, oturum türü normalde 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 zenginlik katan bir özelliktir.| Yüzey | Active Memory çalıştırır mı? |
|---|---|
| Kontrol UI / web sohbet kalıcı oturumları | Evet, Plugin etkinse ve ajan hedeflenmişse |
| Aynı kalıcı sohbet yolundaki diğer etkileşimli kanal oturumları | Evet, Plugin etkinse ve ajan 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 ajan/dahili yardımcı yürütme | Hayır |
Neden kullanılır
Active Memory’yi şu durumlarda kullanın:- oturum kalıcı ve kullanıcıya dönükse
- ajanın aranacak anlamlı uzun vadeli belleği varsa
- süreklilik ve kişiselleştirme, ham istem determinizminden daha önemliyse
- 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 ajanı 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, memory-lancedb olduğunda varsayılan bunun yerine memory_recall olur. Başka bir bellek sağlayıcısı farklı bir geri çağırma aracı sözleşmesi sunuyorsa config.toolsAllow ayarlayın.
Bağlantı zayıfsa NONE döndürmelidir.
Sorgu modları
config.queryMode, engelleyici bellek alt ajanının konuşmanın ne kadarını gördüğünü kontrol eder. Takip sorularını yine de 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ışı istiyorsanız
- kararlı tercih geri çağırmaya yönelik en güçlü önyargıyı istiyorsanız
- takip turlarının konuşma bağlamına ihtiyacı yoksa
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ındaki bağlamdan çok az sızıntı istediğinizde en iyisicontextual: süreklilik için en uygun; konuşma geçmişinin daha önemli olması gerektiğinde en iyisirecall-heavy: daha zayıf ama yine de makul eşleşmelerde belleği yüzeye çıkarmaya daha yatkınprecision-heavy: eşleşme bariz değilse agresif biçimdeNONEtercih ederpreference-only: favoriler, alışkanlıklar, rutinler, zevkler ve yinelenen kişisel bilgiler için optimize edilmiştir
config.promptStyle ayarlanmamışken varsayılan eşleme:
config.promptStyle açıkça ayarlanırsa, bu geçersiz kılma öncelikli olur.
Örnek:
Model geri dönüş ilkesi
config.model ayarlanmamışsa, Active Memory bir modeli şu sırayla çözümlemeyi dener:
config.modelFallback, yapılandırılmış geri dönüş adımını denetler.
İsteğe bağlı özel geri dönüş:
config.modelFallbackPolicy, eski yapılandırmalar için yalnızca 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’i kullanıyorsanız, config.toolsAllow değerini o Plugin’in
kaydettiği kesin araç adlarına ayarlayın. Active Memory bu araçları geri çağırma
isteminde listeler ve aynı listeyi gömülü alt ajana geçirir. Yapılandırılan
araçların hiçbiri kullanılamıyorsa 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.
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
Paketle gelenmemory-lancedb Plugin’i 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’idir. Önce onu bir bağlam motoru olarak yükleyip 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ş bir genişletme aracı olarak kullanır.
Gelişmiş kaçış yolları
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 talimatları ekler:
toolsAllow ile promptAppend kullanın.
config.promptOverride, varsayılan Active Memory istemini değiştirir. OpenClaw
konuşma bağlamını yine sonrasına ekler:
NONE veya 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:
- bir geçici 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ılmış 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 aracı kimlikleri |
config.model | string | İsteğe bağlı engelleyici bellek alt aracısı model başvurusu; 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 ileti tarzı oturumlar kullanılır |
config.allowedChatIds | string[] | allowedChatTypes sonrasında uygulanan isteğe bağlı konuşma bazlı izin listesi; boş olmayan listeler varsayılan olarak reddeder |
config.deniedChatIds | string[] | İzin verilen oturum türlerini ve izin verilen kimlikleri geçersiz kılan isteğe bağlı konuşma bazlı ret listesi |
config.queryMode | "message" | "recent" | "full" | Engelleyici bellek alt aracısı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 aracısı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 aracısının çağırabileceği somut bellek aracı adları; varsayılan olarak ["memory_search", "memory_get"], plugins.slots.memory memory-lancedb olduğunda ise ["memory_recall"] kullanılır; joker karakterler, group:* girdileri ve çekirdek aracı araçları yok sayılır |
config.thinking | "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "adaptive" | "max" | Engelleyici bellek alt aracısı için gelişmiş thinking geçersiz kılma ayarı; 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 yönergeler |
config.timeoutMs | number | Engelleyici bellek alt aracısı için katı zaman aşımı; 120000 ms ile sınırlıdır |
config.setupGraceTimeoutMs | number | Geri çağırma zaman aşımı dolmadan önce 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üklerini yayar |
config.persistTranscripts | boolean | Engelleyici bellek alt aracısı transkriptlerini geçici dosyaları silmek yerine diskte tutar |
config.transcriptDir | string | Aracı oturumları klasörü altında göreli engelleyici bellek alt aracısı 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ı sıraları |
config.recentAssistantTurns | number | queryMode recent olduğunda dahil edilecek önceki asistan sıraları |
config.recentUserChars | number | Son kullanıcı sırası başına en fazla karakter sayısı |
config.recentAssistantChars | number | Son asistan sırası başına en fazla karakter sayısı |
config.cacheTtlMs | number | Yinelenen aynı sorgular için önbellek yeniden kullanımı (aralık: 1000-120000 ms; varsayılan: 15000) |
config.circuitBreakerMaxTimeouts | number | Aynı aracı/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 ne kadar süreyle atlanacağı, ms cinsinden (aralık: 5000-600000; varsayılan: 60000). |
Önerilen kurulum
recent ile başlayın.
/verbose on, 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.
Sonra şunlara geçin:
- Daha düşük gecikme istiyorsanız
message - Ek bağlamın daha yavaş engelleyici bellek alt aracısı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ı, gömme dizini yüklemesi ve ilk geri çağırma tek bir daha büyük 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 açıkça etkinleştirmedikçe yapılandırılmış timeoutMs artık varsayılan bütçedir.
v2026.4.x’ten yükselttiyseniz ve timeoutMs değerini eski örtük ek süre dünyasına göre ayarlanmış bir değere getirdiyseniz (önerilen başlangıç timeoutMs: 15000 buna bir örnektir), istem oluşturma kancasını ve dış watchdog bütçelerini v5.2 öncesi etkili değerlere geri uzatmak için setupGraceTimeoutMs: 30000 ayarlayın:
setupGraceTimeoutMs yapılandırmasının arkasına taşıyın; böylece Plugin artık ana hatta 15000 ms yapılandırmalarını sessizce 45000 ms’ye uzatmaz.”
Gömülü geri çağırma çalıştırıcısı aynı etkin zaman aşımı bütçesini kullanır; bu nedenle
setupGraceTimeoutMs, hem dış istem oluşturma gözetleyicisini hem de içteki
engelleyici geri çağırma çalıştırmasını kapsar.
Soğuk başlangıç gecikmesinin bilinen bir denge unsuru olduğu kaynakları kısıtlı
Gateway’ler için daha düşük değerler (5000–15000 ms) de çalışır — buradaki
denge, Gateway yeniden başlatıldıktan sonra ilk geri çağırmanı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 aracı kimliğinin
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 aramasını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 geri çağırma işlem hattını kullanır; bu nedenle çoğu geri çağırma sürprizi Active Memory hatası değil, gömme sağlayıcısı sorunlarıdır. 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 ayarının o
Plugin’in gerçekten kaydettiği araçları adlandırdığını doğrulayın.
Gömme sağlayıcısı değişti veya çalışmayı durdurdu
Gömme sağlayıcısı değişti veya çalışmayı durdurdu
memorySearch.provider ayarlanmamışsa OpenClaw ilk kullanılabilir gömme
sağlayıcısını otomatik olarak algılar. Yeni bir API anahtarı, kota tükenmesi
veya hız sınırına takılmış barındırılan bir sağlayıcı, çalıştırmalar arasında
hangi sağlayıcının çözümlendiğini değiştirebilir. Hiçbir sağlayıcı
çözümlenmezse memory_search yalnızca sözcüksel almaya düşebilir; bir
sağlayıcı zaten seçildikten sonraki çalışma zamanı hataları otomatik olarak
geri dönüş yapmaz.Seçimi deterministik hale getirmek için sağlayıcıyı (ve isteğe bağlı bir
geri dönüşü) açıkça sabitleyin. Sağlayıcıların tam listesi ve sabitleme
örnekleri için Bellek Araması bölümüne bakın.Geri çağırma yavaş, boş veya tutarsız hissettiriyor
Geri çağırma yavaş, boş veya tutarsız hissettiriyor
- Oturumda Plugin’in sahip olduğu 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. active-memory: ... start|done,memory sync failed (search-bootstrap)veya sağlayıcı gömme hataları için Gateway günlüklerini izleyin.- Bellek arama arka ucunu ve dizin sağlığını incelemek için
openclaw memory status --deepkomutunu çalıştırın. ollamakullanıyorsanız gömme modelinin yüklü olduğunu doğrulayın (ollama list).
Gateway yeniden başlatıldıktan sonraki ilk geri çağırma `status=timeout` döndürüyor
Gateway yeniden başlatıldıktan sonraki ilk geri çağırma `status=timeout` döndürüyor
v2026.5.2 ve sonrasında, soğuk başlangıç kurulumu (model ısınması + gömme
dizini yüklemesi) ilk geri çağırma tetiklenene kadar bitmemişse, çalıştırma
yapılandırılmış
timeoutMs bütçesine ulaşabilir ve boş çıktıyla
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şlangıç toleransı bölümüne bakın.