Uyumluluk kayıt defteri
Plugin uyumluluk sözleşmeleri, çekirdek kayıt defterindesrc/plugins/compat/registry.ts konumunda izlenir.
Her kayıtta şunlar bulunur:
- kararlı bir uyumluluk kodu
- durum:
active,deprecated,removal-pendingveyaremoved - sahip: SDK, yapılandırma, kurulum, kanal, sağlayıcı, Plugin yürütme, ajan çalışma zamanı veya çekirdek
- geçerli olduğunda tanıtım ve kullanımdan kaldırma tarihleri
- değiştirme rehberliği
- eski ve yeni davranışı kapsayan dokümanlar, tanılamalar ve testler
src/commands/doctor/shared/deprecation-compat.ts konumunda izlenir. Bu
kayıtlar, çalışma zamanı uyumluluk yolu kaldırıldıktan sonra kullanılabilir
kalması gerekebilecek eski yapılandırma şekillerini, kurulum defteri
düzenlerini ve onarım shim’lerini kapsar.
Sürüm taramaları her iki kayıt defterini de kontrol etmelidir. Eşleşen çalışma
zamanı veya yapılandırma uyumluluk kaydı süresi doldu diye bir doctor geçişini
silmeyin; önce onarıma hâlâ ihtiyaç duyan desteklenen bir yükseltme yolu
olmadığını doğrulayın. Ayrıca, sağlayıcılar ve kanallar çekirdekten dışarı
taşındıkça Plugin sahipliği ve yapılandırma ayak izi değişebileceği için sürüm
planlaması sırasında her değiştirme notunu yeniden doğrulayın.
Plugin denetleyici paketi
Plugin denetleyici, çekirdek OpenClaw deposunun dışında, sürümlenmiş uyumluluk ve manifest sözleşmeleriyle desteklenen ayrı bir paket/depo olarak yaşamalıdır. İlk gün CLI şu olmalıdır:- manifest/şema doğrulaması
- denetlenen sözleşme uyumluluk sürümü
- kurulum/kaynak meta veri kontrolleri
- soğuk yol içe aktarma kontrolleri
- kullanımdan kaldırma ve uyumluluk uyarıları
--json
kullanın. OpenClaw çekirdeği, denetleyicinin tüketebileceği sözleşmeleri ve
fikstürleri sunmalıdır, ancak denetleyici ikilisini ana openclaw paketinden
yayımlamamalıdır.
Bakımcı kabul hattı
Harici denetleyiciyi OpenClaw Plugin paketlerine karşı doğrularken kurulabilir paket kabul hattı için Crabbox destekli Blacksmith Testbox kullanın. Paket derlendikten sonra bunu temiz bir OpenClaw checkout’ından çalıştırın:Kullanımdan kaldırma politikası
OpenClaw, belgelenmiş bir Plugin sözleşmesini, yerine geçen sözleşmeyi tanıttığı aynı sürümde kaldırmamalıdır. Geçiş sırası şöyledir:- Yeni sözleşmeyi ekleyin.
- Eski davranışı adlandırılmış bir uyumluluk adaptörü üzerinden bağlı tutun.
- Plugin yazarları işlem yapabildiğinde tanılama veya uyarı yayınlayın.
- Yerine geçen sözleşmeyi ve zaman çizelgesini belgeleyin.
- Eski ve yeni yolların ikisini de test edin.
- Duyurulan geçiş penceresi boyunca bekleyin.
- Yalnızca açık kırıcı sürüm onayıyla kaldırın.
active olarak işaretlemedikçe, ucu açık kaldırma
penceresi olan kullanımdan kaldırılmış bir uyumluluk yolu eklemeyin.
Mevcut uyumluluk alanları
Mevcut uyumluluk kayıtları şunları içerir:openclaw/plugin-sdk/compatgibi eski geniş SDK içe aktarmaları- eski yalnızca hook tabanlı Plugin şekilleri ve
before_agent_start - Plugin’ler
gateway_stopöğesine geçerken eskiapi.on("deactivate", ...)temizleme hook adları - Plugin’ler
register(api)öğesine geçerken eskiactivate(api)Plugin giriş noktaları openclaw/extension-api,openclaw/plugin-sdk/channel-runtime,openclaw/plugin-sdk/command-authdurum oluşturucuları,openclaw/plugin-sdk/test-utils(odaklıopenclaw/plugin-sdk/*test alt yollarıyla değiştirilmiştir) veClawdbotConfig/OpenClawSchemaTypetür takma adları gibi eski SDK takma adları- paketlenmiş Plugin izin listesi ve etkinleştirme davranışı
- eski sağlayıcı/kanal env-var manifest meta verileri
- sağlayıcılar açık katalog, kimlik doğrulama, düşünme, yeniden oynatma ve taşıma hook’larına geçerken eski sağlayıcı Plugin hook’ları ve tür takma adları
api.runtime.taskFlow,api.runtime.subagent.getSession,api.runtime.sttve kullanımdan kaldırılmışapi.runtime.config.loadConfig()/api.runtime.config.writeConfigFile(...)gibi eski çalışma zamanı takma adları- callback tüketicileri iç içe
WebInboundCallbackMessageevent,payload,quote,groupveplatformbağlamlarına geçerken WhatsAppWebInboundMessagedüz callback alanları; örneğinbody,chatId,reply(...)vemediaPath - callback tüketicileri
admissionzarfına geçerken WhatsAppWebInboundMessageüst düzey kabul alanları; örneğinfrom,conversationId,accountId,accessControlPassedvechatType - bellek Plugin’leri
registerMemoryCapabilityöğesine geçerken eski bellek Plugin bölünmüş kaydı - gömme sağlayıcıları
api.registerEmbeddingProvider(...)vecontracts.embeddingProvidersöğelerine geçerken eski belleğe özgü gömme sağlayıcı kaydı - yerel ileti şemaları, mention gating, gelen zarf biçimlendirme ve onay yeteneği iç içe yerleşimi için eski kanal SDK yardımcıları
- Plugin’ler
openclaw/plugin-sdk/channel-routeöğesine geçerken eski kanal rota anahtarı ve karşılaştırılabilir hedef yardımcı takma adları - manifest katkı sahipliğiyle değiştirilen etkinleştirme ipuçları
- kurulum tanımlayıcıları soğuk
setup.requiresRuntime: falsemeta verilerine geçerkensetup-apiçalışma zamanı geri dönüşü - sağlayıcı katalog hook’ları
catalog.run(...)öğesine geçerken sağlayıcıdiscoveryhook’ları - kanal paketleri
openclaw.channel.exposureöğesine geçerken kanalshowConfigured/showInSetupmeta verileri - doctor operatörleri
agentRuntimeöğesine geçirirken eski çalışma zamanı politikası yapılandırma anahtarları - kayıt defteri öncelikli
channelConfigsmeta verileri gelirken üretilmiş paketlenmiş kanal yapılandırma meta verisi geri dönüşü - onarım akışları operatörleri
openclaw plugins registry --refreshveopenclaw doctor --fixöğelerine geçirirken kalıcı Plugin kayıt defteri devre dışı bırakma ve kurulum geçişi env bayrakları - doctor bunları
plugins.entries.<plugin>.configöğesine geçirirken eski Plugin sahipli web search, web fetch ve x_search yapılandırma yolları - kurulum meta verileri durum tarafından yönetilen Plugin defterine taşınırken
eski
plugins.installsyazılmış yapılandırması ve paketlenmiş Plugin yükleme yolu takma adları
WhatsApp Gelen Callback Düz Takma Adları
WhatsApp çalışma zamanı callback’leriWebInboundMessage teslim eder: kanonik
iç içe event, payload, quote, group ve platform bağlamları ile
yayınlanmış callback alanları için kullanımdan kaldırılmış düz takma adlar.
Yeni callback kodu iç içe bağlamları okumalıdır. Temiz iç içe callback
iletileri oluşturan kod WebInboundCallbackMessage kullanabilir; hâlâ eski düz
test veya Plugin iletileri enjekte eden uyumluluk dinleyicileri
LegacyFlatWebInboundMessage veya WebInboundMessageInput kullanmalıdır.
Düz takma adlar 2026-08-30 tarihine kadar kullanılabilir kalır. Bu kaldırma
penceresi yalnızca düz takma ad erişimi için geçerlidir; iç içe callback şekli
kanonik çalışma zamanı sözleşmesidir. Her düz takma addaki TypeScript
@deprecated notları, onun tam iç içe yerine geçenini adlandırır. Yaygın
örnekler:
id,timestampveisBatched,eventaltına taşınır.body,mediaPath,mediaType,mediaFileName,mediaUrl,locationveuntrustedStructuredContext,payloadaltına taşınır.to,chatId, gönderen/kendi alanları,sendComposing,reply(...)vesendMedia(...),platformaltına taşınır.replyTo*alanlarıquotealtına, grup konu/katılımcı/mention alanlarıgroupaltına taşınır.
payload.untrustedStructuredContext, gelen sağlayıcı payload’larından çıkarılır.
Plugin’ler, onun payload değerini yetkili kabul etmeden önce label, source
ve type değerlerini incelemelidir.
WhatsApp Gelen Kabul Alanları
Kabul edilen WhatsApp callback iletileri artık iletiyi kabul eden erişim kontrolü kararı için herkese açık güvenli bir zarf olanadmission taşır. Yeni
callback kodu, kabul olgularını eski üst düzey kabul alanları yerine
msg.admission üzerinden okumalıdır.
Üst düzey alanlar 2026-08-30 tarihine kadar kullanılabilir kalır.
TypeScript @deprecated notları her yerine geçeni adlandırır:
fromveconversationId,admission.conversation.idöğesine taşınır.accountId,admission.accountIdöğesine taşınır.accessControlPassed,admission.ingress.decision === "allow"değerinin türetilmiş bir uyumluluk görünümüdür; zatenadmissiontaşıyan iletilerde eski boolean değerini yazmak ingress grafiğini yeniden yazmaz.chatType,admission.conversation.kindöğesine taşınır.
Sürüm notları
Sürüm notları, hedef tarihler ve geçiş dokümanlarına bağlantılarla birlikte yaklaşan Plugin kullanımdan kaldırmalarını içermelidir. Bu uyarı, bir uyumluluk yoluremoval-pending veya removed durumuna geçmeden önce yapılmalıdır.