Перейти до основного вмісту

Міграція SDK плагінів

OpenClaw перейшов від широкого шару зворотної сумісності до сучасної архітектури плагінів зі сфокусованими, задокументованими імпортами. Якщо ваш плагін було створено до появи нової архітектури, цей посібник допоможе вам виконати міграцію.

Що змінюється

Стара система плагінів надавала дві надто широкі поверхні, які дозволяли плагінам імпортувати все, що їм потрібно, з єдиної точки входу:
  • openclaw/plugin-sdk/compat — єдиний імпорт, який повторно експортував десятки допоміжних засобів. Його було запроваджено, щоб старі плагіни на основі хуків продовжували працювати, поки будувалася нова архітектура плагінів.
  • openclaw/extension-api — міст, який надавав плагінам прямий доступ до допоміжних засобів на стороні хоста, як-от вбудований запускальник агента.
Обидві поверхні тепер застарілі. Вони досі працюють під час виконання, але нові плагіни не повинні їх використовувати, а наявним плагінам слід перейти на нові механізми до того, як у наступному великому випуску їх буде видалено.
Шар зворотної сумісності буде видалено в одному з майбутніх великих випусків. Плагіни, які все ще імпортують із цих поверхонь, перестануть працювати, коли це станеться.

Чому це змінилося

Старий підхід спричиняв проблеми:
  • Повільний запуск — імпорт одного допоміжного засобу завантажував десятки не пов’язаних між собою модулів
  • Циклічні залежності — широкі повторні експорти спрощували створення циклів імпорту
  • Неясна поверхня API — не було способу зрозуміти, які експорти є стабільними, а які внутрішніми
Сучасний SDK плагінів вирішує це: кожен шлях імпорту (openclaw/plugin-sdk/\<subpath\>) є невеликим, самодостатнім модулем із чітким призначенням і задокументованим контрактом. Застарілі зручні шви провайдера для вбудованих каналів також зникли. Імпорти на кшталт openclaw/plugin-sdk/slack, openclaw/plugin-sdk/discord, openclaw/plugin-sdk/signal, openclaw/plugin-sdk/whatsapp, допоміжні шви з брендингом каналів і openclaw/plugin-sdk/telegram-core були приватними скороченнями для монорепозиторію, а не стабільними контрактами плагінів. Натомість використовуйте вузькі загальні підшляхи SDK. Усередині вбудованого робочого простору плагінів зберігайте допоміжні засоби, що належать провайдеру, у власному api.ts або runtime-api.ts цього плагіна. Поточні приклади вбудованих провайдерів:
  • Anthropic зберігає допоміжні засоби потокової передачі, специфічні для Claude, у власному шві api.ts / contract-api.ts
  • OpenAI зберігає конструктори провайдерів, допоміжні засоби для моделей за замовчуванням і конструктори провайдерів реального часу у власному api.ts
  • OpenRouter зберігає конструктор провайдера та допоміжні засоби для онбордингу/конфігурації у власному api.ts

Як виконати міграцію

1

Перевірте резервну поведінку обгортки Windows

Якщо ваш плагін використовує openclaw/plugin-sdk/windows-spawn, невизначені обгортки Windows .cmd/.bat тепер завершуються без резервного варіанта, якщо ви явно не передасте allowShellFallback: true.
// Before
const program = applyWindowsSpawnProgramPolicy({ candidate });

// After
const program = applyWindowsSpawnProgramPolicy({
  candidate,
  // Only set this for trusted compatibility callers that intentionally
  // accept shell-mediated fallback.
  allowShellFallback: true,
});
Якщо ваш викликаючий код не покладається навмисно на резервний варіант через оболонку, не встановлюйте allowShellFallback і натомість обробіть викинуту помилку.
2

Знайдіть застарілі імпорти

Знайдіть у своєму плагіні імпорти з будь-якої із застарілих поверхонь:
grep -r "plugin-sdk/compat" my-plugin/
grep -r "openclaw/extension-api" my-plugin/
3

Замініть їх на сфокусовані імпорти

Кожен експорт зі старої поверхні відповідає певному сучасному шляху імпорту:
// Before (deprecated backwards-compatibility layer)
import {
  createChannelReplyPipeline,
  createPluginRuntimeStore,
  resolveControlCommandGate,
} from "openclaw/plugin-sdk/compat";

// After (modern focused imports)
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";
Для допоміжних засобів на стороні хоста використовуйте впроваджене середовище виконання плагіна замість прямого імпорту:
// Before (deprecated extension-api bridge)
import { runEmbeddedPiAgent } from "openclaw/extension-api";
const result = await runEmbeddedPiAgent({ sessionId, prompt });

// After (injected runtime)
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
допоміжні засоби сховища сесійapi.runtime.agent.session.*
4

Зберіть і протестуйте

pnpm build
pnpm test -- my-plugin/

Довідник шляхів імпорту

Шлях імпортуПризначенняКлючові експорти
plugin-sdk/plugin-entryКанонічний допоміжний засіб точки входу плагінаdefinePluginEntry
plugin-sdk/coreЗастарілий узагальнений повторний експорт для визначень/конструкторів точок входу каналівdefineChannelPluginEntry, createChatChannelPlugin
plugin-sdk/config-schemaЕкспорт кореневої схеми конфігураціїOpenClawSchema
plugin-sdk/provider-entryДопоміжний засіб точки входу для одного провайдераdefineSingleProviderPluginEntry
plugin-sdk/channel-coreСфокусовані визначення та конструктори точок входу каналівdefineChannelPluginEntry, defineSetupPluginEntry, createChatChannelPlugin, createChannelPluginBase
plugin-sdk/setupСпільні допоміжні засоби майстра налаштуванняЗапити списку дозволених, конструктори стану налаштування
plugin-sdk/setup-runtimeДопоміжні засоби середовища виконання для етапу налаштуванняБезпечні для імпорту адаптери патчів налаштування, допоміжні засоби приміток пошуку, promptResolvedAllowFrom, splitSetupEntries, делеговані проксі налаштування
plugin-sdk/setup-adapter-runtimeДопоміжні засоби адаптера налаштуванняcreateEnvPatchedAccountSetupAdapter
plugin-sdk/setup-toolsДопоміжні засоби інструментів налаштуванняformatCliCommand, detectBinary, extractArchive, resolveBrewExecutable, formatDocsLink, CONFIG_DIR
plugin-sdk/account-coreДопоміжні засоби для кількох облікових записівДопоміжні засоби списку облікових записів/конфігурації/шлюзу дій
plugin-sdk/account-idДопоміжні засоби для ідентифікатора облікового записуDEFAULT_ACCOUNT_ID, нормалізація ідентифікатора облікового запису
plugin-sdk/account-resolutionДопоміжні засоби пошуку облікового записуДопоміжні засоби пошуку облікового запису + резервного значення за замовчуванням
plugin-sdk/account-helpersВузькі допоміжні засоби для облікових записівДопоміжні засоби списку облікових записів/дій з обліковими записами
plugin-sdk/channel-setupАдаптери майстра налаштуванняcreateOptionalChannelSetupSurface, createOptionalChannelSetupAdapter, createOptionalChannelSetupWizard, а також DEFAULT_ACCOUNT_ID, createTopLevelChannelDmPolicy, setSetupChannelEnabled, splitSetupEntries
plugin-sdk/channel-pairingПримітиви прив’язування DMcreateChannelPairingController
plugin-sdk/channel-reply-pipelineНалаштування префікса відповіді та індикатора наборуcreateChannelReplyPipeline
plugin-sdk/channel-config-helpersФабрики адаптерів конфігураціїcreateHybridChannelConfigAdapter
plugin-sdk/channel-config-schemaКонструктори схем конфігураціїТипи схем конфігурації каналу
plugin-sdk/telegram-command-configДопоміжні засоби конфігурації команд TelegramНормалізація назв команд, обрізання описів, перевірка дублікатів/конфліктів
plugin-sdk/channel-policyВизначення політики груп/DMresolveChannelGroupRequireMention
plugin-sdk/channel-lifecycleВідстеження стану облікового записуcreateAccountStatusSink
plugin-sdk/inbound-envelopeДопоміжні засоби для вхідного конвертаСпільні допоміжні засоби маршруту + побудови конверта
plugin-sdk/inbound-reply-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/логування/резервного копіювання/встановлення плагіна
plugin-sdk/runtime-envВузькі допоміжні засоби оточення runtimeДопоміжні засоби логера/оточення runtime, таймаутів, повторів і backoff
plugin-sdk/plugin-runtimeСпільні допоміжні засоби runtime плагінаДопоміжні засоби команд/хуків/http/інтерактивної взаємодії плагіна
plugin-sdk/hook-runtimeДопоміжні засоби конвеєра хуківСпільні допоміжні засоби конвеєра webhook/внутрішніх хуків
plugin-sdk/lazy-runtimeДопоміжні засоби відкладеного runtimecreateLazyRuntimeModule, createLazyRuntimeMethod, createLazyRuntimeMethodBinder, createLazyRuntimeNamedExport, createLazyRuntimeSurface
plugin-sdk/process-runtimeДопоміжні засоби процесівСпільні допоміжні засоби exec
plugin-sdk/cli-runtimeДопоміжні засоби CLI runtimeФорматування команд, очікування, допоміжні засоби версій
plugin-sdk/gateway-runtimeДопоміжні засоби gatewayКлієнт gateway і допоміжні засоби патчів стану каналу
plugin-sdk/config-runtimeДопоміжні засоби конфігураціїДопоміжні засоби завантаження/запису конфігурації
plugin-sdk/telegram-command-configДопоміжні засоби команд TelegramДопоміжні засоби перевірки команд Telegram зі стабільним резервним варіантом, коли поверхня контракту вбудованого Telegram недоступна
plugin-sdk/approval-runtimeДопоміжні засоби запитів на погодженняНавантаження погодження exec/плагіна, допоміжні засоби можливостей/профілю погодження, нативна маршрутизація/середовище виконання погодження
plugin-sdk/approval-auth-runtimeДопоміжні засоби автентифікації погодженняВизначення затверджувача, автентифікація дій у тому самому чаті
plugin-sdk/approval-client-runtimeДопоміжні засоби клієнта погодженняДопоміжні засоби профілю/фільтра нативного погодження exec
plugin-sdk/approval-delivery-runtimeДопоміжні засоби доставки погодженняАдаптери можливостей/доставки нативного погодження
plugin-sdk/approval-native-runtimeДопоміжні засоби цілей погодженняДопоміжні засоби прив’язування цілей/облікових записів нативного погодження
plugin-sdk/approval-reply-runtimeДопоміжні засоби відповідей на погодженняДопоміжні засоби навантаження відповіді погодження exec/плагіна
plugin-sdk/security-runtimeДопоміжні засоби безпекиСпільні допоміжні засоби довіри, шлюзування DM, зовнішнього вмісту та збирання секретів
plugin-sdk/ssrf-policyДопоміжні засоби політики SSRFДопоміжні засоби списку дозволених хостів і політики приватної мережі
plugin-sdk/ssrf-runtimeДопоміжні засоби SSRF runtimeЗакріплений 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/proxyresolveFetch, допоміжні засоби proxy
plugin-sdk/host-runtimeДопоміжні засоби нормалізації хостаnormalizeHostname, normalizeScpRemoteHost
plugin-sdk/retry-runtimeДопоміжні засоби повторуRetryConfig, retryAsync, виконавці політик
plugin-sdk/allow-fromФорматування списку дозволенихformatAllowFromLowercase
plugin-sdk/allowlist-resolutionМапування вхідних даних списку дозволенихmapAllowlistResolutionInputs
plugin-sdk/command-authДопоміжні засоби шлюзування команд і поверхні командresolveControlCommandGate, допоміжні засоби авторизації відправника, допоміжні засоби реєстру команд
plugin-sdk/secret-inputРозбір секретного вводуДопоміжні засоби секретного вводу
plugin-sdk/webhook-ingressДопоміжні засоби запитів webhookУтиліти цілей webhook
plugin-sdk/webhook-request-guardsДопоміжні засоби захисту запитів webhookДопоміжні засоби читання/обмеження тіла запиту
plugin-sdk/reply-runtimeСпільне середовище виконання відповідіВхідна диспетчеризація, heartbeat, планувальник відповіді, розбиття на частини
plugin-sdk/reply-dispatch-runtimeВузькі допоміжні засоби диспетчеризації відповідіДопоміжні засоби фіналізації + диспетчеризації провайдера
plugin-sdk/reply-historyДопоміжні засоби історії відповідейbuildHistoryContext, buildPendingHistoryContextFromMap, recordPendingHistoryEntry, clearHistoryEntriesIfEnabled
plugin-sdk/reply-referenceПланування посилань на відповідіcreateReplyReferencePlanner
plugin-sdk/reply-chunkingДопоміжні засоби розбиття відповідіДопоміжні засоби розбиття тексту/markdown
plugin-sdk/session-store-runtimeДопоміжні засоби сховища сесійДопоміжні засоби шляху сховища + updated-at
plugin-sdk/state-pathsДопоміжні засоби шляхів стануДопоміжні засоби каталогів стану та OAuth
plugin-sdk/routingДопоміжні засоби маршрутизації/ключів сесіїresolveAgentRoute, buildAgentSessionKey, resolveDefaultAgentBoundAccountId, допоміжні засоби нормалізації ключа сесії
plugin-sdk/status-helpersДопоміжні засоби стану каналуКонструктори зведень стану каналу/облікового запису, типові значення runtime-state, допоміжні засоби метаданих проблем
plugin-sdk/target-resolver-runtimeДопоміжні засоби визначення цілейСпільні допоміжні засоби визначення цілей
plugin-sdk/string-normalization-runtimeДопоміжні засоби нормалізації рядківДопоміжні засоби нормалізації slug/рядків
plugin-sdk/request-urlДопоміжні засоби URL запитівВитяг рядкових URL із request-подібних вхідних даних
plugin-sdk/run-commandДопоміжні засоби команд із таймаутомВиконавець команд із таймаутом і нормалізованими stdout/stderr
plugin-sdk/param-readersЗчитувачі параметрівПоширені зчитувачі параметрів інструментів/CLI
plugin-sdk/tool-sendВитягування надсилання інструментаВитяг канонічних полів цілі надсилання з аргументів інструмента
plugin-sdk/temp-pathДопоміжні засоби тимчасових шляхівСпільні допоміжні засоби шляху тимчасового завантаження
plugin-sdk/logging-coreДопоміжні засоби логуванняЛогер підсистеми й допоміжні засоби редагування
plugin-sdk/markdown-table-runtimeДопоміжні засоби markdown-таблицьДопоміжні засоби режиму markdown-таблиць
plugin-sdk/reply-payloadТипи відповідей повідомленьТипи навантаження відповіді
plugin-sdk/provider-setupКураторські допоміжні засоби налаштування локальних/self-hosted провайдерівДопоміжні засоби виявлення/конфігурації self-hosted провайдерів
plugin-sdk/self-hosted-provider-setupСфокусовані допоміжні засоби налаштування self-hosted провайдерів, сумісних з OpenAIТі самі допоміжні засоби виявлення/конфігурації self-hosted провайдерів
plugin-sdk/provider-auth-runtimeДопоміжні засоби runtime-автентифікації провайдераДопоміжні засоби визначення API-ключа під час виконання
plugin-sdk/provider-auth-api-keyДопоміжні засоби налаштування API-ключа провайдераДопоміжні засоби онбордингу/запису профілю API-ключа
plugin-sdk/provider-auth-resultДопоміжні засоби результату автентифікації провайдераСтандартний конструктор результату OAuth-автентифікації
plugin-sdk/provider-auth-loginДопоміжні засоби інтерактивного входу провайдераСпільні допоміжні засоби інтерактивного входу
plugin-sdk/provider-env-varsДопоміжні засоби змінних середовища провайдераДопоміжні засоби пошуку auth env vars провайдера
plugin-sdk/provider-model-sharedСпільні допоміжні засоби моделі/повторного відтворення провайдераProviderReplayFamily, buildProviderReplayFamilyHooks, normalizeModelCompat, спільні конструктори політики повторного відтворення, допоміжні засоби endpoint провайдера та нормалізації ідентифікатора моделі
plugin-sdk/provider-catalog-sharedСпільні допоміжні засоби каталогу провайдераfindCatalogTemplate, buildSingleProviderApiKeyCatalog, supportsNativeStreamingUsageCompat, applyProviderNativeStreamingUsageCompat
plugin-sdk/provider-onboardПатчі онбордингу провайдераДопоміжні засоби конфігурації онбордингу
plugin-sdk/provider-httpДопоміжні засоби HTTP провайдераЗагальні допоміжні засоби можливостей HTTP/endpoint провайдера
plugin-sdk/provider-web-fetchДопоміжні засоби web-fetch провайдераДопоміжні засоби реєстрації/кешу провайдера web-fetch
plugin-sdk/provider-web-searchДопоміжні засоби web-search провайдераДопоміжні засоби реєстрації/кешу/конфігурації провайдера web-search
plugin-sdk/provider-toolsДопоміжні засоби сумісності інструментів/схем провайдераProviderToolCompatFamily, buildProviderToolCompatFamilyHooks, очищення схеми Gemini + діагностика та допоміжні засоби сумісності xAI, такі як resolveXaiModelCompatPatch / applyXaiModelCompat
plugin-sdk/provider-usageДопоміжні засоби використання провайдераfetchClaudeUsage, fetchGeminiUsage, fetchGithubCopilotUsage та інші допоміжні засоби використання провайдера
plugin-sdk/provider-streamДопоміжні засоби обгортки потоку провайдераProviderStreamFamily, buildProviderStreamFamilyHooks, composeProviderStreamWrappers, типи обгорток потоку та спільні допоміжні засоби обгорток Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot
plugin-sdk/keyed-async-queueУпорядкована асинхронна чергаKeyedAsyncQueue
plugin-sdk/media-runtimeСпільні допоміжні засоби медіаДопоміжні засоби отримання/перетворення/зберігання медіа плюс конструктори медіанавантаження
plugin-sdk/media-understandingДопоміжні засоби media-understandingТипи провайдера media understanding плюс орієнтовані на провайдера експорти допоміжних засобів зображень/аудіо
plugin-sdk/text-runtimeСпільні допоміжні засоби текстуВидалення видимого для асистента тексту, рендеринг/розбиття/таблиці markdown, редагування, допоміжні засоби тегів директив, утиліти безпечного тексту та пов’язані допоміжні засоби тексту/логування
plugin-sdk/text-chunkingДопоміжні засоби розбиття текстуДопоміжний засіб розбиття вихідного тексту
plugin-sdk/speechДопоміжні засоби speechТипи speech-провайдера плюс орієнтовані на провайдера допоміжні засоби директив, реєстру та перевірки
plugin-sdk/speech-coreСпільне ядро speechТипи speech-провайдера, реєстр, директиви, нормалізація
plugin-sdk/realtime-transcriptionДопоміжні засоби транскрипції в реальному часіТипи провайдера та допоміжні засоби реєстру
plugin-sdk/realtime-voiceДопоміжні засоби голосу в реальному часіТипи провайдера та допоміжні засоби реєстру
plugin-sdk/image-generation-coreСпільне ядро генерації зображеньДопоміжні засоби типів, failover, auth і реєстру для генерації зображень
plugin-sdk/video-generationДопоміжні засоби генерації відеоТипи провайдера/запиту/результату генерації відео
plugin-sdk/video-generation-coreСпільне ядро генерації відеоДопоміжні засоби типів генерації відео, failover, пошуку провайдера та розбору model-ref
plugin-sdk/interactive-runtimeДопоміжні засоби інтерактивних відповідейНормалізація/скорочення навантаження інтерактивних відповідей
plugin-sdk/channel-config-primitivesПримітиви конфігурації каналуВузькі примітиви schema конфігурації каналу
plugin-sdk/channel-config-writesДопоміжні засоби запису конфігурації каналуДопоміжні засоби авторизації запису конфігурації каналу
plugin-sdk/channel-plugin-commonСпільна преамбула каналуЕкспорти спільної преамбули плагіна каналу
plugin-sdk/channel-statusДопоміжні засоби стану каналуСпільні допоміжні засоби знімка/зведення стану каналу
plugin-sdk/allowlist-config-editДопоміжні засоби конфігурації списку дозволенихДопоміжні засоби редагування/читання конфігурації списку дозволених
plugin-sdk/group-accessДопоміжні засоби доступу до групСпільні допоміжні засоби рішень щодо доступу до груп
plugin-sdk/direct-dmДопоміжні засоби прямих DMСпільні допоміжні засоби auth/guard для прямих DM
plugin-sdk/extension-sharedСпільні допоміжні засоби розширенняПримітиви допоміжних засобів пасивного каналу/стану
plugin-sdk/webhook-targetsДопоміжні засоби цілей webhookРеєстр цілей webhook і допоміжні засоби встановлення маршрутів
plugin-sdk/webhook-pathДопоміжні засоби шляху webhookДопоміжні засоби нормалізації шляху webhook
plugin-sdk/web-mediaСпільні допоміжні засоби web mediaДопоміжні засоби завантаження віддалених/локальних медіа
plugin-sdk/zodПовторний експорт ZodПовторно експортований zod для споживачів SDK плагінів
plugin-sdk/memory-coreВбудовані допоміжні засоби memory-coreПоверхня допоміжних засобів memory manager/config/file/CLI
plugin-sdk/memory-core-engine-runtimeФасад runtime рушія memoryФасад runtime індексування/пошуку memory
plugin-sdk/memory-core-host-engine-foundationБазовий рушій memory для хостаЕкспорти базового рушія memory для хоста
plugin-sdk/memory-core-host-engine-embeddingsРушій embeddings memory для хостаЕкспорти рушія embeddings memory для хоста
plugin-sdk/memory-core-host-engine-qmdРушій QMD memory для хостаЕкспорти рушія QMD memory для хоста
plugin-sdk/memory-core-host-engine-storageРушій зберігання memory для хостаЕкспорти рушія зберігання memory для хоста
plugin-sdk/memory-core-host-multimodalБагатомодальні допоміжні засоби memory для хостаБагатомодальні допоміжні засоби memory для хоста
plugin-sdk/memory-core-host-queryДопоміжні засоби запитів memory для хостаДопоміжні засоби запитів memory для хоста
plugin-sdk/memory-core-host-secretДопоміжні засоби секретів memory для хостаДопоміжні засоби секретів memory для хоста
plugin-sdk/memory-core-host-statusДопоміжні засоби стану memory для хостаДопоміжні засоби стану memory для хоста
plugin-sdk/memory-core-host-runtime-cliCLI runtime memory для хостаДопоміжні засоби CLI runtime memory для хоста
plugin-sdk/memory-core-host-runtime-coreБазовий runtime memory для хостаДопоміжні засоби базового runtime memory для хоста
plugin-sdk/memory-core-host-runtime-filesДопоміжні засоби файлів/runtime memory для хостаДопоміжні засоби файлів/runtime memory для хоста
plugin-sdk/memory-lancedbВбудовані допоміжні засоби memory-lancedbПоверхня допоміжних засобів memory-lancedb
plugin-sdk/testingУтиліти тестуванняДопоміжні засоби тестування та mock-об’єкти
Ця таблиця навмисно містить поширену підмножину для міграції, а не повну поверхню SDK. Повний список із понад 200 точок входу міститься у scripts/lib/plugin-sdk-entrypoints.json. Цей список усе ще містить деякі допоміжні шви вбудованих плагінів, як-от plugin-sdk/feishu, plugin-sdk/feishu-setup, plugin-sdk/zalo, plugin-sdk/zalo-setup і plugin-sdk/matrix*. Вони й далі експортуються для підтримки вбудованих плагінів і сумісності, але навмисно не включені до таблиці поширеної міграції й не є рекомендованою ціллю для нового коду плагінів. Те саме правило застосовується до інших сімейств вбудованих допоміжних засобів, таких як:
  • допоміжні засоби підтримки браузера: plugin-sdk/browser-cdp, plugin-sdk/browser-config-support, plugin-sdk/browser-control-auth, plugin-sdk/browser-profiles, plugin-sdk/browser-support
  • Matrix: plugin-sdk/matrix*
  • LINE: plugin-sdk/line*
  • IRC: plugin-sdk/irc*
  • поверхні вбудованих допоміжних засобів/плагінів, як-от plugin-sdk/googlechat, plugin-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
plugin-sdk/github-copilot-token наразі надає вузьку поверхню допоміжних засобів токена: DEFAULT_COPILOT_API_BASE_URL, deriveCopilotApiBaseUrlFromToken і resolveCopilotApiToken. Використовуйте найвужчий імпорт, який відповідає задачі. Якщо ви не можете знайти експорт, перегляньте джерело в src/plugin-sdk/ або запитайте в Discord.

Хронологія видалення

КолиЩо відбувається
ЗаразЗастарілі поверхні видають попередження під час виконання
Наступний великий випускЗастарілі поверхні буде видалено; плагіни, які все ще їх використовують, перестануть працювати
Усі основні плагіни вже мігрували. Зовнішнім плагінам слід виконати міграцію до наступного великого випуску.

Тимчасове приглушення попереджень

Установіть ці змінні середовища, поки ви працюєте над міграцією:
OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run
OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run
Це тимчасовий обхідний шлях, а не постійне рішення.

Пов’язане