Skip to main content
Active Memory, uygun konuşma oturumlarında ana yanıttan önce engelleyici bir bellek hatırlama alt aracısı çalıştıran, isteğe bağlı paketlenmiş bir Plugin’dir. Bunun nedeni çoğu bellek sisteminin tepkisel olmasıdır: ana aracının bellekte arama yapmaya karar vermesi veya kullanıcının “bunu hatırla” demesi gerekir. O zamana kadar hatırlanan bilginin doğal hissettireceği an geçmiş olur. Active Memory, ana yanıt oluşturulmadan önce ilgili belleği ortaya çıkarması için sisteme sınırlandırılmış tek bir fırsat verir.

Konuşmalar arasında hatırlama

Kişisel veya tamamen güvenilen bir aracı için, aracı başına tek bir ayarla diğer özel konuşmalarındaki sınırlandırılmış hatırlamayı etkinleştirin:
Bu ayar kişisel kurulumlarda varsayılan olarak açıktır: genel session.dmScope ayarlanmamış veya "main" olmalı ve hiçbir bağlama session.dmScope değerini geçersiz kılamamalıdır. Yapılandırılmış herhangi bir DM yalıtımı bunu varsayılan olarak kapatır. Açıkça belirtilen true veya false her zaman önceliklidir. Etkinleştirildiğinde OpenClaw, söz konusu aracının oturum dökümlerini indeksler ve uygun özel yanıtlardan önce bir Active Memory alma geçişi çalıştırır. Bu geçiş, aynı aracının diğer özel konuşmalarından ilgili döküm alıntılarını okuyabilir. Yanıtlanmakta olan konuşma hariç tutulur. Gizlilik sınırı sabittir:
  • özel doğrudan ve kalıcı açık UI konuşmaları birbirlerini hatırlayabilir
  • gruplar ve kanallar ne hatırlama kaynağı ne de hatırlama hedefidir
  • başka bir aracının dökümleri hiçbir zaman uygun değildir
  • yeterli konuşma meta verisi bulunmayan bilinmeyen veya arşivlenmiş dökümler reddedilir
Bu işlem dökümleri birleştirmez, oturum anahtarlarını veya teslim rotalarını değiştirmez, tools.sessions.visibility kapsamını genişletmez ya da daha geniş sessions_* araç erişimi vermez. Paylaşılan çalışma alanı belleği (MEMORY.md ve memory/*.md) mevcut davranışını korur. Active Memory etkin kalmalıdır. Alma işlemi, uygun yanıtlara sınırlandırılmış engelleyici bir adım ekler; zaman aşımı, kullanılamayan arama ve boş sonuçların tümü, hatırlanan döküm bağlamı olmadan yanıtı sürdürür. OpenClaw’ın yerleşik bellek sağlayıcısı, hem yerleşik hem de QMD arka uçlarıyla bu korumalı döküm hatırlama yolunu destekler. Diğer bellek sağlayıcıları kendi hatırlama davranışlarını korur ancak özel döküm yetkilendirmesini otomatik olarak almaz. openclaw doctor, desteklenmeyen bir sağlayıcıyı veya eksik memory_search aracını bildirir.

Gelişmiş Active Memory hızlı başlangıcı

Gelişmiş ve güvenli bir varsayılan için openclaw.json içine yapıştırın: Plugin açık, kapsam main ile sınırlı, yalnızca doğrudan mesaj oturumları ve model oturumdan devralınır.
plugins.entries.* (active-memory.config dâhil), yeniden başlatma gerektirmeyen yapılandırma kategorisindedir: Gateway, Plugin çalışma zamanını otomatik olarak yeniden yükler ve elle yeniden başlatma gerekmez. Yine de tam yeniden başlatmayı zorlamak istiyorsanız şunu çalıştırın:
Bir konuşmada canlı olarak incelemek için:
Temel alanların işlevleri:
  • plugins.entries.active-memory.enabled: true Plugin’i açar
  • config.agents: ["main"] yalnızca main aracını dâhil eder
  • config.allowedChatTypes: ["direct"] kapsamı doğrudan mesaj oturumlarıyla sınırlar (grupları/kanalları açıkça dâhil edin)
  • config.model (isteğe bağlı) özel bir hatırlama modelini sabitler; ayarlanmazsa geçerli oturum modelini devralır
  • config.modelFallback yalnızca açıkça belirtilen veya devralınan bir model çözümlenemediğinde kullanılır
  • config.fastMode isteğe bağlı olarak ana aracıyı değiştirmeden hatırlama için hızlı modu geçersiz kılar
  • config.promptStyle: "balanced", recent modu için varsayılandır
  • Active Memory yine yalnızca uygun etkileşimli kalıcı sohbet oturumlarında çalışır (bkz. Ne zaman çalışır)

Nasıl çalışır

Engelleyici alt aracı yalnızca yapılandırılmış bellek hatırlama araçlarını çağırabilir (bkz. Bellek araçları). Sorgu ile kullanılabilir bellek arasındaki bağlantı zayıfsa NONE döndürür ve ana yanıt ek bağlam olmadan devam eder. Active Memory, platform genelinde bir çıkarım özelliği değil, konuşmayı zenginleştirme özelliğidir: Oturum kalıcı ve kullanıcıya dönük olduğunda, aracının aranacak anlamlı uzun vadeli belleği bulunduğunda ve süreklilik/kişiselleştirme ham istem belirleyiciliğinden daha önemli olduğunda kullanın: sabit tercihler, yinelenen alışkanlıklar ve doğal biçimde ortaya çıkması gereken uzun vadeli bağlam. Otomasyon, dâhilî çalışanlar, tek seferlik API görevleri veya gizli kişiselleştirmenin şaşırtıcı olacağı yerler için uygun değildir.

Ne zaman çalışır

Active Memory’nin iki etkinleştirme yolu vardır:
  1. Konuşmalar arasında hatırlama, etkin memory.search.rememberAcrossConversations ayarına sahip aracıları otomatik olarak hedefler ancak yalnızca özel doğrudan veya kalıcı açık UI konuşmalarında çalışır.
  2. Gelişmiş Active Memory, plugins.entries.active-memory.config.agents içinde listelenen aracı kimliklerini hedefler ve Plugin’in sohbet türü ile sohbet kimliği denetimlerini uygular.
Her iki yol da Plugin’in etkin olmasını ve uygun bir etkileşimli kalıcı konuşmayı gerektirir. Oturum kapsamlı /active-memory off, söz konusu konuşma için her iki yolu da duraklatır. Herhangi bir koşul karşılanmazsa Active Memory o turda çalışmaz ve ana yanıt etkilenmez.

Oturum türleri

config.allowedChatTypes, gelişmiş Active Memory yolunu hangi konuşma türlerinin çalıştırabileceğini denetler. Konuşmalar arasında hatırlama kapsamını genişletemez: gelişmiş Active Memory’ye gruplarda veya kanallarda izin verilse bile bu ürün ayarı yalnızca özel konuşmalarla sınırlı kalır. Varsayılan:
Geçerli değerler: direct, group, channel, explicit (örneğin agent:main:explicit:portal-123 gibi belirsiz bir oturum kimliğine sahip portal tarzı oturumlar). Doğrudan mesaj oturumları varsayılan olarak çalışır; grup, kanal ve açık oturumların dâhil edilmesi gerekir:
İzin verilen bir sohbet türü içinde daha dar bir kullanıma sunma için config.allowedChatIds ve config.deniedChatIds ekleyin:
  • allowedChatIds, çözümlenmiş konuşma kimliklerinden oluşan bir izin listesidir. Boş olmadığında Active Memory yalnızca konuşma kimliği listede bulunan oturumlarda çalışır; bu, doğrudan mesajlar dâhil olmak üzere izin verilen her sohbet türünü aynı anda daraltır. Yalnızca grupları daraltırken tüm doğrudan mesajları korumak için doğrudan eş kimliklerini de allowedChatIds içine ekleyin veya allowedChatTypes kapsamını test ettiğiniz grup/kanal kullanıma sunumuyla sınırlı tutun.
  • deniedChatIds, her zaman allowedChatTypes ve allowedChatIds üzerinde önceliğe sahip bir engelleme listesidir.
Kimlikler kalıcı kanal oturum anahtarından gelir (örneğin Feishu chat_id/open_id, Telegram sohbet kimliği, 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 çözümleyemezse Active Memory tahminde bulunmak yerine turu atlar.

Oturum anahtarı

Yapılandırmayı düzenlemeden geçerli sohbet oturumu için Active Memory’yi duraklatın veya sürdürün:
Bu yalnızca geçerli oturumu etkiler; plugins.entries.active-memory.config.enabled, bir aracının memory.search.rememberAcrossConversations ayarını veya diğer genel yapılandırmaları değiştirmez. Bunun yerine tüm oturumlar için duraklatmak/sürdürmek üzere genel biçimi kullanın (sahip veya operator.admin gerektirir):
Genel biçim plugins.entries.active-memory.config.enabled değerini yazar ancak plugins.entries.active-memory.enabled açık kalır; böylece komut daha sonra Active Memory’yi yeniden açmak için kullanılabilir durumda kalır.

Nasıl görüntülenir

Active Memory varsayılan olarak normal yanıtta gösterilmeyen, güvenilmeyen gizli bir istem ön eki ekler. İstediğiniz çıktıyla eşleşen oturum anahtarlarını açın:
Bunlar açıkken OpenClaw, normal yanıtın ardından tanılama satırları ekler (kanal istemcilerinin ayrı bir yanıt öncesi balonu kısa süreliğine göstermemesi için takip mesajı olarak):
  • /verbose on bir durum satırı ekler: 🧩 Active Memory: status=ok elapsed=842ms query=recent summary=34 chars
  • /trace on bir hata ayıklama özeti ekler: 🔎 Active Memory Debug: Lemon pepper wings with blue cheese.
Örnek akış:
/trace raw ile izlenen Model Input (User Role) bloğu ham gizli ön eki gösterir:
Engelleyici alt aracının dökümü varsayılan olarak geçicidir ve çalıştırma tamamlandıktan sonra silinir; saklamak için Döküm kalıcılığına bakın.

Sorgu modları

config.queryMode, engelleyici alt aracının konuşmanın ne kadarını göreceğini denetler. Takip sorularını yine de iyi yanıtlayan en küçük modu seçin; bağlam boyutu büyüdükçe timeoutMs değerini message düzeyinden recent ve ardından full düzeyine yükseltin.
Yalnızca en son kullanıcı mesajı gönderilir.
En hızlı davranışı, sabit tercihleri hatırlamaya yönelik en güçlü eğilimi istediğinizde ve takip turlarında konuşma bağlamı gerekmediğinde kullanın. config.timeoutMs için yaklaşık 3000-5000 ms ile başlayın.

İstem stilleri

config.promptStyle, alt ajanın belleği döndürme konusunda ne kadar istekli veya katı olacağını denetler: config.promptStyle ayarlanmamışsa varsayılan eşleme:
Açıkça belirtilen config.promptStyle her zaman eşlemeyi geçersiz kılar.

Model geri dönüş politikası

config.model ayarlanmamışsa Active Memory, modeli şu sırayla çözümler:
Bu zincirde hiçbir şey çözümlenemezse Active Memory, ilgili turda hatırlamayı atlar. config.modelFallbackPolicy, eski yapılandırmalar için tutulan, kullanımdan kaldırılmış bir uyumluluk alanıdır; artık çalışma zamanı davranışını değiştirmez — modelFallback, çözümlenen model hata verdiğinde başka bir modele geçen bir çalışma zamanı yük devretmesi değil, kesinlikle yukarıdaki zincirdeki son çaredir.

Hız önerileri

config.model değerini ayarlamamak (oturum modelini devralmak) en güvenli varsayılandır: mevcut sağlayıcı, kimlik doğrulama ve model tercihlerinizi izler. Daha düşük gecikme için bunun yerine özel ve hızlı bir model kullanın — hatırlama kalitesi önemlidir, ancak burada gecikme ana yanıt yolundakinden daha önemlidir ve araç yüzeyi dardır (yalnızca bellek hatırlama araçları). İyi hızlı model seçenekleri:
  • cerebras/gpt-oss-120b, özel bir düşük gecikmeli hatırlama modeli
  • google/gemini-3-flash, birincil sohbet modelinizi değiştirmeden düşük gecikmeli bir geri dönüş
  • config.model değerini ayarlamayarak normal oturum modeliniz

Cerebras kurulumu

Cerebras API anahtarının seçilen model için chat/completions erişimine sahip olduğunu doğrulayın — yalnızca /v1/models görünürlüğü bunu garanti etmez.

Bellek araçları

config.toolsAllow, engelleyici alt ajanın gelişmiş Active Memory için çağırabileceği somut araç adlarını belirler. Varsayılanlar geçerli bellek sağlayıcısına bağlıdır: Yapılandırılmış araçların hiçbiri kullanılamıyorsa veya alt ajan çalıştırması başarısız olursa Active Memory, ilgili turda hatırlamayı atlar ve ana yanıt bellek bağlamı olmadan devam eder. Özel hatırlama araçlarında, yapılandırılmış sonuç alanları açıkça boş bir sonuç veya başarısızlık bildirmediği sürece, modelin görebildiği boş olmayan araç çıktısı hatırlama kanıtı sayılır. toolsAllow yalnızca somut bellek aracı adlarını kabul eder: joker karakterler, group:* girdileri ve temel ajan araçları (read, exec, message, web_search ve benzerleri), gizli alt ajan başlamadan önce sessizce filtrelenir.

Yerleşik bellek

Açık bir toolsAllow gerekmez:

LanceDB belleği

LanceDB’yi kurup yapılandırdıktan sonra Active Memory otomatik olarak memory_recall kullanır; açık bir toolsAllow gerekmez:
Bu, LanceDB’nin kendi depolanmış bellekleri için gelişmiş Active Memory yoludur. memory.search.rememberAcrossConversations, özel oturum transkriptlerini memory_recall aracılığıyla açığa çıkarmaz. LanceDB etkin bellek sağlayıcısı olduğunda LanceDB’nin otomatik hatırlama özelliğini veya yukarıdaki gelişmiş yapılandırmayı kullanın.

Lossless Claw

Lossless Claw, kendi hatırlama araçlarına sahip harici bir bağlam motoru Pluginidir (openclaw plugins install @martian-engineering/lossless-claw). Önce onu bir bağlam motoru olarak kurun; bkz. Bağlam motoru. Ardından Active Memory’yi araçlarına yönlendirin:
Burada lcm_expand öğesini toolsAllow içine eklemeyin; Lossless Claw bunu üst düzey Active Memory alt ajanına yönelik değil, devredilmiş genişletme için daha düşük düzeyli bir araç olarak kullanır. Lossless Claw, geçerli bellek sağlayıcısını değiştirmeden bağlam derlemesini değiştirir. rememberAcrossConversations kullanırken memory_search öğesini toolsAllow içinde tutun; yalnızca LCM araçlarından oluşan bir liste, gelişmiş Active Memory için geçerli kalır ancak ürünün transkript hatırlama yolunu devre dışı bırakır.

Gelişmiş kaçış yolları

Önerilen kurulumun bir parçası değildir. config.thinking, alt ajanın düşünme düzeyini geçersiz kılar (varsayılan "off"; Active Memory yanıt yolunda çalıştığından ek düşünme süresi doğrudan kullanıcı tarafından görülen gecikmeyi artırır):
config.fastMode, hızlı modu yalnızca engelleyici bellek alt ajanı için geçersiz kılar. true, false veya "auto" kullanın; normal ajan, oturum ve model varsayılanlarını devralmak için ayarlamayın. "auto", hatırlama modelinin yapılandırılmış fastAutoOnSeconds sınırını kullanır:
config.promptAppend, varsayılan istemden sonra ve konuşma bağlamından önce operatör talimatlarını ekler — temel olmayan bir bellek Plugini belirli bir araç sırası veya sorgu biçimlendirmesi gerektirdiğinde bunu özel bir toolsAllow ile eşleştirin:
config.promptOverride, varsayılan istemi tamamen değiştirir (konuşma bağlamı sonradan yine eklenir). Farklı bir hatırlama sözleşmesi bilinçli olarak test edilmediği sürece önerilmez — varsayılan istem, ana model için NONE veya kısa kullanıcı olgusu bağlamı döndürecek şekilde ayarlanmıştır:

Transkript kalıcılığı

Engelleyici alt ajan çalıştırmaları, çağrı sırasında gerçek bir session.jsonl transkripti oluşturur. Varsayılan olarak geçici bir dizine yazılır ve çalıştırma biter bitmez silinir. Hata ayıklama amacıyla bu transkriptleri diskte tutmak için:
Kalıcı transkriptler, hedef ajanın oturum klasörü altında, ana kullanıcı konuşma transkriptinden ayrı bir dizine kaydedilir:
Göreli alt dizini config.transcriptDir ile değiştirin. Bunu dikkatli kullanın: transkriptler yoğun oturumlarda hızla birikebilir, full sorgu modu konuşma bağlamının büyük bir kısmını çoğaltır ve bu transkriptler gizli istem bağlamının yanı sıra hatırlanan bellekleri de içerir.

Yapılandırma

Tüm Active Memory yapılandırması plugins.entries.active-memory altında bulunur. Yararlı ayarlama alanları:

Önerilen kurulum

recent ile başlayın:
Ayarlama sırasında durum satırı için /verbose on, hata ayıklama özeti için ise /trace on kullanın — ikisi de ana yanıttan önce değil, ana yanıtın ardından takip iletisi olarak gönderilir. Ardından daha düşük gecikme için message seçeneğine veya ek bağlam daha yavaş alt ajan çalıştırmasına değiyorsa full seçeneğine geçin.

Soğuk başlatma ek süresi

v2026.5.2 öncesinde Plugin, soğuk başlatma sırasında timeoutMs süresini sessizce fazladan 30000 ms uzatıyordu; böylece model ısınması, gömme dizininin yüklenmesi 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ı: artık etkinleştirmeyi seçmediğiniz sürece varsayılan olarak geri çağırma çalışma bütçesi timeoutMs değeridir. Engelleyici kanca bu bütçeyi iki sabit aşamayla çevreler: geri çağırma başlamadan önce oturum/yapılandırma ön kontrolü için en fazla 1500 ms, ardından geri çağırma işi durduktan sonra iptal sonuçlandırması ve döküm kurtarma için ayrı bir sabit 1500 ms. Bu ek sürelerin hiçbiri model veya araç yürütmesini uzatmaz. v2026.4.x sürümünden yükseltme yaptıysanız ve eski örtük ek süre düzeni için timeoutMs ayarını değiştirdiyseniz (önerilen başlangıç değeri timeoutMs: 15000 buna bir örnektir), v5.2 öncesindeki etkin bütçeyi geri yüklemek için setupGraceTimeoutMs: 30000 değerini ayarlayın:
En kötü durumda engelleme süresi timeoutMs + setupGraceTimeoutMs + 3000 ms’dir (yapılandırılmış geri çağırma işi bütçesi, en fazla 1500 ms ön kontrol ve sabit 1500 ms geri çağırma sonrası tamamlama payı). Gömülü geri çağırma çalıştırıcısı aynı etkin zaman aşımı bütçesini kullanır; dolayısıyla setupGraceTimeoutMs hem dış istem oluşturma gözetleyicisini hem de iç engelleyici geri çağırma çalıştırmasını kapsar. Soğuk başlatma gecikmesinin kabul edilen bir ödünleşim olduğu kaynakları kısıtlı gateway’lerde daha düşük değerler (5000-15000 ms) de işe yarar — bunun karşılığında, gateway yeniden başlatıldıktan sonraki ilk geri çağırmanın ısınma tamamlanırken boş dönme olasılığı artar.

Hata ayıklama

Active Memory beklediğiniz yerde görünmüyorsa:
  1. Plugin’in plugins.entries.active-memory.enabled altında etkinleştirildiğini doğrulayın.
  2. Konuşmalar arasında Remember için aracının etkin memory.search.rememberAcrossConversations ayarının etkinleştirildiğini doğrulayın, mevcut bellek sağlayıcısının korumalı transkript geri çağırmayı desteklediğini doğrulamak üzere openclaw doctor komutunu çalıştırın ve açıkça yapılandırılmışsa config.toolsAllow öğesinin memory_search içerdiğini doğrulayın. Gelişmiş Active Memory için aracı kimliğinin config.agents içinde listelendiğini doğrulayın.
  3. Uygun, etkileşimli ve kalıcı bir konuşma üzerinden test yaptığınızı doğrulayın.
  4. Grupların ve kanalların konuşmalar arası transkript geri çağırmayı hiçbir zaman kullanmadığını unutmayın.
  5. config.logging: true ayarını açın ve gateway günlüklerini izleyin.
  6. Bellek aramasının çalıştığını openclaw status --deep ile doğrulayın.
Bellek eşleşmeleri gürültülüyse maxSummaryChars ayarını sıkılaştırın. Active Memory çok yavaşsa queryMode veya timeoutMs değerini düşürün ya da son tur sayılarını ve tur başına karakter sınırlarını azaltın.

Yaygın sorunlar

Gelişmiş Active Memory, yapılandırılmış bellek Plugin’inin geri çağırma işlem hattını kullanır; bu nedenle geri çağırmayla ilgili beklenmedik sonuçların çoğu Active Memory hatalarından değil, gömme sağlayıcısı sorunlarından kaynaklanır. Varsayılan memory-core yolu memory_search ve memory_get kullanır; memory-lancedb yuvası ise 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. Konuşmalar arasında Remember daha dar kapsamlıdır: mevcut bellek sağlayıcısı OpenClaw’ın korumalı aynı aracı/özel oturum geri çağırma yolunu desteklemelidir.
memory.search.provider ayarlanmamışsa OpenClaw, OpenAI gömmelerini kullanır. Bedrock, DeepInfra, Gemini, GitHub Copilot, LM Studio, yerel, Mistral, Ollama, Voyage veya OpenAI uyumlu gömmeler için memory.search.provider değerini açıkça ayarlayın. Yapılandırılmış sağlayıcı çalışamıyorsa memory_search yalnızca sözcüksel erişime indirgenebilir; bir sağlayıcı zaten seçildikten sonraki çalışma zamanı hatalarında otomatik olarak başka bir sağlayıcıya geçilmez.Yalnızca bilinçli olarak tek bir yedek seçenek kullanmak istediğinizde isteğe bağlı memory.search.fallback ayarlayın. Sağlayıcıların ve örneklerin tam listesi için Bellek Araması sayfasına bakın.
  • Plugin’in sahip olduğu Active Memory hata ayıklama özetini oturumda göstermek için /trace on ayarını açın.
  • Her yanıttan sonra 🧩 Active Memory: ... durum satırını da görmek için /verbose on ayarını açın.
  • Gateway günlüklerinde active-memory: ... start|done, memory sync failed (search-bootstrap) veya sağlayıcı gömme hatalarını izleyin.
  • Bellek arama arka ucunu ve dizin sağlığını incelemek için openclaw status --deep komutunu çalıştırın.
  • ollama kullanıyorsanız gömme modelinin yüklü olduğunu doğrulayın (ollama list).
v2026.5.2 ve sonraki sürümlerde, ilk geri çağırma tetiklendiğinde soğuk başlatma kurulumu (model ısınması + gömme dizininin yüklenmesi) henüz tamamlanmamışsa ç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şlatma ek süresi bölümüne bakın.

İlgili sayfalar