メインコンテンツへスキップ

Plugin SDKの移行

OpenClawは、広範な後方互換レイヤーから、用途を絞った文書化済みimportを備えたモダンなplugin architectureへ移行しました。あなたのpluginがこの新しい architecture以前に作られたものであれば、このガイドが移行に役立ちます。

何が変わるのか

古いplugin systemは、単一のentry pointから必要なものを何でも importできる、2つの広範なsurfaceを提供していました。
  • openclaw/plugin-sdk/compat — 数十個の helperを再エクスポートする単一import。新しいplugin architectureの構築中に、 旧来のhookベースpluginを動かし続けるために導入されました。
  • openclaw/extension-api — 組み込みagent runnerのような host側helperへの直接アクセスをpluginに与えるbridge。
これら2つのsurfaceは現在非推奨です。ランタイムではまだ動作しますが、新しい pluginでは使ってはいけません。既存pluginも、次のmajor releaseで削除される前に 移行する必要があります。
この後方互換レイヤーは、将来のmajor releaseで削除されます。 これらのsurfaceからまだimportしているpluginは、その時点で動作しなくなります。

なぜ変わったのか

古いアプローチはいくつかの問題を引き起こしていました。
  • 起動が遅い — 1つのhelperをimportするだけで、無関係なmoduleが数十個読み込まれていた
  • 循環依存 — 広範な再エクスポートにより、import cycleが簡単に生まれていた
  • API surfaceが不明確 — どのexportが安定していて、どれが内部用なのか判別できなかった
モダンなPlugin SDKはこれを改善します。各import path(openclaw/plugin-sdk/\<subpath\>) は、目的が明確で契約が文書化された、小さく自己完結したmoduleです。 bundled channel向けの従来のprovider convenience seamも廃止されました。
openclaw/plugin-sdk/slackopenclaw/plugin-sdk/discordopenclaw/plugin-sdk/signalopenclaw/plugin-sdk/whatsapp、 channelブランドのhelper seam、および openclaw/plugin-sdk/telegram-core のようなimportは、安定したplugin contractではなく、 private mono-repo shortcutでした。代わりに、汎用の細いSDK subpathを使用してください。bundled plugin workspace内では、provider所有のhelperはそのplugin自身の api.ts または runtime-api.ts に置いてください。
現在のbundled providerの例:
  • AnthropicはClaude固有のstream helperを自身の api.ts / contract-api.ts seamに保持しています
  • OpenAIはprovider builder、default-model helper、realtime provider builderを自身の api.ts に保持しています
  • OpenRouterはprovider builderとonboarding/config helperを自身の api.ts に保持しています

移行方法

1

approval-native handlerをcapability factへ移行する

approval対応channel pluginは、現在ではnative approval動作を approvalCapability.nativeRuntime と共有runtime-context registry経由で公開します。主な変更点:
  • approvalCapability.handler.loadRuntime(...)approvalCapability.nativeRuntime に置き換える
  • approval固有のauth/deliveryを従来の plugin.auth / plugin.approvals 配線から外し、approvalCapability に移す
  • ChannelPlugin.approvals はpublicなchannel-plugin contractから削除されました。delivery/native/render fieldは approvalCapability に移してください
  • plugin.auth はchannel login/logoutフロー専用として残ります。そこにあるapproval auth hookは、coreではもう読み取られません
  • client、token、Bolt appなどのchannel所有runtime objectは、openclaw/plugin-sdk/channel-runtime-context を通じて登録する
  • native approval handlerからplugin所有のreroute noticeを送信しないこと。 実際のdelivery resultに基づく「別経路へルーティングされた」通知は現在coreが担います
  • channelRuntimecreateChannelManager(...) に渡す際は、 実際の createPluginRuntime().channel surfaceを渡してください。部分的stubは拒否されます
現在のapproval capability layoutについては /plugins/sdk-channel-plugins を参照してください。
2

Windows wrapper fallback動作を監査する

pluginが openclaw/plugin-sdk/windows-spawn を使用している場合、 解決できないWindows .cmd/.bat wrapperは、明示的に allowShellFallback: true を渡さない限り、現在はfail closedします。
// 変更前
const program = applyWindowsSpawnProgramPolicy({ candidate });

// 変更後
const program = applyWindowsSpawnProgramPolicy({
  candidate,
  // shell経由fallbackを意図的に受け入れる、信頼済み互換callerに対してのみ
  // これを設定してください。
  allowShellFallback: true,
});
callerが意図的にshell fallbackへ依存していないなら、allowShellFallback は設定せず、代わりにthrowされたerrorを処理してください。
3

非推奨importを見つける

plugin内で、いずれかの非推奨surfaceからimportしている箇所を検索します。
grep -r "plugin-sdk/compat" my-plugin/
grep -r "openclaw/extension-api" my-plugin/
4

用途を絞ったimportに置き換える

古いsurfaceの各exportは、対応するモダンなimport pathにマッピングされています。
// 変更前(非推奨の後方互換レイヤー)
import {
  createChannelReplyPipeline,
  createPluginRuntimeStore,
  resolveControlCommandGate,
} from "openclaw/plugin-sdk/compat";

// 変更後(用途を絞ったモダンなimport)
import { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline";
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth";
host側helperについては、直接importするのではなく、注入されたplugin runtimeを使用します。
// 変更前(非推奨のextension-api bridge)
import { runEmbeddedPiAgent } from "openclaw/extension-api";
const result = await runEmbeddedPiAgent({ sessionId, prompt });

// 変更後(注入されたruntime)
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
同じパターンは他の従来bridge helperにも当てはまります。
旧importモダンな対応先
resolveAgentDirapi.runtime.agent.resolveAgentDir
resolveAgentWorkspaceDirapi.runtime.agent.resolveAgentWorkspaceDir
resolveAgentIdentityapi.runtime.agent.resolveAgentIdentity
resolveThinkingDefaultapi.runtime.agent.resolveThinkingDefault
resolveAgentTimeoutMsapi.runtime.agent.resolveAgentTimeoutMs
ensureAgentWorkspaceapi.runtime.agent.ensureAgentWorkspace
session store helperapi.runtime.agent.session.*
5

buildしてtestする

pnpm build
pnpm test -- my-plugin/

Import pathリファレンス

Import path用途主なexport
plugin-sdk/plugin-entry正式なplugin entry helperdefinePluginEntry
plugin-sdk/corechannel entry定義/ builder向け従来umbrella再エクスポートdefineChannelPluginEntry, createChatChannelPlugin
plugin-sdk/config-schemaルートconfig schema exportOpenClawSchema
plugin-sdk/provider-entry単一provider用entry helperdefineSingleProviderPluginEntry
plugin-sdk/channel-core用途を絞ったchannel entry定義とbuilderdefineChannelPluginEntry, defineSetupPluginEntry, createChatChannelPlugin, createChannelPluginBase
plugin-sdk/setup共有setup wizard helperAllowlist prompt、setup status builder
plugin-sdk/setup-runtimesetup時runtime helperimport-safeなsetup patch adapter、lookup-note helper、promptResolvedAllowFrom, splitSetupEntries, delegated setup proxy
plugin-sdk/setup-adapter-runtimesetup adapter helpercreateEnvPatchedAccountSetupAdapter
plugin-sdk/setup-toolssetup tooling helperformatCliCommand, detectBinary, extractArchive, resolveBrewExecutable, formatDocsLink, CONFIG_DIR
plugin-sdk/account-core複数account helperaccount一覧/config/action-gate helper
plugin-sdk/account-idaccount-id helperDEFAULT_ACCOUNT_ID, account-id正規化
plugin-sdk/account-resolutionaccount lookup helperaccount lookup + default-fallback helper
plugin-sdk/account-helpers細いaccount helperaccount list/account-action helper
plugin-sdk/channel-setupsetup wizard adaptercreateOptionalChannelSetupSurface, createOptionalChannelSetupAdapter, createOptionalChannelSetupWizard, および DEFAULT_ACCOUNT_ID, createTopLevelChannelDmPolicy, setSetupChannelEnabled, splitSetupEntries
plugin-sdk/channel-pairingDM pairing primitivecreateChannelPairingController
plugin-sdk/channel-reply-pipelinereply prefix + typing配線createChannelReplyPipeline
plugin-sdk/channel-config-helpersconfig adapter factorycreateHybridChannelConfigAdapter
plugin-sdk/channel-config-schemaconfig schema builderchannel config schema型
plugin-sdk/telegram-command-configTelegram command config helpercommand名正規化、description切り詰め、重複/競合検証
plugin-sdk/channel-policygroup/DM policy解決resolveChannelGroupRequireMention
plugin-sdk/channel-lifecycleaccount status追跡createAccountStatusSink
plugin-sdk/inbound-envelopeinbound envelope helper共有route + envelope builder helper
plugin-sdk/inbound-reply-dispatchinbound reply helper共有record-and-dispatch helper
plugin-sdk/messaging-targetsmessaging target解析target解析/照合helper
plugin-sdk/outbound-mediaoutbound media helper共有outbound media読み込み
plugin-sdk/outbound-runtimeoutbound runtime helperoutbound identity/send delegate helper
plugin-sdk/thread-bindings-runtimethread-binding helperthread-binding lifecycleおよびadapter helper
plugin-sdk/agent-media-payload従来media payload helper従来field layout用agent media payload builder
plugin-sdk/channel-runtime非推奨の互換shim従来channel runtime utilityのみ
plugin-sdk/channel-send-resultsend result型reply result型
plugin-sdk/runtime-store永続plugin storagecreatePluginRuntimeStore
plugin-sdk/runtime広範なruntime helperruntime/logging/backup/plugin-install helper
plugin-sdk/runtime-env細いruntime env helperlogger/runtime env、timeout、retry、およびbackoff helper
plugin-sdk/plugin-runtime共有plugin runtime helperplugin commands/hooks/http/interactive helper
plugin-sdk/hook-runtimehook pipeline helper共有webhook/internal hook pipeline helper
plugin-sdk/lazy-runtimelazy runtime helpercreateLazyRuntimeModule, createLazyRuntimeMethod, createLazyRuntimeMethodBinder, createLazyRuntimeNamedExport, createLazyRuntimeSurface
plugin-sdk/process-runtimeprocess helper共有exec helper
plugin-sdk/cli-runtimeCLI runtime helpercommand formatting、wait、version helper
plugin-sdk/gateway-runtimeGateway helperGateway clientおよびchannel-status patch helper
plugin-sdk/config-runtimeconfig helperconfig load/write helper
plugin-sdk/telegram-command-configTelegram command helperbundled Telegram contract surfaceが利用できない場合のfallback安定Telegram command検証helper
plugin-sdk/approval-runtimeapproval prompt helperexec/plugin approval payload、approval capability/profile helper、native approval routing/runtime helper
plugin-sdk/approval-auth-runtimeapproval auth helperapprover解決、same-chat action auth
plugin-sdk/approval-client-runtimeapproval client helpernative exec approval profile/filter helper
plugin-sdk/approval-delivery-runtimeapproval delivery helpernative approval capability/delivery adapter
plugin-sdk/approval-gateway-runtimeapproval Gateway helper共有approval gateway解決helper
plugin-sdk/approval-handler-adapter-runtimeapproval adapter helperhot channel entrypoint向け軽量native approval adapter読み込みhelper
plugin-sdk/approval-handler-runtimeapproval handler helperより広範なapproval handler runtime helper。より細いadapter/gateway seamで足りるならそちらを優先
plugin-sdk/approval-native-runtimeapproval target helpernative approval target/account binding helper
plugin-sdk/approval-reply-runtimeapproval reply helperexec/plugin approval reply payload helper
plugin-sdk/channel-runtime-contextchannel runtime-context helper汎用channel runtime-context register/get/watch helper
plugin-sdk/security-runtimesecurity helper共有trust、DM gating、external-content、secret-collection helper
plugin-sdk/ssrf-policySSRF policy helperhost allowlistおよびprivate-network policy helper
plugin-sdk/ssrf-runtimeSSRF runtime helperpinned-dispatcher、guarded fetch、SSRF policy helper
plugin-sdk/collection-runtimebounded cache helperpruneMapToMaxSize
plugin-sdk/diagnostic-runtimediagnostic gating helperisDiagnosticFlagEnabled, isDiagnosticsEnabled
plugin-sdk/error-runtimeerror formatting helperformatUncaughtError, isApprovalNotFoundError, error graph helper
plugin-sdk/fetch-runtimewrapped fetch/proxy helperresolveFetch, proxy helper
plugin-sdk/host-runtimehost正規化helpernormalizeHostname, normalizeScpRemoteHost
plugin-sdk/retry-runtimeretry helperRetryConfig, retryAsync, policy runner
plugin-sdk/allow-fromallowlist formattingformatAllowFromLowercase
plugin-sdk/allowlist-resolutionallowlist入力マッピングmapAllowlistResolutionInputs
plugin-sdk/command-authcommand gatingとcommand-surface helperresolveControlCommandGate, sender-authorization helper、command registry helper
plugin-sdk/command-statuscommand status/help rendererbuildCommandsMessage, buildCommandsMessagePaginated, buildHelpMessage
plugin-sdk/secret-inputsecret入力解析secret入力helper
plugin-sdk/webhook-ingresswebhook request helperwebhook target utility
plugin-sdk/webhook-request-guardswebhook body guard helperrequest body read/limit helper
plugin-sdk/reply-runtime共有reply runtimeinbound dispatch、heartbeat、reply planner、chunking
plugin-sdk/reply-dispatch-runtime細いreply dispatch helperfinalize + provider dispatch helper
plugin-sdk/reply-historyreply-history helperbuildHistoryContext, buildPendingHistoryContextFromMap, recordPendingHistoryEntry, clearHistoryEntriesIfEnabled
plugin-sdk/reply-referencereply reference planningcreateReplyReferencePlanner
plugin-sdk/reply-chunkingreply chunk helpertext/markdown chunking helper
plugin-sdk/session-store-runtimesession store helperstore path + updated-at helper
plugin-sdk/state-pathsstate path helperstateおよびOAuth dir helper
plugin-sdk/routingrouting/session-key helperresolveAgentRoute, buildAgentSessionKey, resolveDefaultAgentBoundAccountId, session-key正規化helper
plugin-sdk/status-helperschannel status helperchannel/account status summary builder、runtime-state default、issue metadata helper
plugin-sdk/target-resolver-runtimetarget resolver helper共有target resolver helper
plugin-sdk/string-normalization-runtime文字列正規化helperslug/文字列正規化helper
plugin-sdk/request-urlrequest URL helperrequest風入力から文字列URLを抽出
plugin-sdk/run-command時限付きcommand helperstdout/stderrを正規化した時限付きcommand runner
plugin-sdk/param-readersparam reader共通tool/CLI param reader
plugin-sdk/tool-payloadtool payload抽出tool result objectから正規化済みpayloadを抽出
plugin-sdk/tool-sendtool send抽出tool argsから標準send target fieldを抽出
plugin-sdk/temp-path一時path helper共有temp-download path helper
plugin-sdk/logging-corelogging helpersubsystem loggerおよびredaction helper
plugin-sdk/markdown-table-runtimemarkdown-table helpermarkdown table mode helper
plugin-sdk/reply-payloadmessage reply型reply payload型
plugin-sdk/provider-setup厳選されたlocal/self-hosted provider setup helperself-hosted provider discovery/config helper
plugin-sdk/self-hosted-provider-setup用途を絞ったOpenAI互換self-hosted provider setup helper同じself-hosted provider discovery/config helper
plugin-sdk/provider-auth-runtimeprovider runtime auth helperruntime API-key解決helper
plugin-sdk/provider-auth-api-keyprovider API-key setup helperAPI-key onboarding/profile-write helper
plugin-sdk/provider-auth-resultprovider auth-result helper標準OAuth auth-result builder
plugin-sdk/provider-auth-loginprovider interactive login helper共有interactive login helper
plugin-sdk/provider-env-varsprovider env-var helperprovider auth env-var lookup helper
plugin-sdk/provider-model-shared共有provider model/replay helperProviderReplayFamily, buildProviderReplayFamilyHooks, normalizeModelCompat, 共有replay-policy builder、provider-endpoint helper、およびmodel-id正規化helper
plugin-sdk/provider-catalog-shared共有provider catalog helperfindCatalogTemplate, buildSingleProviderApiKeyCatalog, supportsNativeStreamingUsageCompat, applyProviderNativeStreamingUsageCompat
plugin-sdk/provider-onboardprovider onboarding patchonboarding config helper
plugin-sdk/provider-httpprovider HTTP helper汎用provider HTTP/endpoint capability helper
plugin-sdk/provider-web-fetchprovider web-fetch helperweb-fetch provider registration/cache helper
plugin-sdk/provider-web-search-config-contractprovider web-search config helperplugin-enable配線を必要としないprovider向けの細いweb-search config/credential helper
plugin-sdk/provider-web-search-contractprovider web-search contract helpercreateWebSearchProviderContractFields, enablePluginInConfig, resolveProviderWebSearchPluginConfig, scoped credential setter/getterなどの細いweb-search config/credential contract helper
plugin-sdk/provider-web-searchprovider web-search helperweb-search provider registration/cache/runtime helper
plugin-sdk/provider-toolsprovider tool/schema compat helperProviderToolCompatFamily, buildProviderToolCompatFamilyHooks, Gemini schema cleanup + diagnostics、および resolveXaiModelCompatPatch / applyXaiModelCompat などのxAI compat helper
plugin-sdk/provider-usageprovider usage helperfetchClaudeUsage, fetchGeminiUsage, fetchGithubCopilotUsage, その他のprovider usage helper
plugin-sdk/provider-streamprovider stream wrapper helperProviderStreamFamily, buildProviderStreamFamilyHooks, composeProviderStreamWrappers, stream wrapper型、および共有Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot wrapper helper
plugin-sdk/keyed-async-queue順序付きasync queueKeyedAsyncQueue
plugin-sdk/media-runtime共有media helpermedia fetch/transform/store helperとmedia payload builder
plugin-sdk/media-generation-runtime共有media-generation helperimage/video/music generation向けの共有failover helper、candidate選択、およびmissing-model message
plugin-sdk/media-understandingmedia-understanding helpermedia understanding provider型とprovider向けimage/audio helper export
plugin-sdk/text-runtime共有text helperassistant可視textの除去、markdown render/chunking/table helper、redaction helper、directive-tag helper、安全なtext utility、および関連text/logging helper
plugin-sdk/text-chunkingtext chunking helperoutbound text chunking helper
plugin-sdk/speechspeech helperspeech provider型とprovider向けdirective、registry、validation helper
plugin-sdk/speech-core共有speech corespeech provider型、registry、directive、正規化
plugin-sdk/realtime-transcriptionrealtime transcription helperprovider型とregistry helper
plugin-sdk/realtime-voicerealtime voice helperprovider型とregistry helper
plugin-sdk/image-generation-core共有image-generation coreimage-generation型、failover、auth、およびregistry helper
plugin-sdk/music-generationmusic-generation helpermusic-generation provider/request/result型
plugin-sdk/music-generation-core共有music-generation coremusic-generation型、failover helper、provider lookup、およびmodel-ref解析
plugin-sdk/video-generationvideo-generation helpervideo-generation provider/request/result型
plugin-sdk/video-generation-core共有video-generation corevideo-generation型、failover helper、provider lookup、およびmodel-ref解析
plugin-sdk/interactive-runtimeinteractive reply helperinteractive reply payload正規化/縮約
plugin-sdk/channel-config-primitiveschannel config primitive細いchannel config-schema primitive
plugin-sdk/channel-config-writeschannel config-write helperchannel config-write authorization helper
plugin-sdk/channel-plugin-common共有channel prelude共有channel plugin prelude export
plugin-sdk/channel-statuschannel status helper共有channel status snapshot/summary helper
plugin-sdk/allowlist-config-editallowlist config helperallowlist config edit/read helper
plugin-sdk/group-accessgroup access helper共有group-access decision helper
plugin-sdk/direct-dmdirect-DM helper共有direct-DM auth/guard helper
plugin-sdk/extension-shared共有extension helperpassive-channel/statusおよびambient proxy helper primitive
plugin-sdk/webhook-targetswebhook target helperwebhook target registryおよびroute-install helper
plugin-sdk/webhook-pathwebhook path helperwebhook path正規化helper
plugin-sdk/web-media共有web media helperremote/local media読み込みhelper
plugin-sdk/zodZod再エクスポートplugin SDK利用者向けに再エクスポートされた zod
plugin-sdk/memory-corebundled memory-core helpermemory manager/config/file/CLI helper surface
plugin-sdk/memory-core-engine-runtimememory engine runtime facadememory index/search runtime facade
plugin-sdk/memory-core-host-engine-foundationmemory host foundation enginememory host foundation engine export
plugin-sdk/memory-core-host-engine-embeddingsmemory host embedding enginememory host embedding engine export
plugin-sdk/memory-core-host-engine-qmdmemory host QMD enginememory host QMD engine export
plugin-sdk/memory-core-host-engine-storagememory host storage enginememory host storage engine export
plugin-sdk/memory-core-host-multimodalmemory host multimodal helpermemory host multimodal helper
plugin-sdk/memory-core-host-querymemory host query helpermemory host query helper
plugin-sdk/memory-core-host-secretmemory host secret helpermemory host secret helper
plugin-sdk/memory-core-host-eventsmemory host event journal helpermemory host event journal helper
plugin-sdk/memory-core-host-statusmemory host status helpermemory host status helper
plugin-sdk/memory-core-host-runtime-climemory host CLI runtimememory host CLI runtime helper
plugin-sdk/memory-core-host-runtime-corememory host core runtimememory host core runtime helper
plugin-sdk/memory-core-host-runtime-filesmemory host file/runtime helpermemory host file/runtime helper
plugin-sdk/memory-host-corememory host core runtime aliasmemory host core runtime helperのvendor-neutral alias
plugin-sdk/memory-host-eventsmemory host event journal aliasmemory host event journal helperのvendor-neutral alias
plugin-sdk/memory-host-filesmemory host file/runtime aliasmemory host file/runtime helperのvendor-neutral alias
plugin-sdk/memory-host-markdownmanaged markdown helpermemory隣接plugin向けの共有managed-markdown helper
plugin-sdk/memory-host-searchactive memory search facadelazy active-memory search-manager runtime facade
plugin-sdk/memory-host-statusmemory host status aliasmemory host status helperのvendor-neutral alias
plugin-sdk/memory-lancedbbundled memory-lancedb helpermemory-lancedb helper surface
plugin-sdk/testingtest utilitytest helperおよびmock
この表は、完全なSDK surfaceではなく、意図的に一般的な移行向けの一部だけを示しています。200以上のentrypointからなる完全な一覧は scripts/lib/plugin-sdk-entrypoints.json にあります。 その一覧には、plugin-sdk/feishuplugin-sdk/feishu-setupplugin-sdk/zaloplugin-sdk/zalo-setupplugin-sdk/matrix* のようなbundled-plugin helper seamも依然として含まれています。
これらはbundled-pluginの保守と互換性のために引き続きexportされていますが、 一般的な移行表からは意図的に除外されており、新しいplugin codeの 推奨先ではありません。
同じルールは、他のbundled-helper系にも当てはまります。たとえば:
  • browser support helper: plugin-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-support
  • Matrix: plugin-sdk/matrix*
  • LINE: plugin-sdk/line*
  • IRC: plugin-sdk/irc*
  • plugin-sdk/googlechatplugin-sdk/zalouser, plugin-sdk/bluebubbles*, plugin-sdk/mattermost*, plugin-sdk/msteams, plugin-sdk/nextcloud-talk, plugin-sdk/nostr, plugin-sdk/tlon, plugin-sdk/twitch, plugin-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-call のような bundled helper/plugin surface
plugin-sdk/github-copilot-token は現在、細いtoken-helper surfaceとして DEFAULT_COPILOT_API_BASE_URLderiveCopilotApiBaseUrlFromTokenresolveCopilotApiToken を公開しています。 作業に合った最も細いimportを使ってください。必要なexportが見つからない場合は、 src/plugin-sdk/ のsourceを確認するか、Discordで質問してください。

削除タイムライン

時期起きること
現在非推奨surfaceがランタイム警告を出す
次のmajor release非推奨surfaceが削除される。まだ使用しているpluginは失敗する
すべてのcore pluginはすでに移行済みです。外部pluginは、 次のmajor releaseの前に移行してください。

一時的に警告を抑制する

移行作業中は、これらの環境変数を設定してください。
OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run
OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run
これは一時的なescape hatchであり、恒久的な解決策ではありません。

関連