Skip to main content
OpenClaw, geniş bir geriye dönük uyumluluk katmanını küçük ve odaklı içe aktarımlardan oluşturulan modern bir plugin mimarisiyle değiştirdi. Plugin’iniz bu değişiklikten önce oluşturulduysa bu kılavuz, onu güncel sözleşmelere geçirmenizi sağlar.

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-sdk ve openclaw/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_result gibi 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).
Kök SDK, uyumluluk barrel’ı, uzantı köprüsü ve gömülü uzantı fabrikası kaldırıldı. 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.
Kaldırılmış kök, uyumluluk veya uzantı yüzeylerini içe aktaran plugin’ler artık yüklenmez. Yükseltmeden önce aşağıdaki eşlemeleri izleyin.
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.
Artık her 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.ts katmanı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.ts konumunda tutar.
  • OpenRouter, sağlayıcı oluşturucusunu ve ilk katılım/yapılandırma yardımcılarını kendi api.ts konumunda tutar.

Uyumluluk politikası

Harici plugin uyumluluk çalışmaları şu sırayı izler:
  1. Yeni sözleşmeyi ekleyin.
  2. Eski davranışı bir uyumluluk bağdaştırıcısı üzerinden bağlı tutun.
  3. Eski yolu ve alternatifini belirten bir tanılama veya uyarı yayınlayın.
  4. Testlerde her iki yolu da kapsayın.
  5. Kullanımdan kaldırma ve geçiş yolunu belgeleyin.
  6. Yalnızca duyurulan geçiş döneminden sonra, genellikle büyük bir sürümde kaldırın.
Bir manifest alanı hâlâ kabul ediliyorsa belgeler ve tanılamalar aksini söyleyene kadar kullanmaya devam edin. Yeni kod, belgelenmiş alternatifi tercih etmelidir; mevcut plugin’ler olağan küçük sürümler sırasında bozulmamalıdır.

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. Eski bildirilmemiş bağdaştırıcı yükseltme katmanı, okuyucuya dayalı aynı politikayı izler. Plugin’in ek yükseltme anahtarına ihtiyaç duymadığı durumlarda boş bir dizi de dahil olmak üzere 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

  1. Her nextCursor ile https://clawhub.ai/api/v1/packages?family=code-plugin&limit=100 içinde sayfalar arasında ilerleyin ve categories alanında channels bulunan paketleri tutun.
  2. npm search --json --searchlimit=1000 "openclaw channel plugin" içindeki npm adaylarını ekleyin. openclaw/plugin-sdk/channel-setup, openclaw/plugin-sdk/setup ve openclaw/plugin-sdk/core için GitHub kod aramalarından yalnızca kaynak kodu bulunan adayları ekleyin.
  3. 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ş dist JavaScript kodunu ve bildirimlerini inceleyin. Bir paketin npm sürümü yoksa ClawHub yapıtını indirin.
  4. 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.
Bu yalnızca bir kaynak/tür uyumluluk kaydıdır. Çalışma zamanı kurulum giriş nesneleri ve kurulum davranışı değişmediğinden çalışma zamanı bağdaştırıcısı veya uyumluluk kayıt defteri girdisi yoktur. Geçerli geçiş kuyruğunu 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

1

Çalışma zamanı yapılandırması yükleme/yazma yardımcılarını taşıma

Paketle gelen plugin’ler 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:
Değişiklik temiz bir Gateway yeniden başlatması gerektirdiğinde 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:Paketlenmiş Plugin’ler ve testleri, ihtiyaç duydukları davranışa yönelik içe aktarma ve taklitlerin yerel kalması için tarayıcı tarafından geniş toplu dışa aktarıma karşı korunur. Toplu dışa aktarım harici uyumluluk için hâlâ mevcuttur, ancak yeni kod buna bağımlı olmamalıdır.
2

Gömülü araç sonucu uzantılarını ara yazılıma geçirin

Paketlenmiş Plugin’ler, yalnızca gömülü çalıştırıcıya özgü api.registerEmbeddedExtensionFactory(...) araç sonucu işleyicilerini çalışma zamanından bağımsız ara yazılımla değiştirmelidir:
Plugin manifestini aynı anda güncelleyin:
Kurulu Plugin’ler de açıkça etkinleştirildiklerinde ve hedeflenen her çalışma zamanı contracts.agentToolResultMiddleware içinde bildirildiğinde araç sonucu ara yazılımı kaydedebilir. Bildirilmemiş kurulu ara yazılım kayıtları reddedilir.
3

Onaya özgü işleyicileri yetenek olgularına geçirin

Onay özellikli kanal Plugin’leri, yerel onay davranışını approvalCapability.nativeRuntime ve paylaşılan çalışma zamanı bağlamı kayıt defteri aracılığıyla sunar:
  • approvalCapability.handler.loadRuntime(...) yerine approvalCapability.nativeRuntime kullanın.
  • Onaya özgü kimlik doğrulama/teslimatı eski plugin.auth / plugin.approvals bağlantısından approvalCapability ü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.auth yalnı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-context aracı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.
  • channelRuntime değerini createChannelManager(...) içine geçirirken gerçek bir createPluginRuntime().channel yüzeyi sağlayın; kısmi taslaklar reddedilir.
Geçerli onay yeteneği düzeni için Kanal Plugin’leri bölümüne bakın.
4

Windows sarmalayıcı geri dönüş davranışını denetleyin

Plugin’iniz 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:
Çağıran tarafınız kabuk geri dönüşüne kasıtlı olarak bağımlı değilse allowShellFallback ayarını yapmayın ve bunun yerine fırlatılan hatayı işleyin.
5

Kullanımdan kaldırılmış içe aktarmaları bulun

6

Odaklı içe aktarmalarla değiştirin

Eski yüzeydeki her dışa aktarım belirli bir modern içe aktarma yoluyla eşleşir:
Ana makine tarafındaki yardımcılar için doğrudan içe aktarma yerine eklenen Plugin çalışma zamanını kullanın:
Diğer eski köprü yardımcıları için de aynı kalıbı kullanın:
7

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:Paketlenmiş Plugin’ler infra-runtime kullanımına karşı tarayıcı tarafından korunur; böylece depo kodu geniş toplu dışa aktarıma geri dönemez.
8

Kanal rota yardımcılarını geçirin

Yeni kanal rota kodu openclaw/plugin-sdk/channel-route kullanır. Eski rota anahtarı adları uyumluluk takma adları olarak kalır:Modern rota yardımcıları { 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.
9

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.
Eski (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.
Eski: 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.
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.
Eski: 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.
Eski: gelen kanal iletilerinden düz bir metin istem zarfı oluşturmak için 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.
Eski: 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.
Eski: 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.
Dört keşif türü diğer adı artık katalog dönemi türlerinin ince sarmalayıcılarıdır:Diğer adlar ve eski 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.
Eski (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.
Eski: sağlayıcıyı plugin bildiriminde belirtmeden harici kimlik doğrulama kancalarını uygulamak.Yeni: plugin bildiriminde contracts.externalAuthProviders öğesini bildirin ve resolveExternalAuthProfiles(...) öğesini uygulayın.
Eski bildirim alanı: 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.
Eski: üç ayrı çağrı - 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.
Eski: 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.
Eski: 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.
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.
SQLite oturum/transkript geçişi; etkin 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.Eski JSONL transkript dosyaları içe aktarma, arşivleme, dışa aktarma ve destek yapıtları olarak geçerliliğini korur. Artık etkin oturumlar için kararlı durum çalışma zamanı sözleşmesi değildir.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.
Eski: 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.
Eski takma adlar Temmuz 2026’da kaldırıldı.
Yukarıdaki Geçiş nasıl yapılır bölümünde ele alınmıştır. Eksiksizlik adına burada da belirtilmiştir: yalnızca kaldırılan gömülü çalıştırıcıya özgü api.registerEmbeddedExtensionFactory(...) yolu, contracts.agentToolResultMiddleware içinde açık bir çalışma zamanı listesiyle api.registerAgentToolResultMiddleware(...) tarafından değiştirilmiştir.
OpenClawSchemaType kök SDK takma adı kaldırıldı. Standart OpenClawConfig adını kullanın.
Uzantı düzeyindeki kullanımdan kaldırmalar (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:
Tarayıcının sahip olduğu WebRTC/sağlayıcı websocket oturumları 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: Eski talk.realtime.* / talk.transcription.* / talk.handoff.* ailelerinden geçiş yapan okuyucular için yöntem eşlemesi (tümü kaldırıldı): Birleşik denetim söz dağarcığı da bilinçli olarak dardır: Bunun çalışmasını sağlamak için çekirdeğe sağlayıcıya veya platforma özgü özel durumlar eklemeyin. Talk oturumu semantiğinin sahibi çekirdektir. Satıcı oturumu kurulumunun sahibi sağlayıcı Plugin’leridir. Telefon/toplantı bağdaştırıcılarının sahibi sesli arama ve Google Meet’tir. Cihaz yakalama/oynatma kullanıcı deneyiminin sahibi tarayıcı ve yerel uygulamalardır.

Kaldırma zaman çizelgesi

Aşağıdaki kalan genel SDK alt yollarının kayıt defteri destekli kaldırma zaman aralıkları vardır. 30 Temmuz satırları, bakımcıların erken yetkilendirdiği taramadan sonra kaldırıldı: kullanılmayan alt yollar silindi, önceki uyumluluk takma adları silindi ve yalnızca paketlenmiş modüller özel-yerel derleme eşlemelerine indirgendi. Tüm çekirdek pluginler zaten geçirildi. Harici pluginler sonraki ana sürümden önce geçiş yapmalıdır. Plugininizin kullandığı yüzeylerde en yakında süresi dolacak uyumluluk kayıtlarını görmek için pnpm plugins:boundary-report komutunu çalıştırın.

Uyarıları geçici olarak bastırma

Bu, kalıcı bir çözüm değil, geçici bir kaçış yoludur.

İlgili