legacy motoruyla gelir ve varsayılan olarak bunu kullanır. Yalnızca farklı bir birleştirme, Compaction veya oturumlar arası hatırlama davranışı istendiğinde bir Plugin motoru kurup seçin.
Hızlı başlangıç
1
Hangi motorun etkin olduğunu denetleyin
2
Bir Plugin motoru kurun
Bağlam motoru Pluginleri, diğer tüm OpenClaw Pluginleri gibi kurulur.
- npm üzerinden
- Yerel bir yoldan
3
Motoru etkinleştirip seçin
4
Eski motora geri dönün (isteğe bağlı)
contextEngine değerini "legacy" olarak ayarlayın (veya anahtarı tamamen kaldırın; varsayılan değer "legacy" değeridir).Nasıl çalışır?
OpenClaw bir model istemini her çalıştırdığında bağlam motoru, yaşam döngüsünün dört noktasına katılır:1. Alma
1. Alma
Oturuma yeni bir ileti eklendiğinde çağrılır. Motor, iletiyi kendi veri deposunda saklayabilir veya dizine ekleyebilir.
2. Birleştirme
2. Birleştirme
Her model çalıştırmasından önce çağrılır. Motor, belirteç bütçesine sığan sıralı bir ileti kümesi (ve isteğe bağlı bir
systemPromptAddition) döndürür.3. Compaction
3. Compaction
Bağlam penceresi dolduğunda veya kullanıcı
/compact komutunu çalıştırdığında çağrılır. Motor, alan açmak için eski geçmişi özetler.4. Tur sonrası
4. Tur sonrası
Bir çalıştırma tamamlandıktan sonra çağrılır. Motor durumu kalıcı hâle getirebilir, arka planda Compaction tetikleyebilir veya dizinleri güncelleyebilir.
runtimeContext.rewriteTranscriptEntries() aracılığıyla güvenli yeniden yazma) için isteğe bağlı bir maintain() yöntemi uygulayabilir. Yanıtı engellemek yerine ertelenmiş iş olarak çalıştırmak için info.turnMaintenanceMode: "background" değerini ayarlayın.
Paketle birlikte gelen ACP dışı Codex koşum takımı için OpenClaw, birleştirilmiş bağlamı Codex geliştirici talimatlarına ve mevcut turun istemine yansıtarak aynı yaşam döngüsünü uygular. Codex, yerel iş parçacığı geçmişini ve yerel Compaction bileşenini yönetmeye devam eder.
Alt ajan yaşam döngüsü (isteğe bağlı)
OpenClaw, isteğe bağlı iki alt ajan yaşam döngüsü kancası çağırır:method
Alt çalıştırma başlamadan önce paylaşılan bağlam durumunu hazırlar. Kanca; üst/alt oturum anahtarlarını,
contextMode (isolated veya fork), kullanılabilir transkript kimliklerini/dosyalarını ve isteğe bağlı TTL değerini alır. Bir geri alma tanıtıcısı döndürürse OpenClaw, hazırlık başarılı olduktan sonra başlatma başarısız olduğunda bunu çağırır. lightContext isteyen ve contextMode="isolated" olarak çözümlenen yerel alt ajan başlatmaları, alt çalıştırmanın bağlam motoru tarafından yönetilen başlatma öncesi durum olmadan hafif önyükleme bağlamından başlaması için bu kancayı kasıtlı olarak atlar.method
Bir alt ajan oturumu tamamlandığında veya süpürüldüğünde temizleme yapar.
Sistem istemine ekleme
assemble yöntemi bir systemPromptAddition dizesi döndürebilir. OpenClaw bunu çalıştırmanın sistem isteminin başına ekler. Böylece motorlar, statik çalışma alanı dosyaları gerektirmeden dinamik hatırlama yönlendirmeleri, erişim talimatları veya bağlama duyarlı ipuçları ekleyebilir.
Eski motor
Yerleşiklegacy motoru, OpenClaw’ın özgün davranışını korur:
- Alma: işlem yapmaz (ileti kalıcılığını doğrudan oturum yöneticisi işler).
- Birleştirme: değişiklik yapmadan geçirir (çalışma zamanındaki mevcut temizle → doğrula → sınırla işlem hattı bağlam birleştirmeyi işler).
- Compaction: eski iletilerin tek bir özetini oluşturan ve son iletileri olduğu gibi koruyan yerleşik özetleme Compaction işlemine devreder.
- Tur sonrası: işlem yapmaz.
systemPromptAddition sağlamaz.
Hiçbir plugins.slots.contextEngine ayarlanmadığında (veya "legacy" olarak ayarlandığında) bu motor otomatik olarak kullanılır.
Plugin motorları
Bir Plugin, Plugin API’sini kullanarak bir bağlam motoru kaydedebilir:ctx fabrikası, Pluginlerin ilk yaşam döngüsü çağrısından önce
ajan veya çalışma alanı başına durumu başlatabilmesi için isteğe bağlı config, agentDir ve workspaceDir
değerlerini içerir. Eski olmayan bir assemble() çağrısından önce ana makine,
kayıtlı eşzamansız bellek istemi hazırlığını tamamlar. Eşzamanlı
buildMemorySystemPromptAddition(...) yardımcısı bu değişmez çalıştırma anlık görüntüsünü okur;
sağlanan araç, alıntı, ajan ve oturum bağlamını değiştirmeden aktarın.
Ardından yapılandırmada etkinleştirin:
ContextEngine arayüzü
Gerekli üyeler:assemble, aşağıdakileri içeren bir AssembleResult döndürür:
Message[]
gerekli
Modele gönderilecek sıralı iletiler.
number
gerekli
Motorun, birleştirilmiş bağlamdaki toplam belirteç sayısına ilişkin tahmini. OpenClaw bunu Compaction eşiği kararları ve tanılama raporlaması için kullanır.
string
Sistem isteminin başına eklenir.
"assembled" | "preassembly_may_overflow"
Çalıştırıcının önleyici taşma ön denetimleri için hangi belirteç tahminini
kullanacağını denetler. Varsayılan değer
"assembled" değeridir; bu,
Compaction’ı yönetmeyen motorlarda yalnızca birleştirilmiş istemin tahmininin
denetlendiği anlamına gelir. ownsCompaction: true değerini ayarlayan motorlar
kendi istem kabul işlemlerini yönetir; bu nedenle OpenClaw varsayılan olarak
genel istem öncesi ön denetimi atlar. Yalnızca birleştirilmiş görünümünüz
temel transkriptteki taşma riskini gizleyebiliyorsa "preassembly_may_overflow"
değerini ayarlayın; bu durumda çalıştırıcı genel ön denetimi etkin tutar ve
önleyici Compaction yapılıp yapılmayacağına karar verirken birleştirilmiş
tahmin ile birleştirme öncesi (pencerelenmemiş) oturum geçmişi tahmininden
büyük olanını kullanır. Her iki durumda da döndürdüğünüz iletiler modelin
gördüğü iletilerdir; promptAuthority yalnızca ön denetimi etkiler.ContextEngineProjection
Kalıcı arka uç iş parçacıklarına sahip ana makineler (örneğin Codex app-server) için isteğe bağlı yansıtma yaşam döngüsü. Kararlı bir
epoch ile mode: "thread_bootstrap", ana makineden birleştirilmiş bağlamı dönem başına bir kez eklemesini ve her turda yeniden yansıtmak yerine dönem değişene kadar arka uç iş parçacığını yeniden kullanmasını ister. Normal tur başına yansıtma için bu alanı dahil etmeyin.compact, bir CompactResult döndürür. Compaction etkin oturum
kimliğini değiştirdiğinde, result.sessionTarget (oturum kimliğini ve depo
kapsamını taşıyan türü belirlenmiş bir ContextEngineSessionTarget), sonraki yeniden
denemenin veya turun kullanması gereken ardıl oturumu tanımlar; result.sessionId
ardıl kimliği yansıtır.
İsteğe bağlı üyeler:
Çalışma zamanı ayarları
OpenClaw içinde çalışan yaşam döngüsü kancaları, isteğe bağlı birruntimeSettings nesnesi alır. Bu, sürümlendirilmiş ve salt okunur bir
dahili üretici/tüketici API yüzeyidir: OpenClaw bunu seçilen bağlam motoru için
üretir ve bağlam motoru bunu yaşam döngüsü kancaları içinde tüketir. Doğrudan
kullanıcılara gösterilmez ve özel bir raporlama yüzeyi oluşturmaz.
schemaVersion: şu anda1runtime: OpenClaw ana bilgisayarı, çalışma zamanı modu (normal,fallbackveyadegraded) ve isteğe bağlı test donanımı/çalışma zamanı kimliklericontextEngineSelection: seçilen bağlam motoru kimliği ve seçim kaynağıexecutionHost: kancayı çağıran yüzeyin ana bilgisayar kimliği ve etiketimodel: istenen model, çözümlenen model, sağlayıcı ve isteğe bağlı model ailesilimits: biliniyorsa istem belirteci bütçesi ve maksimum çıktı belirteci sayısıdiagnostics: biliniyorsa kapalı geri dönüş ve düşürülmüş çalışma nedeni kodları
null olarak gösterilir; çalışma zamanı modu ve seçim kaynağı gibi
ayırt edici alanlar null değer kabul etmez. Eski motorlar uyumlu kalır:
katı bir eski motor runtimeSettings özelliğini bilinmeyen bir özellik olarak reddederse
OpenClaw, motoru karantinaya almak yerine yaşam döngüsü çağrısını bu özellik olmadan
yeniden dener.
Ana bilgisayar gereksinimleri
Bağlam motorları,info.hostRequirements üzerinde ana bilgisayar yeteneği gereksinimleri bildirebilir.
OpenClaw, işleme başlamadan önce bu gereksinimleri denetler ve seçilen çalışma zamanı
bunları karşılayamadığında açıklayıcı bir hatayla kapalı durumda başarısız olur.
Motorun gerçek model istemini assemble() aracılığıyla denetlemesi gerektiğinde
ajan çalıştırmaları için assemble-before-prompt bildirin:
assemble-before-prompt gereksinimini karşılar.
Genel CLI arka uçları bunu karşılamaz; bu nedenle bu yeteneği gerektiren motorlar
CLI işlemi başlamadan önce reddedilir.
Hata yalıtımı
OpenClaw, seçilen plugin motorunu çekirdek yanıt yolundan yalıtır. Eski olmayan bir motor eksikse, sözleşme doğrulamasını geçemezse, fabrika oluşturulurken hata fırlatırsa veya bir yaşam döngüsü yönteminden hata fırlatırsa OpenClaw, söz konusu motoru mevcut Gateway işlemi için karantinaya alır ve bağlam motoru işlemlerini yerleşiklegacy motoruna düşürür. Hata, başarısız işlemle birlikte günlüğe kaydedilir;
böylece operatör, ajan sessiz kalmadan plugin’i onarabilir, güncelleyebilir veya devre dışı
bırakabilir.
Ana bilgisayar gereksinimi hataları farklıdır: Bir motor, çalışma zamanında gerekli bir
yeteneğin bulunmadığını bildirdiğinde OpenClaw, çalıştırmayı başlatmadan önce kapalı
durumda başarısız olur. Bu, desteklenmeyen bir ana bilgisayarda çalışmaları hâlinde
durumu bozacak motorları korur.
ownsCompaction
ownsCompaction, OpenClaw çalışma zamanının yerleşik deneme içi otomatik Compaction özelliğinin çalıştırma için etkin kalıp kalmayacağını denetler:
ownsCompaction: true
ownsCompaction: true
Compaction davranışının sahibi motordur. OpenClaw, söz konusu çalıştırma için OpenClaw çalışma zamanının yerleşik otomatik Compaction özelliğini ve istem öncesi genel taşma ön denetimini devre dışı bırakır; motorun
compact() uygulaması /compact, sağlayıcı taşması kurtarma Compaction’ı ve afterTurn() içinde gerçekleştirmek istediği tüm proaktif Compaction işlemlerinden sorumludur. Motor, assemble() sonucunda promptAuthority: "preassembly_may_overflow" döndürdüğünde OpenClaw yine de istem öncesi taşma korumasını çalıştırır.ownsCompaction: false veya ayarlanmamış
ownsCompaction: false veya ayarlanmamış
OpenClaw çalışma zamanının yerleşik otomatik Compaction özelliği istem yürütme sırasında çalışmaya devam edebilir; ancak etkin motorun
compact() yöntemi /compact ve taşma kurtarma için yine de çağrılır.- Sahiplik modu
- Yetkilendirme modu
Kendi Compaction algoritmanızı uygulayın ve
ownsCompaction: true değerini ayarlayın.compact(), etkin ve sahip olmayan bir motor için güvenli değildir; çünkü söz konusu motor yuvasının normal /compact ve taşma kurtarma Compaction yolunu devre dışı bırakır.
Yapılandırma referansı
Yuva, çalışma zamanında özeldir: Belirli bir çalıştırma veya Compaction işlemi için yalnızca bir kayıtlı bağlam motoru çözümlenir. Etkinleştirilmiş diğer
kind: "context-engine" plugin’leri yine de yüklenip kayıt kodlarını çalıştırabilir; plugins.slots.contextEngine, yalnızca OpenClaw bir bağlam motoruna ihtiyaç duyduğunda hangi kayıtlı motor kimliğini çözümleyeceğini seçer.Plugin’i kaldırma:
plugins.slots.contextEngine olarak seçili plugin’i kaldırdığınızda OpenClaw, yuvayı varsayılan değere (legacy) sıfırlar. Aynı sıfırlama davranışı plugins.slots.memory için de geçerlidir. Yapılandırmanın elle düzenlenmesi gerekmez.Compaction ve bellekle ilişkisi
Compaction
Compaction
Compaction, bağlam motorunun sorumluluklarından biridir. Eski motor, işlemi OpenClaw’ın yerleşik özetleme özelliğine devreder. Plugin motorları herhangi bir Compaction stratejisi (DAG özetleri, vektör erişimi vb.) uygulayabilir.
Bellek plugin'leri
Bellek plugin'leri
Bellek plugin’leri (
plugins.slots.memory) bağlam motorlarından ayrıdır. Bellek plugin’leri arama/erişim sağlar; bağlam motorları ise modelin ne göreceğini denetler. Birlikte çalışabilirler: Bir bağlam motoru, birleştirme sırasında bellek plugini verilerini kullanabilir. Etkin bellek istem yolunu kullanmak isteyen plugin motorları, bellek plugini düzenini açığa çıkarmadan ana bilgisayar tarafından hazırlanmış bellek istemi bölümlerini başa eklenmeye hazır bir systemPromptAddition biçimine dönüştüren openclaw/plugin-sdk/core içindeki buildMemorySystemPromptAddition(...) öğesini kullanmalıdır.Oturum budama
Oturum budama
Bellekteki eski araç sonuçlarını kırpma işlemi, hangi bağlam motorunun etkin olduğundan bağımsız olarak çalışmaya devam eder.
İpuçları
- Motorunuzun doğru şekilde yüklendiğini doğrulamak için
openclaw doctorkullanın. - Motorlar arasında geçiş yapıldığında mevcut oturumlar geçerli geçmişleriyle devam eder. Yeni motor, gelecekteki çalıştırmaları devralır.
- Motor hataları günlüğe kaydedilir ve seçilen plugin motoru mevcut Gateway işlemi için karantinaya alınır. Yanıtların devam edebilmesi için OpenClaw, kullanıcı turlarında
legacyseçeneğine geri döner; ancak bozuk plugin’i yine de onarmalı, güncellemeli, devre dışı bırakmalı veya kaldırmalısınız. - Geliştirme için yerel bir plugin dizinini kopyalamadan bağlamak üzere
openclaw plugins install -l ./my-enginekullanın.
İlgili
- Compaction - uzun konuşmaları özetleme
- Bağlam - ajan turları için bağlamın nasıl oluşturulduğu
- Plugin Mimarisi - bağlam motoru plugin’lerini kaydetme
- Plugin manifesti - plugin manifesti alanları
- Plugin’ler - plugin’e genel bakış