Skip to main content

插件 SDK 迁移

OpenClaw 已经从一个宽泛的向后兼容层迁移到现代插件架构,提供聚焦且有文档说明的导入方式。如果你的插件是在新架构之前构建的,本指南将帮助你完成迁移。

正在发生什么变化

旧插件系统提供了两个完全开放的接口,让插件可以从单一入口点导入所需的任何内容:
  • openclaw/plugin-sdk/compat — 一个单一导入入口,重新导出了数十个辅助工具。它的引入是为了在新插件架构构建期间,让基于旧 Hook 的插件继续工作。
  • openclaw/extension-api — 一个桥接层,让插件可以直接访问宿主端辅助工具,例如嵌入式 Pi 智能体运行器。
这两个接口现在都已弃用。它们在运行时仍然可用,但新插件不得再使用它们,现有插件也应在下一个主版本移除它们之前完成迁移。
这个向后兼容层将在未来的主版本中移除。 到那时,仍然从这些接口导入的插件将会失效。

为什么会有这个变化

旧方案带来了这些问题:
  • 启动缓慢 — 导入一个辅助工具会加载数十个不相关模块
  • 循环依赖 — 宽泛的重新导出很容易造成导入循环
  • API 接口不清晰 — 无法区分哪些导出是稳定的,哪些是内部实现
现代插件 SDK 解决了这些问题:每个导入路径(openclaw/plugin-sdk/\<subpath\>)都是一个小而自包含的模块,具有明确用途和文档化的契约。 面向内置渠道的旧版提供商便捷接口也已经移除。像 openclaw/plugin-sdk/slackopenclaw/plugin-sdk/discordopenclaw/plugin-sdk/signalopenclaw/plugin-sdk/whatsapp、带渠道品牌的辅助接口,以及 openclaw/plugin-sdk/telegram-core 这样的导入路径,都是私有 mono-repo 快捷方式,而不是稳定的插件契约。请改用更窄、更通用的 SDK 子路径。在内置插件工作区内部,请将提供商自有的辅助工具保留在该插件自己的 api.tsruntime-api.ts 中。 当前内置提供商示例:
  • Anthropic 将 Claude 专属的流式传输辅助工具保留在自己的 api.ts / contract-api.ts 接口中
  • OpenAI 将 provider 构建器、默认模型辅助工具和 realtime provider 构建器保留在自己的 api.ts
  • OpenRouter 将 provider 构建器以及新手引导 / 配置辅助工具保留在自己的 api.ts

如何迁移

1

将原生审批处理器迁移到能力事实

具备审批能力的渠道插件现在通过 approvalCapability.nativeRuntime 加上共享的运行时上下文注册表来公开原生审批行为。关键变化:
  • approvalCapability.nativeRuntime 替换 approvalCapability.handler.loadRuntime(...)
  • 将审批相关的 auth / delivery 从旧版 plugin.auth / plugin.approvals 配置迁移到 approvalCapability
  • ChannelPlugin.approvals 已从公共渠道插件契约中移除;请将 delivery / native / render 字段迁移到 approvalCapability
  • plugin.auth 仅保留给渠道 login / logout 流程使用;其中的审批 auth hook 不再被 core 读取
  • 通过 openclaw/plugin-sdk/channel-runtime-context 注册渠道自有的运行时对象,例如客户端、令牌或 Bolt app
  • 不要从原生审批处理器发送插件自有的重新路由通知;core 现在会根据实际投递结果负责 “已路由到其他位置” 通知
  • channelRuntime 传入 createChannelManager(...) 时,请提供真实的 createPluginRuntime().channel 接口。部分 stub 将被拒绝。
当前审批能力布局请参见 /plugins/sdk-channel-plugins
2

审查 Windows 包装器回退行为

如果你的插件使用 openclaw/plugin-sdk/windows-spawn,那么现在未解析的 Windows .cmd/.bat 包装器会默认以失败关闭,除非你显式传入 allowShellFallback: true
// 之前
const program = applyWindowsSpawnProgramPolicy({ candidate });

// 之后
const program = applyWindowsSpawnProgramPolicy({
  candidate,
  // 仅对受信任的兼容性调用方设置此项,这些调用方明确接受
  // 通过 shell 中介的回退。
  allowShellFallback: true,
});
如果你的调用方并不刻意依赖 shell 回退,请不要设置 allowShellFallback,而应改为处理抛出的错误。
3

查找已弃用的导入

在你的插件中搜索来自任一已弃用接口的导入:
grep -r "plugin-sdk/compat" my-plugin/
grep -r "openclaw/extension-api" my-plugin/
4

替换为聚焦导入

旧接口中的每个导出都映射到一个特定的现代导入路径:
// 之前(已弃用的向后兼容层)
import {
  createChannelReplyPipeline,
  createPluginRuntimeStore,
  resolveControlCommandGate,
} from "openclaw/plugin-sdk/compat";

// 之后(现代聚焦导入)
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";
对于宿主端辅助工具,请使用注入的插件运行时,而不是直接导入:
// 之前(已弃用的 extension-api 桥接层)
import { runEmbeddedPiAgent } from "openclaw/extension-api";
const result = await runEmbeddedPiAgent({ sessionId, prompt });

// 之后(注入的运行时)
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
其他旧版桥接辅助工具也适用同样模式:
旧导入现代等价项
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 helpersapi.runtime.agent.session.*
5

构建并测试

pnpm build
pnpm test -- my-plugin/

导入路径参考

导入路径用途关键导出
plugin-sdk/plugin-entry规范插件入口辅助工具definePluginEntry
plugin-sdk/core面向渠道入口定义 / 构建器的旧版总入口重新导出defineChannelPluginEntry, createChatChannelPlugin
plugin-sdk/config-schema根配置 schema 导出OpenClawSchema
plugin-sdk/provider-entry单提供商入口辅助工具defineSingleProviderPluginEntry
plugin-sdk/channel-core聚焦的渠道入口定义和构建器defineChannelPluginEntry, defineSetupPluginEntry, createChatChannelPlugin, createChannelPluginBase
plugin-sdk/setup共享设置向导辅助工具允许列表提示、设置状态构建器
plugin-sdk/setup-runtime设置时运行时辅助工具可安全导入的设置补丁适配器、查找说明辅助工具、promptResolvedAllowFromsplitSetupEntries、委托设置代理
plugin-sdk/setup-adapter-runtime设置适配器辅助工具createEnvPatchedAccountSetupAdapter
plugin-sdk/setup-tools设置工具辅助工具formatCliCommand, detectBinary, extractArchive, resolveBrewExecutable, formatDocsLink, CONFIG_DIR
plugin-sdk/account-core多账户辅助工具账户列表 / 配置 / action-gate 辅助工具
plugin-sdk/account-idaccount-id 辅助工具DEFAULT_ACCOUNT_ID、account-id 规范化
plugin-sdk/account-resolution账户查找辅助工具账户查找 + 默认回退辅助工具
plugin-sdk/account-helpers窄范围账户辅助工具账户列表 / account-action 辅助工具
plugin-sdk/channel-setup设置向导适配器createOptionalChannelSetupSurface, createOptionalChannelSetupAdapter, createOptionalChannelSetupWizard,以及 DEFAULT_ACCOUNT_IDcreateTopLevelChannelDmPolicysetSetupChannelEnabledsplitSetupEntries
plugin-sdk/channel-pairing私信配对原语createChannelPairingController
plugin-sdk/channel-reply-pipeline回复前缀 + 正在输入状态配置createChannelReplyPipeline
plugin-sdk/channel-config-helpers配置适配器工厂createHybridChannelConfigAdapter
plugin-sdk/channel-config-schema配置 schema 构建器渠道配置 schema 类型
plugin-sdk/telegram-command-configTelegram 命令配置辅助工具命令名规范化、描述裁剪、重复 / 冲突校验
plugin-sdk/channel-policy群组 / 私信策略解析resolveChannelGroupRequireMention
plugin-sdk/channel-lifecycle账户状态跟踪createAccountStatusSink
plugin-sdk/inbound-envelope入站 envelope 辅助工具共享路由 + envelope 构建器辅助工具
plugin-sdk/inbound-reply-dispatch入站回复辅助工具共享 record-and-dispatch 辅助工具
plugin-sdk/messaging-targets消息目标解析目标解析 / 匹配辅助工具
plugin-sdk/outbound-media出站媒体辅助工具共享出站媒体加载
plugin-sdk/outbound-runtime出站运行时辅助工具出站身份 / 发送委托辅助工具
plugin-sdk/thread-bindings-runtime线程绑定辅助工具线程绑定生命周期和适配器辅助工具
plugin-sdk/agent-media-payload旧版媒体载荷辅助工具面向旧字段布局的智能体媒体载荷构建器
plugin-sdk/channel-runtime已弃用的兼容性 shim仅旧版渠道运行时工具
plugin-sdk/channel-send-result发送结果类型回复结果类型
plugin-sdk/runtime-store持久化插件存储createPluginRuntimeStore
plugin-sdk/runtime宽范围运行时辅助工具runtime / logging / backup / 插件安装辅助工具
plugin-sdk/runtime-env窄范围运行时 env 辅助工具logger / runtime env、timeout、retry 和 backoff 辅助工具
plugin-sdk/plugin-runtime共享插件运行时辅助工具插件命令 / hooks / http / interactive 辅助工具
plugin-sdk/hook-runtimeHook 管道辅助工具共享 webhook / internal hook 管道辅助工具
plugin-sdk/lazy-runtime延迟运行时辅助工具createLazyRuntimeModule, createLazyRuntimeMethod, createLazyRuntimeMethodBinder, createLazyRuntimeNamedExport, createLazyRuntimeSurface
plugin-sdk/process-runtime进程辅助工具共享 exec 辅助工具
plugin-sdk/cli-runtimeCLI 运行时辅助工具命令格式化、等待、版本辅助工具
plugin-sdk/gateway-runtimeGateway 网关辅助工具Gateway 网关客户端和渠道状态补丁辅助工具
plugin-sdk/config-runtime配置辅助工具配置加载 / 写入辅助工具
plugin-sdk/telegram-command-configTelegram 命令辅助工具当内置 Telegram 契约接口不可用时,提供稳定回退的 Telegram 命令校验辅助工具
plugin-sdk/approval-runtime审批提示辅助工具exec / 插件审批载荷、审批能力 / 配置文件辅助工具、原生审批路由 / 运行时辅助工具
plugin-sdk/approval-auth-runtime审批 auth 辅助工具approver 解析、同聊天 action auth
plugin-sdk/approval-client-runtime审批客户端辅助工具原生 exec 审批配置文件 / 过滤辅助工具
plugin-sdk/approval-delivery-runtime审批投递辅助工具原生审批能力 / 投递适配器
plugin-sdk/approval-gateway-runtime审批 Gateway 网关辅助工具共享审批 Gateway 网关解析辅助工具
plugin-sdk/approval-handler-adapter-runtime审批适配器辅助工具面向热点渠道入口点的轻量级原生审批适配器加载辅助工具
plugin-sdk/approval-handler-runtime审批处理器辅助工具更宽范围的审批处理器运行时辅助工具;如果更窄的 adapter / gateway 接口已经足够,优先使用后者
plugin-sdk/approval-native-runtime审批目标辅助工具原生审批目标 / 账户绑定辅助工具
plugin-sdk/approval-reply-runtime审批回复辅助工具exec / 插件审批回复载荷辅助工具
plugin-sdk/channel-runtime-context渠道运行时上下文辅助工具通用渠道运行时上下文 register / get / watch 辅助工具
plugin-sdk/security-runtime安全辅助工具共享信任、私信门控、外部内容和密钥收集辅助工具
plugin-sdk/ssrf-policySSRF 策略辅助工具主机 allowlist 和私有网络策略辅助工具
plugin-sdk/ssrf-runtimeSSRF 运行时辅助工具pinned-dispatcher、guarded fetch、SSRF 策略辅助工具
plugin-sdk/collection-runtime有界缓存辅助工具pruneMapToMaxSize
plugin-sdk/diagnostic-runtime诊断门控辅助工具isDiagnosticFlagEnabled, isDiagnosticsEnabled
plugin-sdk/error-runtime错误格式化辅助工具formatUncaughtError, isApprovalNotFoundError、错误图辅助工具
plugin-sdk/fetch-runtime封装 fetch / proxy 辅助工具resolveFetch、proxy 辅助工具
plugin-sdk/host-runtime主机规范化辅助工具normalizeHostname, normalizeScpRemoteHost
plugin-sdk/retry-runtimeretry 辅助工具RetryConfig, retryAsync、策略运行器
plugin-sdk/allow-fromallowlist 格式化formatAllowFromLowercase
plugin-sdk/allowlist-resolutionallowlist 输入映射mapAllowlistResolutionInputs
plugin-sdk/command-auth命令门控和命令接口辅助工具resolveControlCommandGate、发送者授权辅助工具、命令注册表辅助工具
plugin-sdk/secret-input密钥输入解析密钥输入辅助工具
plugin-sdk/webhook-ingresswebhook 请求辅助工具webhook 目标工具
plugin-sdk/webhook-request-guardswebhook 请求体保护辅助工具请求体读取 / 限制辅助工具
plugin-sdk/reply-runtime共享回复运行时入站分发、heartbeat、回复规划器、分块
plugin-sdk/reply-dispatch-runtime窄范围回复分发辅助工具finalize + provider 分发辅助工具
plugin-sdk/reply-history回复历史辅助工具buildHistoryContext, buildPendingHistoryContextFromMap, recordPendingHistoryEntry, clearHistoryEntriesIfEnabled
plugin-sdk/reply-reference回复引用规划createReplyReferencePlanner
plugin-sdk/reply-chunking回复分块辅助工具文本 / markdown 分块辅助工具
plugin-sdk/session-store-runtimesession store 辅助工具存储路径 + updated-at 辅助工具
plugin-sdk/state-paths状态路径辅助工具状态和 OAuth 目录辅助工具
plugin-sdk/routing路由 / session-key 辅助工具resolveAgentRoute, buildAgentSessionKey, resolveDefaultAgentBoundAccountId、session-key 规范化辅助工具
plugin-sdk/status-helpers渠道状态辅助工具渠道 / 账户状态摘要构建器、运行时状态默认值、问题元数据辅助工具
plugin-sdk/target-resolver-runtime目标解析器辅助工具共享目标解析器辅助工具
plugin-sdk/string-normalization-runtime字符串规范化辅助工具slug / 字符串规范化辅助工具
plugin-sdk/request-url请求 URL 辅助工具从类似请求的输入中提取字符串 URL
plugin-sdk/run-command定时命令辅助工具具备规范化 stdout / stderr 的定时命令运行器
plugin-sdk/param-readers参数读取器常用工具 / CLI 参数读取器
plugin-sdk/tool-payload工具载荷提取从工具结果对象中提取规范化载荷
plugin-sdk/tool-send工具发送提取从工具参数中提取规范发送目标字段
plugin-sdk/temp-path临时路径辅助工具共享临时下载路径辅助工具
plugin-sdk/logging-core日志辅助工具子系统 logger 和脱敏辅助工具
plugin-sdk/markdown-table-runtimeMarkdown 表格辅助工具Markdown 表格模式辅助工具
plugin-sdk/reply-payload消息回复类型回复载荷类型
plugin-sdk/provider-setup精选的本地 / 自托管 provider 设置辅助工具自托管 provider 发现 / 配置辅助工具
plugin-sdk/self-hosted-provider-setup聚焦的 OpenAI 兼容自托管 provider 设置辅助工具同样的自托管 provider 发现 / 配置辅助工具
plugin-sdk/provider-auth-runtimeprovider 运行时 auth 辅助工具运行时 API key 解析辅助工具
plugin-sdk/provider-auth-api-keyprovider API key 设置辅助工具API key onboarding / profile-write 辅助工具
plugin-sdk/provider-auth-resultprovider auth-result 辅助工具标准 OAuth auth-result 构建器
plugin-sdk/provider-auth-loginprovider 交互式登录辅助工具共享交互式登录辅助工具
plugin-sdk/provider-env-varsprovider 环境变量辅助工具provider auth 环境变量查找辅助工具
plugin-sdk/provider-model-shared共享 provider 模型 / replay 辅助工具ProviderReplayFamily, buildProviderReplayFamilyHooks, normalizeModelCompat、共享 replay-policy 构建器、provider endpoint 辅助工具以及 model-id 规范化辅助工具
plugin-sdk/provider-catalog-shared共享 provider catalog 辅助工具findCatalogTemplate, buildSingleProviderApiKeyCatalog, supportsNativeStreamingUsageCompat, applyProviderNativeStreamingUsageCompat
plugin-sdk/provider-onboardprovider onboarding 补丁onboarding 配置辅助工具
plugin-sdk/provider-httpprovider HTTP 辅助工具通用 provider HTTP / endpoint capability 辅助工具
plugin-sdk/provider-web-fetchprovider web-fetch 辅助工具web-fetch provider 注册 / 缓存辅助工具
plugin-sdk/provider-web-search-config-contractprovider web-search 配置辅助工具面向不需要插件启用配置的 provider 的窄范围 web-search 配置 / 凭证辅助工具
plugin-sdk/provider-web-search-contractprovider web-search 契约辅助工具窄范围 web-search 配置 / 凭证契约辅助工具,例如 createWebSearchProviderContractFieldsenablePluginInConfigresolveProviderWebSearchPluginConfig 以及作用域凭证 setter / getter
plugin-sdk/provider-web-searchprovider web-search 辅助工具web-search provider 注册 / 缓存 / 运行时辅助工具
plugin-sdk/provider-toolsprovider 工具 / schema 兼容辅助工具ProviderToolCompatFamily, buildProviderToolCompatFamilyHooks、Gemini schema 清理 + diagnostics,以及 xAI 兼容辅助工具,例如 resolveXaiModelCompatPatch / applyXaiModelCompat
plugin-sdk/provider-usageprovider usage 辅助工具fetchClaudeUsage, fetchGeminiUsage, fetchGithubCopilotUsage 以及其他 provider usage 辅助工具
plugin-sdk/provider-streamprovider stream 封装辅助工具ProviderStreamFamily, buildProviderStreamFamilyHooks, composeProviderStreamWrappers、stream wrapper 类型,以及共享的 Anthropic / Bedrock / Google / Kilocode / Moonshot AI / OpenAI / OpenRouter / Z.A.I / MiniMax / Copilot wrapper 辅助工具
plugin-sdk/keyed-async-queue有序异步队列KeyedAsyncQueue
plugin-sdk/media-runtime共享媒体辅助工具媒体 fetch / transform / store 辅助工具以及媒体载荷构建器
plugin-sdk/media-generation-runtime共享 media-generation 辅助工具图像 / 视频 / 音乐生成的共享故障切换辅助工具、候选项选择和缺失模型提示
plugin-sdk/media-understandingmedia-understanding 辅助工具媒体理解 provider 类型以及面向 provider 的图像 / 音频辅助导出
plugin-sdk/text-runtime共享文本辅助工具去除对助手可见的文本、markdown 渲染 / 分块 / 表格辅助工具、脱敏辅助工具、directive-tag 辅助工具、安全文本工具以及相关文本 / 日志辅助工具
plugin-sdk/text-chunking文本分块辅助工具出站文本分块辅助工具
plugin-sdk/speechspeech 辅助工具speech provider 类型以及面向 provider 的 directive、注册表和校验辅助工具
plugin-sdk/speech-core共享 speech corespeech provider 类型、注册表、directives、规范化
plugin-sdk/realtime-transcriptionrealtime transcription 辅助工具provider 类型和注册表辅助工具
plugin-sdk/realtime-voicerealtime voice 辅助工具provider 类型和注册表辅助工具
plugin-sdk/image-generation-core共享 image-generation core图像生成类型、故障切换、auth 和注册表辅助工具
plugin-sdk/music-generationmusic-generation 辅助工具音乐生成 provider / request / result 类型
plugin-sdk/music-generation-core共享 music-generation core音乐生成类型、故障切换辅助工具、provider 查找和 model-ref 解析
plugin-sdk/video-generationvideo-generation 辅助工具视频生成 provider / request / result 类型
plugin-sdk/video-generation-core共享 video-generation core视频生成类型、故障切换辅助工具、provider 查找和 model-ref 解析
plugin-sdk/interactive-runtime交互式回复辅助工具交互式回复载荷规范化 / 归约
plugin-sdk/channel-config-primitives渠道配置原语窄范围渠道 config-schema 原语
plugin-sdk/channel-config-writes渠道配置写入辅助工具渠道配置写入授权辅助工具
plugin-sdk/channel-plugin-common共享渠道前导模块共享渠道插件前导导出
plugin-sdk/channel-status渠道状态辅助工具共享渠道状态快照 / 摘要辅助工具
plugin-sdk/allowlist-config-editallowlist 配置辅助工具allowlist 配置编辑 / 读取辅助工具
plugin-sdk/group-access群组访问辅助工具共享群组访问决策辅助工具
plugin-sdk/direct-dm直接私信辅助工具共享直接私信 auth / guard 辅助工具
plugin-sdk/extension-shared共享扩展辅助工具被动渠道 / 状态及环境代理辅助原语
plugin-sdk/webhook-targetswebhook 目标辅助工具webhook 目标注册表和 route-install 辅助工具
plugin-sdk/webhook-pathwebhook 路径辅助工具webhook 路径规范化辅助工具
plugin-sdk/web-media共享 Web 媒体辅助工具远程 / 本地媒体加载辅助工具
plugin-sdk/zodZod 重新导出面向插件 SDK 使用者重新导出的 zod
plugin-sdk/memory-core内置 memory-core 辅助工具内存管理器 / 配置 / 文件 / CLI 辅助工具接口
plugin-sdk/memory-core-engine-runtime内存引擎运行时外观内存索引 / 搜索运行时外观
plugin-sdk/memory-core-host-engine-foundation内存宿主基础引擎内存宿主基础引擎导出
plugin-sdk/memory-core-host-engine-embeddings内存宿主嵌入引擎内存宿主嵌入引擎导出
plugin-sdk/memory-core-host-engine-qmd内存宿主 QMD 引擎内存宿主 QMD 引擎导出
plugin-sdk/memory-core-host-engine-storage内存宿主存储引擎内存宿主持储引擎导出
plugin-sdk/memory-core-host-multimodal内存宿主多模态辅助工具内存宿主多模态辅助工具
plugin-sdk/memory-core-host-query内存宿主查询辅助工具内存宿主查询辅助工具
plugin-sdk/memory-core-host-secret内存宿主密钥辅助工具内存宿主密钥辅助工具
plugin-sdk/memory-core-host-events内存宿主事件日志辅助工具内存宿主事件日志辅助工具
plugin-sdk/memory-core-host-status内存宿主状态辅助工具内存宿主状态辅助工具
plugin-sdk/memory-core-host-runtime-cli内存宿主 CLI 运行时内存宿主 CLI 运行时辅助工具
plugin-sdk/memory-core-host-runtime-core内存宿主核心运行时内存宿主核心运行时辅助工具
plugin-sdk/memory-core-host-runtime-files内存宿主文件 / 运行时辅助工具内存宿主文件 / 运行时辅助工具
plugin-sdk/memory-host-core内存宿主核心运行时别名面向厂商无关的内存宿主核心运行时辅助工具别名
plugin-sdk/memory-host-events内存宿主事件日志别名面向厂商无关的内存宿主事件日志辅助工具别名
plugin-sdk/memory-host-files内存宿主文件 / 运行时别名面向厂商无关的内存宿主文件 / 运行时辅助工具别名
plugin-sdk/memory-host-markdown托管 markdown 辅助工具面向 memory 相邻插件的共享托管 markdown 辅助工具
plugin-sdk/memory-host-search活跃内存搜索外观延迟加载的活跃内存 search-manager 运行时外观
plugin-sdk/memory-host-status内存宿主状态别名面向厂商无关的内存宿主状态辅助工具别名
plugin-sdk/memory-lancedb内置 memory-lancedb 辅助工具memory-lancedb 辅助工具接口
plugin-sdk/testing测试工具测试辅助工具和 mocks
这个表刻意只包含常见迁移子集,而不是完整的 SDK 接口。完整的 200+ 入口点列表位于 scripts/lib/plugin-sdk-entrypoints.json 该列表仍然包含一些内置插件辅助接口,例如 plugin-sdk/feishuplugin-sdk/feishu-setupplugin-sdk/zaloplugin-sdk/zalo-setupplugin-sdk/matrix*。这些接口仍会继续导出,用于内置插件维护和兼容性,但它们被有意从常见迁移表中省略,也不是新插件代码的推荐目标。 同样的规则也适用于其他内置辅助工具家族,例如:
  • 浏览器支持辅助工具:plugin-sdk/browser-cdpplugin-sdk/browser-config-runtimeplugin-sdk/browser-config-supportplugin-sdk/browser-control-authplugin-sdk/browser-node-runtimeplugin-sdk/browser-profilesplugin-sdk/browser-security-runtimeplugin-sdk/browser-setup-toolsplugin-sdk/browser-support
  • Matrix:plugin-sdk/matrix*
  • LINE:plugin-sdk/line*
  • IRC:plugin-sdk/irc*
  • 内置辅助 / 插件接口,例如 plugin-sdk/googlechatplugin-sdk/zalouserplugin-sdk/bluebubbles*plugin-sdk/mattermost*plugin-sdk/msteamsplugin-sdk/nextcloud-talkplugin-sdk/nostrplugin-sdk/tlonplugin-sdk/twitchplugin-sdk/github-copilot-loginplugin-sdk/github-copilot-tokenplugin-sdk/diagnostics-otelplugin-sdk/diffsplugin-sdk/llm-taskplugin-sdk/thread-ownershipplugin-sdk/voice-call
plugin-sdk/github-copilot-token 当前公开的是窄范围 token-helper 接口: DEFAULT_COPILOT_API_BASE_URLderiveCopilotApiBaseUrlFromTokenresolveCopilotApiToken 请使用与你的任务最匹配的最窄导入路径。如果你找不到某个导出,请查看 src/plugin-sdk/ 下的源码,或在 Discord 中提问。

移除时间线

时间发生的事情
现在已弃用接口会发出运行时警告
下一个主版本已弃用接口将被移除;仍在使用它们的插件将会失效
所有 core 插件都已经完成迁移。外部插件应在下一个主版本之前完成迁移。

临时抑制警告

在迁移期间,你可以设置这些环境变量:
OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run
OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run
这只是一个临时逃生口,不是永久解决方案。

相关内容