Neler değişti
Önceden son derece geniş olan çeşitli içe aktarım yüzeyleri, plugin’lerin tek bir giriş noktasından neredeyse her şeye erişmesine olanak tanıyordu:openclaw/plugin-sdkveopenclaw/plugin-sdk/compat- odaklı SDK oluşturulurken düzinelerce yardımcıyı yeniden dışa aktarıyordu. Her iki kök de artık kaldırıldı; bunun yerine belgelenmiş bir alt yolu içe aktarın.openclaw/plugin-sdk/infra-runtime- sistem olaylarını, heartbeat durumunu, teslimat kuyruklarını, fetch/proxy yardımcılarını, dosya yardımcılarını, onay türlerini ve ilgisiz yardımcı programları bir araya getiren geniş kapsamlı bir barrel.openclaw/plugin-sdk/config-runtime- yalnızca sonraki uyumluluk dönemi için tutulan geniş kapsamlı bir yapılandırma barrel’ı; doğrudan çalışma zamanı yükleme/yazma yardımcıları kaldırıldı.openclaw/extension-api- plugin’lere gömülü agent çalıştırıcısı gibi ana makine tarafındaki yardımcılara doğrudan erişim sağlayan, kaldırılmış bir köprü.api.registerEmbeddedExtensionFactory(...)-tool_resultgibi gömülü çalıştırıcı olaylarını gözlemleyen, yalnızca gömülü çalıştırıcıya yönelik kaldırılmış bir hook. Bunun yerine agent araç sonucu ara yazılımını kullanın (bkz. Gömülü araç sonucu uzantılarını ara yazılıma taşıma).
infra-runtime ve config-runtime yalnızca ayrı olarak
kaydedilmiş sonraki dönemleri için kalır; yeni plugin’ler odaklı alt yolları kullanmalıdır.
OpenClaw, belgelenmiş plugin davranışını bir alternatif sunduğu
değişiklikle aynı anda kaldırmaz veya yeniden yorumlamaz. Sözleşmeyi bozan değişiklikler önce bir
uyumluluk bağdaştırıcısından, tanılamalardan, belgelerden ve bir kullanımdan kaldırma döneminden geçer. Bu;
SDK içe aktarımları, manifest alanları, kurulum API’leri, hook’lar ve çalışma zamanı
kaydı davranışı için geçerlidir.
Nedenleri
- Yavaş başlangıç - tek bir yardımcının içe aktarılması, ilgisiz düzinelerce modülü yüklüyordu.
- Döngüsel bağımlılıklar - geniş kapsamlı yeniden dışa aktarımlar, içe aktarım döngülerinin oluşturulmasını kolaylaştırıyordu.
- Belirsiz API yüzeyi - kararlı dışa aktarımları dahili olanlardan ayırt etmenin bir yolu yoktu.
openclaw/plugin-sdk/<subpath>, belgelenmiş bir sözleşmeye sahip
küçük ve bağımsız bir modüldür.
Paketle gelen kanallara yönelik eski sağlayıcı kolaylık katmanları da kaldırıldı;
kanala özgü yardımcı kısayollar kararlı plugin sözleşmeleri değil, özel mono-repo kolaylıklarıydı.
Bunun yerine dar kapsamlı genel SDK alt yollarını kullanın. Paketle gelen plugin çalışma alanında,
sağlayıcının sahip olduğu yardımcıları ilgili plugin’in kendi
api.ts veya runtime-api.ts konumunda tutun:
- Anthropic, Claude’a özgü akış yardımcılarını kendi
api.ts/contract-api.tskatmanında tutar. - OpenAI, sağlayıcı oluşturucularını, varsayılan model yardımcılarını ve gerçek zamanlı sağlayıcı
oluşturucularını kendi
api.tskonumunda tutar. - OpenRouter, sağlayıcı oluşturucusunu ve ilk katılım/yapılandırma yardımcılarını kendi
api.tskonumunda tutar.
Uyumluluk politikası
Harici plugin uyumluluk çalışmaları şu sırayı izler:- Yeni sözleşmeyi ekleyin.
- Eski davranışı bir uyumluluk bağdaştırıcısı üzerinden bağlı tutun.
- Eski yolu ve alternatifini belirten bir tanılama veya uyarı yayınlayın.
- Testlerde her iki yolu da kapsayın.
- Kullanımdan kaldırma ve geçiş yolunu belgeleyin.
- Yalnızca duyurulan geçiş döneminden sonra, genellikle büyük bir sürümde kaldırın.
Yayımlanmış kanal kurulumu uyumluluğu
2026.7.1 üzerinden yayımlanan Slack, Discord, Signal ve Microsoft Teams
paketleri, kanala özgü yapılandırma şemalarını
openclaw/plugin-sdk/bundled-channel-config-schema konumundan içe aktarır. Yayımlanmış Slack ve
Discord paketleri ayrıca openclaw/plugin-sdk/setup-runtime
konumundan createLegacyCompatChannelDmPolicy ve
promptLegacyChannelAllowFromForAccount öğelerini içe aktarır.
Bu dışa aktarımlar, kullanımdan kaldırılmış çalışma zamanı uyumluluk bağdaştırıcıları olarak kullanılmaya devam eder.
Yeni ve yeniden yayımlanan plugin’ler, channel-config-schema ve
setup-runtime konumundaki genel temel öğeleri kullanarak yapılandırma şemalarının ve kurulum politikalarının
sahipliğini yerel olarak üstlenmelidir. Uyumluluk dışa aktarımları yalnızca desteklenen en düşük
yayımlanmış paket sürümleri artık bunları içe aktarmadığında kaldırılabilir.
Kanal kurulumu giriş alanı uyumluluğu
ChannelSetupInput artık yalnızca kanallar arası kurulum zarfını kalıcı olarak
türlü tutar. Kanala özgü alanlar, plugin yazarları bu
alanları plugin’e özgü kurulum giriş türlerine taşırken mevcut harici plugin’lerin derlenmeye devam etmesi için
kullanımdan kaldırılmış bir uyumluluk katmanında türlü kalır.
OpenClaw büyük sürümler yayımlamaz. 2026-07-22 tarihinde yapılan bir kayıt defteri taraması,
ağaç dışındaki 426 yayımlanmış kanal plugin’ini inceledi ve okuyucusu olmayan 21 alanı kaldırdı.
Tutulan 22 alanın her birinin bilinen bir yayımlanmış okuyucusu vardır. Sonraki her alan,
hiçbir yayımlanmış plugin onu okumaz okumaz silinir; plugin yazarları plugin’e özgü
kurulum giriş türlerine geçtikçe tutulan küme küçülür.
Aynı tarama, yayımlanmış bağımlısı olmayan 23 eski bildirilmemiş bağdaştırıcı yükseltme anahtarını kaldırdı.
Altı yaygın anahtar ve yalnızca kuruluma yönelik rooms anahtarı kalır.
Yayımlanmış plugin’ler singleAccountKeysToMove bildirdikçe bu küme de küçülür.
Paylaşılan türde indeks imzası yoktur. Plugin’in sahip olduğu anahtarlar çalışma zamanı
giriş nesnelerinde bulunmaya devam edebilir; bunları plugin’e özgü bir kesişimde bildirin veya
sahibi olan plugin’in kurulum şeması üzerinden daraltın.
singleAccountKeysToMove öğesini bildirin; böylece paylaşılan geri dönüş mekanizması her seferinde bir
anahtar olacak şekilde kullanımdan kaldırılabilir.
Okuyucuları doğrulama
- Her
nextCursorilehttps://clawhub.ai/api/v1/packages?family=code-plugin&limit=100içinde sayfalar arasında ilerleyin vecategoriesalanındachannelsbulunan paketleri tutun. npm search --json --searchlimit=1000 "openclaw channel plugin"içindeki npm adaylarını ekleyin.openclaw/plugin-sdk/channel-setup,openclaw/plugin-sdk/setupveopenclaw/plugin-sdk/coreiçin GitHub kod aramalarından yalnızca kaynak kodu bulunan adayları ekleyin.- Her adayın yayımlanmış en son sürümünü çözümleyin.
npm pack <package>@<version> --json --pack-destination <temp-dir>komutunu çalıştırın, paketi açın ve doğrudan veya yapı çözümlemeli alan okumaları için gönderilmişdistJavaScript kodunu ve bildirimlerini inceleyin. Bir paketin npm sürümü yoksa ClawHub yapıtını indirin. - Paketi, sürümü, alanı veya yükseltme anahtarını ve eşleşen dosyayı kaydedin. Bir alan veya anahtar yalnızca hiçbir yayımlanmış plugin yapıtı onu okumadığında silinebilir. Tutulan alan ve anahtar listelerinin yanındaki kod açıklamalarında bulunan okuyucu adlarını taramayla eşitlenmiş halde tutun.
pnpm plugins:boundary-report ile denetleyin:
pnpm plugins:boundary-report:ci, üç hata bayrağının tümüyle çalışır. Kullanımdan kaldırılmış
kayıtlarda genellikle belirsiz bir “sonraki büyük sürüm” ifadesi yerine açık bir removeAfter tarihi bulunur.
Sahibi tarafından tarihi onaylanmamış bir kayıtta
removeAfter bulunmaz, no-date olarak görünür ve hiçbir zaman kaldırılmaya uygun olmaz.
Rapor, kullanımdan kaldırılmış kayıtları tarihe göre gruplandırır, yerel kod/belge referanslarını sayar,
sahipler arası ayrılmış SDK içe aktarımlarını gösterir ve özel
bellek ana makinesi SDK köprüsünü özetler. Ayrılmış SDK alt yollarının izlenen sahip kullanımları olmalıdır;
kullanılmayan ayrılmış dışa aktarımlar genel SDK’dan kaldırılmalıdır.
Eski medya projeksiyonu
media-legacy-projection uyumluluk kaydı; eski paralel
medya alanlarını, yük oluşturucularını, hook meta verisi takma adlarını ve medya şablonu
adlarını kapsar. Onaylanmış removeAfter tarihi 2026-10-01’dir (önce olgular yaklaşımına dayalı alternatiflerin
gönderilmesinden iki sürüm treni sonrası). Kaldırma işlemi ayrıca o tarihte
yayımlanmış plugin yapıtlarının temiz bir şekilde taranmasını gerektirir; bu tarihten önce geçiş yapın.
Kanal girişi için tekil/çoğul MediaPath, MediaUrl,
MediaType, MediaPaths, MediaUrls, MediaTypes,
MediaTranscribedIndexes, MediaWorkspaceDir ve MediaStaged öğelerini sıralı
olgularla değiştirin:
inbound_claim ve message_received hook’larında event.media kullanın. Uzak
medya yerel olarak hazırlanmadıysa kimlik/tanılama için event.originalMedia kullanın
ve event.media öğesini bekleyin; event.mediaStagingPending bu
durumu ayırt eder. event.metadata öğesinden kullanımdan kaldırılmış tekil/çoğul özellikleri
okumayın.
CLI medya modelleri için {{MediaPath}}, {{MediaUrl}}, {{MediaType}}
ve {{MediaDir}} öğelerini {{AttachmentPath}}, {{AttachmentUrl}},
{{AttachmentContentType}} ve {{AttachmentDir}} ile değiştirin. Ek konumunun
önemli olduğu durumlarda {{AttachmentIndex}} kullanın.
Yerel medya okuma politikası için
openclaw/plugin-sdk/media-local-roots konumundan getAgentScopedMediaLocalRoots(...) veya
getAgentScopedMediaLocalRootsForSources(...) öğesini içe aktarın.
openclaw/plugin-sdk/agent-media-payload facade’ı ve onun
buildAgentMediaPayload(...) projeksiyonu kullanımdan kaldırılmıştır.
Geçiş yapma
Çalışma zamanı yapılandırması yükleme/yazma yardımcılarını taşıma
api.runtime.config.loadConfig() ve
api.runtime.config.writeConfigFile(...) öğelerini doğrudan çağırmayı bırakmalıdır. Etkin çağrı yoluna
zaten aktarılmış olan yapılandırmayı tercih edin. Geçerli işlem anlık görüntüsüne ihtiyaç duyan
uzun ömürlü işleyiciler api.runtime.config.current() kullanabilir. Uzun ömürlü
agent araçları, bir yapılandırma yazma işleminden önce oluşturulan aracın yenilenmiş yapılandırmayı
görmeye devam etmesi için execute içinde ctx.getRuntimeConfig() öğesini okumalıdır.Yapılandırma yazma işlemleri, açık bir yazma sonrası politikasıyla işlemsel
yardımcı üzerinden gerçekleştirilir:afterWrite: { mode: "restart", reason: "..." } kullanın; afterWrite: { mode: "none", reason: "..." } ise
yalnızca çağıran taraf sonraki adımın sorumluluğunu üstlendiğinde ve yeniden
yükleme planlayıcısını kasıtlı olarak devre dışı bıraktığında kullanılmalıdır. Mutasyon sonuçları, testler
ve günlük kaydı için türü belirlenmiş bir followUp özeti içerir; yeniden başlatmayı uygulama
veya zamanlama sorumluluğu Gateway’de kalır.loadConfig ve writeConfigFile, Plugin
çalışma zamanından kaldırılmıştır. Paketlenmiş Plugin’ler ve depo çalışma zamanı kodu,
pnpm check:deprecated-api-usage ve
pnpm check:no-runtime-action-load-config tarafından korunur: üretimde yeni Plugin kullanımı
doğrudan başarısız olur, doğrudan yapılandırma yazımları başarısız olur, Gateway sunucu yöntemleri
istek çalışma zamanı anlık görüntüsünü kullanmalıdır, çalışma zamanı kanal gönderme/eylem/istemci yardımcıları
yapılandırmayı kendi sınırlarından almalıdır ve uzun ömürlü çalışma zamanı modülleri
sıfır ortam loadConfig() çağrısına izin verir.Yeni Plugin kodu, geniş openclaw/plugin-sdk/config-runtime
toplu dışa aktarımından kaçınmalıdır. İş için dar alt yolu kullanın:Gömülü araç sonucu uzantılarını ara yazılıma geçirin
api.registerEmbeddedExtensionFactory(...) araç sonucu işleyicilerini
çalışma zamanından bağımsız ara yazılımla değiştirmelidir:contracts.agentToolResultMiddleware içinde bildirildiğinde araç sonucu ara yazılımı kaydedebilir.
Bildirilmemiş kurulu ara yazılım kayıtları reddedilir.Onaya özgü işleyicileri yetenek olgularına geçirin
approvalCapability.nativeRuntime ve paylaşılan çalışma zamanı bağlamı
kayıt defteri aracılığıyla sunar:approvalCapability.handler.loadRuntime(...)yerineapprovalCapability.nativeRuntimekullanın.- Onaya özgü kimlik doğrulama/teslimatı eski
plugin.auth/plugin.approvalsbağlantısındanapprovalCapabilityüzerine taşıyın. ChannelPlugin.approvals, genel kanal Plugin’i sözleşmesinden kaldırılmıştır; teslimat/yerel/işleme alanlarınıapprovalCapabilityüzerine taşıyın.plugin.authyalnızca kanal oturum açma/kapatma akışları için kalır; çekirdek artık buradaki onay kimlik doğrulama kancalarını okumaz.- Kanalın sahip olduğu çalışma zamanı nesnelerini (istemciler, belirteçler, Bolt uygulamaları)
openclaw/plugin-sdk/channel-runtime-contextaracılığıyla kaydedin. - Yerel onay işleyicilerinden Plugin’e ait yeniden yönlendirme bildirimleri göndermeyin; gerçek teslimat sonuçlarından gelen başka yere yönlendirilmiş bildirimlerin sahibi çekirdektir.
channelRuntimedeğerinicreateChannelManager(...)içine geçirirken gerçek bircreatePluginRuntime().channelyüzeyi sağlayın; kısmi taslaklar reddedilir.
Windows sarmalayıcı geri dönüş davranışını denetleyin
openclaw/plugin-sdk/windows-spawn kullanıyorsa çözümlenmemiş Windows
.cmd/.bat sarmalayıcıları, açıkça
allowShellFallback: true geçirmediğiniz sürece artık güvenli biçimde başarısız olur:allowShellFallback ayarını yapmayın ve bunun yerine fırlatılan hatayı işleyin.Kullanımdan kaldırılmış içe aktarmaları bulun
Odaklı içe aktarmalarla değiştirin
Geniş infra-runtime içe aktarmalarını değiştirin
openclaw/plugin-sdk/infra-runtime harici
uyumluluk için hâlâ mevcuttur, ancak yeni kod gerçekten ihtiyaç duyduğu odaklı yüzeyi
içe aktarmalıdır:infra-runtime kullanımına karşı tarayıcı tarafından korunur; böylece depo kodu
geniş toplu dışa aktarıma geri dönemez.Kanal rota yardımcılarını geçirin
openclaw/plugin-sdk/channel-route kullanır. Eski
rota anahtarı adları uyumluluk takma adları olarak kalır:{ channel, to, accountId, threadId } değerini
yerel onaylar, yanıt engelleme, gelen ileti tekilleştirme,
cron teslimatı ve oturum yönlendirme genelinde tutarlı biçimde normalleştirir.plugin-sdk/channel-route üzerinden ChannelMessagingAdapter.parseExplicitTarget veya
resolveChannelRouteTargetWithParser(...) için yeni kullanımlar eklemeyin; bunlar kullanımdan kaldırılmıştır ve yalnızca eski
Plugin’ler için kalır. Yeni kanal Plugin’leri hedef kimliği normalleştirme
ve dizinde bulunamama geri dönüşü için
messaging.targetResolver.resolveTarget(...), çekirdek erken bir eş türüne ihtiyaç duyduğunda
messaging.inferTargetChatType(...), sağlayıcıya özgü
oturum ve ileti dizisi kimliği için messaging.resolveOutboundSessionRoute(...) kullanmalıdır.Derleyin ve test edin
İçe aktarma yolu başvurusu
İçe aktarılabilir SDK alt yolları için doğruluk kaynağı, genel paket dışa aktarma eşlemesidir. SDK genel bakışı bölümünden bağlantı verilen konuya özgü SDK kılavuzlarını kullanın ve belgelenmiş en dar genel alt yolu tercih edin.scripts/lib/plugin-sdk-entrypoints.json içindeki derleyici envanteri,
paketlenmiş Plugin’leri derlemek için kullanılan özel-yerel girdileri de içerir;
bunların burada bulunması onları genel paket dışa aktarımları yapmaz.
Bu tablo, tam SDK yüzeyi değil, yaygın geçiş alt kümesidir.
Derleyici giriş noktası envanteri scripts/lib/plugin-sdk-entrypoints.json içindedir;
paket dışa aktarımları genel alt kümeden oluşturulur.
Açıkça belgelenmiş uyumluluk cepheleri dışında, paketlenmiş Plugin’lere ayrılmış yardımcı
yüzeyler genel SDK dışa aktarma eşlemesinden kaldırılmıştır. Buna, yayımlanmış
@openclaw/discord paketini hâlâ doğrudan içe aktaran harici Plugin’ler için tutulan,
kullanımdan kaldırılmış plugin-sdk/discord uyumluluk katmanı dahildir. Sahibe özgü
yardımcılar, sahibi olan Plugin paketinin içinde bulunur; paylaşılan ana makine davranışı
plugin-sdk/gateway-runtime, plugin-sdk/security-runtime ve eklenen Plugin API’si gibi
genel SDK sözleşmeleri üzerinden taşınır.
İşle eşleşen en dar içe aktarmayı kullanın. Bir dışa aktarım bulamıyorsanız
src/plugin-sdk/ kaynağını kontrol edin veya hangi genel
sözleşmenin buna sahip olması gerektiğini bakımcılara sorun.
Kaldırılan uyumluluk yüzeyleri
Temmuz 2026 taraması; kök SDK ve uyumluluk toplu dışa aktarımlarını, uzantı API’si köprüsünü, süresi dolmuş SDK alt yol takma adlarını, kullanılmayan SDK alt yollarını ve yalnızca paketlenmiş modüllere yönelik genel SDK dışa aktarımlarını kaldırdı. Yalnızca paketlenmiş modüller, özel-yerel derleme eşlemeleri aracılığıyla depo sahiplerinin kullanımına açık kalır; yayımlanmış paketten içe aktarılamazlar.İşlem geneli API sağlayıcısı yayımlama
registerApiProvider(...) ve unregisterApiProviders(...),
openclaw/plugin-sdk/llm üzerinden kaldırıldı. Bunlar API aktarımlarını işlem geneli
durumda yayımlıyordu; yaşam döngüsünün sahibi olduğu model çalışma zamanları da bunları
hazırlanan her kayıt defterine kopyalamak zorunda kalıyordu.
Sağlayıcı Plugin’leri metin çıkarımı sağlayıcılarını
api.registerProvider(...) aracılığıyla kaydetmelidir. Bir
ApiRegistry oluşturan ana makineye ait kod ve testler, sağlayıcı sahipliğinin
ve kapatma işleminin hazırlanan çalışma zamanı kapsamında kalması için doğrudan bu kayıt defterine
kaydolmalıdır.
Özel test toplu dışa aktarımı
openclaw/plugin-sdk/testing depoya özeldi ve yayımlanan paket
yapılarının dışında bırakılıyordu; bu nedenle gelecekteki 2026-07-28 removeAfter tarihinden önce kaldırıldı. Depo
testleri plugin-sdk/plugin-test-runtime, plugin-sdk/channel-test-helpers, plugin-sdk/channel-target-testing,
plugin-sdk/test-env ve plugin-sdk/test-fixtures gibi odaklı alt yolları kullanır.
Geçiş başvurusu
Bu eşlemeler hem Temmuz 2026’da kaldırılan yüzeyleri hem de daha sonraki dönemde etkin olan kullanımdan kaldırmaları kapsar. Bir eşleme, geçiş rehberidir; eski yüzeyin hâlâ kullanılabilir olduğunun kanıtı değildir. Güncel durum için uyumluluk kayıt defterine ve kaldırma zaman çizelgesine başvurun.command-auth yardım oluşturucuları -> command-status
command-auth yardım oluşturucuları -> command-status
openclaw/plugin-sdk/command-auth): buildCommandsMessage,
buildCommandsMessagePaginated, buildHelpMessage.Yeni (openclaw/plugin-sdk/command-status): aynı imzalar, daha dar
alt yoldan içe aktarılır. command-auth uyumluluk yeniden dışa aktarımları
kaldırılmıştır.Bahsetme geçidi yardımcıları -> resolveInboundMentionDecision
Bahsetme geçidi yardımcıları -> resolveInboundMentionDecision
openclaw/plugin-sdk/channel-inbound veya
openclaw/plugin-sdk/channel-mention-gating içinden
resolveMentionGating(params) ve
resolveMentionGatingWithBypass(params).Yeni: resolveInboundMentionDecision({ facts, policy }) - iki ayrı çağrı biçimi
yerine tek bir karar nesnesi.Discord, iMessage, Matrix, MS Teams, QQBot, Signal,
Telegram, WhatsApp ve Zalo genelinde benimsenmiştir. Slack’in kendi app_mention olay modeli
bu yardımcıyı kullanmaz.Kanal çalışma zamanı uyumluluk katmanı ve kanal eylemi yardımcıları
Kanal çalışma zamanı uyumluluk katmanı ve kanal eylemi yardımcıları
openclaw/plugin-sdk/channel-runtime kaldırılmıştır. Çalışma zamanı
nesnelerini kaydetmek için openclaw/plugin-sdk/channel-runtime-context kullanın.openclaw/plugin-sdk/channel-actions içindeki yerel ileti şeması yardımcıları,
ham “actions” kanal dışa aktarımlarıyla birlikte kaldırılmıştır. Bunun yerine yetenekleri
anlamsal presentation yüzeyi üzerinden sunun; kanal plugin’leri
hangi ham eylem adlarını kabul ettiklerini değil, neyi görüntülediklerini
(kartlar, düğmeler, seçimler) bildirir.Web araması sağlayıcısı tool() yardımcısı -> plugin üzerinde createTool()
Web araması sağlayıcısı tool() yardımcısı -> plugin üzerinde createTool()
openclaw/plugin-sdk/provider-web-search içinden tool() fabrikası.Yeni: createTool(...) öğesini doğrudan sağlayıcı plugin’inde uygulayın.
OpenClaw artık araç sarmalayıcısını kaydetmek için SDK yardımcısına ihtiyaç duymaz.Düz metin kanal zarfları -> BodyForAgent
Düz metin kanal zarfları -> BodyForAgent
api.runtime.channel.reply.formatInboundEnvelope(...) (ve gelen ileti
nesnelerindeki channelEnvelope alanı).Yeni: BodyForAgent ve yapılandırılmış kullanıcı bağlamı blokları. Kanal
plugin’leri yönlendirme meta verilerini (iş parçacığı, konu, yanıt hedefi, tepkiler)
bir istem dizesinde birleştirmek yerine türü belirlenmiş alanlar olarak ekler.
formatAgentEnvelope(...) yardımcısı, oluşturulan
asistan odaklı zarflar için desteklenmeye devam eder; ancak gelen düz metin zarfları
kullanımdan kaldırılma sürecindedir.Etkilenen alanlar: inbound_claim, message_received ve eski zarf
metnini sonradan işleyen tüm özel kanal plugin’leri.deactivate kancası -> gateway_stop
deactivate kancası -> gateway_stop
api.on("deactivate", handler).Yeni: api.on("gateway_stop", handler). Aynı kapatma temizliği
sözleşmesi geçerlidir; yalnızca kancanın adı değişir.deactivate, 2026-08-16 sonrasında kaldırılana kadar kullanımdan kaldırılmış
bir uyumluluk diğer adı olarak bağlı kalır.subagent_spawning kancası -> çekirdek iş parçacığı bağlama
subagent_spawning kancası -> çekirdek iş parçacığı bağlama
threadBindingReady veya deliveryOrigin
döndüren api.on("subagent_spawning", handler).Yeni: çekirdeğin kanal oturumu bağlama bağdaştırıcısı üzerinden
thread: true alt ajan bağlamalarını hazırlamasına izin verin.
api.on("subagent_spawned", handler) öğesini yalnızca başlatma sonrası gözlem için kullanın.subagent_spawning, PluginHookSubagentSpawningEvent,
PluginHookSubagentSpawningResult ve
SubagentLifecycleHookRunner.runSubagentSpawning(...), harici plugin’ler geçiş yaparken yalnızca
kullanımdan kaldırılmış uyumluluk yüzeyleri olarak kalır ve
2026-08-30 sonrasında kaldırılır.Sağlayıcı keşif türleri -> sağlayıcı katalog türleri
Sağlayıcı keşif türleri -> sağlayıcı katalog türleri
ProviderCapabilities statik paketi
kaldırılmıştır. Sağlayıcı plugin’leri statik bir nesne yerine
buildReplayPolicy, normalizeToolSchemas ve wrapStreamFn gibi
açık sağlayıcı kancalarını kullanmalıdır.Düşünme ilkesi kancaları -> resolveThinkingProfile
Düşünme ilkesi kancaları -> resolveThinkingProfile
ProviderThinkingPolicy üzerinde üç ayrı kanca):
isBinaryThinking(ctx), supportsXHighThinking(ctx) ve
resolveDefaultThinkingLevel(ctx).Yeni: kurallı id, isteğe bağlı label
ve derecelendirilmiş bir düzey listesi içeren
ProviderThinkingProfile döndüren tek bir resolveThinkingProfile(ctx). OpenClaw,
güncelliğini yitirmiş saklanan değerleri profil sıralamasına göre otomatik olarak
düşürür.Bağlam; provider, modelId, isteğe bağlı birleştirilmiş reasoning
ve isteğe bağlı birleştirilmiş model compat olgularını içerir. Sağlayıcı plugin’leri,
yalnızca yapılandırılmış istek sözleşmesi desteklediğinde modele özgü bir profil
sunmak için bu katalog olgularını kullanabilir.Üç kanca yerine tek bir kanca uygulayın. Eski kancalar kaldırılmıştır.Harici kimlik doğrulama sağlayıcıları -> contracts.externalAuthProviders
Harici kimlik doğrulama sağlayıcıları -> contracts.externalAuthProviders
contracts.externalAuthProviders öğesini bildirin
ve resolveExternalAuthProfiles(...) öğesini uygulayın.Sağlayıcı ortam değişkeni araması -> setup.providers[].envVars
Sağlayıcı ortam değişkeni araması -> setup.providers[].envVars
providerAuthEnvVars: { anthropic: ["ANTHROPIC_API_KEY"] }.Yeni: aynı ortam değişkeni aramasını bildirimdeki setup.providers[].envVars
alanına da yansıtın. Bu, kurulum/durum ortam meta verilerini tek yerde
birleştirir ve yalnızca ortam değişkeni aramalarını yanıtlamak için plugin çalışma
zamanını başlatmayı önler.providerAuthEnvVars artık kabul edilmez.Bellek plugin'i kaydı -> registerMemoryCapability
Bellek plugin'i kaydı -> registerMemoryCapability
api.registerMemoryPromptSection(...),
api.registerMemoryFlushPlan(...), api.registerMemoryRuntime(...).Yeni: bellek durumu API’sinde tek çağrı -
registerMemoryCapability(pluginId, { promptBuilder, flushPlanResolver, runtime }).Aynı yuvalar, tek kayıt çağrısı. Eklemeli istem ve derlem yardımcıları
(registerMemoryPromptSupplement, registerMemoryCorpusSupplement) etkilenmez.Bellek gömme sağlayıcısı API'si
Bellek gömme sağlayıcısı API'si
api.registerMemoryEmbeddingProvider(...) ve
contracts.memoryEmbeddingProviders.Yeni: api.registerEmbeddingProvider(...) ve
contracts.embeddingProviders.Genel gömme sağlayıcısı sözleşmesi bellek dışında da yeniden kullanılabilir
ve yeni sağlayıcılar için desteklenen yoldur. Belleğe özgü kayıt API’si,
mevcut sağlayıcılar geçiş yaparken kullanımdan kaldırılmış uyumluluk olarak bağlı
kalır. Plugin incelemesi, paketle birlikte sunulmayan kullanımı uyumluluk
borcu olarak bildirir.Ham kanal gönderim sonuçları -> OutboundDeliveryResult
Ham kanal gönderim sonuçları -> OutboundDeliveryResult
ChannelSendRawResult üzerinden { ok, messageId, error } döndürmek
ve bunu createRawChannelSendResultAdapter(...) ile normalleştirmek.Yeni: OutboundDeliveryResult alanlarını döndürün ve kanalı
createAttachedChannelResultAdapter(...) ile ekleyin. Başarısız gönderimler
hata dizesi döndürmek yerine hata fırlatmalıdır. Ham sonuç türü bir sonraki
plugin-SDK ana sürümüne kadar kullanılabilir kalır.Alt ajan oturum iletileri türleri yeniden adlandırıldı
Alt ajan oturum iletileri türleri yeniden adlandırıldı
src/plugins/runtime/types.ts içinden hâlâ dışa aktarılan iki eski tür diğer adı:readSession çalışma zamanı yöntemi, getSessionMessages lehine
kullanımdan kaldırılmıştır. İmza aynıdır; eski yöntem çağrıyı yeni yönteme
aktarır.Kaldırılan oturum ve transkript dosyası API'leri
Kaldırılan oturum ve transkript dosyası API'leri
sessions.json depolarını, JSONL
transkript yollarını veya oturum dosyası listelerini sunan plugin odaklı API’leri
kaldırır ya da kullanımdan kaldırır. Çalışma zamanı plugin’leri, etkin dosyaları
çözümlemek veya değiştirmek yerine oturum kimliğini ve SDK çalışma zamanı
yardımcılarını kullanmalıdır.v2026.7.1-beta.5 ile yayımlanan resmî plugin’ler, yukarıdaki kullanımdan
kaldırılmış dört yardımcıyı içe aktarmıştır. openclaw/plugin-sdk/session-store-runtime, bu
tam köprüyü 2026-10-12 tarihine kadar korur; yeni plugin’ler yerine kullanılacak
öğeleri kullanmalıdır. resolveStorePath(...), desteklenen bir SDK yardımcısı olarak
kalır ve bu kullanımdan kaldırmanın parçası değildir.openclaw plugins inspect --all --runtime, yükleme hataları veya tanılamaları hâlâ bu kaldırılmış
dosya API’lerine başvuran, paketle birlikte sunulmayan plugin’leri bildirir.
@openclaw/plugin-inspector danışma taraması, harici paket taramalarının da
yayımdan önce tüm depo oturum yardımcılarını, oturum dosyası yolu yardımcılarını,
eski transkript dosyası hedeflerini ve düşük düzeyli transkript yardımcılarını
işaretlemesi için 0.3.17 veya daha yeni bir sürümü kullanmalıdır.runtime.tasks.flow -> runtime.tasks.managedFlows
runtime.tasks.flow -> runtime.tasks.managedFlows
runtime.tasks.flow (tekil), canlı bir görev akışı
erişimcisi döndürüyordu.Yeni: runtime.tasks.managedFlows, bir akıştan alt görevler oluşturan,
güncelleyen, iptal eden veya çalıştıran plugin’ler için yönetilen TaskFlow değişiklik
çalışma zamanını korur. Plugin yalnızca DTO tabanlı okumalara ihtiyaç duyuyorsa
runtime.tasks.flows kullanın.Gömülü uzantı fabrikaları -> agent araç sonucu ara yazılımı
Gömülü uzantı fabrikaları -> agent araç sonucu ara yazılımı
api.registerEmbeddedExtensionFactory(...) yolu, contracts.agentToolResultMiddleware içinde açık bir çalışma zamanı
listesiyle api.registerAgentToolResultMiddleware(...) tarafından değiştirilmiştir.OpenClawSchemaType takma adı -> OpenClawConfig
OpenClawSchemaType takma adı -> OpenClawConfig
OpenClawSchemaType kök SDK takma adı kaldırıldı. Standart
OpenClawConfig adını kullanın.extensions/ altındaki paketle gelen
kanal/sağlayıcı Plugin’lerinin içinde), kendi api.ts ve runtime-api.ts
barrel’larında izlenir. Bunlar üçüncü taraf Plugin sözleşmelerini etkilemez ve
burada listelenmez. Paketle gelen bir Plugin’in yerel barrel’ını doğrudan
kullanıyorsanız yükseltmeden önce o barrel’daki kullanımdan kaldırma yorumlarını
okuyun.Talk ve gerçek zamanlı ses geçişi
Gerçek zamanlı ses, telefon, toplantı ve tarayıcı Talk kodu,openclaw/plugin-sdk/realtime-voice tarafından dışa aktarılan tek bir Talk oturum
denetleyicisini paylaşır. Denetleyici; ortak Talk olay zarfının, etkin tur
durumunun, yakalama durumunun, ses çıkışı durumunun, yakın tarihli olay
geçmişinin ve eski tur reddinin sahibidir. Sağlayıcı Plugin’leri, satıcıya özgü
gerçek zamanlı oturumların sahibidir. Tarayıcı toplantısı Plugin’leri; oturum,
tarayıcı, ses, node ana makinesi, agent danışması ve sesli arama mekanikleri
için openclaw/plugin-sdk/meeting-runtime kullanır, ardından URL kuralları, DOM betikleri,
manuel eylem eşlemesi, altyazılar, oluşturma ve telefonla katılım planları için
MeetingPlatformAdapter uygular. Platform REST API’leri, OAuth, yapıtlar,
seçiciler ve aktarım adları Plugin’de kalır. Tarayıcı izin planları, istenen
toplantı URL’sini alır; böylece her platform yalnızca tam olarak desteklediği
kaynaklara izin verebilir. Oturum çalışma zamanları, tarayıcıdan ayrılmanın
doğrulanmasının ardından platforma özgü canlı sağlık durumunu da
normalleştirmelidir; geçmiş döküm alanları kalabilir ancak ayrıldıktan sonra
altyazı ve ses hazırlığı etkin kalmamalıdır.
Paketle gelen tüm yüzeyler paylaşılan denetleyicide çalışır: tarayıcı aktarımı,
yönetilen oda devri, sesli aramada gerçek zamanlı çalışma, sesli aramada akışlı
STT, Google Meet gerçek zamanlı çalışma ve yerel bas-konuş. Gateway,
hello-ok.features.events içinde tek bir canlı Talk olay kanalı duyurur:
talk.event.
Yeni kod, düşük düzeyli bir bağdaştırıcı veya test fikstürü uygulamadığı sürece
createTalkEventSequencer(...) işlevini doğrudan çağırmamalıdır. Tur kapsamındaki
olayların tur kimliği olmadan yayımlanamaması, eski turnEnd /
turnCancel çağrılarının daha yeni bir etkin turu temizleyememesi ve
ses çıkışı yaşam döngüsü olaylarının telefon, toplantılar, tarayıcı aktarımı,
yönetilen oda devri ve yerel Talk istemcileri genelinde tutarlı kalması için
paylaşılan denetleyiciyi kullanın.
Genel API biçimi:
talk.client.create kullanır; çünkü sağlayıcı anlaşmasının ve medya aktarımının
sahibi tarayıcı, kimlik bilgilerinin, talimatların ve araç politikasının sahibi
ise Gateway’dir. talk.session.*; Gateway aktarımı üzerinden gerçek zamanlı
çalışma, Gateway aktarımı üzerinden döküm ve yönetilen oda yerel STT/TTS
oturumları için Gateway tarafından yönetilen ortak yüzeydir.
Gerçek zamanlı seçicileri talk.provider / talk.providers yanına
yerleştiren eski yapılandırmalar openclaw doctor --fix ile onarılmalıdır;
çalışma zamanı Talk, konuşma/TTS sağlayıcı yapılandırmasını gerçek zamanlı
sağlayıcı yapılandırması olarak yeniden yorumlamaz.
Desteklenen talk.session.create birleşimleri kasıtlı olarak sınırlıdır:
talk.realtime.* / talk.transcription.* / talk.handoff.*
ailelerinden geçiş yapan okuyucular için yöntem eşlemesi (tümü kaldırıldı):
Kaldırma zaman çizelgesi
pnpm plugins:boundary-report komutunu çalıştırın.
Uyarıları geçici olarak bastırma
İlgili
- Başlarken - ilk plugininizi oluşturun
- SDK’ya Genel Bakış - tam alt yol içe aktarma referansı
- Kanal Pluginleri - kanal pluginleri oluşturma
- Sağlayıcı Pluginleri - sağlayıcı pluginleri oluşturma
- Plugin İç Yapısı - ayrıntılı mimari incelemesi
- Plugin Manifesti - manifest şeması referansı