Ana içeriğe atla

Plugin SDK Genel Bakış

Plugin SDK, plugin’ler ile çekirdek arasındaki türlendirilmiş sözleşmedir. Bu sayfa, neyi içe aktaracağınızın ve neleri kaydedebileceğinizin başvurusudur.
Nasıl yapılır kılavuzu mu arıyorsunuz?

İçe aktarma kuralı

Her zaman belirli bir alt yoldan içe aktarın:
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
Her alt yol küçük ve kendi içinde yeterli bir modüldür. Bu, başlangıcı hızlı tutar ve dairesel bağımlılık sorunlarını önler. Kanala özgü giriş/derleme yardımcıları için openclaw/plugin-sdk/channel-core yolunu tercih edin; daha geniş şemsiye yüzey ve buildChannelConfigSchema gibi paylaşılan yardımcılar için openclaw/plugin-sdk/core yolunu kullanın. openclaw/plugin-sdk/slack, openclaw/plugin-sdk/discord, openclaw/plugin-sdk/signal, openclaw/plugin-sdk/whatsapp gibi sağlayıcı adlı kolaylık yüzeyleri veya kanal markalı yardımcı yüzeyler eklemeyin ya da bunlara bağımlı olmayın. Paketlenmiş plugin’ler genel SDK alt yollarını kendi api.ts veya runtime-api.ts barrel dosyaları içinde birleştirmelidir; çekirdek ise ya bu plugin’e özgü yerel barrel dosyalarını kullanmalı ya da ihtiyaç gerçekten kanallar arasıysa dar kapsamlı genel bir SDK sözleşmesi eklemelidir. Oluşturulmuş dışa aktarma eşlemesi hâlâ plugin-sdk/feishu, plugin-sdk/feishu-setup, plugin-sdk/zalo, plugin-sdk/zalo-setup ve plugin-sdk/matrix* gibi küçük bir paketlenmiş-plugin yardımcı yüzey kümesi içerir. Bu alt yollar yalnızca paketlenmiş-plugin bakımı ve uyumluluğu için vardır; aşağıdaki ortak tabloda bilerek atlanmıştır ve yeni üçüncü taraf plugin’ler için önerilen içe aktarma yolu değildir.

Alt yol başvurusu

Amaca göre gruplanmış en yaygın kullanılan alt yollar. 200’den fazla alt yolun oluşturulmuş tam listesi scripts/lib/plugin-sdk-entrypoints.json içinde bulunur. Ayrılmış paketlenmiş-plugin yardımcı alt yolları bu oluşturulmuş listede yine de görünür. Bir belge sayfası bunlardan birini açıkça herkese açık olarak tanıtmadıkça, bunları uygulama ayrıntısı/uyumluluk yüzeyleri olarak değerlendirin.

Plugin girişi

Alt yolTemel dışa aktarımlar
plugin-sdk/plugin-entrydefinePluginEntry
plugin-sdk/coredefineChannelPluginEntry, createChatChannelPlugin, createChannelPluginBase, defineSetupPluginEntry, buildChannelConfigSchema
plugin-sdk/config-schemaOpenClawSchema
plugin-sdk/provider-entrydefineSingleProviderPluginEntry
Alt yolTemel dışa aktarımlar
plugin-sdk/channel-coredefineChannelPluginEntry, defineSetupPluginEntry, createChatChannelPlugin, createChannelPluginBase
plugin-sdk/config-schemaKök openclaw.json Zod şema dışa aktarımı (OpenClawSchema)
plugin-sdk/channel-setupcreateOptionalChannelSetupSurface, createOptionalChannelSetupAdapter, createOptionalChannelSetupWizard ve ayrıca DEFAULT_ACCOUNT_ID, createTopLevelChannelDmPolicy, setSetupChannelEnabled, splitSetupEntries
plugin-sdk/setupPaylaşılan kurulum sihirbazı yardımcıları, allowlist istemleri, kurulum durumu oluşturucuları
plugin-sdk/setup-runtimecreatePatchedAccountSetupAdapter, createEnvPatchedAccountSetupAdapter, createSetupInputPresenceValidator, noteChannelLookupFailure, noteChannelLookupSummary, promptResolvedAllowFrom, splitSetupEntries, createAllowlistSetupWizardProxy, createDelegatedSetupWizardProxy
plugin-sdk/setup-adapter-runtimecreateEnvPatchedAccountSetupAdapter
plugin-sdk/setup-toolsformatCliCommand, detectBinary, extractArchive, resolveBrewExecutable, formatDocsLink, CONFIG_DIR
plugin-sdk/account-coreÇok hesaplı yapılandırma/eylem kapısı yardımcıları, varsayılan hesap geri dönüş yardımcıları
plugin-sdk/account-idDEFAULT_ACCOUNT_ID, hesap kimliği normalleştirme yardımcıları
plugin-sdk/account-resolutionHesap arama + varsayılan geri dönüş yardımcıları
plugin-sdk/account-helpersDar kapsamlı hesap listesi/hesap eylemi yardımcıları
plugin-sdk/channel-pairingcreateChannelPairingController
plugin-sdk/channel-reply-pipelinecreateChannelReplyPipeline
plugin-sdk/channel-config-helperscreateHybridChannelConfigAdapter
plugin-sdk/channel-config-schemaKanal yapılandırma şeması türleri
plugin-sdk/telegram-command-configPaketlenmiş sözleşme geri dönüşüyle Telegram özel komut normalleştirme/doğrulama yardımcıları
plugin-sdk/channel-policyresolveChannelGroupRequireMention
plugin-sdk/channel-lifecyclecreateAccountStatusSink
plugin-sdk/inbound-envelopePaylaşılan gelen yönlendirme + zarf oluşturucu yardımcıları
plugin-sdk/inbound-reply-dispatchPaylaşılan gelen kaydetme ve dağıtma yardımcıları
plugin-sdk/messaging-targetsHedef ayrıştırma/eşleştirme yardımcıları
plugin-sdk/outbound-mediaPaylaşılan giden medya yükleme yardımcıları
plugin-sdk/outbound-runtimeGiden kimlik/gönderim temsilci yardımcıları
plugin-sdk/thread-bindings-runtimeİş parçacığı bağlama yaşam döngüsü ve bağdaştırıcı yardımcıları
plugin-sdk/agent-media-payloadEski agent medya yükü oluşturucusu
plugin-sdk/conversation-runtimeKonuşma/iş parçacığı bağlama, eşleme ve yapılandırılmış bağlama yardımcıları
plugin-sdk/runtime-config-snapshotÇalışma zamanı yapılandırma anlık görüntüsü yardımcısı
plugin-sdk/runtime-group-policyÇalışma zamanı grup ilkesi çözümleme yardımcıları
plugin-sdk/channel-statusPaylaşılan kanal durum anlık görüntüsü/özeti yardımcıları
plugin-sdk/channel-config-primitivesDar kapsamlı kanal yapılandırma şeması ilkel öğeleri
plugin-sdk/channel-config-writesKanal yapılandırma yazma yetkilendirme yardımcıları
plugin-sdk/channel-plugin-commonPaylaşılan kanal plugin başlangıç dışa aktarımları
plugin-sdk/allowlist-config-editAllowlist yapılandırması düzenleme/okuma yardımcıları
plugin-sdk/group-accessPaylaşılan grup erişimi karar yardımcıları
plugin-sdk/direct-dmPaylaşılan doğrudan DM auth/koruma yardımcıları
plugin-sdk/interactive-runtimeEtkileşimli yanıt yükü normalleştirme/indirgeme yardımcıları
plugin-sdk/channel-inboundGelen debounce, mention eşleştirme, mention ilkesi yardımcıları ve zarf yardımcıları
plugin-sdk/channel-send-resultYanıt sonuç türleri
plugin-sdk/channel-actionscreateMessageToolButtonsSchema, createMessageToolCardSchema
plugin-sdk/channel-targetsHedef ayrıştırma/eşleştirme yardımcıları
plugin-sdk/channel-contractKanal sözleşmesi türleri
plugin-sdk/channel-feedbackGeri bildirim/reaksiyon bağlantıları
plugin-sdk/channel-secret-runtimecollectSimpleChannelFieldAssignments, getChannelSurface, pushAssignment gibi dar kapsamlı gizli sözleşme yardımcıları ve gizli hedef türleri
Alt yolTemel dışa aktarımlar
plugin-sdk/provider-entrydefineSingleProviderPluginEntry
plugin-sdk/provider-setupDüzenlenmiş yerel/kendi barındırılan sağlayıcı kurulum yardımcıları
plugin-sdk/self-hosted-provider-setupOdaklanmış OpenAI uyumlu kendi barındırılan sağlayıcı kurulum yardımcıları
plugin-sdk/cli-backendCLI arka uç varsayılanları + watchdog sabitleri
plugin-sdk/provider-auth-runtimeSağlayıcı plugin’leri için çalışma zamanı API anahtarı çözümleme yardımcıları
plugin-sdk/provider-auth-api-keyupsertApiKeyProfile gibi API anahtarı onboarding/profil yazma yardımcıları
plugin-sdk/provider-auth-resultStandart OAuth auth-result oluşturucusu
plugin-sdk/provider-auth-loginSağlayıcı plugin’leri için paylaşılan etkileşimli oturum açma yardımcıları
plugin-sdk/provider-env-varsSağlayıcı auth env değişkeni arama yardımcıları
plugin-sdk/provider-authcreateProviderApiKeyAuthMethod, ensureApiKeyFromOptionEnvOrPrompt, upsertAuthProfile, upsertApiKeyProfile, writeOAuthCredentials
plugin-sdk/provider-model-sharedProviderReplayFamily, buildProviderReplayFamilyHooks, normalizeModelCompat, paylaşılan replay-policy oluşturucuları, sağlayıcı uç nokta yardımcıları ve normalizeNativeXaiModelId gibi model kimliği normalleştirme yardımcıları
plugin-sdk/provider-catalog-sharedfindCatalogTemplate, buildSingleProviderApiKeyCatalog, supportsNativeStreamingUsageCompat, applyProviderNativeStreamingUsageCompat
plugin-sdk/provider-httpGenel sağlayıcı HTTP/uç nokta yeteneği yardımcıları
plugin-sdk/provider-web-fetch-contractenablePluginInConfig ve WebFetchProviderPlugin gibi dar kapsamlı web getirme yapılandırma/seçim sözleşmesi yardımcıları
plugin-sdk/provider-web-fetchWeb getirme sağlayıcı kayıt/önbellek yardımcıları
plugin-sdk/provider-web-search-config-contractPlugin etkinleştirme bağlantısına ihtiyaç duymayan sağlayıcılar için dar kapsamlı web araması yapılandırma/kimlik bilgisi yardımcıları
plugin-sdk/provider-web-search-contractcreateWebSearchProviderContractFields, enablePluginInConfig, resolveProviderWebSearchPluginConfig ve kapsamlı kimlik bilgisi ayarlayıcıları/alıcıları gibi dar kapsamlı web araması yapılandırma/kimlik bilgisi sözleşmesi yardımcıları
plugin-sdk/provider-web-searchWeb araması sağlayıcı kayıt/önbellek/çalışma zamanı yardımcıları
plugin-sdk/provider-toolsProviderToolCompatFamily, buildProviderToolCompatFamilyHooks, Gemini şema temizleme + tanılama ve resolveXaiModelCompatPatch / applyXaiModelCompat gibi xAI uyumluluk yardımcıları
plugin-sdk/provider-usagefetchClaudeUsage ve benzerleri
plugin-sdk/provider-streamProviderStreamFamily, buildProviderStreamFamilyHooks, composeProviderStreamWrappers, akış sarmalayıcı türleri ve paylaşılan Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot sarmalayıcı yardımcıları
plugin-sdk/provider-onboardOnboarding yapılandırma yama yardımcıları
plugin-sdk/global-singletonSüreç yerel singleton/eşleme/önbellek yardımcıları
Alt yolTemel dışa aktarımlar
plugin-sdk/command-authresolveControlCommandGate, komut kayıt defteri yardımcıları, gönderici yetkilendirme yardımcıları
plugin-sdk/command-statusbuildCommandsMessagePaginated ve buildHelpMessage gibi komut/yardım mesajı oluşturucuları
plugin-sdk/approval-auth-runtimeOnaylayıcı çözümleme ve aynı sohbet eylem auth yardımcıları
plugin-sdk/approval-client-runtimeYerel exec onay profili/filtre yardımcıları
plugin-sdk/approval-delivery-runtimeYerel onay yeteneği/teslim bağdaştırıcıları
plugin-sdk/approval-gateway-runtimePaylaşılan onay gateway çözümleme yardımcısı
plugin-sdk/approval-handler-adapter-runtimeYoğun kanal giriş noktaları için hafif yerel onay bağdaştırıcısı yükleme yardımcıları
plugin-sdk/approval-handler-runtimeDaha geniş onay işleyici çalışma zamanı yardımcıları; dar bağdaştırıcı/gateway yüzeyleri yeterliyse onları tercih edin
plugin-sdk/approval-native-runtimeYerel onay hedefi + hesap bağlama yardımcıları
plugin-sdk/approval-reply-runtimeExec/plugin onay yanıt yükü yardımcıları
plugin-sdk/command-auth-nativeYerel komut auth + yerel oturum hedefi yardımcıları
plugin-sdk/command-detectionPaylaşılan komut algılama yardımcıları
plugin-sdk/command-surfaceKomut gövdesi normalleştirme ve komut yüzeyi yardımcıları
plugin-sdk/allow-fromformatAllowFromLowercase
plugin-sdk/channel-secret-runtimeKanal/plugin gizli yüzeyleri için dar kapsamlı gizli sözleşme toplama yardımcıları
plugin-sdk/secret-ref-runtimeGizli sözleşme/yapılandırma ayrıştırması için dar kapsamlı coerceSecretRef ve SecretRef türlendirme yardımcıları
plugin-sdk/security-runtimePaylaşılan güven, DM geçitleme, dış içerik ve gizli toplama yardımcıları
plugin-sdk/ssrf-policyAna makine allowlist ve özel ağ SSRF ilkesi yardımcıları
plugin-sdk/ssrf-runtimeSabitlenmiş dağıtıcı, SSRF korumalı fetch ve SSRF ilkesi yardımcıları
plugin-sdk/secret-inputGizli girdi ayrıştırma yardımcıları
plugin-sdk/webhook-ingressWebhook istek/hedef yardımcıları
plugin-sdk/webhook-request-guardsİstek gövdesi boyutu/zaman aşımı yardımcıları
Alt yolTemel dışa aktarımlar
plugin-sdk/runtimeGeniş çalışma zamanı/günlükleme/yedekleme/plugin kurulum yardımcıları
plugin-sdk/runtime-envDar kapsamlı çalışma zamanı env, logger, zaman aşımı, yeniden deneme ve backoff yardımcıları
plugin-sdk/channel-runtime-contextGenel kanal çalışma zamanı bağlamı kayıt ve arama yardımcıları
plugin-sdk/runtime-storecreatePluginRuntimeStore
plugin-sdk/plugin-runtimePaylaşılan plugin komutu/hook/http/etkileşimli yardımcıları
plugin-sdk/hook-runtimePaylaşılan webhook/dahili hook ardışık düzeni yardımcıları
plugin-sdk/lazy-runtimecreateLazyRuntimeModule, createLazyRuntimeMethod ve createLazyRuntimeSurface gibi tembel çalışma zamanı içe aktarma/bağlama yardımcıları
plugin-sdk/process-runtimeSüreç exec yardımcıları
plugin-sdk/cli-runtimeCLI biçimlendirme, bekleme ve sürüm yardımcıları
plugin-sdk/gateway-runtimeGateway istemcisi ve kanal durumu yama yardımcıları
plugin-sdk/config-runtimeYapılandırma yükleme/yazma yardımcıları
plugin-sdk/telegram-command-configPaketlenmiş Telegram sözleşme yüzeyi mevcut olmadığında bile Telegram komut adı/açıklaması normalleştirme ve yinelenen/çakışma kontrolleri
plugin-sdk/approval-runtimeExec/plugin onay yardımcıları, onay-yeteneği oluşturucuları, auth/profil yardımcıları, yerel yönlendirme/çalışma zamanı yardımcıları
plugin-sdk/reply-runtimePaylaşılan gelen/yanıt çalışma zamanı yardımcıları, parçalama, dağıtım, heartbeat, yanıt planlayıcı
plugin-sdk/reply-dispatch-runtimeDar kapsamlı yanıt dağıtma/sonlandırma yardımcıları
plugin-sdk/reply-historybuildHistoryContext, recordPendingHistoryEntry ve clearHistoryEntriesIfEnabled gibi paylaşılan kısa pencere yanıt geçmişi yardımcıları
plugin-sdk/reply-referencecreateReplyReferencePlanner
plugin-sdk/reply-chunkingDar kapsamlı metin/Markdown parçalama yardımcıları
plugin-sdk/session-store-runtimeOturum deposu yolu + updated-at yardımcıları
plugin-sdk/state-pathsDurum/OAuth dizin yolu yardımcıları
plugin-sdk/routingresolveAgentRoute, buildAgentSessionKey ve resolveDefaultAgentBoundAccountId gibi yönlendirme/oturum anahtarı/hesap bağlama yardımcıları
plugin-sdk/status-helpersPaylaşılan kanal/hesap durum özeti yardımcıları, çalışma zamanı durumu varsayılanları ve sorun meta verisi yardımcıları
plugin-sdk/target-resolver-runtimePaylaşılan hedef çözümleyici yardımcıları
plugin-sdk/string-normalization-runtimeSlug/dize normalleştirme yardımcıları
plugin-sdk/request-urlFetch/istek benzeri girdilerden dize URL çıkarma
plugin-sdk/run-commandNormalize edilmiş stdout/stderr sonuçlarıyla zamanlanmış komut çalıştırıcısı
plugin-sdk/param-readersYaygın araç/CLI parametre okuyucuları
plugin-sdk/tool-payloadAraç sonuç nesnelerinden normalize edilmiş yükleri çıkarma
plugin-sdk/tool-sendAraç argümanlarından kanonik gönderim hedefi alanlarını çıkarma
plugin-sdk/temp-pathPaylaşılan geçici indirme yolu yardımcıları
plugin-sdk/logging-coreAlt sistem logger ve redaksiyon yardımcıları
plugin-sdk/markdown-table-runtimeMarkdown tablo modu yardımcıları
plugin-sdk/json-storeKüçük JSON durum okuma/yazma yardımcıları
plugin-sdk/file-lockYeniden girişli dosya kilidi yardımcıları
plugin-sdk/persistent-dedupeDisk destekli tekilleştirme önbelleği yardımcıları
plugin-sdk/acp-runtimeACP çalışma zamanı/oturum ve yanıt-dağıtım yardımcıları
plugin-sdk/agent-config-primitivesDar kapsamlı agent çalışma zamanı yapılandırma şeması ilkel öğeleri
plugin-sdk/boolean-paramGevşek boolean param okuyucusu
plugin-sdk/dangerous-name-runtimeTehlikeli ad eşleştirme çözümleme yardımcıları
plugin-sdk/device-bootstrapCihaz önyükleme ve eşleme belirteci yardımcıları
plugin-sdk/extension-sharedPaylaşılan pasif kanal, durum ve ortam proxy yardımcısı ilkel öğeleri
plugin-sdk/models-provider-runtime/models komutu/sağlayıcı yanıt yardımcıları
plugin-sdk/skill-commands-runtimeSkill komutu listeleme yardımcıları
plugin-sdk/native-command-registryYerel komut kayıt defteri/oluşturma/serileştirme yardımcıları
plugin-sdk/provider-zai-endpointZ.A.I uç nokta algılama yardımcıları
plugin-sdk/infra-runtimeSistem olayı/heartbeat yardımcıları
plugin-sdk/collection-runtimeKüçük sınırlı önbellek yardımcıları
plugin-sdk/diagnostic-runtimeTanılama bayrağı ve olay yardımcıları
plugin-sdk/error-runtimeHata grafiği, biçimlendirme, paylaşılan hata sınıflandırma yardımcıları, isApprovalNotFoundError
plugin-sdk/fetch-runtimeSarmalanmış fetch, proxy ve sabitlenmiş arama yardımcıları
plugin-sdk/host-runtimeAna makine adı ve SCP ana makine normalleştirme yardımcıları
plugin-sdk/retry-runtimeYeniden deneme yapılandırması ve yeniden deneme çalıştırıcısı yardımcıları
plugin-sdk/agent-runtimeAgent dizini/kimliği/çalışma alanı yardımcıları
plugin-sdk/directory-runtimeYapılandırma destekli dizin sorgulama/tekilleştirme
plugin-sdk/keyed-async-queueKeyedAsyncQueue
Alt yolTemel dışa aktarımlar
plugin-sdk/media-runtimePaylaşılan medya fetch/dönüştürme/depolama yardımcıları ile medya yükü oluşturucuları
plugin-sdk/media-generation-runtimePaylaşılan medya üretimi failover yardımcıları, aday seçimi ve eksik model mesajları
plugin-sdk/media-understandingMedya anlama sağlayıcı türleri ve sağlayıcıya dönük görsel/ses yardımcı dışa aktarımları
plugin-sdk/text-runtimeAssistant görünür metin temizleme, markdown işleme/parçalama/tablo yardımcıları, redaksiyon yardımcıları, yönerge etiketi yardımcıları ve güvenli metin araçları gibi paylaşılan metin/Markdown/günlükleme yardımcıları
plugin-sdk/text-chunkingGiden metin parçalama yardımcısı
plugin-sdk/speechKonuşma sağlayıcı türleri ile sağlayıcıya dönük yönerge, kayıt defteri ve doğrulama yardımcıları
plugin-sdk/speech-corePaylaşılan konuşma sağlayıcı türleri, kayıt defteri, yönerge ve normalleştirme yardımcıları
plugin-sdk/realtime-transcriptionGerçek zamanlı transkripsiyon sağlayıcı türleri ve kayıt yardımcıları
plugin-sdk/realtime-voiceGerçek zamanlı ses sağlayıcı türleri ve kayıt yardımcıları
plugin-sdk/image-generationGörsel üretimi sağlayıcı türleri
plugin-sdk/image-generation-corePaylaşılan görsel üretimi türleri, failover, auth ve kayıt yardımcıları
plugin-sdk/music-generationMüzik üretimi sağlayıcı/istek/sonuç türleri
plugin-sdk/music-generation-corePaylaşılan müzik üretimi türleri, failover yardımcıları, sağlayıcı arama ve model başvurusu ayrıştırma
plugin-sdk/video-generationVideo üretimi sağlayıcı/istek/sonuç türleri
plugin-sdk/video-generation-corePaylaşılan video üretimi türleri, failover yardımcıları, sağlayıcı arama ve model başvurusu ayrıştırma
plugin-sdk/webhook-targetsWebhook hedef kayıt defteri ve route-install yardımcıları
plugin-sdk/webhook-pathWebhook yolu normalleştirme yardımcıları
plugin-sdk/web-mediaPaylaşılan uzak/yerel medya yükleme yardımcıları
plugin-sdk/zodPlugin SDK tüketicileri için yeniden dışa aktarılan zod
plugin-sdk/testinginstallCommonResolveTargetErrorCases, shouldAckReaction
Alt yolTemel dışa aktarımlar
plugin-sdk/memory-coreYönetici/yapılandırma/dosya/CLI yardımcıları için paketlenmiş memory-core yardımcı yüzeyi
plugin-sdk/memory-core-engine-runtimeMemory dizin/arama çalışma zamanı cephesi
plugin-sdk/memory-core-host-engine-foundationMemory ana makine foundation engine dışa aktarımları
plugin-sdk/memory-core-host-engine-embeddingsMemory ana makine embedding engine dışa aktarımları
plugin-sdk/memory-core-host-engine-qmdMemory ana makine QMD engine dışa aktarımları
plugin-sdk/memory-core-host-engine-storageMemory ana makine depolama engine dışa aktarımları
plugin-sdk/memory-core-host-multimodalMemory ana makine multimodal yardımcıları
plugin-sdk/memory-core-host-queryMemory ana makine sorgu yardımcıları
plugin-sdk/memory-core-host-secretMemory ana makine gizli yardımcıları
plugin-sdk/memory-core-host-eventsMemory ana makine olay günlüğü yardımcıları
plugin-sdk/memory-core-host-statusMemory ana makine durum yardımcıları
plugin-sdk/memory-core-host-runtime-cliMemory ana makine CLI çalışma zamanı yardımcıları
plugin-sdk/memory-core-host-runtime-coreMemory ana makine çekirdek çalışma zamanı yardımcıları
plugin-sdk/memory-core-host-runtime-filesMemory ana makine dosya/çalışma zamanı yardımcıları
plugin-sdk/memory-host-coreMemory ana makine çekirdek çalışma zamanı yardımcıları için sağlayıcıdan bağımsız takma ad
plugin-sdk/memory-host-eventsMemory ana makine olay günlüğü yardımcıları için sağlayıcıdan bağımsız takma ad
plugin-sdk/memory-host-filesMemory ana makine dosya/çalışma zamanı yardımcıları için sağlayıcıdan bağımsız takma ad
plugin-sdk/memory-host-markdownMemory’ye bitişik plugin’ler için paylaşılan yönetilen markdown yardımcıları
plugin-sdk/memory-host-searchSearch-manager erişimi için etkin memory çalışma zamanı cephesi
plugin-sdk/memory-host-statusMemory ana makine durum yardımcıları için sağlayıcıdan bağımsız takma ad
plugin-sdk/memory-lancedbPaketlenmiş memory-lancedb yardımcı yüzeyi
AileGüncel alt yollarAmaçlanan kullanım
Browserplugin-sdk/browser-cdp, plugin-sdk/browser-config-runtime, plugin-sdk/browser-config-support, plugin-sdk/browser-control-auth, plugin-sdk/browser-node-runtime, plugin-sdk/browser-profiles, plugin-sdk/browser-security-runtime, plugin-sdk/browser-setup-tools, plugin-sdk/browser-supportPaketlenmiş browser plugin destek yardımcıları (browser-support uyumluluk barrel’ı olarak kalır)
Matrixplugin-sdk/matrix, plugin-sdk/matrix-helper, plugin-sdk/matrix-runtime-heavy, plugin-sdk/matrix-runtime-shared, plugin-sdk/matrix-runtime-surface, plugin-sdk/matrix-surface, plugin-sdk/matrix-thread-bindingsPaketlenmiş Matrix yardımcı/çalışma zamanı yüzeyi
Lineplugin-sdk/line, plugin-sdk/line-core, plugin-sdk/line-runtime, plugin-sdk/line-surfacePaketlenmiş LINE yardımcı/çalışma zamanı yüzeyi
IRCplugin-sdk/irc, plugin-sdk/irc-surfacePaketlenmiş IRC yardımcı yüzeyi
Kanala özgü yardımcılarplugin-sdk/googlechat, plugin-sdk/zalouser, plugin-sdk/bluebubbles, plugin-sdk/bluebubbles-policy, plugin-sdk/mattermost, plugin-sdk/mattermost-policy, plugin-sdk/feishu-conversation, plugin-sdk/msteams, plugin-sdk/nextcloud-talk, plugin-sdk/nostr, plugin-sdk/tlon, plugin-sdk/twitchPaketlenmiş kanal uyumluluk/yardımcı yüzeyleri
Auth/plugin’e özgü yardımcılarplugin-sdk/github-copilot-login, plugin-sdk/github-copilot-token, plugin-sdk/diagnostics-otel, plugin-sdk/diffs, plugin-sdk/llm-task, plugin-sdk/thread-ownership, plugin-sdk/voice-callPaketlenmiş özellik/plugin yardımcı yüzeyleri; plugin-sdk/github-copilot-token şu anda DEFAULT_COPILOT_API_BASE_URL, deriveCopilotApiBaseUrlFromToken ve resolveCopilotApiToken dışa aktarımlarını içerir

Kayıt API’si

register(api) geri çağırması, şu yöntemlere sahip bir OpenClawPluginApi nesnesi alır:

Yetenek kaydı

YöntemKaydettiği şey
api.registerProvider(...)Metin çıkarımı (LLM)
api.registerCliBackend(...)Yerel CLI çıkarım arka ucu
api.registerChannel(...)Mesajlaşma kanalı
api.registerSpeechProvider(...)Metinden konuşmaya / STT sentezi
api.registerRealtimeTranscriptionProvider(...)Akışlı gerçek zamanlı transkripsiyon
api.registerRealtimeVoiceProvider(...)Çift yönlü gerçek zamanlı ses oturumları
api.registerMediaUnderstandingProvider(...)Görsel/ses/video analizi
api.registerImageGenerationProvider(...)Görsel üretimi
api.registerMusicGenerationProvider(...)Müzik üretimi
api.registerVideoGenerationProvider(...)Video üretimi
api.registerWebFetchProvider(...)Web getirme / scrape sağlayıcısı
api.registerWebSearchProvider(...)Web araması

Araçlar ve komutlar

YöntemKaydettiği şey
api.registerTool(tool, opts?)Agent aracı (zorunlu veya { optional: true })
api.registerCommand(def)Özel komut (LLM’yi atlar)

Altyapı

YöntemKaydettiği şey
api.registerHook(events, handler, opts?)Olay hook’u
api.registerHttpRoute(params)Gateway HTTP uç noktası
api.registerGatewayMethod(name, handler)Gateway RPC yöntemi
api.registerCli(registrar, opts?)CLI alt komutu
api.registerService(service)Arka plan hizmeti
api.registerInteractiveHandler(registration)Etkileşimli işleyici
api.registerMemoryPromptSupplement(builder)Eklemeli memory’ye bitişik prompt bölümü
api.registerMemoryCorpusSupplement(adapter)Eklemeli memory arama/okuma derlemi
Ayrılmış çekirdek yönetici ad alanları (config.*, exec.approvals.*, wizard.*, update.*), bir plugin daha dar bir gateway yöntem kapsamı atamaya çalışsa bile her zaman operator.admin olarak kalır. Plugin’e ait yöntemler için plugin’e özgü önekleri tercih edin.

CLI kayıt meta verileri

api.registerCli(registrar, opts?) iki tür üst düzey meta veri kabul eder:
  • commands: kayıtçıya ait açık komut kökleri
  • descriptors: kök CLI yardımı, yönlendirme ve tembel plugin CLI kaydı için ayrıştırma zamanında kullanılan komut tanımlayıcıları
Bir plugin komutunun normal kök CLI yolunda tembel yüklenmiş kalmasını istiyorsanız, o kayıtçının açığa çıkardığı her üst düzey komut kökünü kapsayan descriptors sağlayın.
api.registerCli(
  async ({ program }) => {
    const { registerMatrixCli } = await import("./src/cli.js");
    registerMatrixCli({ program });
  },
  {
    descriptors: [
      {
        name: "matrix",
        description: "Matrix hesaplarını, doğrulamayı, cihazları ve profil durumunu yönet",
        hasSubcommands: true,
      },
    ],
  },
);
commands alanını tek başına yalnızca tembel kök CLI kaydına ihtiyacınız olmadığında kullanın. Bu hevesli uyumluluk yolu desteklenmeye devam eder, ancak ayrıştırma zamanında tembel yükleme için tanımlayıcı destekli yer tutucular kurmaz.

CLI arka uç kaydı

api.registerCliBackend(...), bir plugin’in codex-cli gibi yerel bir AI CLI arka ucu için varsayılan yapılandırmaya sahip olmasına izin verir.
  • Arka uç id değeri, codex-cli/gpt-5 gibi model başvurularında sağlayıcı öneki olur.
  • Arka uç config değeri, agents.defaults.cliBackends.<id> ile aynı biçimi kullanır.
  • Kullanıcı yapılandırması yine önceliklidir. OpenClaw, CLI’yi çalıştırmadan önce agents.defaults.cliBackends.<id> değerini plugin varsayılanı üzerine birleştirir.
  • Bir arka uç birleştirmeden sonra uyumluluk yeniden yazımları gerektiriyorsa (örneğin eski bayrak biçimlerini normalleştirmek) normalizeConfig kullanın.

Özel slot’lar

YöntemKaydettiği şey
api.registerContextEngine(id, factory)Bağlam engine’i (aynı anda yalnızca biri etkin). assemble() geri çağırması, engine’in prompt eklemelerini uyarlayabilmesi için availableTools ve citationsMode alır.
api.registerMemoryCapability(capability)Birleşik memory yeteneği
api.registerMemoryPromptSection(builder)Memory prompt bölümü oluşturucusu
api.registerMemoryFlushPlan(resolver)Memory flush planı çözümleyicisi
api.registerMemoryRuntime(runtime)Memory çalışma zamanı bağdaştırıcısı

Memory embedding bağdaştırıcıları

YöntemKaydettiği şey
api.registerMemoryEmbeddingProvider(adapter)Etkin plugin için memory embedding bağdaştırıcısı
  • registerMemoryCapability, tercih edilen özel memory-plugin API’sidir.
  • registerMemoryCapability, eşlik eden plugin’lerin dışa aktarılmış memory yapılarını belirli bir memory plugin’inin özel düzenine ulaşmadan openclaw/plugin-sdk/memory-host-core üzerinden tüketebilmesi için publicArtifacts.listArtifacts(...) işlevini de açığa çıkarabilir.
  • registerMemoryPromptSection, registerMemoryFlushPlan ve registerMemoryRuntime, eski uyumluluğu koruyan özel memory-plugin API’leridir.
  • registerMemoryEmbeddingProvider, etkin memory plugin’inin bir veya daha fazla embedding bağdaştırıcısı kimliği kaydetmesine izin verir (örneğin openai, gemini veya plugin tarafından tanımlanmış özel bir kimlik).
  • agents.defaults.memorySearch.provider ve agents.defaults.memorySearch.fallback gibi kullanıcı yapılandırmaları, bu kaydedilmiş bağdaştırıcı kimliklerine göre çözümlenir.

Olaylar ve yaşam döngüsü

YöntemNe yapar
api.on(hookName, handler, opts?)Türlendirilmiş yaşam döngüsü hook’u
api.onConversationBindingResolved(handler)Konuşma bağlama geri çağırması

Hook karar semantiği

  • before_tool_call: { block: true } döndürmek kesindir. Herhangi bir işleyici bunu ayarladığında daha düşük öncelikli işleyiciler atlanır.
  • before_tool_call: { block: false } döndürmek, geçersiz kılma olarak değil, karar yokmuş gibi değerlendirilir (block alanını atlamakla aynıdır).
  • before_install: { block: true } döndürmek kesindir. Herhangi bir işleyici bunu ayarladığında daha düşük öncelikli işleyiciler atlanır.
  • before_install: { block: false } döndürmek, geçersiz kılma olarak değil, karar yokmuş gibi değerlendirilir (block alanını atlamakla aynıdır).
  • reply_dispatch: { handled: true, ... } döndürmek kesindir. Herhangi bir işleyici dağıtımı sahiplendiğinde daha düşük öncelikli işleyiciler ve varsayılan model dağıtım yolu atlanır.
  • message_sending: { cancel: true } döndürmek kesindir. Herhangi bir işleyici bunu ayarladığında daha düşük öncelikli işleyiciler atlanır.
  • message_sending: { cancel: false } döndürmek, geçersiz kılma olarak değil, karar yokmuş gibi değerlendirilir (cancel alanını atlamakla aynıdır).

API nesnesi alanları

AlanTürAçıklama
api.idstringPlugin kimliği
api.namestringGörünen ad
api.versionstring?Plugin sürümü (isteğe bağlı)
api.descriptionstring?Plugin açıklaması (isteğe bağlı)
api.sourcestringPlugin kaynak yolu
api.rootDirstring?Plugin kök dizini (isteğe bağlı)
api.configOpenClawConfigGeçerli yapılandırma anlık görüntüsü (mevcut olduğunda etkin bellek içi çalışma zamanı anlık görüntüsü)
api.pluginConfigRecord<string, unknown>plugins.entries.<id>.config içinden plugin’e özgü yapılandırma
api.runtimePluginRuntimeÇalışma zamanı yardımcıları
api.loggerPluginLoggerKapsamlı logger (debug, info, warn, error)
api.registrationModePluginRegistrationModeGeçerli yükleme modu; "setup-runtime" hafif tam giriş öncesi başlangıç/kurulum penceresidir
api.resolvePath(input)(string) => stringPlugin köküne göre göreli yolu çözümler

Dahili modül kuralı

Plugin’iniz içinde, dahili içe aktarımlar için yerel barrel dosyaları kullanın:
my-plugin/
  api.ts            # Harici tüketiciler için herkese açık dışa aktarımlar
  runtime-api.ts    # Yalnızca dahili çalışma zamanı dışa aktarımları
  index.ts          # Plugin giriş noktası
  setup-entry.ts    # Hafif yalnızca kurulum amaçlı giriş (isteğe bağlı)
Üretim kodunda kendi plugin’inizi asla openclaw/plugin-sdk/<sizin-plugininiz> üzerinden içe aktarmayın. Dahili içe aktarımları ./api.ts veya ./runtime-api.ts üzerinden yönlendirin. SDK yolu yalnızca harici sözleşmedir.
Cephe üzerinden yüklenen paketlenmiş plugin herkese açık yüzeyleri (api.ts, runtime-api.ts, index.ts, setup-entry.ts ve benzer herkese açık giriş dosyaları), OpenClaw zaten çalışıyorsa artık etkin çalışma zamanı yapılandırma anlık görüntüsünü tercih eder. Henüz çalışma zamanı anlık görüntüsü yoksa diskte çözümlenmiş yapılandırma dosyasına geri dönerler. Sağlayıcı plugin’leri ayrıca, bir yardımcı bilinçli olarak sağlayıcıya özgüyse ve henüz genel bir SDK alt yoluna ait değilse, dar kapsamlı plugin’e özgü bir sözleşme barrel’ı da açığa çıkarabilir. Güncel paketlenmiş örnek: Anthropic sağlayıcısı, Anthropic beta-header ve service_tier mantığını genel bir plugin-sdk/* sözleşmesine yükseltmek yerine Claude akış yardımcılarını kendi herkese açık api.ts / contract-api.ts yüzeyinde tutar. Diğer güncel paketlenmiş örnekler:
  • @openclaw/openai-provider: api.ts, sağlayıcı oluşturucuları, varsayılan model yardımcıları ve gerçek zamanlı sağlayıcı oluşturucularını dışa aktarır
  • @openclaw/openrouter-provider: api.ts, sağlayıcı oluşturucusunu ve ayrıca onboarding/yapılandırma yardımcılarını dışa aktarır
Uzantı üretim kodu ayrıca openclaw/plugin-sdk/<başka-plugin> içe aktarımlarından da kaçınmalıdır. Bir yardımcı gerçekten paylaşılıyorsa, iki plugin’i birbirine bağlamak yerine bunu openclaw/plugin-sdk/speech, .../provider-model-shared veya başka bir yetenek odaklı yüzey gibi tarafsız bir SDK alt yoluna yükseltin.

İlgili