chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-06 12:17:16 +00:00
parent 508eb5e46a
commit e623ae1dd3

View File

@ -7,10 +7,10 @@ sidebarTitle: SDK Overview
summary: Карта імпортів, довідник API реєстрації та архітектура SDK
title: Огляд Plugin SDK
x-i18n:
generated_at: "2026-04-06T04:11:16Z"
generated_at: "2026-04-06T12:17:16Z"
model: gpt-5.4
provider: openai
source_hash: acd2887ef52c66b2f234858d812bb04197ecd0bfb3e4f7bf3622f8fdc765acad
source_hash: 6dfd7a632101c2f6da8ba43b3cb4e673794ebaed00908ae897059fe115782f54
source_path: plugins/sdk-overview.md
workflow: 15
---
@ -18,13 +18,13 @@ x-i18n:
# Огляд Plugin SDK
Plugin SDK — це типізований контракт між plugins і core. Ця сторінка є
довідником про **що імпортувати** і **що можна реєструвати**.
довідником щодо **що імпортувати** і **що можна реєструвати**.
<Tip>
**Шукаєте практичний посібник?**
- Перший plugin? Почніть із [Getting Started](/uk/plugins/building-plugins)
- Channel plugin? Див. [Channel Plugins](/uk/plugins/sdk-channel-plugins)
- Provider plugin? Див. [Provider Plugins](/uk/plugins/sdk-provider-plugins)
- Channel plugin? Дивіться [Channel Plugins](/uk/plugins/sdk-channel-plugins)
- Provider plugin? Дивіться [Provider Plugins](/uk/plugins/sdk-provider-plugins)
</Tip>
## Угода щодо імпорту
@ -36,35 +36,37 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
```
Кожен підшлях — це невеликий, самодостатній модуль. Це пришвидшує запуск і
запобігає проблемам із циклічними залежностями. Для специфічних для channel
helpers входу/збирання надавайте перевагу `openclaw/plugin-sdk/channel-core`; `openclaw/plugin-sdk/core`
залишайте для ширшої umbrella-поверхні та спільних helpers, таких як
Кожен підшлях — це невеликий самодостатній модуль. Це забезпечує швидкий
запуск і запобігає проблемам із циклічними залежностями. Для специфічних для
каналів допоміжних функцій entry/build віддавайте перевагу
`openclaw/plugin-sdk/channel-core`; використовуйте `openclaw/plugin-sdk/core`
для ширшої узагальненої поверхні та спільних допоміжних функцій, таких як
`buildChannelConfigSchema`.
Не додавайте та не покладайтеся на зручні seams з назвами provider, такі як
Не додавайте і не використовуйте іменовані за provider зручні шари, такі як
`openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`, або
брендовані під channels helper seams. Bundled plugins мають компонувати загальні
підшляхи SDK у власних barrels `api.ts` або `runtime-api.ts`, а core
має або використовувати ці локальні для plugin barrels, або додавати вузький загальний SDK
contract, коли потреба справді є між channel.
допоміжні шари з брендуванням channel. Bundled plugins мають компонувати
загальні підшляхи SDK у власних barrels `api.ts` або `runtime-api.ts`, а core
має або використовувати ці локальні barrels plugin, або додавати вузький
загальний контракт SDK, коли потреба справді є міжканальною.
Згенерована карта експортів усе ще містить невеликий набір helper seams для bundled-plugin,
таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
Згенерована карта експортів усе ще містить невеликий набір допоміжних шарів
bundled-plugin, таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
`plugin-sdk/zalo`, `plugin-sdk/zalo-setup` і `plugin-sdk/matrix*`. Ці
підшляхи існують лише для супроводу bundled plugins і сумісності; вони
навмисно не включені до загальної таблиці нижче і не є рекомендованим
шляхом імпорту для нових сторонніх plugins.
підшляхи існують лише для підтримки bundled-plugin і сумісності; їх навмисно
не включено до загальної таблиці нижче, і вони не є рекомендованим шляхом
імпорту для нових сторонніх plugins.
## Довідник підшляхів
Найуживаніші підшляхи, згруповані за призначенням. Згенерований повний список із
понад 200 підшляхів міститься в `scripts/lib/plugin-sdk-entrypoints.json`.
понад 200 підшляхів знаходиться в `scripts/lib/plugin-sdk-entrypoints.json`.
Зарезервовані helper підшляхи bundled-plugin усе ще з’являються в цьому згенерованому списку.
Розглядайте їх як поверхні деталей реалізації/сумісності, якщо лише сторінка документації
не просуває якийсь із них явно як публічний.
Зарезервовані допоміжні підшляхи bundled-plugin усе ще з’являються в цьому
згенерованому списку. Розглядайте їх як деталі реалізації або поверхні
сумісності, якщо тільки сторінка документації явно не позначає одну з них як
публічну.
### Вхід plugin
@ -76,276 +78,276 @@ contract, коли потреба справді є між channel.
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
<AccordionGroup>
<Accordion title="Підшляхи channel">
<Accordion title="Підшляхи каналів">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/config-schema` | Експорт кореневої Zod-схеми `openclaw.json` (`OpenClawSchema`) |
| `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, а також `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/setup` | Спільні helpers майстра налаштування, запити allowlist, збирачі status налаштування |
| `plugin-sdk/setup` | Спільні допоміжні функції майстра налаштування, запити allowlist, побудовники статусу налаштування |
| `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` |
| `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | Helpers мультиакаунтної конфігурації/action-gate, helpers fallback стандартного акаунта |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, helpers нормалізації account-id |
| `plugin-sdk/account-resolution` | Пошук акаунта + helpers fallback за замовчуванням |
| `plugin-sdk/account-helpers` | Вузькі helpers списку акаунтів/дій з акаунтами |
| `plugin-sdk/account-core` | Допоміжні функції для конфігурації та action gate мультиакаунтів, допоміжні функції fallback для акаунта за замовчуванням |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні функції нормалізації account-id |
| `plugin-sdk/account-resolution` | Допоміжні функції пошуку акаунта + fallback до акаунта за замовчуванням |
| `plugin-sdk/account-helpers` | Вузькі допоміжні функції для списку акаунтів/дій із акаунтами |
| `plugin-sdk/channel-pairing` | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | Типи схеми конфігурації channel |
| `plugin-sdk/telegram-command-config` | Helpers нормалізації/валідації Telegram custom-command з fallback на bundled-contract |
| `plugin-sdk/channel-config-schema` | Типи схем конфігурації каналу |
| `plugin-sdk/telegram-command-config` | Допоміжні функції нормалізації/валідації користувацьких команд Telegram із fallback на bundled contract |
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | Спільні helpers побудови inbound route + envelope |
| `plugin-sdk/inbound-reply-dispatch` | Спільні helpers запису й диспетчеризації inbound |
| `plugin-sdk/messaging-targets` | Helpers розбору/зіставлення targets |
| `plugin-sdk/outbound-media` | Спільні helpers завантаження outbound media |
| `plugin-sdk/outbound-runtime` | Helpers outbound identity/send delegate |
| `plugin-sdk/thread-bindings-runtime` | Helpers життєвого циклу й адаптера thread-binding |
| `plugin-sdk/agent-media-payload` | Legacy builder payload media агента |
| `plugin-sdk/conversation-runtime` | Helpers conversation/thread binding, pairing і configured-binding |
| `plugin-sdk/runtime-config-snapshot` | Helper snapshot конфігурації runtime |
| `plugin-sdk/runtime-group-policy` | Helpers визначення group-policy під час runtime |
| `plugin-sdk/channel-status` | Спільні helpers snapshot/summary status channel |
| `plugin-sdk/channel-config-primitives` | Вузькі primitives схеми конфігурації channel |
| `plugin-sdk/channel-config-writes` | Helpers авторизації запису конфігурації channel |
| `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти plugin channel |
| `plugin-sdk/allowlist-config-edit` | Helpers редагування/читання конфігурації allowlist |
| `plugin-sdk/group-access` | Спільні helpers ухвалення рішень щодо доступу груп |
| `plugin-sdk/direct-dm` | Спільні helpers auth/guard для прямих DM |
| `plugin-sdk/interactive-runtime` | Helpers нормалізації/скорочення payload інтерактивних відповідей |
| `plugin-sdk/channel-inbound` | Helpers debounce, зіставлення згадок, envelope |
| `plugin-sdk/channel-send-result` | Типи результатів відповіді |
| `plugin-sdk/inbound-envelope` | Спільні допоміжні функції маршрутизації вхідних подій + побудови envelope |
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні функції запису й диспетчеризації вхідних повідомлень |
| `plugin-sdk/messaging-targets` | Допоміжні функції розбору/зіставлення target |
| `plugin-sdk/outbound-media` | Спільні допоміжні функції завантаження вихідних медіа |
| `plugin-sdk/outbound-runtime` | Допоміжні функції для вихідної ідентичності та send delegate |
| `plugin-sdk/thread-bindings-runtime` | Допоміжні функції життєвого циклу та адаптерів thread-binding |
| `plugin-sdk/agent-media-payload` | Застарілий builder payload медіа агента |
| `plugin-sdk/conversation-runtime` | Допоміжні функції прив’язки conversation/thread, pairing і configured-binding |
| `plugin-sdk/runtime-config-snapshot` | Допоміжна функція snapshot конфігурації runtime |
| `plugin-sdk/runtime-group-policy` | Допоміжні функції визначення policy груп під час runtime |
| `plugin-sdk/channel-status` | Спільні допоміжні функції snapshot/summary статусу каналу |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви schema конфігурації каналу |
| `plugin-sdk/channel-config-writes` | Допоміжні функції авторизації запису конфігурації каналу |
| `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти channel plugin |
| `plugin-sdk/allowlist-config-edit` | Допоміжні функції редагування/читання конфігурації allowlist |
| `plugin-sdk/group-access` | Спільні допоміжні функції рішень щодо доступу груп |
| `plugin-sdk/direct-dm` | Спільні допоміжні функції авторизації/захисту direct-DM |
| `plugin-sdk/interactive-runtime` | Допоміжні функції нормалізації/зведення payload інтерактивних відповідей |
| `plugin-sdk/channel-inbound` | Debounce, зіставлення згадок, допоміжні функції envelope |
| `plugin-sdk/channel-send-result` | Типи результатів reply |
| `plugin-sdk/channel-actions` | `createMessageToolButtonsSchema`, `createMessageToolCardSchema` |
| `plugin-sdk/channel-targets` | Helpers розбору/зіставлення targets |
| `plugin-sdk/channel-contract` | Типи contract для channel |
| `plugin-sdk/channel-feedback` | Підключення feedback/reaction |
| `plugin-sdk/channel-targets` | Допоміжні функції розбору/зіставлення target |
| `plugin-sdk/channel-contract` | Типи контрактів channel |
| `plugin-sdk/channel-feedback` | Налаштування feedback/reaction |
</Accordion>
<Accordion title="Підшляхи provider">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/provider-setup` | Добірні helpers налаштування локального/self-hosted provider |
| `plugin-sdk/self-hosted-provider-setup` | Фокусовані helpers налаштування self-hosted provider, сумісного з OpenAI |
| `plugin-sdk/provider-auth-runtime` | Helpers визначення API-key під час runtime для provider plugins |
| `plugin-sdk/provider-auth-api-key` | Helpers онбордингу API-key/запису профілю |
| `plugin-sdk/provider-auth-result` | Стандартний builder результату OAuth auth |
| `plugin-sdk/provider-auth-login` | Спільні helpers інтерактивного входу для provider plugins |
| `plugin-sdk/provider-env-vars` | Helpers пошуку env vars auth provider |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні builders replay-policy, helpers endpoint provider і helpers нормалізації model-id, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-setup` | Кураторські допоміжні функції налаштування локальних/self-hosted provider |
| `plugin-sdk/self-hosted-provider-setup` | Сфокусовані допоміжні функції налаштування self-hosted provider, сумісних з OpenAI |
| `plugin-sdk/provider-auth-runtime` | Допоміжні функції визначення API key під час runtime для provider plugins |
| `plugin-sdk/provider-auth-api-key` | Допоміжні функції onboarding/profile-write для API key, такі як `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний builder auth-result для OAuth |
| `plugin-sdk/provider-auth-login` | Спільні допоміжні функції інтерактивного входу для provider plugins |
| `plugin-sdk/provider-env-vars` | Допоміжні функції пошуку env vars для авторизації provider |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні builder-и replay-policy, допоміжні функції endpoint provider і нормалізації model-id, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-http` | Загальні helpers HTTP/можливостей endpoint для provider |
| `plugin-sdk/provider-web-fetch` | Helpers реєстрації/кешування provider web-fetch |
| `plugin-sdk/provider-web-search` | Helpers реєстрації/кешування/конфігурації provider web-search |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика, а також helpers сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-http` | Загальні допоміжні функції HTTP/capability endpoint provider |
| `plugin-sdk/provider-web-fetch` | Допоміжні функції реєстрації/кешування provider web-fetch |
| `plugin-sdk/provider-web-search` | Допоміжні функції реєстрації/кешування/конфігурації provider web-search |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика, а також допоміжні функції сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | `fetchClaudeUsage` та подібні |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи stream wrapper та спільні helpers wrappers для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | Helpers patch конфігурації онбордингу |
| `plugin-sdk/global-singleton` | Helpers локального для процесу singleton/map/cache |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи stream wrapper і спільні допоміжні функції wrapper для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | Допоміжні функції patch конфігурації onboarding |
| `plugin-sdk/global-singleton` | Допоміжні функції process-local singleton/map/cache |
</Accordion>
<Accordion title="Підшляхи auth і безпеки">
<Accordion title="Підшляхи авторизації та безпеки">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, helpers реєстру команд, helpers авторизації відправника |
| `plugin-sdk/approval-auth-runtime` | Helpers визначення approver і auth дій у тому самому чаті |
| `plugin-sdk/approval-client-runtime` | Helpers профілю/фільтра native exec approval |
| `plugin-sdk/approval-delivery-runtime` | Native adapters можливостей/доставки approval |
| `plugin-sdk/approval-native-runtime` | Helpers native approval target + account-binding |
| `plugin-sdk/approval-reply-runtime` | Helpers payload відповіді для exec/plugin approval |
| `plugin-sdk/command-auth-native` | Native auth команд + helpers native session-target |
| `plugin-sdk/command-detection` | Спільні helpers виявлення команд |
| `plugin-sdk/command-surface` | Нормалізація тіла команди й helpers command-surface |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні функції реєстру команд, допоміжні функції авторизації відправника |
| `plugin-sdk/approval-auth-runtime` | Допоміжні функції визначення approver та action-auth у тому ж чаті |
| `plugin-sdk/approval-client-runtime` | Допоміжні функції профілю/фільтра native exec approval |
| `plugin-sdk/approval-delivery-runtime` | Адаптери native approval capability/delivery |
| `plugin-sdk/approval-native-runtime` | Допоміжні функції native approval target + account-binding |
| `plugin-sdk/approval-reply-runtime` | Допоміжні функції payload відповіді на approval exec/plugin |
| `plugin-sdk/command-auth-native` | Допоміжні функції native command auth + native session-target |
| `plugin-sdk/command-detection` | Спільні допоміжні функції визначення команд |
| `plugin-sdk/command-surface` | Нормалізація тіла команди та допоміжні функції command-surface |
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
| `plugin-sdk/security-runtime` | Спільні helpers довіри, DM gating, зовнішнього вмісту та збирання секретів |
| `plugin-sdk/ssrf-policy` | Helpers allowlist хостів і політики SSRF для приватних мереж |
| `plugin-sdk/ssrf-runtime` | Helpers pinned-dispatcher, fetch із захистом SSRF і політики SSRF |
| `plugin-sdk/secret-input` | Helpers розбору secret input |
| `plugin-sdk/webhook-ingress` | Helpers webhook request/target |
| `plugin-sdk/webhook-request-guards` | Helpers розміру body request/таймауту |
| `plugin-sdk/security-runtime` | Спільні допоміжні функції довіри, DM gating, external-content і збору секретів |
| `plugin-sdk/ssrf-policy` | Допоміжні функції allowlist хостів і політики SSRF для приватних мереж |
| `plugin-sdk/ssrf-runtime` | Допоміжні функції pinned-dispatcher, fetch із захистом SSRF та політики SSRF |
| `plugin-sdk/secret-input` | Допоміжні функції розбору secret input |
| `plugin-sdk/webhook-ingress` | Допоміжні функції webhook request/target |
| `plugin-sdk/webhook-request-guards` | Допоміжні функції для розміру body request/timeout |
</Accordion>
<Accordion title="Підшляхи runtime і сховища">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/runtime` | Широкі helpers runtime/logging/backup/install plugin |
| `plugin-sdk/runtime-env` | Вузькі helpers env runtime, logger, timeout, retry і backoff |
| `plugin-sdk/runtime` | Широка поверхня допоміжних функцій runtime/logging/backup/plugin-install |
| `plugin-sdk/runtime-env` | Вузькі допоміжні функції runtime env, logger, timeout, retry і backoff |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
| `plugin-sdk/plugin-runtime` | Спільні helpers команд/hook/http/interactive для plugin |
| `plugin-sdk/hook-runtime` | Спільні helpers pipeline для webhook/internal hook |
| `plugin-sdk/lazy-runtime` | Helpers lazy import/binding runtime, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Helpers exec процесів |
| `plugin-sdk/cli-runtime` | Helpers форматування CLI, очікування та версії |
| `plugin-sdk/gateway-runtime` | Helpers клієнта gateway і patch status channel |
| `plugin-sdk/config-runtime` | Helpers завантаження/запису конфігурації |
| `plugin-sdk/telegram-command-config` | Нормалізація назв/описів команд Telegram і перевірки дублікатів/конфліктів, навіть коли поверхня bundled Telegram contract недоступна |
| `plugin-sdk/approval-runtime` | Helpers exec/plugin approval, builders можливостей approval, helpers auth/profile, helpers native routing/runtime |
| `plugin-sdk/reply-runtime` | Спільні helpers inbound/reply runtime, chunking, dispatch, heartbeat, планувальник reply |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі helpers dispatch/finalize reply |
| `plugin-sdk/reply-history` | Спільні helpers короткого вікна history відповідей, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/plugin-runtime` | Спільні допоміжні функції для команд/hook/http/interactive plugin |
| `plugin-sdk/hook-runtime` | Спільні допоміжні функції pipeline для webhook/internal hook |
| `plugin-sdk/lazy-runtime` | Допоміжні функції lazy import/binding runtime, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Допоміжні функції exec процесів |
| `plugin-sdk/cli-runtime` | Допоміжні функції форматування CLI, wait і version |
| `plugin-sdk/gateway-runtime` | Допоміжні функції клієнта gateway і patch статусу каналу |
| `plugin-sdk/config-runtime` | Допоміжні функції завантаження/запису конфігурації |
| `plugin-sdk/telegram-command-config` | Нормалізація назви/опису команд Telegram і перевірки на дублікати/конфлікти, навіть коли поверхня bundled Telegram contract недоступна |
| `plugin-sdk/approval-runtime` | Допоміжні функції approval exec/plugin, builder-и approval capability, допоміжні функції auth/profile, допоміжні функції native routing/runtime |
| `plugin-sdk/reply-runtime` | Спільні допоміжні функції runtime для inbound/reply, chunking, dispatch, heartbeat, planner reply |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні функції dispatch/finalize reply |
| `plugin-sdk/reply-history` | Спільні допоміжні функції коротковіконної history reply, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Вузькі helpers chunking тексту/markdown |
| `plugin-sdk/session-store-runtime` | Helpers шляху сховища session + updated-at |
| `plugin-sdk/state-paths` | Helpers шляхів каталогів state/OAuth |
| `plugin-sdk/routing` | Helpers route/session-key/account binding, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Спільні helpers summary status channel/account, типові значення runtime-state та helpers metadata проблем |
| `plugin-sdk/target-resolver-runtime` | Спільні helpers визначення targets |
| `plugin-sdk/string-normalization-runtime` | Helpers нормалізації slug/рядків |
| `plugin-sdk/request-url` | Витягування рядкових URL з input, подібних до fetch/request |
| `plugin-sdk/run-command` | Запуск команд із таймером та нормалізованими результатами stdout/stderr |
| `plugin-sdk/param-readers` | Загальні readers параметрів tool/CLI |
| `plugin-sdk/tool-send` | Витяг канонічних полів цілі відправлення з аргументів tool |
| `plugin-sdk/temp-path` | Спільні helpers шляхів тимчасового завантаження |
| `plugin-sdk/logging-core` | Helpers logger підсистеми та редагування чутливих даних |
| `plugin-sdk/markdown-table-runtime` | Helpers режиму таблиць Markdown |
| `plugin-sdk/json-store` | Невеликі helpers читання/запису JSON state |
| `plugin-sdk/file-lock` | Re-entrant helpers блокування файлів |
| `plugin-sdk/persistent-dedupe` | Helpers кешу dedupe збереженого на диску |
| `plugin-sdk/acp-runtime` | Helpers ACP runtime/session і reply-dispatch |
| `plugin-sdk/agent-config-primitives` | Вузькі primitives схеми конфігурації runtime агента |
| `plugin-sdk/boolean-param` | Гнучкий reader boolean-параметрів |
| `plugin-sdk/dangerous-name-runtime` | Helpers визначення зіставлень небезпечних імен |
| `plugin-sdk/device-bootstrap` | Helpers початкового налаштування пристрою й токенів pairing |
| `plugin-sdk/extension-shared` | Спільні primitives пасивного channel і helpers status |
| `plugin-sdk/models-provider-runtime` | Helpers відповіді команди `/models`/provider |
| `plugin-sdk/skill-commands-runtime` | Helpers виведення команд Skills |
| `plugin-sdk/native-command-registry` | Helpers реєстру/build/serialize native команд |
| `plugin-sdk/provider-zai-endpoint` | Helpers виявлення endpoint Z.AI |
| `plugin-sdk/infra-runtime` | Helpers системних подій/heartbeat |
| `plugin-sdk/collection-runtime` | Невеликі helpers bounded cache |
| `plugin-sdk/diagnostic-runtime` | Helpers діагностичних прапорців і подій |
| `plugin-sdk/error-runtime` | Граф помилок, форматування, helpers класифікації спільних помилок, `isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | Обгорнуті helpers fetch, proxy і pinned lookup |
| `plugin-sdk/host-runtime` | Helpers нормалізації hostname і SCP host |
| `plugin-sdk/retry-runtime` | Helpers конфігурації retry і запуску retry |
| `plugin-sdk/agent-runtime` | Helpers каталогів/ідентичності/workspace агента |
| `plugin-sdk/directory-runtime` | Запит/dedup каталогів на основі конфігурації |
| `plugin-sdk/reply-chunking` | Вузькі допоміжні функції chunking тексту/markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні функції шляху session store + updated-at |
| `plugin-sdk/state-paths` | Допоміжні функції шляху до каталогу state/OAuth |
| `plugin-sdk/routing` | Допоміжні функції route/session-key/account binding, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Спільні допоміжні функції summary статусу channel/account, значення runtime-state за замовчуванням і допоміжні функції метаданих issue |
| `plugin-sdk/target-resolver-runtime` | Спільні допоміжні функції визначення target |
| `plugin-sdk/string-normalization-runtime` | Допоміжні функції нормалізації slug/string |
| `plugin-sdk/request-url` | Витягування URL-адрес рядків із fetch/request-like input |
| `plugin-sdk/run-command` | Запуск команд із таймером і нормалізованими результатами stdout/stderr |
| `plugin-sdk/param-readers` | Загальні читачі параметрів tool/CLI |
| `plugin-sdk/tool-send` | Витягування канонічних полів target відправлення з аргументів tool |
| `plugin-sdk/temp-path` | Спільні допоміжні функції шляхів до тимчасових завантажень |
| `plugin-sdk/logging-core` | Допоміжні функції subsystem logger і redaction |
| `plugin-sdk/markdown-table-runtime` | Допоміжні функції режиму таблиць Markdown |
| `plugin-sdk/json-store` | Невеликі допоміжні функції читання/запису JSON state |
| `plugin-sdk/file-lock` | Допоміжні функції повторно-вхідного file-lock |
| `plugin-sdk/persistent-dedupe` | Допоміжні функції дискового dedupe cache |
| `plugin-sdk/acp-runtime` | Допоміжні функції ACP runtime/session і reply-dispatch |
| `plugin-sdk/agent-config-primitives` | Вузькі примітиви schema конфігурації runtime агента |
| `plugin-sdk/boolean-param` | Нестрогий читач boolean-параметрів |
| `plugin-sdk/dangerous-name-runtime` | Допоміжні функції визначення збігу небезпечних імен |
| `plugin-sdk/device-bootstrap` | Допоміжні функції device bootstrap і токенів pairing |
| `plugin-sdk/extension-shared` | Спільні примітиви для passive-channel і допоміжні функції статусу |
| `plugin-sdk/models-provider-runtime` | Допоміжні функції відповіді `/models` command/provider |
| `plugin-sdk/skill-commands-runtime` | Допоміжні функції переліку команд Skills |
| `plugin-sdk/native-command-registry` | Допоміжні функції реєстру/build/serialize native commands |
| `plugin-sdk/provider-zai-endpoint` | Допоміжні функції визначення endpoint Z.A.I |
| `plugin-sdk/infra-runtime` | Допоміжні функції system event/heartbeat |
| `plugin-sdk/collection-runtime` | Невеликі допоміжні функції обмеженого cache |
| `plugin-sdk/diagnostic-runtime` | Допоміжні функції діагностичних прапорців і подій |
| `plugin-sdk/error-runtime` | Граф помилок, форматування, спільні допоміжні функції класифікації помилок, `isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | Допоміжні функції wrapped fetch, proxy і pinned lookup |
| `plugin-sdk/host-runtime` | Допоміжні функції нормалізації hostname і SCP host |
| `plugin-sdk/retry-runtime` | Допоміжні функції конфігурації retry і запуску retry |
| `plugin-sdk/agent-runtime` | Допоміжні функції каталогу/ідентичності/workspace агента |
| `plugin-sdk/directory-runtime` | Запит до каталогу на основі config/dedup |
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
</Accordion>
<Accordion title="Підшляхи можливостей і тестування">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/media-runtime` | Спільні helpers fetch/transform/store media, а також builders payload media |
| `plugin-sdk/media-generation-runtime` | Спільні helpers failover генерації media, вибір candidate і повідомлення про відсутню model |
| `plugin-sdk/media-understanding` | Типи provider media understanding плюс експорти helpers для image/audio, орієнтовані на provider |
| `plugin-sdk/text-runtime` | Спільні helpers тексту/markdown/logging, такі як видалення видимого для асистента тексту, helpers render/chunking/table Markdown, helpers редагування, helpers тегів директив і utilities безпечного тексту |
| `plugin-sdk/text-chunking` | Helper chunking outbound text |
| `plugin-sdk/speech` | Типи speech provider плюс helpers для provider, орієнтовані на directives, registry і validation |
| `plugin-sdk/speech-core` | Спільні типи speech provider, registry, directive і helpers нормалізації |
| `plugin-sdk/realtime-transcription` | Типи provider realtime transcription і helpers registry |
| `plugin-sdk/realtime-voice` | Типи provider realtime voice і helpers registry |
| `plugin-sdk/image-generation` | Типи provider image generation |
| `plugin-sdk/image-generation-core` | Спільні типи image-generation, helpers failover, auth і registry |
| `plugin-sdk/media-runtime` | Спільні допоміжні функції fetch/transform/store медіа плюс builder-и payload медіа |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні функції failover для генерації медіа, вибір candidate і повідомлення про відсутню модель |
| `plugin-sdk/media-understanding` | Типи provider для розуміння медіа плюс експорти допоміжних функцій для provider для зображень/аудіо |
| `plugin-sdk/text-runtime` | Спільні допоміжні функції для text/markdown/logging, такі як видалення видимого асистенту тексту, рендеринг/chunking/table helpers markdown, redaction helpers, directive-tag helpers і safe-text utilities |
| `plugin-sdk/text-chunking` | Допоміжна функція chunking вихідного тексту |
| `plugin-sdk/speech` | Типи speech provider плюс експорти допоміжних функцій для provider для directive, registry і validation |
| `plugin-sdk/speech-core` | Спільні типи speech provider, registry, directive і допоміжні функції normalізації |
| `plugin-sdk/realtime-transcription` | Типи provider для realtime transcription і допоміжні функції registry |
| `plugin-sdk/realtime-voice` | Типи provider для realtime voice і допоміжні функції registry |
| `plugin-sdk/image-generation` | Типи provider для генерації зображень |
| `plugin-sdk/image-generation-core` | Спільні типи генерації зображень, failover, auth і допоміжні функції registry |
| `plugin-sdk/music-generation` | Типи provider/request/result для генерації музики |
| `plugin-sdk/music-generation-core` | Спільні типи music-generation, helpers failover, пошук provider і розбір model-ref |
| `plugin-sdk/music-generation-core` | Спільні типи генерації музики, допоміжні функції failover, пошуку provider і розбору model-ref |
| `plugin-sdk/video-generation` | Типи provider/request/result для генерації відео |
| `plugin-sdk/video-generation-core` | Спільні типи video-generation, helpers failover, пошук provider і розбір model-ref |
| `plugin-sdk/webhook-targets` | Реєстр targets webhook і helpers встановлення route |
| `plugin-sdk/webhook-path` | Helpers нормалізації шляхів webhook |
| `plugin-sdk/web-media` | Спільні helpers завантаження віддалених/локальних media |
| `plugin-sdk/zod` | Повторно експортований `zod` для користувачів plugin SDK |
| `plugin-sdk/video-generation-core` | Спільні типи генерації відео, допоміжні функції failover, пошуку provider і розбору model-ref |
| `plugin-sdk/webhook-targets` | Допоміжні функції реєстру webhook target і встановлення route |
| `plugin-sdk/webhook-path` | Допоміжні функції нормалізації шляху webhook |
| `plugin-sdk/web-media` | Спільні допоміжні функції завантаження віддалених/локальних медіа |
| `plugin-sdk/zod` | Повторно експортований `zod` для споживачів plugin SDK |
| `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` |
</Accordion>
<Accordion title="Підшляхи memory">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/memory-core` | Поверхня bundled helper memory-core для helpers manager/config/file/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Runtime facade індексації/пошуку пам’яті |
| `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine для memory host |
| `plugin-sdk/memory-core-host-engine-embeddings` | Експорти embedding engine для memory host |
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти QMD engine для memory host |
| `plugin-sdk/memory-core-host-engine-storage` | Експорти storage engine для memory host |
| `plugin-sdk/memory-core-host-multimodal` | Multimodal helpers для memory host |
| `plugin-sdk/memory-core-host-query` | Helpers query для memory host |
| `plugin-sdk/memory-core-host-secret` | Helpers secret для memory host |
| `plugin-sdk/memory-core-host-events` | Helpers журналу подій для memory host |
| `plugin-sdk/memory-core-host-status` | Helpers status для memory host |
| `plugin-sdk/memory-core-host-runtime-cli` | Helpers CLI runtime для memory host |
| `plugin-sdk/memory-core-host-runtime-core` | Helpers core runtime для memory host |
| `plugin-sdk/memory-core-host-runtime-files` | Helpers files/runtime для memory host |
| `plugin-sdk/memory-host-core` | Vendor-neutral псевдонім для helpers core runtime memory host |
| `plugin-sdk/memory-host-events` | Vendor-neutral псевдонім для helpers журналу подій memory host |
| `plugin-sdk/memory-host-files` | Vendor-neutral псевдонім для helpers file/runtime memory host |
| `plugin-sdk/memory-host-markdown` | Спільні helpers managed-markdown для plugins, суміжних із memory |
| `plugin-sdk/memory-host-search` | Active memory runtime facade для доступу до search-manager |
| `plugin-sdk/memory-host-status` | Vendor-neutral псевдонім для helpers status memory host |
| `plugin-sdk/memory-lancedb` | Поверхня bundled helper memory-lancedb |
| `plugin-sdk/memory-core` | Допоміжна поверхня bundled memory-core для manager/config/file/CLI helpers |
| `plugin-sdk/memory-core-engine-runtime` | Runtime facade індексування/пошуку memory |
| `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine memory host |
| `plugin-sdk/memory-core-host-engine-embeddings` | Експорти embedding engine memory host |
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти QMD engine memory host |
| `plugin-sdk/memory-core-host-engine-storage` | Експорти storage engine memory host |
| `plugin-sdk/memory-core-host-multimodal` | Допоміжні функції multimodal memory host |
| `plugin-sdk/memory-core-host-query` | Допоміжні функції query memory host |
| `plugin-sdk/memory-core-host-secret` | Допоміжні функції secret memory host |
| `plugin-sdk/memory-core-host-events` | Допоміжні функції журналу подій memory host |
| `plugin-sdk/memory-core-host-status` | Допоміжні функції status memory host |
| `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні функції CLI runtime memory host |
| `plugin-sdk/memory-core-host-runtime-core` | Допоміжні функції core runtime memory host |
| `plugin-sdk/memory-core-host-runtime-files` | Допоміжні функції file/runtime memory host |
| `plugin-sdk/memory-host-core` | Нейтральний до вендора alias для допоміжних функцій core runtime memory host |
| `plugin-sdk/memory-host-events` | Нейтральний до вендора alias для допоміжних функцій журналу подій memory host |
| `plugin-sdk/memory-host-files` | Нейтральний до вендора alias для допоміжних функцій file/runtime memory host |
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні функції managed-markdown для plugins, суміжних із memory |
| `plugin-sdk/memory-host-search` | Активна runtime facade memory для доступу до search-manager |
| `plugin-sdk/memory-host-status` | Нейтральний до вендора alias для допоміжних функцій status memory host |
| `plugin-sdk/memory-lancedb` | Допоміжна поверхня bundled memory-lancedb |
</Accordion>
<Accordion title="Зарезервовані підшляхи bundled-helper">
| Family | Поточні підшляхи | Призначення |
| --- | --- | --- |
| Browser | `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` | Helpers підтримки bundled browser plugin (`browser-support` залишається compatibility barrel) |
| Matrix | `plugin-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-bindings` | Поверхня helper/runtime для bundled Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня helper/runtime для bundled LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня helper для bundled IRC |
| Специфічні для channel helpers | `plugin-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/twitch` | Bundled seams сумісності/helper для channel |
| Специфічні для auth/plugin helpers | `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 seams для функцій/plugins; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
| Browser | `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` | Допоміжні функції підтримки bundled browser plugin (`browser-support` залишається barrel сумісності) |
| Matrix | `plugin-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-bindings` | Допоміжна/runtime surface bundled Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Допоміжна/runtime surface bundled LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Допоміжна surface bundled IRC |
| Channel-specific helpers | `plugin-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/twitch` | Шари сумісності/допоміжні шари bundled channel |
| Auth/plugin-specific helpers | `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 feature/plugin; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
</Accordion>
</AccordionGroup>
## API реєстрації
Callback `register(api)` отримує об’єкт `OpenClawPluginApi` з такими
Callback `register(api)` отримує об’єкт `OpenClawPluginApi` із такими
методами:
### Реєстрація можливостей
| Method | Що він реєструє |
| ------------------------------------------------ | -------------------------------- |
| `api.registerProvider(...)` | Текстовий inference (LLM) |
| `api.registerChannel(...)` | Канал обміну повідомленнями |
| `api.registerSpeechProvider(...)` | Text-to-speech / STT synthesis |
| `api.registerRealtimeTranscriptionProvider(...)` | Потокова транскрипція realtime |
| `api.registerRealtimeVoiceProvider(...)` | Двоспрямовані voice-сесії realtime |
| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео |
| `api.registerImageGenerationProvider(...)` | Генерація зображень |
| `api.registerMusicGenerationProvider(...)` | Генерація музики |
| `api.registerVideoGenerationProvider(...)` | Генерація відео |
| `api.registerWebFetchProvider(...)` | Provider для web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Вебпошук |
| Method | Що реєструє |
| ------------------------------------------------ | ------------------------------- |
| `api.registerProvider(...)` | Текстове виведення (LLM) |
| `api.registerChannel(...)` | Канал обміну повідомленнями |
| `api.registerSpeechProvider(...)` | Text-to-speech / STT synthesis |
| `api.registerRealtimeTranscriptionProvider(...)` | Потокова транскрипція realtime |
| `api.registerRealtimeVoiceProvider(...)` | Двобічні голосові сесії realtime |
| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео |
| `api.registerImageGenerationProvider(...)` | Генерація зображень |
| `api.registerMusicGenerationProvider(...)` | Генерація музики |
| `api.registerVideoGenerationProvider(...)` | Генерація відео |
| `api.registerWebFetchProvider(...)` | Provider для web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Пошук у вебі |
### Tools і команди
### Інструменти та команди
| Method | Що він реєструє |
| ------------------------------- | ---------------------------------------------- |
| Method | Що реєструє |
| ------------------------------- | -------------------------------------------- |
| `api.registerTool(tool, opts?)` | Інструмент агента (обов’язковий або `{ optional: true }`) |
| `api.registerCommand(def)` | Користувацьку команду (обходить LLM) |
| `api.registerCommand(def)` | Користувацька команда (обходить LLM) |
### Інфраструктура
| Method | Що він реєструє |
| ---------------------------------------------- | ---------------------------------- |
| `api.registerHook(events, handler, opts?)` | Event hook |
| `api.registerHttpRoute(params)` | HTTP endpoint gateway |
| `api.registerGatewayMethod(name, handler)` | RPC-метод gateway |
| `api.registerCli(registrar, opts?)` | Підкоманду CLI |
| `api.registerService(service)` | Фоновий service |
| `api.registerInteractiveHandler(registration)` | Інтерактивний handler |
| `api.registerMemoryPromptSupplement(builder)` | Додаткову секцію prompt, суміжну з memory |
| `api.registerMemoryCorpusSupplement(adapter)` | Додатковий corpus пошуку/читання memory |
| Method | Що реєструє |
| ---------------------------------------------- | -------------------------------------- |
| `api.registerHook(events, handler, opts?)` | Hook події |
| `api.registerHttpRoute(params)` | HTTP endpoint gateway |
| `api.registerGatewayMethod(name, handler)` | RPC-метод gateway |
| `api.registerCli(registrar, opts?)` | Підкоманда CLI |
| `api.registerService(service)` | Фонова служба |
| `api.registerInteractiveHandler(registration)` | Інтерактивний обробник |
| `api.registerMemoryPromptSupplement(builder)` | Адитивний розділ prompt, суміжний із memory |
| `api.registerMemoryCorpusSupplement(adapter)` | Адитивний corpus пошуку/читання memory |
Зарезервовані простори імен core admin (`config.*`, `exec.approvals.*`, `wizard.*`,
Зарезервовані простори імен адміністратора core (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) завжди залишаються `operator.admin`, навіть якщо plugin намагається призначити
вужчу область gateway method. Для
методів, що належать plugin, надавайте перевагу префіксам, специфічним для plugin.
вужчу область gateway method. Віддавайте перевагу префіксам, специфічним для plugin, для
методів, що належать plugin.
### Метадані реєстрації CLI
`api.registerCli(registrar, opts?)` приймає два види метаданих верхнього рівня:
- `commands`: явні корені команд, якими володіє registrar
- `descriptors`: дескриптори команд на етапі парсингу, які використовуються для кореневої довідки CLI,
маршрутизації та лінивої реєстрації CLI plugin
- `descriptors`: дескриптори команд на етапі парсингу, що використовуються для
довідки кореневого CLI, маршрутизації та відкладеної реєстрації CLI plugin
Якщо ви хочете, щоб команда plugin залишалася ліниво завантажуваною в звичайному кореневому шляху CLI,
надайте `descriptors`, які охоплюють кожен корінь команди верхнього рівня, що експонується цим
registrar.
Якщо ви хочете, щоб команда plugin залишалася ліниво завантажуваною у звичайному
шляху кореневого CLI, надайте `descriptors`, які покривають кожен корінь
команди верхнього рівня, відкритий цим registrar.
```typescript
api.registerCli(
@ -357,7 +359,7 @@ api.registerCli(
descriptors: [
{
name: "matrix",
description: "Керуйте акаунтами Matrix, верифікацією, пристроями та станом профілю",
description: "Керування акаунтами Matrix, верифікацією, пристроями та станом профілю",
hasSubcommands: true,
},
],
@ -365,76 +367,77 @@ api.registerCli(
);
```
Використовуйте лише `commands`, тільки якщо вам не потрібна лінива коренева реєстрація CLI.
Цей eager-шлях сумісності й надалі підтримується, але він не встановлює
placeholders на основі descriptors для лінивого завантаження під час парсингу.
Використовуйте лише `commands` тільки тоді, коли вам не потрібна лінива
реєстрація кореневого CLI. Цей eager-шлях сумісності все ще підтримується,
але він не встановлює placeholders на основі descriptors для лінивого
завантаження під час парсингу.
### Ексклюзивні слоти
| Method | Що він реєструє |
| ------------------------------------------ | ---------------------------------- |
| Method | Що реєструє |
| ------------------------------------------ | ----------------------------------- |
| `api.registerContextEngine(id, factory)` | Context engine (одночасно активний лише один) |
| `api.registerMemoryPromptSection(builder)` | Builder секції prompt для memory |
| `api.registerMemoryFlushPlan(resolver)` | Resolver плану скидання memory |
| `api.registerMemoryRuntime(runtime)` | Адаптер runtime для memory |
| `api.registerMemoryPromptSection(builder)` | Builder розділу prompt memory |
| `api.registerMemoryFlushPlan(resolver)` | Resolver плану flush для memory |
| `api.registerMemoryRuntime(runtime)` | Адаптер runtime memory |
### Адаптери embedding для memory
| Method | Що він реєструє |
| ---------------------------------------------- | --------------------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер embedding для memory для активного plugin |
| Method | Що реєструє |
| ---------------------------------------------- | ------------------------------------------------ |
| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер embedding для memory для активного plugin |
- `registerMemoryPromptSection`, `registerMemoryFlushPlan` і
`registerMemoryRuntime` є ексклюзивними для memory plugins.
- `registerMemoryEmbeddingProvider` дає активному memory plugin змогу реєструвати
один або кілька id адаптерів embedding (наприклад `openai`, `gemini` або custom
id, визначений plugin).
- Конфігурація користувача, як-от `agents.defaults.memorySearch.provider` і
`agents.defaults.memorySearch.fallback`, визначається відносно цих зареєстрованих
id адаптерів.
`registerMemoryRuntime` є ексклюзивними для plugins memory.
- `registerMemoryEmbeddingProvider` дозволяє активному plugin memory реєструвати один
або кілька id адаптерів embedding (наприклад `openai`, `gemini` або
custom id, визначений plugin).
- Конфігурація користувача, така як `agents.defaults.memorySearch.provider` і
`agents.defaults.memorySearch.fallback`, визначається відносно цих
зареєстрованих id адаптерів.
### Події та життєвий цикл
| Method | Що він робить |
| Method | Що робить |
| -------------------------------------------- | -------------------------- |
| `api.on(hookName, handler, opts?)` | Типізований lifecycle hook |
| `api.onConversationBindingResolved(handler)` | Callback binding conversation |
| `api.on(hookName, handler, opts?)` | Типізований hook життєвого циклу |
| `api.onConversationBindingResolved(handler)` | Callback прив’язки conversation |
### Семантика рішень hook
- `before_tool_call`: повернення `{ block: true }` є термінальним. Щойно будь-який handler встановлює це значення, handlers з нижчим пріоритетом пропускаються.
- `before_tool_call`: повернення `{ block: false }` трактується як відсутність рішення (так само, як пропуск `block`), а не як перевизначення.
- `before_install`: повернення `{ block: true }` є термінальним. Щойно будь-який handler встановлює це значення, handlers з нижчим пріоритетом пропускаються.
- `before_install`: повернення `{ block: false }` трактується як відсутність рішення (так само, як пропуск `block`), а не як перевизначення.
- `reply_dispatch`: повернення `{ handled: true, ... }` є термінальним. Щойно будь-який handler бере dispatch на себе, handlers з нижчим пріоритетом і стандартний шлях dispatch моделі пропускаються.
- `message_sending`: повернення `{ cancel: true }` є термінальним. Щойно будь-який handler встановлює це значення, handlers з нижчим пріоритетом пропускаються.
- `message_sending`: повернення `{ cancel: false }` трактується як відсутність рішення (так само, як пропуск `cancel`), а не як перевизначення.
- `before_tool_call`: повернення `{ block: true }` є термінальним. Щойно будь-який обробник встановлює це значення, обробники з нижчим пріоритетом пропускаються.
- `before_tool_call`: повернення `{ block: false }` розглядається як відсутність рішення (так само, як і пропуск `block`), а не як перевизначення.
- `before_install`: повернення `{ block: true }` є термінальним. Щойно будь-який обробник встановлює це значення, обробники з нижчим пріоритетом пропускаються.
- `before_install`: повернення `{ block: false }` розглядається як відсутність рішення (так само, як і пропуск `block`), а не як перевизначення.
- `reply_dispatch`: повернення `{ handled: true, ... }` є термінальним. Щойно будь-який обробник бере dispatch на себе, обробники з нижчим пріоритетом і стандартний шлях dispatch моделі пропускаються.
- `message_sending`: повернення `{ cancel: true }` є термінальним. Щойно будь-який обробник встановлює це значення, обробники з нижчим пріоритетом пропускаються.
- `message_sending`: повернення `{ cancel: false }` розглядається як відсутність рішення (так само, як і пропуск `cancel`), а не як перевизначення.
### Поля об’єкта API
| Field | Type | Description |
| Field | Type | Опис |
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------- |
| `api.id` | `string` | Id plugin |
| `api.id` | `string` | ID plugin |
| `api.name` | `string` | Відображувана назва |
| `api.version` | `string?` | Версія plugin (необов’язково) |
| `api.description` | `string?` | Опис plugin (необов’язково) |
| `api.source` | `string` | Шлях до джерела plugin |
| `api.rootDir` | `string?` | Кореневий каталог plugin (необов’язково) |
| `api.config` | `OpenClawConfig` | Поточний snapshot конфігурації (активний snapshot runtime у пам’яті, коли доступний) |
| `api.config` | `OpenClawConfig` | Поточний snapshot конфігурації (активний snapshot runtime в пам’яті, якщо доступний) |
| `api.pluginConfig` | `Record<string, unknown>` | Специфічна для plugin конфігурація з `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [Helpers runtime](/uk/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Logger з областю видимості (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це полегшене вікно запуску/налаштування до повного entry |
| `api.runtime` | `PluginRuntime` | [Допоміжні функції runtime](/uk/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Logger з областю дії (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це легке вікно запуску/налаштування до повного entry |
| `api.resolvePath(input)` | `(string) => string` | Визначення шляху відносно кореня plugin |
## Угода щодо внутрішніх модулів
Усередині вашого plugin використовуйте локальні barrel-файли для внутрішніх імпортів:
Усередині свого plugin використовуйте локальні barrel-файли для внутрішніх імпортів:
```
my-plugin/
api.ts # Публічні експорти для зовнішніх споживачів
runtime-api.ts # Експорти runtime лише для внутрішнього використання
runtime-api.ts # Лише внутрішні експорти runtime
index.ts # Точка входу plugin
setup-entry.ts # Полегшений entry лише для налаштування (необов’язково)
```
@ -442,40 +445,42 @@ my-plugin/
<Warning>
Ніколи не імпортуйте власний plugin через `openclaw/plugin-sdk/<your-plugin>`
з production-коду. Спрямовуйте внутрішні імпорти через `./api.ts` або
`./runtime-api.ts`. Шлях SDK — це лише зовнішній contract.
`./runtime-api.ts`. Шлях SDK — це лише зовнішній контракт.
</Warning>
Публічні поверхні bundled plugin, завантажувані через facade (`api.ts`, `runtime-api.ts`,
`index.ts`, `setup-entry.ts` та подібні публічні entry-файли), тепер надають перевагу
активному snapshot конфігурації runtime, коли OpenClaw уже запущений. Якщо snapshot runtime
ще не існує, вони повертаються до визначеного файла конфігурації на диску.
Facade-loaded публічні поверхні bundled plugin (`api.ts`, `runtime-api.ts`,
`index.ts`, `setup-entry.ts` та подібні публічні entry-файли) тепер надають
перевагу активному snapshot конфігурації runtime, коли OpenClaw уже запущено.
Якщо snapshot runtime ще не існує, вони використовують fallback до визначеного
на диску файлу конфігурації.
Provider plugins також можуть експортувати вузький локальний для plugin barrel контракту, коли
helper є навмисно специфічним для provider і поки що не належить до загального
підшляху SDK. Поточний bundled приклад: provider Anthropic зберігає свої Claude
stream helpers у власному публічному seam `api.ts` / `contract-api.ts` замість
просування логіки Anthropic beta-header і `service_tier` у загальний
contract `plugin-sdk/*`.
Provider plugins також можуть відкривати вузький локальний barrel контракту plugin,
коли допоміжна функція навмисно є специфічною для provider і поки що не належить
до загального підшляху SDK. Поточний bundled-приклад: provider Anthropic тримає
свої допоміжні функції потоку Claude у власному публічному шарі `api.ts` / `contract-api.ts`
замість просування логіки beta-header Anthropic і `service_tier` у загальний
контракт `plugin-sdk/*`.
Інші поточні bundled приклади:
Інші поточні bundled-приклади:
- `@openclaw/openai-provider`: `api.ts` експортує builders provider,
helpers моделей за замовчуванням і builders realtime provider
- `@openclaw/openrouter-provider`: `api.ts` експортує builder provider плюс
helpers онбордингу/конфігурації
- `@openclaw/openai-provider`: `api.ts` експортує builder provider,
допоміжні функції моделей за замовчуванням і builder-и provider realtime
- `@openclaw/openrouter-provider`: `api.ts` експортує builder provider, а також
допоміжні функції onboarding/config
<Warning>
Production-код extension також має уникати імпортів `openclaw/plugin-sdk/<other-plugin>`.
Якщо helper справді є спільним, перенесіть його до нейтрального підшляху SDK,
наприклад `openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої
поверхні, орієнтованої на можливості, замість жорсткого зв’язування двох plugins.
Production-код extension також має уникати імпортів
`openclaw/plugin-sdk/<other-plugin>`. Якщо допоміжна функція справді спільна,
перенесіть її до нейтрального підшляху SDK, наприклад
`openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої
поверхні, орієнтованої на capability, замість жорсткого зв’язування двох plugins.
</Warning>
## Пов’язані сторінки
## Пов’язане
- [Entry Points](/uk/plugins/sdk-entrypoints) — параметри `definePluginEntry` і `defineChannelPluginEntry`
- [Runtime Helpers](/uk/plugins/sdk-runtime) — повний довідник простору імен `api.runtime`
- [Setup and Config](/uk/plugins/sdk-setup) — пакування, маніфести, схеми конфігурації
- [Testing](/uk/plugins/sdk-testing) — утиліти тестування та правила lint
- [SDK Migration](/uk/plugins/sdk-migration) — міграція із застарілих поверхонь
- [Plugin Internals](/uk/plugins/architecture) — глибока архітектура та модель можливостей
- [Plugin Internals](/uk/plugins/architecture) — поглиблена архітектура та модель можливостей