chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-07 06:42:10 +00:00
parent 64a490b911
commit f1baca3ec1

View File

@ -7,27 +7,27 @@ sidebarTitle: SDK Overview
summary: Карта імпортів, довідник API реєстрації та архітектура SDK
title: Огляд Plugin SDK
x-i18n:
generated_at: "2026-04-06T22:34:13Z"
generated_at: "2026-04-07T06:42:10Z"
model: gpt-5.4
provider: openai
source_hash: fe1fe41beaf73a7bdf807e281d181df7a5da5819343823c4011651fb234b0905
source_hash: be651251bc1d8fc6548cb9efd4b7940be093f7f7cdd70d94dc31d5a1ebde80f3
source_path: plugins/sdk-overview.md
workflow: 15
---
# Огляд Plugin SDK
Plugin SDK — це типізований контракт між plugin-ами та ядром. Ця сторінка є
довідником для **що імпортувати** і **що можна зареєструвати**.
Plugin SDK — це типізований контракт між plugin-ами та ядром. Ця сторінка
довідник про **що імпортувати** і **що можна реєструвати**.
<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)
**Шукаєте практичний посібник?**
- Перший plugin? Почніть із [Getting Started](/uk/plugins/building-plugins)
- Plugin каналу? Дивіться [Channel Plugins](/uk/plugins/sdk-channel-plugins)
- Plugin провайдера? Дивіться [Provider Plugins](/uk/plugins/sdk-provider-plugins)
</Tip>
## Угода щодо імпорту
## Угода про імпорт
Завжди імпортуйте з конкретного підшляху:
@ -36,230 +36,235 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
```
Кожен підшлях є невеликим самодостатнім модулем. Це пришвидшує запуск і
запобігає проблемам із циклічними залежностями. Для специфічних для channel
допоміжних засобів entry/build віддавайте перевагу `openclaw/plugin-sdk/channel-core`; `openclaw/plugin-sdk/core` залишайте для
ширшої поверхні umbrella та спільних допоміжних засобів, таких як
Кожен підшлях — це невеликий самодостатній модуль. Це зберігає швидкий запуск і
запобігає проблемам із циклічними залежностями. Для допоміжних засобів
входу/збирання, специфічних для каналу, віддавайте перевагу
`openclaw/plugin-sdk/channel-core`; залишайте `openclaw/plugin-sdk/core` для
ширшої узагальненої поверхні та спільних допоміжних засобів, таких як
`buildChannelConfigSchema`.
Не додавайте й не використовуйте seams зручності з іменами provider-ів, такі як
`openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`, або
допоміжні seams із брендингом channel. Бандловані plugins мають компонувати загальні
підшляхи SDK у власних barrel-файлах `api.ts` або `runtime-api.ts`, а ядро
має або використовувати ці локальні для plugin barrel-файли, або додавати вузький загальний SDK
контракт, коли потреба справді є між channel-ами.
Не додавайте й не використовуйте зручні проміжні поверхні, названі на честь
провайдерів, такі як `openclaw/plugin-sdk/slack`,
`openclaw/plugin-sdk/discord`, `openclaw/plugin-sdk/signal`,
`openclaw/plugin-sdk/whatsapp`, або допоміжні поверхні з брендингом каналів.
Вбудовані plugin-и мають компонувати загальні підшляхи SDK у власних barrel-файлах
`api.ts` або `runtime-api.ts`, а ядро має або використовувати ці локальні
barrel-файли plugin-а, або додавати вузький загальний контракт SDK, коли така
потреба справді є міжканальною.
Згенерована карта експортів усе ще містить невеликий набір бандлованих-plugin
helper seams, таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
`plugin-sdk/zalo`, `plugin-sdk/zalo-setup` і `plugin-sdk/matrix*`. Ці
підшляхи існують лише для підтримки та сумісності бандлованих plugin-ів; їх
навмисно пропущено в загальній таблиці нижче, і вони не є рекомендованим
шляхом імпорту для нових сторонніх plugin-ів.
Згенерована карта експортів усе ще містить невеликий набір допоміжних поверхонь
для вбудованих plugin-ів, таких як `plugin-sdk/feishu`,
`plugin-sdk/feishu-setup`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup` і
`plugin-sdk/matrix*`. Ці підшляхи існують лише для підтримки сумісності та
обслуговування вбудованих plugin-ів; їх навмисно не включено до загальної
таблиці нижче, і вони не є рекомендованим шляхом імпорту для нових сторонніх
plugin-ів.
## Довідник підшляхів
Найуживаніші підшляхи, згруповані за призначенням. Згенерований повний список із
понад 200 підшляхів знаходиться в `scripts/lib/plugin-sdk-entrypoints.json`.
понад 200 підшляхів міститься у `scripts/lib/plugin-sdk-entrypoints.json`.
Зарезервовані helper-підшляхи бандлованих plugin-ів усе ще з’являються в цьому згенерованому списку.
Сприймайте їх як деталі реалізації/поверхні сумісності, якщо сторінка документації
явно не позначає якийсь із них як публічний.
Зарезервовані допоміжні підшляхи для вбудованих plugin-ів усе ще з’являються в
цьому згенерованому списку. Розглядайте їх як поверхні деталей реалізації /
сумісності, якщо якась сторінка документації явно не позначає одну з них як
публічну.
### Plugin entry
### Вхід plugin-а
| Subpath | Ключові експорти |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| Підшлях | Ключові експорти |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
| `plugin-sdk/config-schema` | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
<AccordionGroup>
<Accordion title="Підшляхи channel">
| Subpath | Ключові експорти |
<Accordion title="Підшляхи каналів">
| Підшлях | Ключові експорти |
| --- | --- |
| `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` | Спільні допоміжні засоби майстра налаштування, запити allowlist, будівники статусу налаштування |
| `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` | Допоміжні засоби конфігурації/контролю дій для кількох облікових записів, допоміжні засоби fallback для типового облікового запису |
| `plugin-sdk/account-core` | Допоміжні засоби багатокористувацької конфігурації / шлюзу дій і резервного облікового запису за замовчуванням |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації account-id |
| `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікового запису + fallback до типового |
| `plugin-sdk/account-helpers` | Вузькі допоміжні засоби для списків облікових записів/дій з обліковими записами |
| `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікових записів + резервного вибору за замовчуванням |
| `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` | Допоміжні засоби нормалізації/валідації кастомних команд Telegram із fallback на bundled-contract |
| `plugin-sdk/channel-config-schema` | Типи схеми конфігурації каналу |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram із резервним використанням контракту вбудованого plugin-а |
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | Спільні допоміжні засоби маршрутизації вхідних повідомлень + побудови envelope |
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби запису та dispatch для вхідних повідомлень |
| `plugin-sdk/messaging-targets` | Допоміжні засоби розбору/зіставлення target |
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби запису та диспетчеризації вхідних повідомлень |
| `plugin-sdk/messaging-targets` | Допоміжні засоби розбору/зіставлення цілей |
| `plugin-sdk/outbound-media` | Спільні допоміжні засоби завантаження вихідних медіа |
| `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідної ідентичності/send delegate |
| `plugin-sdk/thread-bindings-runtime` | Життєвий цикл thread-binding та допоміжні засоби adapter |
| `plugin-sdk/agent-media-payload` | Застарілий builder media payload агента |
| `plugin-sdk/conversation-runtime` | Допоміжні засоби binding для conversation/thread, pairing і configured-binding |
| `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб snapshot конфігурації runtime |
| `plugin-sdk/runtime-group-policy` | Допоміжні засоби визначення group-policy у runtime |
| `plugin-sdk/channel-status` | Спільні допоміжні засоби snapshot/summary статусу channel |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви schema конфігурації channel |
| `plugin-sdk/channel-config-writes` | Допоміжні засоби авторизації запису конфігурації channel |
| `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти channel plugin |
| `plugin-sdk/allowlist-config-edit` | Допоміжні засоби редагування/читання конфігурації allowlist |
| `plugin-sdk/group-access` | Спільні допоміжні засоби рішень щодо доступу до group |
| `plugin-sdk/direct-dm` | Спільні допоміжні засоби auth/guard для direct-DM |
| `plugin-sdk/interactive-runtime` | Допоміжні засоби нормалізації/редукції payload інтерактивних відповідей |
| `plugin-sdk/channel-inbound` | Debounce, зіставлення згадок, допоміжні засоби envelope |
| `plugin-sdk/channel-send-result` | Типи результату відповіді |
| `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідної ідентичності / делегата надсилання |
| `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби життєвого циклу та адаптера thread binding |
| `plugin-sdk/agent-media-payload` | Застарілий побудовник agent media payload |
| `plugin-sdk/conversation-runtime` | Допоміжні засоби прив’язки розмови/потоку, pairинг та configured-binding |
| `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб знімка конфігурації середовища виконання |
| `plugin-sdk/runtime-group-policy` | Допоміжні засоби визначення group-policy у середовищі виконання |
| `plugin-sdk/channel-status` | Спільні допоміжні засоби знімка/підсумку стану каналу |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви schema конфігурації каналу |
| `plugin-sdk/channel-config-writes` | Допоміжні засоби авторизації запису конфігурації каналу |
| `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти plugin-ів каналів |
| `plugin-sdk/allowlist-config-edit` | Допоміжні засоби читання/редагування конфігурації allowlist |
| `plugin-sdk/group-access` | Спільні допоміжні засоби рішень щодо доступу до груп |
| `plugin-sdk/direct-dm` | Спільні допоміжні засоби авторизації/захисту прямих DM |
| `plugin-sdk/interactive-runtime` | Допоміжні засоби нормалізації/скорочення payload інтерактивних відповідей |
| `plugin-sdk/channel-inbound` | Допоміжні засоби debounce, зіставлення згадок, envelope |
| `plugin-sdk/channel-send-result` | Типи результатів відповіді |
| `plugin-sdk/channel-actions` | `createMessageToolButtonsSchema`, `createMessageToolCardSchema` |
| `plugin-sdk/channel-targets` | Допоміжні засоби розбору/зіставлення target |
| `plugin-sdk/channel-contract` | Типи контракту channel |
| `plugin-sdk/channel-feedback` | Підключення feedback/reaction |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби secret-contract, такі як `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи secret target |
| `plugin-sdk/channel-targets` | Допоміжні засоби розбору/зіставлення цілей |
| `plugin-sdk/channel-contract` | Типи контракту каналу |
| `plugin-sdk/channel-feedback` | Зв’язування feedback/reaction |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби secret-контракту, такі як `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи secret target |
</Accordion>
<Accordion title="Підшляхи provider">
| Subpath | Ключові експорти |
<Accordion title="Підшляхи провайдерів">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних/self-hosted provider-ів |
| `plugin-sdk/self-hosted-provider-setup` | Фокусовані допоміжні засоби налаштування self-hosted provider-ів, сумісних з OpenAI |
| `plugin-sdk/cli-backend` | Типові значення CLI backend + константи watchdog |
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби визначення API-ключів у runtime для provider plugin-ів |
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби онбордингу/запису профілю API-ключів, такі як `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний builder результату OAuth auth |
| `plugin-sdk/provider-auth-login` | Спільні допоміжні засоби інтерактивного входу для provider plugin-ів |
| `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку env var auth provider-ів |
| `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних / self-hosted провайдерів |
| `plugin-sdk/self-hosted-provider-setup` | Сфокусовані допоміжні засоби налаштування self-hosted провайдерів, сумісних з OpenAI |
| `plugin-sdk/cli-backend` | Стандартні значення бекенда CLI + константи watchdog |
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби визначення API-ключа у середовищі виконання для plugin-ів провайдерів |
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби onboarding/запису профілю API-ключа, такі як `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний побудовник результату OAuth-автентифікації |
| `plugin-sdk/provider-auth-login` | Спільні допоміжні засоби інтерактивного входу для plugin-ів провайдерів |
| `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку змінних середовища для автентифікації провайдера |
| `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-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні побудовники replay-policy, допоміжні засоби endpoint провайдерів і нормалізації model-id, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-http` | Загальні допоміжні засоби HTTP/endpoint capability provider-ів |
| `plugin-sdk/provider-web-fetch` | Допоміжні засоби реєстрації/cache для provider-ів web-fetch |
| `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні засоби контракту конфігурації/облікових даних web-search, такі як `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і scoped setter/getter-и облікових даних |
| `plugin-sdk/provider-web-search` | Допоміжні засоби реєстрації/cache/runtime для provider-ів web-search |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика, а також xAI compat helpers, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-http` | Загальні допоміжні засоби HTTP/endpoint capability провайдерів |
| `plugin-sdk/provider-web-fetch` | Допоміжні засоби реєстрації/кешування провайдерів web-fetch |
| `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні засоби контракту конфігурації/облікових даних web-search, такі як `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig`, і засоби встановлення/отримання облікових даних з обмеженою областю |
| `plugin-sdk/provider-web-search` | Допоміжні засоби реєстрації/кешування/середовища виконання провайдерів 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 і спільні helper-и wrapper для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | Допоміжні засоби patch конфігурації онбордингу |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи stream wrapper і спільні допоміжні обгортки для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | Допоміжні засоби виправлення конфігурації під час onboarding |
| `plugin-sdk/global-singleton` | Допоміжні засоби process-local singleton/map/cache |
</Accordion>
<Accordion title="Підшляхи auth і безпеки">
| Subpath | Ключові експорти |
<Accordion title="Підшляхи автентифікації та безпеки">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби реєстру команд, допоміжні засоби авторизації відправника |
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби визначення approver і auth дій у тому ж chat |
| `plugin-sdk/approval-client-runtime` | Допоміжні засоби профілю/фільтра native exec approval |
| `plugin-sdk/approval-delivery-runtime` | Native adapter-и capability/delivery для approval |
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби визначення approver та авторизації дій у тому самому чаті |
| `plugin-sdk/approval-client-runtime` | Допоміжні засоби native exec approval profile/filter |
| `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 відповіді для exec/plugin approval |
| `plugin-sdk/command-auth-native` | Native command auth + native session-target helpers |
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload відповідей для схвалення exec/plugin |
| `plugin-sdk/command-auth-native` | Допоміжні засоби native command auth + native session-target |
| `plugin-sdk/command-detection` | Спільні допоміжні засоби виявлення команд |
| `plugin-sdk/command-surface` | Допоміжні засоби нормалізації body команд і command-surface |
| `plugin-sdk/command-surface` | Нормалізація тіла команди та допоміжні засоби command-surface |
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби збору secret-contract для поверхонь secret channel/plugin |
| `plugin-sdk/security-runtime` | Спільні допоміжні засоби довіри, DM gating, external-content і збору secret |
| `plugin-sdk/ssrf-policy` | Допоміжні засоби політики SSRF для allowlist хостів і приватних мереж |
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, fetch із SSRF-захистом і політики SSRF |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби збирання secret-контрактів для поверхонь секретів channel/plugin |
| `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні засоби `coerceSecretRef` і типізації SecretRef для розбору secret-контрактів/конфігурації |
| `plugin-sdk/security-runtime` | Спільні допоміжні засоби довіри, шлюзу DM, зовнішнього вмісту та збирання секретів |
| `plugin-sdk/ssrf-policy` | Допоміжні засоби policy SSRF для allowlist хостів і приватних мереж |
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, SSRF-захищеного fetch та policy SSRF |
| `plugin-sdk/secret-input` | Допоміжні засоби розбору secret input |
| `plugin-sdk/webhook-ingress` | Допоміжні засоби request/target для webhook |
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби для розміру body/timeout запиту |
| `plugin-sdk/webhook-ingress` | Допоміжні засоби запитів/цілей webhook |
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби обмеження розміру тіла запиту / тайм-ауту |
</Accordion>
<Accordion title="Підшляхи runtime і сховища">
| Subpath | Ключові експорти |
<Accordion title="Підшляхи середовища виконання та сховища">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/runtime` | Широкі допоміжні засоби runtime/logging/backup/install plugin-ів |
| `plugin-sdk/runtime-env` | Вузькі допоміжні засоби env runtime, logger, timeout, retry і backoff |
| `plugin-sdk/runtime` | Широкі допоміжні засоби середовища виконання / логування / резервного копіювання / встановлення plugin-ів |
| `plugin-sdk/runtime-env` | Вузькі допоміжні засоби env середовища виконання, logger, timeout, retry та backoff |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
| `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 |
| `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта gateway і patch статусу channel |
| `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби plugin command/hook/http/interactive |
| `plugin-sdk/hook-runtime` | Спільні допоміжні засоби конвеєра webhook/internal hook |
| `plugin-sdk/lazy-runtime` | Допоміжні засоби лінивого імпорту/прив’язки середовища виконання, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Допоміжні засоби виконання процесів |
| `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування та версій |
| `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта gateway і виправлення стану каналу |
| `plugin-sdk/config-runtime` | Допоміжні засоби завантаження/запису конфігурації |
| `plugin-sdk/telegram-command-config` | Нормалізація назв/описів команд Telegram і перевірки дублювання/конфліктів, навіть коли поверхня bundled Telegram contract недоступна |
| `plugin-sdk/approval-runtime` | Допоміжні засоби exec/plugin approval, builder-и capability approval, допоміжні засоби auth/profile, native routing/runtime helpers |
| `plugin-sdk/reply-runtime` | Спільні допоміжні засоби runtime для вхідних повідомлень/відповідей, chunking, dispatch, heartbeat, planner відповідей |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize для відповідей |
| `plugin-sdk/reply-history` | Спільні допоміжні засоби коротковіконної history відповідей, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/telegram-command-config` | Нормалізація імен/описів команд Telegram та перевірки дублікатів/конфліктів, навіть коли поверхня контракту вбудованого Telegram недоступна |
| `plugin-sdk/approval-runtime` | Допоміжні засоби схвалення exec/plugin, побудовники approval-capability, допоміжні засоби auth/profile, native routing/runtime |
| `plugin-sdk/reply-runtime` | Спільні допоміжні засоби середовища виконання для inbound/reply, chunking, dispatch, heartbeat, planner відповідей |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize відповідей |
| `plugin-sdk/reply-history` | Спільні допоміжні засоби short-window reply-history, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking для text/markdown |
| `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking тексту/markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби шляху session store + updated-at |
| `plugin-sdk/state-paths` | Допоміжні засоби шляхів до директорій state/OAuth |
| `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 та допоміжні засоби метаданих issue |
| `plugin-sdk/target-resolver-runtime` | Спільні допоміжні засоби визначення target |
| `plugin-sdk/string-normalization-runtime` | Допоміжні засоби нормалізації slug/string |
| `plugin-sdk/status-helpers` | Спільні допоміжні засоби підсумків стану каналу/облікового запису, стандартів runtime-state та метаданих issue |
| `plugin-sdk/target-resolver-runtime` | Спільні допоміжні засоби target resolver |
| `plugin-sdk/string-normalization-runtime` | Допоміжні засоби нормалізації slug/рядків |
| `plugin-sdk/request-url` | Витягування рядкових URL із fetch/request-подібних входів |
| `plugin-sdk/run-command` | Timed command runner із нормалізованими результатами stdout/stderr |
| `plugin-sdk/param-readers` | Загальні reader-и параметрів tool/CLI |
| `plugin-sdk/tool-send` | Витягування канонічних полів target надсилання з аргументів tool |
| `plugin-sdk/temp-path` | Спільні допоміжні засоби шляхів до тимчасових завантажень |
| `plugin-sdk/logging-core` | Допоміжні засоби logger-а subsystem і редагування чутливих даних |
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму Markdown-таблиць |
| `plugin-sdk/run-command` | Запуск команди з тайм-аутом і нормалізованими результатами stdout/stderr |
| `plugin-sdk/param-readers` | Загальні читачі параметрів tool/CLI |
| `plugin-sdk/tool-send` | Витягування канонічних полів цілі надсилання з аргументів tool |
| `plugin-sdk/temp-path` | Спільні допоміжні засоби шляхів для тимчасових завантажень |
| `plugin-sdk/logging-core` | Допоміжні засоби subsystem logger та редагування конфіденційних даних |
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму markdown-таблиць |
| `plugin-sdk/json-store` | Невеликі допоміжні засоби читання/запису JSON state |
| `plugin-sdk/file-lock` | Допоміжні засоби re-entrant file-lock |
| `plugin-sdk/persistent-dedupe` | Допоміжні засоби disk-backed dedupe cache |
| `plugin-sdk/acp-runtime` | Допоміжні засоби runtime/session ACP і reply-dispatch |
| `plugin-sdk/agent-config-primitives` | Вузькі примітиви schema конфігурації runtime агента |
| `plugin-sdk/boolean-param` | Loose reader для boolean-параметрів |
| `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби визначення зіставлення небезпечних імен |
| `plugin-sdk/device-bootstrap` | Допоміжні засоби bootstrap пристрою і pairing token |
| `plugin-sdk/extension-shared` | Спільні примітиви допоміжних засобів passive-channel, status і ambient proxy |
| `plugin-sdk/models-provider-runtime` | Допоміжні засоби відповіді provider-команди `/models` |
| `plugin-sdk/skill-commands-runtime` | Допоміжні засоби переліку команд Skills |
| `plugin-sdk/native-command-registry` | Допоміжні засоби реєстру/build/serialize native команд |
| `plugin-sdk/provider-zai-endpoint` | Допоміжні засоби виявлення endpoint-ів Z.AI |
| `plugin-sdk/infra-runtime` | Допоміжні засоби system event/heartbeat |
| `plugin-sdk/collection-runtime` | Невеликі допоміжні засоби bounded cache |
| `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 конфігурації середовища виконання agent |
| `plugin-sdk/boolean-param` | Читач нестрогих булевих параметрів |
| `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби визначення збігів небезпечних назв |
| `plugin-sdk/device-bootstrap` | Допоміжні засоби початкового налаштування пристрою та токенів pairинг |
| `plugin-sdk/extension-shared` | Спільні примітиви для passive-channel, status та ambient proxy helper |
| `plugin-sdk/models-provider-runtime` | Допоміжні засоби відповіді команди `/models` / провайдера |
| `plugin-sdk/skill-commands-runtime` | Допоміжні засоби виведення списку команд Skills |
| `plugin-sdk/native-command-registry` | Допоміжні засоби реєстру/build/serialize native command |
| `plugin-sdk/provider-zai-endpoint` | Допоміжні засоби виявлення endpoint Z.AI |
| `plugin-sdk/infra-runtime` | Допоміжні засоби системних подій / heartbeat |
| `plugin-sdk/collection-runtime` | Невеликі допоміжні засоби обмеженого кешу |
| `plugin-sdk/diagnostic-runtime` | Допоміжні засоби діагностичних прапорців і подій |
| `plugin-sdk/error-runtime` | Граф помилок, форматування, спільні допоміжні засоби класифікації помилок, `isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | Допоміжні засоби wrapped fetch, proxy і pinned lookup |
| `plugin-sdk/fetch-runtime` | Обгорнуті допоміжні засоби fetch, proxy і pinned lookup |
| `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації hostname і SCP host |
| `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації retry і retry runner |
| `plugin-sdk/agent-runtime` | Допоміжні засоби dir/identity/workspace агента |
| `plugin-sdk/directory-runtime` | Запит/dedup директорій на основі конфігурації |
| `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації retry та запуску retry |
| `plugin-sdk/agent-runtime` | Допоміжні засоби каталогу / ідентичності / workspace agent-а |
| `plugin-sdk/directory-runtime` | Запит/усунення дублікатів каталогу на основі конфігурації |
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
</Accordion>
<Accordion title="Підшляхи capability і тестування">
| Subpath | Ключові експорти |
<Accordion title="Підшляхи можливостей і тестування">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store медіа плюс builder-и media payload |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для генерації медіа, вибір candidate і повідомлення про відсутню модель |
| `plugin-sdk/media-understanding` | Типи provider-ів media understanding плюс експорти допоміжних засобів для зображень/аудіо для provider-ів |
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби text/markdown/logging, такі як видалення видимого для асистента тексту, render/chunking/table helpers для markdown, helpers редагування чутливих даних, helpers тегів директив і safe-text utilities |
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store медіа, а також побудовники media payload |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для генерації медіа, вибір кандидатів і повідомлення про відсутню модель |
| `plugin-sdk/media-understanding` | Типи провайдерів media understanding, а також допоміжні експорти для зображень/аудіо, орієнтовані на провайдерів |
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби text/markdown/logging, такі як видалення видимого для асистента тексту, render/chunking/table для markdown, редагування конфіденційних даних, допоміжні засоби directive-tag і safe-text utilities |
| `plugin-sdk/text-chunking` | Допоміжний засіб chunking вихідного тексту |
| `plugin-sdk/speech` | Типи speech provider-ів плюс допоміжні засоби директив, реєстру і валідації для provider-ів |
| `plugin-sdk/speech-core` | Спільні типи speech provider-ів, допоміжні засоби реєстру, директив і нормалізації |
| `plugin-sdk/realtime-transcription` | Типи provider-ів realtime transcription і допоміжні засоби реєстру |
| `plugin-sdk/realtime-voice` | Типи provider-ів realtime voice і допоміжні засоби реєстру |
| `plugin-sdk/image-generation` | Типи provider-ів генерації зображень |
| `plugin-sdk/image-generation-core` | Спільні типи генерації зображень, failover, auth і допоміжні засоби реєстру |
| `plugin-sdk/music-generation` | Типи provider/request/result для генерації музики |
| `plugin-sdk/music-generation-core` | Спільні типи генерації музики, допоміжні засоби failover, lookup provider-а і розбір model-ref |
| `plugin-sdk/video-generation` | Типи provider/request/result для генерації відео |
| `plugin-sdk/video-generation-core` | Спільні типи генерації відео, допоміжні засоби failover, lookup provider-а і розбір model-ref |
| `plugin-sdk/webhook-targets` | Допоміжні засоби реєстру target-ів webhook і встановлення route |
| `plugin-sdk/webhook-path` | Допоміжні засоби нормалізації шляху webhook |
| `plugin-sdk/speech` | Типи провайдерів мовлення, а також допоміжні засоби директив, реєстру та валідації, орієнтовані на провайдерів |
| `plugin-sdk/speech-core` | Спільні типи провайдерів мовлення, допоміжні засоби реєстру, директив і нормалізації |
| `plugin-sdk/realtime-transcription` | Типи провайдерів realtime transcription і допоміжні засоби реєстру |
| `plugin-sdk/realtime-voice` | Типи провайдерів realtime voice і допоміжні засоби реєстру |
| `plugin-sdk/image-generation` | Типи провайдерів генерації зображень |
| `plugin-sdk/image-generation-core` | Спільні типи генерації зображень, допоміжні засоби failover, auth і реєстру |
| `plugin-sdk/music-generation` | Типи провайдерів / запитів / результатів генерації музики |
| `plugin-sdk/music-generation-core` | Спільні типи генерації музики, допоміжні засоби failover, пошуку провайдера та розбору model-ref |
| `plugin-sdk/video-generation` | Типи провайдерів / запитів / результатів генерації відео |
| `plugin-sdk/video-generation-core` | Спільні типи генерації відео, допоміжні засоби failover, пошуку провайдера та розбору model-ref |
| `plugin-sdk/webhook-targets` | Допоміжні засоби реєстру webhook target і встановлення маршрутів |
| `plugin-sdk/webhook-path` | Допоміжні засоби нормалізації webhook path |
| `plugin-sdk/web-media` | Спільні допоміжні засоби завантаження віддалених/локальних медіа |
| `plugin-sdk/zod` | Повторно експортований `zod` для споживачів Plugin SDK |
| `plugin-sdk/zod` | Повторно експортований `zod` для користувачів plugin SDK |
| `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` |
</Accordion>
<Accordion title="Підшляхи пам’яті">
| Subpath | Ключові експорти |
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/memory-core` | Поверхня helper-ів bundled memory-core для менеджера/конфігурації/файлів/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Runtime facade індексації/пошуку пам’яті |
| `plugin-sdk/memory-core` | Поверхня допоміжних засобів вбудованого memory-core для manager/config/file/CLI helpers |
| `plugin-sdk/memory-core-engine-runtime` | Фасад середовища виконання для memory index/search |
| `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-embeddings` | Експорти embedding engine хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти QMD engine хоста пам’яті |
@ -268,89 +273,89 @@ helper seams, таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
| `plugin-sdk/memory-core-host-query` | Допоміжні засоби query хоста пам’яті |
| `plugin-sdk/memory-core-host-secret` | Допоміжні засоби secret хоста пам’яті |
| `plugin-sdk/memory-core-host-events` | Допоміжні засоби журналу подій хоста пам’яті |
| `plugin-sdk/memory-core-host-status` | Допоміжні засоби статусу хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні засоби runtime CLI хоста пам’яті |
| `plugin-sdk/memory-core-host-status` | Допоміжні засоби стану хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні засоби CLI runtime хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-core` | Допоміжні засоби core runtime хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби файлів/runtime хоста пам’яті |
| `plugin-sdk/memory-host-core` | Незалежний від вендора псевдонім для helper-ів core runtime хоста пам’яті |
| `plugin-sdk/memory-host-events` | Незалежний від вендора псевдонім для helper-ів журналу подій хоста пам’яті |
| `plugin-sdk/memory-host-files` | Незалежний від вендора псевдонім для helper-ів файлів/runtime хоста пам’яті |
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні засоби managed-markdown для plugin-ів, суміжних із пам’яттю |
| `plugin-sdk/memory-host-search` | Active memory runtime facade для доступу до search-manager |
| `plugin-sdk/memory-host-status` | Незалежний від вендора псевдонім для helper-ів статусу хоста пам’яті |
| `plugin-sdk/memory-lancedb` | Поверхня helper-ів bundled memory-lancedb |
| `plugin-sdk/memory-host-core` | Вендорно-нейтральний псевдонім для допоміжних засобів core runtime хоста пам’яті |
| `plugin-sdk/memory-host-events` | Вендорно-нейтральний псевдонім для допоміжних засобів журналу подій хоста пам’яті |
| `plugin-sdk/memory-host-files` | Вендорно-нейтральний псевдонім для допоміжних засобів файлів/runtime хоста пам’яті |
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні засоби managed-markdown для plugin-ів, пов’язаних із пам’яттю |
| `plugin-sdk/memory-host-search` | Активний фасад runtime пам’яті для доступу до search-manager |
| `plugin-sdk/memory-host-status` | Вендорно-нейтральний псевдонім для допоміжних засобів стану хоста пам’яті |
| `plugin-sdk/memory-lancedb` | Поверхня допоміжних засобів вбудованого memory-lancedb |
</Accordion>
<Accordion title="Зарезервовані підшляхи bundled-helper">
| Family | Поточні підшляхи | Призначення |
<Accordion title="Зарезервовані підшляхи допоміжних засобів вбудованих plugin-ів">
| Родина | Поточні підшляхи | Призначення |
| --- | --- | --- |
| 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` | Поверхня 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 helper-и | `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 helper-и | `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 для функцій/plugin-ів; `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` | Допоміжні засоби підтримки вбудованого 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 вбудованого Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня допоміжних засобів/runtime вбудованого LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня допоміжних засобів вбудованого IRC |
| Допоміжні засоби для конкретних каналів | `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` | Поверхні сумісності/допоміжних засобів вбудованих каналів |
| Допоміжні засоби автентифікації / специфічні для plugin-ів | `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-ів; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
</Accordion>
</AccordionGroup>
## API реєстрації
Callback `register(api)` отримує об’єкт `OpenClawPluginApi` з такими
Зворотний виклик `register(api)` отримує об’єкт `OpenClawPluginApi` з такими
методами:
### Реєстрація capability
### Реєстрація можливостей
| Method | Що реєструє |
| ------------------------------------------------ | ------------------------------ |
| `api.registerProvider(...)` | Текстовий inference (LLM) |
| `api.registerCliBackend(...)` | Локальний inference backend CLI |
| `api.registerChannel(...)` | Канал повідомлень |
| `api.registerSpeechProvider(...)` | Text-to-speech / STT synthesis |
| `api.registerRealtimeTranscriptionProvider(...)` | Потокова транскрипція в realtime |
| `api.registerRealtimeVoiceProvider(...)` | Duplex-сеанси voice у realtime |
| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео |
| `api.registerImageGenerationProvider(...)` | Генерація зображень |
| `api.registerMusicGenerationProvider(...)` | Генерація музики |
| `api.registerVideoGenerationProvider(...)` | Генерація відео |
| `api.registerWebFetchProvider(...)` | Provider web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Вебпошук |
| Метод | Що він реєструє |
| ------------------------------------------------ | -------------------------------- |
| `api.registerProvider(...)` | Текстовий inference (LLM) |
| `api.registerCliBackend(...)` | Локальний CLI-бекенд inference |
| `api.registerChannel(...)` | Канал обміну повідомленнями |
| `api.registerSpeechProvider(...)` | Синтез text-to-speech / STT |
| `api.registerRealtimeTranscriptionProvider(...)` | Потокова realtime-транскрипція |
| `api.registerRealtimeVoiceProvider(...)` | Дуплексні сеанси realtime voice |
| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео |
| `api.registerImageGenerationProvider(...)` | Генерація зображень |
| `api.registerMusicGenerationProvider(...)` | Генерація музики |
| `api.registerVideoGenerationProvider(...)` | Генерація відео |
| `api.registerWebFetchProvider(...)` | Провайдер web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Web search |
### Tools і команди
### Інструменти та команди
| Method | Що реєструє |
| Метод | Що він реєструє |
| ------------------------------- | --------------------------------------------- |
| `api.registerTool(tool, opts?)` | Інструмент агента (обов’язковий або `{ optional: true }`) |
| `api.registerCommand(def)` | Користувацька команда (минає LLM) |
| `api.registerTool(tool, opts?)` | Agent tool (обов’язковий або `{ optional: true }`) |
| `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)` | Фоновий сервіс |
| `api.registerInteractiveHandler(registration)` | Інтерактивний handler |
| Метод | Що він реєструє |
| ---------------------------------------------- | --------------------------------------- |
| `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)` | Фонова служба |
| `api.registerInteractiveHandler(registration)` | Інтерактивний обробник |
| `api.registerMemoryPromptSupplement(builder)` | Адитивний розділ prompt-а, суміжний із пам’яттю |
| `api.registerMemoryCorpusSupplement(adapter)` | Адитивний корпус пошуку/читання пам’яті |
| `api.registerMemoryCorpusSupplement(adapter)` | Адитивний корпус для memory search/read |
Зарезервовані простори імен адміністрування ядра (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) завжди залишаються `operator.admin`, навіть якщо plugin намагається призначити
вужчу область видимості gateway method. Для методів, що належать
plugin-у, віддавайте перевагу префіксам, специфічним для plugin.
Зарезервовані простори імен адміністрування ядра (`config.*`, `exec.approvals.*`,
`wizard.*`, `update.*`) завжди залишаються `operator.admin`, навіть якщо plugin
намагається призначити вужчу область gateway method. Для методів, що належать
plugin-у, віддавайте перевагу префіксам, специфічним для plugin-а.
### Метадані реєстрації CLI
`api.registerCli(registrar, opts?)` приймає два види метаданих верхнього рівня:
- `commands`: явні корені команд, які належать registrar
- `descriptors`: дескриптори команд на етапі парсингу, що використовуються для root CLI help,
маршрутизації та лінивої реєстрації CLI plugin-ів
- `commands`: явні корені команд, що належать registrar
- `descriptors`: дескриптори команд на етапі розбору, які використовуються для кореневої довідки CLI,
маршрутизації та лінивої реєстрації CLI plugin-а
Якщо ви хочете, щоб команда plugin-а залишалася lazy-loaded у звичайному root CLI,
надайте `descriptors`, які охоплюють кожен корінь команди верхнього рівня, що
експонується цим registrar.
Якщо ви хочете, щоб команда plugin-а залишалася ліниво завантажуваною у
звичайному кореневому шляху CLI, надайте `descriptors`, які охоплюють кожен
корінь команди верхнього рівня, що експонується цим registrar.
```typescript
api.registerCli(
@ -362,7 +367,7 @@ api.registerCli(
descriptors: [
{
name: "matrix",
description: "Керуйте обліковими записами Matrix, верифікацією, пристроями та станом профілю",
description: "Manage Matrix accounts, verification, devices, and profile state",
hasSubcommands: true,
},
],
@ -370,129 +375,133 @@ api.registerCli(
);
```
Використовуйте `commands` окремо лише тоді, коли вам не потрібна лінива реєстрація root CLI.
Цей eager-шлях сумісності й надалі підтримується, але він не встановлює
placeholder-и на основі descriptor для лінивого завантаження під час парсингу.
Використовуйте лише `commands`, коли вам не потрібна лінива реєстрація
кореневого CLI. Цей eager-шлях сумісності й далі підтримується, але він не
встановлює резервні placeholder-и на основі дескрипторів для лінивого
завантаження під час розбору.
### Реєстрація CLI backend
### Реєстрація CLI-бекенда
`api.registerCliBackend(...)` дозволяє plugin-у володіти типовою конфігурацією для локального
AI CLI backend, такого як `codex-cli`.
`api.registerCliBackend(...)` дозволяє plugin-у володіти стандартною
конфігурацією локального AI CLI-бекенда, такого як `codex-cli`.
- `id` backend-а стає префіксом provider у model ref, як-от `codex-cli/gpt-5`.
- `config` backend-а використовує ту саму форму, що й `agents.defaults.cliBackends.<id>`.
- `id` бекенда стає префіксом провайдера в model ref на кшталт `codex-cli/gpt-5`.
- `config` бекенда використовує ту саму форму, що й `agents.defaults.cliBackends.<id>`.
- Конфігурація користувача все одно має пріоритет. OpenClaw об’єднує `agents.defaults.cliBackends.<id>` поверх
типового значення plugin-а перед запуском CLI.
- Використовуйте `normalizeConfig`, коли backend потребує rewrites сумісності після об’єднання
(наприклад, нормалізації старих форм прапорців).
стандартного значення plugin-а перед запуском CLI.
- Використовуйте `normalizeConfig`, коли бекенду потрібні переписування для сумісності після об’єднання
(наприклад, нормалізація старих форм прапорців).
### Exclusive slots
### Ексклюзивні слоти
| Method | Що реєструє |
| ------------------------------------------ | --------------------------------- |
| `api.registerContextEngine(id, factory)` | Context engine (одночасно активний лише один) |
| `api.registerMemoryPromptSection(builder)` | Builder розділу prompt-а пам’яті |
| `api.registerMemoryFlushPlan(resolver)` | Resolver плану flush пам’яті |
| `api.registerMemoryRuntime(runtime)` | Adapter runtime пам’яті |
| Метод | Що він реєструє |
| ------------------------------------------ | ------------------------------------- |
| `api.registerContextEngine(id, factory)` | Контекстний рушій (лише один активний одночасно) |
| `api.registerMemoryPromptSection(builder)` | Побудовник розділу memory prompt |
| `api.registerMemoryFlushPlan(resolver)` | Резолвер плану очищення пам’яті |
| `api.registerMemoryRuntime(runtime)` | Адаптер runtime пам’яті |
### Адаптери embedding пам’яті
### Адаптери вбудовування пам’яті
| Method | Що реєструє |
| Метод | Що він реєструє |
| ---------------------------------------------- | ---------------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер embedding пам’яті для активного plugin-а |
| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер memory embedding для активного plugin-а |
- `registerMemoryPromptSection`, `registerMemoryFlushPlan` і
`registerMemoryRuntime` є exclusive для plugin-ів пам’яті.
- `registerMemoryEmbeddingProvider` дозволяє активному plugin-у пам’яті зареєструвати один
або більше id адаптерів embedding (наприклад, `openai`, `gemini` або власний
id, визначений plugin-ом).
- Конфігурація користувача, така як `agents.defaults.memorySearch.provider` і
`agents.defaults.memorySearch.fallback`, визначається відносно цих зареєстрованих
id адаптерів.
`registerMemoryRuntime` є ексклюзивними для plugin-ів пам’яті.
- `registerMemoryEmbeddingProvider` дозволяє активному plugin-у пам’яті
реєструвати один або кілька id адаптерів embedding (наприклад, `openai`,
`gemini` або власний id, визначений plugin-ом).
- Користувацька конфігурація, така як `agents.defaults.memorySearch.provider` і
`agents.defaults.memorySearch.fallback`, визначається відносно зареєстрованих
id цих адаптерів.
### Події та життєвий цикл
| Method | Що робить |
| -------------------------------------------- | ---------------------------- |
| `api.on(hookName, handler, opts?)` | Типізований lifecycle hook |
| `api.onConversationBindingResolved(handler)` | Callback розв’язання binding conversation |
| Метод | Що він робить |
| -------------------------------------------- | ----------------------------- |
| `api.on(hookName, handler, opts?)` | Типізований lifecycle hook |
| `api.onConversationBindingResolved(handler)` | Зворотний виклик прив’язки розмови |
### Семантика рішень hook
### Семантика рішень hook-ів
- `before_tool_call`: повернення `{ block: true }` є термінальним. Щойно будь-який handler встановлює його, handler-и з нижчим пріоритетом пропускаються.
- `before_tool_call`: повернення `{ block: false }` розглядається як відсутність рішення (так само, як пропуск `block`), а не як перевизначення.
- `before_install`: повернення `{ block: true }` є термінальним. Щойно будь-який handler встановлює його, handler-и з нижчим пріоритетом пропускаються.
- `before_install`: повернення `{ block: false }` розглядається як відсутність рішення (так само, як пропуск `block`), а не як перевизначення.
- `reply_dispatch`: повернення `{ handled: true, ... }` є термінальним. Щойно будь-який handler заявляє dispatch, handler-и з нижчим пріоритетом і типовий шлях dispatch моделі пропускаються.
- `message_sending`: повернення `{ cancel: true }` є термінальним. Щойно будь-який handler встановлює його, handler-и з нижчим пріоритетом пропускаються.
- `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 | Опис |
| Поле | Тип | Опис |
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------- |
| `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.pluginConfig` | `Record<string, unknown>` | Специфічна для plugin-а конфігурація з `plugins.entries.<id>.config` |
| `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-а |
| `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` | Поточний знімок конфігурації (активний знімок у пам’яті середовища виконання, якщо доступний) |
| `api.pluginConfig` | `Record<string, unknown>` | Конфігурація plugin-а з `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [Допоміжні засоби runtime](/uk/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Logger з областю видимості (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це легковагоме вікно запуску/налаштування до повного входу |
| `api.resolvePath(input)` | `(string) => string` | Визначення шляху відносно кореня plugin-а |
## Угода щодо внутрішніх модулів
## Угода про внутрішні модулі
Усередині вашого plugin-а використовуйте локальні barrel-файли для внутрішніх імпортів:
Усередині вашого plugin-а використовуйте локальні barrel-файли для внутрішніх
імпортів:
```
my-plugin/
api.ts # Публічні експорти для зовнішніх споживачів
runtime-api.ts # Лише внутрішні експорти runtime
api.ts # Публічні експорти для зовнішніх користувачів
runtime-api.ts # Внутрішні експорти runtime
index.ts # Точка входу plugin-а
setup-entry.ts # Легка entry-точка лише для налаштування (необов’язково)
setup-entry.ts # Легка точка входу лише для налаштування (необов’язково)
```
<Warning>
Ніколи не імпортуйте власний plugin через `openclaw/plugin-sdk/<your-plugin>`
у production-коді. Спрямовуйте внутрішні імпорти через `./api.ts` або
`./runtime-api.ts`. Шлях SDK є лише зовнішнім контрактом.
у production code. Спрямовуйте внутрішні імпорти через `./api.ts` або
`./runtime-api.ts`. Шлях SDK — це лише зовнішній контракт.
</Warning>
Публічні поверхні бандлованих plugin-ів, завантажувані через facade (`api.ts`, `runtime-api.ts`,
`index.ts`, `setup-entry.ts` та подібні публічні entry-файли), тепер віддають перевагу
активному snapshot конфігурації runtime, коли OpenClaw уже запущено. Якщо snapshot runtime
ще не існує, вони повертаються до визначеного файлу конфігурації на диску.
Публічні поверхні вбудованих plugin-ів, завантажувані через facade (`api.ts`,
`runtime-api.ts`, `index.ts`, `setup-entry.ts` та подібні публічні файли
входу), тепер віддають перевагу активному знімку конфігурації runtime, коли
OpenClaw уже працює. Якщо знімок runtime ще не існує, вони повертаються до
визначеного файла конфігурації на диску.
Provider plugins також можуть експортувати вузький локальний для plugin-а barrel контракту, коли
helper навмисно є специфічним для provider-а і ще не належить до загального підшляху SDK.
Поточний bundled-приклад: provider Anthropic зберігає свої helper-и stream Claude
у власному публічному seam `api.ts` / `contract-api.ts`, замість
просування логіки Anthropic beta-header і `service_tier` до загального
контракту `plugin-sdk/*`.
Plugin-и провайдерів також можуть експонувати вузький локальний barrel-контракт
plugin-а, коли допоміжний засіб навмисно є специфічним для провайдера і ще не
належить до загального підшляху SDK. Поточний вбудований приклад: провайдер
Anthropic зберігає свої допоміжні засоби потоку Claude у власній публічній
поверхні `api.ts` / `contract-api.ts` замість просування логіки бета-заголовків
Anthropic і `service_tier` у загальний контракт `plugin-sdk/*`.
Інші поточні bundled-приклади:
Інші поточні вбудовані приклади:
- `@openclaw/openai-provider`: `api.ts` експортує builder-и provider-ів,
helper-и типових моделей і builder-и realtime provider-ів
- `@openclaw/openrouter-provider`: `api.ts` експортує builder provider-а плюс
helper-и онбордингу/конфігурації
- `@openclaw/openai-provider`: `api.ts` експортує побудовники провайдерів,
допоміжні засоби моделей за замовчуванням і побудовники realtime-провайдерів
- `@openclaw/openrouter-provider`: `api.ts` експортує побудовник провайдера, а також
допоміжні засоби onboarding/конфігурації
<Warning>
Production-код extension також має уникати імпортів `openclaw/plugin-sdk/<other-plugin>`.
Якщо helper справді є спільним, перенесіть його до нейтрального підшляху SDK,
такого як `openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої
поверхні, орієнтованої на capability, замість жорсткого зв’язування двох plugin-ів між собою.
Production code розширень також має уникати імпортів
`openclaw/plugin-sdk/<other-plugin>`. Якщо допоміжний засіб справді є спільним,
перенесіть його до нейтрального підшляху SDK, такого як
`openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої
поверхні, орієнтованої на можливість, замість зв’язування двох plugin-ів між собою.
</Warning>
## Пов’язане
- [Entry Points](/uk/plugins/sdk-entrypoints) — опції `definePluginEntry` і `defineChannelPluginEntry`
- [Runtime Helpers](/uk/plugins/sdk-runtime) — повний довідник namespace `api.runtime`
- [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) — глибока архітектура і модель capability
- [SDK Migration](/uk/plugins/sdk-migration) — міграція зі застарілих поверхонь
- [Plugin Internals](/uk/plugins/architecture) — детальна архітектура та модель можливостей