chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-09 00:38:49 +00:00
parent 0d25dccc5f
commit b690ade6ef
2 changed files with 592 additions and 570 deletions

View File

@ -2,130 +2,141 @@
read_when:
- Ви бачите попередження OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED
- Ви бачите попередження OPENCLAW_EXTENSION_API_DEPRECATED
- Ви оновлюєте plugin до сучасної архітектури plugin
- Ви підтримуєте зовнішній plugin OpenClaw
- Ви оновлюєте плагін до сучасної архітектури плагінів
- Ви підтримуєте зовнішній плагін OpenClaw
sidebarTitle: Migrate to SDK
summary: Перейдіть із застарілого шару зворотної сумісності на сучасний Plugin SDK
title: Міграція Plugin SDK
summary: Перейдіть зі застарілого шару зворотної сумісності на сучасний SDK плагінів
title: Міграція SDK плагінів
x-i18n:
generated_at: "2026-04-08T08:11:06Z"
generated_at: "2026-04-09T00:38:49Z"
model: gpt-5.4
provider: openai
source_hash: d9a2ce7f5553563516a549ca87e776a6a71e8dd8533a773c5ddbecfae43e7b77
source_hash: 60cbb6c8be30d17770887d490c14e3a4538563339a5206fb419e51e0558bbc07
source_path: plugins/sdk-migration.md
workflow: 15
---
# Міграція Plugin SDK
# Міграція SDK плагінів
OpenClaw перейшов від широкого шару зворотної сумісності до сучасної
архітектури plugin із цільовими, задокументованими імпортами. Якщо ваш plugin
було створено до появи нової архітектури, цей посібник допоможе вам виконати
міграцію.
архітектури плагінів із цільовими документованими імпортами. Якщо ваш плагін
було створено до появи нової архітектури, цей посібник допоможе вам
виконати міграцію.
## Що змінюється
Стара система plugin надавала дві надто широкі поверхні, які дозволяли plugin
імпортувати все необхідне з єдиної точки входу:
Стара система плагінів надавала дві надто широкі поверхні, які дозволяли
плагінам імпортувати будь-що потрібне з однієї точки входу:
- **`openclaw/plugin-sdk/compat`** — єдиний імпорт, який повторно експортував
десятки допоміжних засобів. Його було запроваджено, щоб зберегти працездатність
старіших plugin на основі hooks, поки створювалася нова архітектура plugin.
- **`openclaw/extension-api`** — міст, який надавав plugin прямий доступ до
допоміжних засобів на боці хоста, таких як вбудований засіб запуску агента.
- **`openclaw/plugin-sdk/compat`** — один імпорт, який повторно експортував
десятки допоміжних функцій. Його було запроваджено, щоб старіші плагіни на
основі hooks продовжували працювати, поки будувалася нова архітектура
плагінів.
- **`openclaw/extension-api`** — міст, який надавав плагінам прямий доступ до
допоміжних засобів на боці хоста, наприклад до вбудованого запускальника
агента.
Обидві поверхні тепер **застарілі**. Вони все ще працюють під час виконання,
але нові plugin не повинні їх використовувати, а наявним plugin слід виконати
міграцію до того, як наступний мажорний реліз їх прибере.
але нові плагіни не повинні їх використовувати, а наявні плагіни мають
перейти до наступного мажорного релізу, перш ніж їх буде вилучено.
<Warning>
Шар зворотної сумісності буде видалено в одному з наступних мажорних релізів.
Plugins, які все ще імпортують із цих поверхонь, перестануть працювати, коли це станеться.
Шар зворотної сумісності буде вилучено в одному з майбутніх мажорних
релізів. Плагіни, які й надалі імпортують із цих поверхонь, перестануть
працювати, коли це станеться.
</Warning>
## Чому це змінилося
Старий підхід спричиняв проблеми:
- **Повільний запуск** — імпорт одного допоміжного засобу завантажував десятки не пов’язаних модулів
- **Циклічні залежності** — широкі повторні експорти спрощували створення циклів імпорту
- **Неясна поверхня API** — не було способу зрозуміти, які експорти є стабільними, а які внутрішніми
- **Повільний запуск** — імпорт однієї допоміжної функції завантажував десятки
не пов’язаних між собою модулів
- **Циклічні залежності** — широкі повторні експорти спрощували створення
циклів імпорту
- **Нечітка поверхня API** — не було способу визначити, які експорти є
стабільними, а які внутрішніми
Сучасний Plugin SDK це виправляє: кожен шлях імпорту (`openclaw/plugin-sdk/\<subpath\>`)
є невеликим, самодостатнім модулем із чітким призначенням і задокументованим контрактом.
Сучасний SDK плагінів виправляє це: кожен шлях імпорту (`openclaw/plugin-sdk/\<subpath\>`)
є невеликим самодостатнім модулем із чіткою метою та документованим контрактом.
Застарілі зручні seams постачальників для вбудованих каналів також прибрано. Імпорти
на кшталт `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
Застарілі зручні seams провайдерів для вбудованих каналів також зникли.
Імпорти на кшталт `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`,
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`,
допоміжні branded seams для каналів і
`openclaw/plugin-sdk/telegram-core` були приватними скороченнями моно-репозиторію, а не
стабільними контрактами plugin. Натомість використовуйте вузькі загальні subpaths SDK. Усередині
робочого простору вбудованих plugin зберігайте допоміжні засоби, що належать постачальнику, у власному
`api.ts` або `runtime-api.ts` цього plugin.
канальні branded helper seams та
`openclaw/plugin-sdk/telegram-core` були приватними скороченнями монорепозиторію,
а не стабільними контрактами плагінів. Натомість використовуйте вузькі
загальні підшляхи SDK. Усередині робочого простору вбудованих плагінів
залишайте допоміжні засоби, що належать провайдеру, у власному
`api.ts` або `runtime-api.ts` цього плагіна.
Поточні приклади вбудованих постачальників:
Поточні приклади вбудованих провайдерів:
- Anthropic зберігає допоміжні засоби потоків, специфічні для Claude, у власному seam `api.ts` /
`contract-api.ts`
- OpenAI зберігає конструктори постачальників, допоміжні засоби моделей за замовчуванням і конструктори постачальників realtime
у власному `api.ts`
- OpenRouter зберігає конструктор постачальника та допоміжні засоби onboarding/config у власному
`api.ts`
- Anthropic зберігає специфічні для Claude допоміжні засоби потоків у власному
seam `api.ts` / `contract-api.ts`
- OpenAI зберігає builder-и провайдерів, допоміжні засоби моделей за
замовчуванням і builder-и realtime-провайдерів у власному `api.ts`
- OpenRouter зберігає builder провайдера та допоміжні засоби
онбордингу/конфігурації у власному `api.ts`
## Як виконати міграцію
<Steps>
<Step title="Мігруйте approval-native обробники до capability facts">
Channel plugins із підтримкою approval тепер розкривають нативну поведінку approval через
`approvalCapability.nativeRuntime` разом зі спільним реєстром runtime-context.
<Step title="Перенесіть обробники з нативним схваленням на факти можливостей">
Плагіни каналів із підтримкою схвалення тепер надають нативну поведінку
схвалення через `approvalCapability.nativeRuntime` разом зі спільним
реєстром контексту runtime.
Основні зміни:
- Замініть `approvalCapability.handler.loadRuntime(...)` на
`approvalCapability.nativeRuntime`
- Перенесіть auth/delivery, специфічні для approval, зі застарілої логіки `plugin.auth` /
`plugin.approvals` на `approvalCapability`
- `ChannelPlugin.approvals` було вилучено з публічного контракту channel-plugin;
перенесіть поля delivery/native/render до `approvalCapability`
- `plugin.auth` залишається лише для потоків channel login/logout; approval auth
hooks там більше не зчитуються ядром
- Реєструйте об’єкти runtime, що належать каналу, як-от clients, tokens або Bolt
apps, через `openclaw/plugin-sdk/channel-runtime-context`
- Не надсилайте повідомлення reroute, що належать plugin, із нативних approval handlers;
тепер ядро відповідає за повідомлення про доставку в інше місце на основі фактичних результатів delivery
- Під час передавання `channelRuntime` у `createChannelManager(...)` надавайте
реальну поверхню `createPluginRuntime().channel`. Часткові stubs відхиляються.
- Перенесіть специфічні для схвалення auth/доставку зі застарілої
прив’язки `plugin.auth` / `plugin.approvals` на `approvalCapability`
- `ChannelPlugin.approvals` вилучено з публічного контракту channel-plugin;
перемістіть поля delivery/native/render до `approvalCapability`
- `plugin.auth` залишається лише для потоків входу/виходу каналу; hooks
auth для схвалення там більше не зчитуються ядром
- Реєструйте об’єкти runtime, що належать каналу, такі як клієнти, токени
або застосунки Bolt, через `openclaw/plugin-sdk/channel-runtime-context`
- Не надсилайте сповіщення про перенаправлення, що належать плагіну, з
нативних обробників схвалення; ядро тепер саме володіє сповіщеннями
про доставку в інше місце на основі фактичних результатів доставки
- Під час передавання `channelRuntime` до `createChannelManager(...)`
надавайте справжню поверхню `createPluginRuntime().channel`.
Часткові заглушки відхиляються.
Див. `/plugins/sdk-channel-plugins`, щоб ознайомитися з поточним компонуванням
approval capability.
Актуальну структуру можливостей схвалення дивіться в
`/plugins/sdk-channel-plugins`.
</Step>
<Step title="Перевірте резервну поведінку Windows wrapper">
Якщо ваш plugin використовує `openclaw/plugin-sdk/windows-spawn`, нерозпізнані Windows
wrappers `.cmd`/`.bat` тепер завершуються з помилкою за замовчуванням, якщо ви явно не передасте
`allowShellFallback: true`.
Якщо ваш плагін використовує `openclaw/plugin-sdk/windows-spawn`, нерозв’язані
wrapper-и Windows `.cmd`/`.bat` тепер завершуються із закритою відмовою,
якщо ви явно не передасте `allowShellFallback: true`.
```typescript
// Before
// До
const program = applyWindowsSpawnProgramPolicy({ candidate });
// After
// Після
const program = applyWindowsSpawnProgramPolicy({
candidate,
// Only set this for trusted compatibility callers that intentionally
// accept shell-mediated fallback.
// Установлюйте це лише для довірених сумісних викликів, які свідомо
// допускають резервний перехід через shell.
allowShellFallback: true,
});
```
Якщо ваш виклик навмисно не покладається на shell fallback, не встановлюйте
`allowShellFallback`, а натомість обробляйте викинуту помилку.
Якщо ваш виклик не покладається навмисно на резервний перехід через shell,
не встановлюйте `allowShellFallback` і натомість обробляйте викинуту
помилку.
</Step>
<Step title="Знайдіть застарілі імпорти">
Знайдіть у своєму plugin імпорти з будь-якої із застарілих поверхонь:
Пошукайте у своєму плагіні імпорти з будь-якої із застарілих поверхонь:
```bash
grep -r "plugin-sdk/compat" my-plugin/
@ -134,36 +145,38 @@ OpenClaw перейшов від широкого шару зворотної с
</Step>
<Step title="Замініть їх цільовими імпортами">
Кожен експорт зі старої поверхні відповідає певному сучасному шляху імпорту:
<Step title="Замініть їх на цільові імпорти">
Кожен експорт зі старої поверхні відповідає конкретному сучасному шляху
імпорту:
```typescript
// Before (deprecated backwards-compatibility layer)
// До (застарілий шар зворотної сумісності)
import {
createChannelReplyPipeline,
createPluginRuntimeStore,
resolveControlCommandGate,
} from "openclaw/plugin-sdk/compat";
// After (modern focused imports)
// Після (сучасні цільові імпорти)
import { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline";
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth";
```
Для допоміжних засобів на боці хоста використовуйте введений runtime plugin замість
прямого імпорту:
Для допоміжних засобів на боці хоста використовуйте впроваджений runtime
плагіна замість прямого імпорту:
```typescript
// Before (deprecated extension-api bridge)
// До (застарілий міст extension-api)
import { runEmbeddedPiAgent } from "openclaw/extension-api";
const result = await runEmbeddedPiAgent({ sessionId, prompt });
// After (injected runtime)
// Після (впроваджений runtime)
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
```
Той самий шаблон застосовується й до інших застарілих допоміжних засобів bridge:
Той самий шаблон застосовується і до інших застарілих допоміжних засобів
моста:
| Старий імпорт | Сучасний еквівалент |
| --- | --- |
@ -188,143 +201,144 @@ OpenClaw перейшов від широкого шару зворотної с
## Довідник шляхів імпорту
<Accordion title="Таблиця поширених шляхів імпорту">
| Шлях імпорту | Призначення | Основні експорти |
| Шлях імпорту | Призначення | Ключові експорти |
| --- | --- | --- |
| `plugin-sdk/plugin-entry` | Канонічний допоміжний засіб точки входу plugin | `definePluginEntry` |
| `plugin-sdk/core` | Застарілий umbrella re-export для визначень/конструкторів точок входу каналу | `defineChannelPluginEntry`, `createChatChannelPlugin` |
| `plugin-sdk/config-schema` | Експорт кореневої схеми config | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | Допоміжний засіб точки входу для одного постачальника | `defineSingleProviderPluginEntry` |
| `plugin-sdk/channel-core` | Цільові визначення та конструктори точок входу каналу | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування | Запити allowlist, конструктори статусу налаштування |
| `plugin-sdk/setup-runtime` | Допоміжні засоби runtime під час налаштування | Безпечні для імпорту patch adapters для setup, допоміжні засоби lookup-note, `promptResolvedAllowFrom`, `splitSetupEntries`, delegated setup proxies |
| `plugin-sdk/setup-adapter-runtime` | Допоміжні засоби setup adapter | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | Допоміжні засоби tooling для setup | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | Допоміжні засоби для кількох облікових записів | Допоміжні засоби списку/config/action-gate облікових записів |
| `plugin-sdk/plugin-entry` | Канонічний допоміжний засіб точки входу плагіна | `definePluginEntry` |
| `plugin-sdk/core` | Застарілий umbrella re-export для визначень/builder-ів входу каналів | `defineChannelPluginEntry`, `createChatChannelPlugin` |
| `plugin-sdk/config-schema` | Експорт кореневої схеми конфігурації | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | Допоміжний засіб точки входу для одного провайдера | `defineSingleProviderPluginEntry` |
| `plugin-sdk/channel-core` | Цільові визначення та builder-и входу каналів | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування | Запити allowlist, builder-и стану налаштування |
| `plugin-sdk/setup-runtime` | Допоміжні засоби runtime під час налаштування | Безпечні для імпорту setup patch adapters, допоміжні засоби приміток пошуку, `promptResolvedAllowFrom`, `splitSetupEntries`, проксі делегованого налаштування |
| `plugin-sdk/setup-adapter-runtime` | Допоміжні засоби adapter налаштування | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | Допоміжні засоби інструментів налаштування | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | Допоміжні засоби для кількох облікових записів | Допоміжні засоби списків/config/action-gate облікових записів |
| `plugin-sdk/account-id` | Допоміжні засоби account-id | `DEFAULT_ACCOUNT_ID`, нормалізація account-id |
| `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікових записів | Допоміжні засоби пошуку облікових записів + fallback за замовчуванням |
| `plugin-sdk/account-helpers` | Вузькі допоміжні засоби для облікових записів | Допоміжні засоби списку облікових записів/account-action |
| `plugin-sdk/channel-setup` | Adapters майстра налаштування | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, а також `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/channel-pairing` | Примітиви DM pairing | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | Префікс відповіді + логіка typing | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | Фабрики adapters config | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | Конструктори схем config | Типи схем config каналу |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби config команд Telegram | Нормалізація назв команд, обрізання описів, перевірка дублікатів/конфліктів |
| `plugin-sdk/channel-policy` | Визначення політики group/DM | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | Відстеження статусу облікового запису | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | Допоміжні засоби inbound envelope | Спільні допоміжні засоби маршрутизації + конструювання envelope |
| `plugin-sdk/inbound-reply-dispatch` | Допоміжні засоби inbound reply | Спільні допоміжні засоби record-and-dispatch |
| `plugin-sdk/messaging-targets` | Аналіз цілей повідомлень | Допоміжні засоби аналізу/зіставлення цілей |
| `plugin-sdk/outbound-media` | Допоміжні засоби outbound media | Спільне завантаження outbound media |
| `plugin-sdk/outbound-runtime` | Допоміжні засоби outbound runtime | Допоміжні засоби outbound identity/send delegate |
| `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби thread-binding | Життєвий цикл thread-binding і допоміжні засоби adapter |
| `plugin-sdk/agent-media-payload` | Застарілі допоміжні засоби media payload | Конструктор agent media payload для застарілих схем полів |
| `plugin-sdk/channel-runtime` | Застарілий compatibility shim | Лише застарілі утиліти channel runtime |
| `plugin-sdk/channel-send-result` | Типи результатів надсилання | Типи результатів відповіді |
| `plugin-sdk/runtime-store` | Постійне сховище plugin | `createPluginRuntimeStore` |
| `plugin-sdk/runtime` | Широкі допоміжні засоби runtime | Допоміжні засоби runtime/logging/backup/plugin-install |
| `plugin-sdk/account-helpers` | Вузькі допоміжні засоби для облікових записів | Допоміжні засоби списку облікових записів/дій з обліковими записами |
| `plugin-sdk/channel-setup` | Адаптери майстра налаштування | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, а також `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/channel-pairing` | Примітиви DM-поєднання | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | Префікс відповіді + прив’язка typing | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | Фабрики адаптерів конфігурації | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | Builder-и схем конфігурації | Типи схем конфігурації каналів |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби конфігурації команд Telegram | Нормалізація назв команд, обрізання описів, валідація дублікатів/конфліктів |
| `plugin-sdk/channel-policy` | Визначення політики груп/DM | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | Відстеження стану облікових записів | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | Допоміжні засоби вхідних envelope | Спільні допоміжні засоби route + builder-ів envelope |
| `plugin-sdk/inbound-reply-dispatch` | Допоміжні засоби вхідних відповідей | Спільні допоміжні засоби запису та dispatch |
| `plugin-sdk/messaging-targets` | Розбір цілей повідомлень | Допоміжні засоби розбору/зіставлення цілей |
| `plugin-sdk/outbound-media` | Допоміжні засоби вихідних медіа | Спільне завантаження вихідних медіа |
| `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідного runtime | Допоміжні засоби outbound identity/send delegate |
| `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби прив’язок потоків | Допоміжні засоби життєвого циклу прив’язок потоків та adapter |
| `plugin-sdk/agent-media-payload` | Застарілі допоміжні засоби media payload | Builder agent media payload для застарілих макетів полів |
| `plugin-sdk/channel-runtime` | Застарілий shim сумісності | Лише застарілі утиліти channel runtime |
| `plugin-sdk/channel-send-result` | Типи результатів надсилання | Типи результатів відповідей |
| `plugin-sdk/runtime-store` | Постійне сховище плагінів | `createPluginRuntimeStore` |
| `plugin-sdk/runtime` | Широкі допоміжні засоби runtime | Допоміжні засоби runtime/logging/backup/встановлення плагінів |
| `plugin-sdk/runtime-env` | Вузькі допоміжні засоби runtime env | Logger/runtime env, допоміжні засоби timeout, retry та backoff |
| `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби plugin runtime | Допоміжні засоби plugin commands/hooks/http/interactive |
| `plugin-sdk/hook-runtime` | Допоміжні засоби pipeline для hooks | Спільні допоміжні засоби pipeline для webhook/internal hook |
| `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy runtime | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Допоміжні засоби process | Спільні допоміжні засоби exec |
| `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби runtime плагінів | Допоміжні засоби команд/hooks/http/interactive плагіна |
| `plugin-sdk/hook-runtime` | Допоміжні засоби pipeline hooks | Спільні допоміжні засоби pipeline webhook/internal hook |
| `plugin-sdk/lazy-runtime` | Допоміжні засоби ледачого runtime | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Допоміжні засоби процесів | Спільні допоміжні засоби exec |
| `plugin-sdk/cli-runtime` | Допоміжні засоби CLI runtime | Форматування команд, очікування, допоміжні засоби версій |
| `plugin-sdk/gateway-runtime` | Допоміжні засоби gateway | Допоміжні засоби клієнта gateway і patch channel-status |
| `plugin-sdk/config-runtime` | Допоміжні засоби config | Допоміжні засоби завантаження/запису config |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби команд Telegram | Стабільні fallback-допоміжні засоби перевірки команд Telegram, коли поверхня контракту вбудованого Telegram недоступна |
| `plugin-sdk/approval-runtime` | Допоміжні засоби prompt для approval | Допоміжні засоби payload для exec/plugin approval, approval capability/profile, нативної маршрутизації/runtime approval |
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби auth для approval | Визначення approver, auth дій у тому самому чаті |
| `plugin-sdk/approval-client-runtime` | Допоміжні засоби клієнта approval | Допоміжні засоби profile/filter для нативного exec approval |
| `plugin-sdk/approval-delivery-runtime` | Допоміжні засоби delivery для approval | Adapters нативної approval capability/delivery |
| `plugin-sdk/approval-gateway-runtime` | Допоміжні засоби gateway для approval | Спільний допоміжний засіб визначення approval gateway |
| `plugin-sdk/approval-handler-adapter-runtime` | Допоміжні засоби adapters approval | Полегшені допоміжні засоби завантаження native approval adapter для гарячих точок входу каналу |
| `plugin-sdk/approval-handler-runtime` | Допоміжні засоби handlers approval | Ширші допоміжні засоби runtime для handlers approval; віддавайте перевагу вужчим seams adapter/gateway, коли їх достатньо |
| `plugin-sdk/approval-native-runtime` | Допоміжні засоби цілей approval | Допоміжні засоби native approval target/account binding |
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби відповіді approval | Допоміжні засоби payload відповіді для exec/plugin approval |
| `plugin-sdk/channel-runtime-context` | Допоміжні засоби channel runtime-context | Загальні допоміжні засоби register/get/watch для channel runtime-context |
| `plugin-sdk/security-runtime` | Допоміжні засоби безпеки | Спільні допоміжні засоби trust, DM gating, external-content і secret-collection |
| `plugin-sdk/gateway-runtime` | Допоміжні засоби gateway | Допоміжні засоби клієнта gateway і patch-ів стану каналів |
| `plugin-sdk/config-runtime` | Допоміжні засоби конфігурації | Допоміжні засоби завантаження/запису конфігурації |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби команд Telegram | Допоміжні засоби валідації команд Telegram зі стабільним fallback, коли поверхня контракту вбудованого Telegram недоступна |
| `plugin-sdk/approval-runtime` | Допоміжні засоби запитів схвалення | Payload схвалення exec/plugin, допоміжні засоби capability/profile схвалення, допоміжні засоби маршрутизації/runtime нативного схвалення |
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби auth схвалення | Визначення approver, auth дій у тому самому чаті |
| `plugin-sdk/approval-client-runtime` | Допоміжні засоби клієнта схвалення | Допоміжні засоби profile/filter нативного exec-схвалення |
| `plugin-sdk/approval-delivery-runtime` | Допоміжні засоби доставки схвалення | Адаптери можливостей/доставки нативного схвалення |
| `plugin-sdk/approval-gateway-runtime` | Допоміжні засоби gateway схвалення | Спільний допоміжний засіб визначення gateway схвалення |
| `plugin-sdk/approval-handler-adapter-runtime` | Допоміжні засоби adapter схвалення | Полегшені допоміжні засоби завантаження adapter-ів нативного схвалення для гарячих точок входу каналів |
| `plugin-sdk/approval-handler-runtime` | Допоміжні засоби обробників схвалення | Ширші допоміжні засоби runtime обробників схвалення; віддавайте перевагу вужчим seams adapter/gateway, коли їх достатньо |
| `plugin-sdk/approval-native-runtime` | Допоміжні засоби цілей схвалення | Допоміжні засоби нативної прив’язки цілі/облікового запису схвалення |
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби відповідей на схвалення | Допоміжні засоби payload відповіді для exec/plugin схвалення |
| `plugin-sdk/channel-runtime-context` | Допоміжні засоби контексту runtime каналу | Узагальнені допоміжні засоби register/get/watch для контексту runtime каналу |
| `plugin-sdk/security-runtime` | Допоміжні засоби безпеки | Спільні допоміжні засоби довіри, DM gating, зовнішнього вмісту та збирання секретів |
| `plugin-sdk/ssrf-policy` | Допоміжні засоби політики SSRF | Допоміжні засоби allowlist хостів і політики приватної мережі |
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби SSRF runtime | Допоміжні засоби pinned-dispatcher, guarded fetch, SSRF policy |
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби SSRF runtime | Pinned-dispatcher, guarded fetch, допоміжні засоби політики SSRF |
| `plugin-sdk/collection-runtime` | Допоміжні засоби обмеженого кешу | `pruneMapToMaxSize` |
| `plugin-sdk/diagnostic-runtime` | Допоміжні засоби діагностичного gating | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` |
| `plugin-sdk/error-runtime` | Допоміжні засоби форматування помилок | `formatUncaughtError`, `isApprovalNotFoundError`, допоміжні засоби графа помилок |
| `plugin-sdk/fetch-runtime` | Обгорнуті допоміжні засоби fetch/proxy | `resolveFetch`, допоміжні засоби proxy |
| `plugin-sdk/fetch-runtime` | Допоміжні засоби обгорнутого fetch/proxy | `resolveFetch`, допоміжні засоби proxy |
| `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації хоста | `normalizeHostname`, `normalizeScpRemoteHost` |
| `plugin-sdk/retry-runtime` | Допоміжні засоби retry | `RetryConfig`, `retryAsync`, засоби запуску policy |
| `plugin-sdk/retry-runtime` | Допоміжні засоби retry | `RetryConfig`, `retryAsync`, виконавці політик |
| `plugin-sdk/allow-from` | Форматування allowlist | `formatAllowFromLowercase` |
| `plugin-sdk/allowlist-resolution` | Відображення входів allowlist | `mapAllowlistResolutionInputs` |
| `plugin-sdk/command-auth` | Gating команд і допоміжні засоби command-surface | `resolveControlCommandGate`, допоміжні засоби авторизації відправника, допоміжні засоби реєстру команд |
| `plugin-sdk/secret-input` | Аналіз secret input | Допоміжні засоби secret input |
| `plugin-sdk/allowlist-resolution` | Мапування вводу allowlist | `mapAllowlistResolutionInputs` |
| `plugin-sdk/command-auth` | Допоміжні засоби gating команд і поверхні команд | `resolveControlCommandGate`, допоміжні засоби авторизації відправника, допоміжні засоби реєстру команд |
| `plugin-sdk/command-status` | Рендерери стану/довідки команд | `buildCommandsMessage`, `buildCommandsMessagePaginated`, `buildHelpMessage` |
| `plugin-sdk/secret-input` | Розбір вводу секретів | Допоміжні засоби вводу секретів |
| `plugin-sdk/webhook-ingress` | Допоміжні засоби запитів webhook | Утиліти цілей webhook |
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби guard для тіла webhook-запиту | Допоміжні засоби читання/обмеження тіла запиту |
| `plugin-sdk/reply-runtime` | Спільний reply runtime | Inbound dispatch, heartbeat, планувальник відповіді, chunking |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch відповіді | Допоміжні засоби finalize + provider dispatch |
| `plugin-sdk/reply-history` | Допоміжні засоби history відповідей | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | Планування reply reference | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Допоміжні засоби chunk для reply | Допоміжні засоби chunking для тексту/markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби session store | Допоміжні засоби path сховища + updated-at |
| `plugin-sdk/state-paths` | Допоміжні засоби шляхів state | Допоміжні засоби каталогів state і OAuth |
| `plugin-sdk/routing` | Допоміжні засоби routing/session-key | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, допоміжні засоби нормалізації session-key |
| `plugin-sdk/status-helpers` | Допоміжні засоби статусу каналу | Конструктори підсумків статусу каналу/облікового запису, значення runtime-state за замовчуванням, допоміжні засоби метаданих issue |
| `plugin-sdk/target-resolver-runtime` | Допоміжні засоби target resolver | Спільні допоміжні засоби target resolver |
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби guards для тіла webhook | Допоміжні засоби читання/обмеження тіла запиту |
| `plugin-sdk/reply-runtime` | Спільний runtime відповідей | Вхідний dispatch, heartbeat, планувальник відповідей, chunking |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch відповідей | Допоміжні засоби finalize + dispatch провайдера |
| `plugin-sdk/reply-history` | Допоміжні засоби історії відповідей | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | Планування посилань у відповідях | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Допоміжні засоби chunk відповідей | Допоміжні засоби chunking тексту/markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби сховища сесій | Допоміжні засоби шляху сховища + updated-at |
| `plugin-sdk/state-paths` | Допоміжні засоби шляхів стану | Допоміжні засоби каталогів стану та OAuth |
| `plugin-sdk/routing` | Допоміжні засоби маршрутизації/ключів сесій | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, допоміжні засоби нормалізації ключів сесій |
| `plugin-sdk/status-helpers` | Допоміжні засоби стану каналів | Builder-и зведення стану каналів/облікових записів, значення runtime-state за замовчуванням, допоміжні засоби метаданих проблем |
| `plugin-sdk/target-resolver-runtime` | Допоміжні засоби визначення цілей | Спільні допоміжні засоби target resolver |
| `plugin-sdk/string-normalization-runtime` | Допоміжні засоби нормалізації рядків | Допоміжні засоби нормалізації slug/рядків |
| `plugin-sdk/request-url` | Допоміжні засоби URL запиту | Витягування рядкових URL із request-подібних вхідних даних |
| `plugin-sdk/run-command` | Допоміжні засоби команд із таймером | Засіб запуску timed command із нормалізованими stdout/stderr |
| `plugin-sdk/param-readers` | Зчитувачі параметрів | Поширені зчитувачі параметрів tool/CLI |
| `plugin-sdk/tool-payload` | Витягування payload tool | Витягування нормалізованих payload із об’єктів результату tool |
| `plugin-sdk/tool-send` | Витягування надсилання tool | Витягування канонічних полів цілі надсилання з аргументів tool |
| `plugin-sdk/temp-path` | Допоміжні засоби тимчасових шляхів | Спільні допоміжні засоби path для тимчасових завантажень |
| `plugin-sdk/logging-core` | Допоміжні засоби logging | Допоміжні засоби logger підсистеми та редагування |
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби markdown-table | Допоміжні засоби режиму markdown table |
| `plugin-sdk/reply-payload` | Типи відповідей повідомлень | Типи payload відповіді |
| `plugin-sdk/provider-setup` | Curated допоміжні засоби налаштування локальних/self-hosted постачальників | Допоміжні засоби виявлення/config для self-hosted постачальників |
| `plugin-sdk/self-hosted-provider-setup` | Цільові допоміжні засоби налаштування self-hosted постачальників, сумісних з OpenAI | Ті самі допоміжні засоби виявлення/config для self-hosted постачальників |
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби runtime auth постачальника | Допоміжні засоби визначення runtime API key |
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби налаштування API key постачальника | Допоміжні засоби onboarding/profile-write для API key |
| `plugin-sdk/provider-auth-result` | Допоміжні засоби auth-result постачальника | Стандартний конструктор OAuth auth-result |
| `plugin-sdk/provider-auth-login` | Допоміжні засоби інтерактивного login постачальника | Спільні допоміжні засоби інтерактивного login |
| `plugin-sdk/provider-env-vars` | Допоміжні засоби env vars постачальника | Допоміжні засоби пошуку env vars auth постачальника |
| `plugin-sdk/provider-model-shared` | Спільні допоміжні засоби моделей/replay постачальника | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні конструктори replay-policy, допоміжні засоби endpoint постачальника та допоміжні засоби нормалізації model-id |
| `plugin-sdk/provider-catalog-shared` | Спільні допоміжні засоби каталогу постачальника | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-onboard` | Патчі onboarding постачальника | Допоміжні засоби onboarding config |
| `plugin-sdk/provider-http` | Допоміжні засоби HTTP постачальника | Загальні допоміжні засоби HTTP/можливостей endpoint постачальника |
| `plugin-sdk/provider-web-fetch` | Допоміжні засоби web-fetch постачальника | Допоміжні засоби реєстрації/кешу постачальника web-fetch |
| `plugin-sdk/provider-web-search-config-contract` | Допоміжні засоби config веб-пошуку постачальника | Вузькі допоміжні засоби config/credential для веб-пошуку для постачальників, яким не потрібна логіка ввімкнення plugin |
| `plugin-sdk/provider-web-search-contract` | Допоміжні засоби контракту веб-пошуку постачальника | Вузькі допоміжні засоби contract config/credential для веб-пошуку, як-от `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig`, і допоміжні засоби scoped credential setters/getters |
| `plugin-sdk/provider-web-search` | Допоміжні засоби веб-пошуку постачальника | Допоміжні засоби реєстрації/кешу/runtime постачальника веб-пошуку |
| `plugin-sdk/provider-tools` | Допоміжні засоби compat tool/schema постачальника | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + diagnostics і допоміжні засоби compat xAI, як-от `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | Допоміжні засоби usage постачальника | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` та інші допоміжні засоби usage постачальника |
| `plugin-sdk/provider-stream` | Допоміжні засоби wrapper потоку постачальника | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи stream wrapper і спільні допоміжні засоби wrapper для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/keyed-async-queue` | Упорядкована асинхронна черга | `KeyedAsyncQueue` |
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби media | Допоміжні засоби fetch/transform/store для media плюс конструктори media payload |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби media-generation | Спільні допоміжні засоби failover, вибору candidate і повідомлень про відсутні моделі для генерації зображень/відео/музики |
| `plugin-sdk/media-understanding` | Допоміжні засоби media-understanding | Типи постачальників media understanding плюс експорти допоміжних засобів image/audio для постачальників |
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби text | Видалення тексту, видимого асистенту, допоміжні засоби render/chunking/table для markdown, допоміжні засоби редагування, directive-tag, safe-text і пов’язані допоміжні засоби text/logging |
| `plugin-sdk/request-url` | Допоміжні засоби URL запитів | Витяг рядкових URL із вхідних даних, схожих на запит |
| `plugin-sdk/run-command` | Допоміжні засоби команд із таймером | Виконавець команд із нормалізованими stdout/stderr |
| `plugin-sdk/param-readers` | Зчитувачі параметрів | Поширені зчитувачі параметрів інструментів/CLI |
| `plugin-sdk/tool-payload` | Витяг payload інструментів | Витяг нормалізованих payload із об’єктів результатів інструментів |
| `plugin-sdk/tool-send` | Витяг надсилання інструментів | Витяг канонічних полів цілі надсилання з аргументів інструментів |
| `plugin-sdk/temp-path` | Допоміжні засоби тимчасових шляхів | Спільні допоміжні засоби шляхів тимчасових завантажень |
| `plugin-sdk/logging-core` | Допоміжні засоби логування | Логер підсистеми та допоміжні засоби редагування чутливих даних |
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби таблиць markdown | Допоміжні засоби режиму таблиць markdown |
| `plugin-sdk/reply-payload` | Типи відповідей повідомлень | Типи payload відповідей |
| `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних/self-hosted провайдерів | Допоміжні засоби виявлення/конфігурації self-hosted провайдерів |
| `plugin-sdk/self-hosted-provider-setup` | Цільові допоміжні засоби налаштування OpenAI-compatible self-hosted провайдерів | Ті самі допоміжні засоби виявлення/конфігурації self-hosted провайдерів |
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби runtime auth провайдерів | Допоміжні засоби визначення API-ключів під час виконання |
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби налаштування API-ключів провайдера | Допоміжні засоби онбордингу/запису профілю API-ключів |
| `plugin-sdk/provider-auth-result` | Допоміжні засоби результатів auth провайдера | Стандартний builder auth-result для OAuth |
| `plugin-sdk/provider-auth-login` | Допоміжні засоби інтерактивного входу провайдера | Спільні допоміжні засоби інтерактивного входу |
| `plugin-sdk/provider-env-vars` | Допоміжні засоби env vars провайдерів | Допоміжні засоби пошуку env vars auth провайдера |
| `plugin-sdk/provider-model-shared` | Спільні допоміжні засоби моделей/replay провайдерів | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні builder-и політик replay, допоміжні засоби endpoint провайдера та нормалізації model-id |
| `plugin-sdk/provider-catalog-shared` | Спільні допоміжні засоби каталогу провайдерів | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-onboard` | Патчі онбордингу провайдерів | Допоміжні засоби конфігурації онбордингу |
| `plugin-sdk/provider-http` | Допоміжні засоби HTTP провайдерів | Загальні допоміжні засоби HTTP/можливостей endpoint провайдерів |
| `plugin-sdk/provider-web-fetch` | Допоміжні засоби web-fetch провайдерів | Допоміжні засоби реєстрації/кешу провайдерів web-fetch |
| `plugin-sdk/provider-web-search-config-contract` | Допоміжні засоби конфігурації веб-пошуку провайдерів | Вузькі допоміжні засоби конфігурації/облікових даних веб-пошуку для провайдерів, яким не потрібна прив’язка ввімкнення плагіна |
| `plugin-sdk/provider-web-search-contract` | Допоміжні засоби контракту веб-пошуку провайдерів | Вузькі допоміжні засоби контракту конфігурації/облікових даних веб-пошуку, як-от `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і scoped setter/getter-и облікових даних |
| `plugin-sdk/provider-web-search` | Допоміжні засоби веб-пошуку провайдерів | Допоміжні засоби реєстрації/кешу/runtime провайдерів веб-пошуку |
| `plugin-sdk/provider-tools` | Допоміжні засоби сумісності інструментів/схем провайдерів | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схем Gemini + діагностика, а також допоміжні засоби сумісності xAI, як-от `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | Допоміжні засоби використання провайдерів | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` та інші допоміжні засоби використання провайдерів |
| `plugin-sdk/provider-stream` | Допоміжні засоби обгорток потоків провайдерів | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи обгорток потоків і спільні допоміжні засоби обгорток Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/keyed-async-queue` | Впорядкована async-черга | `KeyedAsyncQueue` |
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби медіа | Допоміжні засоби fetch/transform/store медіа, а також builder-и media payload |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби генерації медіа | Спільні допоміжні засоби failover, вибору кандидатів і повідомлень про відсутні моделі для генерації зображень/відео/музики |
| `plugin-sdk/media-understanding` | Допоміжні засоби media-understanding | Типи провайдерів media-understanding, а також provider-facing експорти допоміжних засобів зображень/аудіо |
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби тексту | Видалення тексту, видимого асистенту, допоміжні засоби render/chunking/table markdown, редагування чутливих даних, допоміжні засоби тегів директив, безпечного тексту та пов’язані допоміжні засоби тексту/логування |
| `plugin-sdk/text-chunking` | Допоміжні засоби chunking тексту | Допоміжний засіб chunking вихідного тексту |
| `plugin-sdk/speech` | Допоміжні засоби speech | Типи постачальників speech плюс експорти допоміжних засобів directive, registry і validation для постачальників |
| `plugin-sdk/speech-core` | Спільне speech core | Типи постачальників speech, registry, directives, normalізація |
| `plugin-sdk/realtime-transcription` | Допоміжні засоби realtime transcription | Типи постачальників і допоміжні засоби registry |
| `plugin-sdk/realtime-voice` | Допоміжні засоби realtime voice | Типи постачальників і допоміжні засоби registry |
| `plugin-sdk/image-generation-core` | Спільне image-generation core | Типи image-generation, failover, auth і допоміжні засоби registry |
| `plugin-sdk/music-generation` | Допоміжні засоби music-generation | Типи постачальника/запиту/результату для генерації музики |
| `plugin-sdk/music-generation-core` | Спільне music-generation core | Типи генерації музики, допоміжні засоби failover, пошук постачальника та аналіз model-ref |
| `plugin-sdk/video-generation` | Допоміжні засоби video-generation | Типи постачальника/запиту/результату для генерації відео |
| `plugin-sdk/video-generation-core` | Спільне video-generation core | Типи генерації відео, допоміжні засоби failover, пошук постачальника та аналіз model-ref |
| `plugin-sdk/interactive-runtime` | Допоміжні засоби інтерактивної відповіді | Нормалізація/редукція payload інтерактивних відповідей |
| `plugin-sdk/channel-config-primitives` | Примітиви config каналу | Вузькі примітиви schema config каналу |
| `plugin-sdk/channel-config-writes` | Допоміжні засоби запису config каналу | Допоміжні засоби авторизації запису config каналу |
| `plugin-sdk/channel-plugin-common` | Спільний prelude каналу | Експорти спільного prelude для channel plugin |
| `plugin-sdk/channel-status` | Допоміжні засоби статусу каналу | Спільні допоміжні засоби snapshot/summary статусу каналу |
| `plugin-sdk/allowlist-config-edit` | Допоміжні засоби config allowlist | Допоміжні засоби редагування/читання config allowlist |
| `plugin-sdk/group-access` | Допоміжні засоби доступу до груп | Спільні допоміжні засоби прийняття рішень щодо group-access |
| `plugin-sdk/direct-dm` | Допоміжні засоби прямого DM | Спільні допоміжні засоби auth/guard для прямого DM |
| `plugin-sdk/extension-shared` | Спільні допоміжні засоби extension | Примітиви passive-channel/status і ambient proxy helper |
| `plugin-sdk/speech` | Допоміжні засоби мовлення | Типи speech-провайдерів, а також provider-facing допоміжні засоби директив, реєстру та валідації |
| `plugin-sdk/speech-core` | Спільне ядро мовлення | Типи speech-провайдерів, реєстр, директиви, нормалізація |
| `plugin-sdk/realtime-transcription` | Допоміжні засоби realtime transcription | Типи провайдерів і допоміжні засоби реєстру |
| `plugin-sdk/realtime-voice` | Допоміжні засоби realtime voice | Типи провайдерів і допоміжні засоби реєстру |
| `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/interactive-runtime` | Допоміжні засоби інтерактивних відповідей | Нормалізація/зведення payload інтерактивних відповідей |
| `plugin-sdk/channel-config-primitives` | Примітиви конфігурації каналів | Вузькі примітиви channel config-schema |
| `plugin-sdk/channel-config-writes` | Допоміжні засоби запису конфігурації каналів | Допоміжні засоби авторизації запису конфігурації каналів |
| `plugin-sdk/channel-plugin-common` | Спільна преамбула каналів | Експорти спільної преамбули плагінів каналів |
| `plugin-sdk/channel-status` | Допоміжні засоби стану каналів | Спільні допоміжні засоби snapshot/summary стану каналів |
| `plugin-sdk/allowlist-config-edit` | Допоміжні засоби конфігурації allowlist | Допоміжні засоби редагування/читання конфігурації allowlist |
| `plugin-sdk/group-access` | Допоміжні засоби доступу до груп | Спільні допоміжні засоби рішень щодо group-access |
| `plugin-sdk/direct-dm` | Допоміжні засоби direct-DM | Спільні допоміжні засоби auth/guard для direct-DM |
| `plugin-sdk/extension-shared` | Спільні допоміжні засоби розширень | Примітиви пасивних каналів/стану та ambient proxy helper |
| `plugin-sdk/webhook-targets` | Допоміжні засоби цілей webhook | Реєстр цілей webhook і допоміжні засоби встановлення маршрутів |
| `plugin-sdk/webhook-path` | Допоміжні засоби шляхів webhook | Допоміжні засоби нормалізації шляхів webhook |
| `plugin-sdk/web-media` | Спільні допоміжні засоби web media | Допоміжні засоби завантаження віддалених/локальних media |
| `plugin-sdk/zod` | Повторний експорт Zod | Повторно експортований `zod` для споживачів Plugin SDK |
| `plugin-sdk/web-media` | Спільні допоміжні засоби вебмедіа | Допоміжні засоби завантаження віддалених/локальних медіа |
| `plugin-sdk/zod` | Повторний експорт Zod | Повторно експортований `zod` для споживачів SDK плагінів |
| `plugin-sdk/memory-core` | Допоміжні засоби вбудованого memory-core | Поверхня допоміжних засобів memory manager/config/file/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Фасад runtime для memory engine | Фасад runtime для memory index/search |
| `plugin-sdk/memory-core-host-engine-foundation` | Базовий engine хоста пам’яті | Експорти foundation engine хоста пам’яті |
| `plugin-sdk/memory-core-engine-runtime` | Фасад runtime рушія пам’яті | Фасад runtime індексу/пошуку пам’яті |
| `plugin-sdk/memory-core-host-engine-foundation` | Foundation engine хоста пам’яті | Експорти foundation engine хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-embeddings` | Embedding engine хоста пам’яті | Експорти embedding engine хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-qmd` | QMD engine хоста пам’яті | Експорти QMD engine хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-storage` | Storage engine хоста пам’яті | Експорти storage engine хоста пам’яті |
@ -332,38 +346,39 @@ OpenClaw перейшов від широкого шару зворотної с
| `plugin-sdk/memory-core-host-query` | Допоміжні засоби query хоста пам’яті | Допоміжні засоби query хоста пам’яті |
| `plugin-sdk/memory-core-host-secret` | Допоміжні засоби secret хоста пам’яті | Допоміжні засоби secret хоста пам’яті |
| `plugin-sdk/memory-core-host-events` | Допоміжні засоби журналу подій хоста пам’яті | Допоміжні засоби журналу подій хоста пам’яті |
| `plugin-sdk/memory-core-host-status` | Допоміжні засоби статусу хоста пам’яті | Допоміжні засоби статусу хоста пам’яті |
| `plugin-sdk/memory-core-host-status` | Допоміжні засоби стану хоста пам’яті | Допоміжні засоби стану хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-cli` | CLI runtime хоста пам’яті | Допоміжні засоби CLI runtime хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-core` | Core runtime хоста пам’яті | Допоміжні засоби core runtime хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби файлів/runtime хоста пам’яті | Допоміжні засоби файлів/runtime хоста пам’яті |
| `plugin-sdk/memory-host-core` | Псевдонім core runtime хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів core runtime хоста пам’яті |
| `plugin-sdk/memory-host-events` | Псевдонім журналу подій хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів журналу подій хоста пам’яті |
| `plugin-sdk/memory-host-files` | Псевдонім файлів/runtime хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів файлів/runtime хоста пам’яті |
| `plugin-sdk/memory-host-markdown` | Допоміжні засоби керованого markdown | Спільні допоміжні засоби керованого markdown для plugin, суміжних із пам’яттю |
| `plugin-sdk/memory-host-search` | Фасад пошуку активної пам’яті | Лінивий фасад runtime search-manager для active-memory |
| `plugin-sdk/memory-host-status` | Псевдонім статусу хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів статусу хоста пам’яті |
| `plugin-sdk/memory-host-markdown` | Допоміжні засоби керованого markdown | Спільні допоміжні засоби керованого markdown для суміжних із пам’яттю плагінів |
| `plugin-sdk/memory-host-search` | Фасад пошуку активної пам’яті | Ледачий фасад runtime менеджера пошуку активної пам’яті |
| `plugin-sdk/memory-host-status` | Псевдонім стану хоста пам’яті | Вендорно-нейтральний псевдонім для допоміжних засобів стану хоста пам’яті |
| `plugin-sdk/memory-lancedb` | Допоміжні засоби вбудованого memory-lancedb | Поверхня допоміжних засобів memory-lancedb |
| `plugin-sdk/testing` | Утиліти тестування | Допоміжні засоби тестування та mocks |
| `plugin-sdk/testing` | Утиліти тестування | Допоміжні засоби тестування та mock-об’єкти |
</Accordion>
Ця таблиця навмисно містить лише поширену підмножину для міграції, а не всю
поверхню SDK. Повний список із понад 200 entrypoints міститься в
Ця таблиця навмисно охоплює лише поширену підмножину для міграції, а не всю
поверхню SDK. Повний список із понад 200 точок входу міститься у
`scripts/lib/plugin-sdk-entrypoints.json`.
Цей список усе ще містить деякі seams допоміжних засобів вбудованих plugin, як-от
`plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, `plugin-sdk/zalo`,
`plugin-sdk/zalo-setup` і `plugin-sdk/matrix*`. Вони все ще експортуються для
підтримки вбудованих plugin і сумісності, але навмисно не включені до поширеної таблиці міграції
й не є рекомендованою ціллю для
нового коду plugin.
Цей список усе ще містить деякі seams допоміжних засобів вбудованих плагінів,
такі як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, `plugin-sdk/zalo`,
`plugin-sdk/zalo-setup` і `plugin-sdk/matrix*`. Вони й надалі експортуються
для підтримки вбудованих плагінів і сумісності, але навмисно не включені до
таблиці поширеної міграції та не є рекомендованою ціллю для нового коду
плагінів.
Те саме правило застосовується до інших сімейств вбудованих допоміжних засобів, зокрема:
Те саме правило стосується й інших сімейств вбудованих допоміжних засобів,
таких як:
- допоміжні засоби підтримки браузера: `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support`
- Matrix: `plugin-sdk/matrix*`
- LINE: `plugin-sdk/line*`
- IRC: `plugin-sdk/irc*`
- поверхні вбудованих допоміжних засобів/plugin, як-от `plugin-sdk/googlechat`,
- поверхні вбудованих helper/plugin, такі як `plugin-sdk/googlechat`,
`plugin-sdk/zalouser`, `plugin-sdk/bluebubbles*`,
`plugin-sdk/mattermost*`, `plugin-sdk/msteams`,
`plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`,
@ -372,39 +387,39 @@ OpenClaw перейшов від широкого шару зворотної с
`plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`,
`plugin-sdk/thread-ownership` і `plugin-sdk/voice-call`
`plugin-sdk/github-copilot-token` наразі надає вузьку поверхню допоміжних засобів токенів
`DEFAULT_COPILOT_API_BASE_URL`,
`plugin-sdk/github-copilot-token` наразі надає вузьку поверхню допоміжних
засобів токена `DEFAULT_COPILOT_API_BASE_URL`,
`deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken`.
Використовуйте найвужчий імпорт, який відповідає завданню. Якщо ви не можете знайти потрібний експорт,
перевірте вихідний код у `src/plugin-sdk/` або запитайте в Discord.
Використовуйте найвужчий імпорт, який відповідає вашому завданню. Якщо ви не
можете знайти експорт, перегляньте джерело в `src/plugin-sdk/` або запитайте в Discord.
## Часова шкала вилучення
## Хронологія вилучення
| Коли | Що відбувається |
| ---------------------- | ----------------------------------------------------------------------- |
| **Зараз** | Застарілі поверхні виводять попередження під час виконання |
| **Наступний мажорний реліз** | Застарілі поверхні буде вилучено; plugins, які все ще їх використовують, перестануть працювати |
| **Зараз** | Застарілі поверхні надсилають попередження під час виконання |
| **Наступний мажорний реліз** | Застарілі поверхні буде вилучено; плагіни, які все ще їх використовують, перестануть працювати |
Усі core plugins уже мігровано. Зовнішнім plugins слід виконати міграцію
Усі основні плагіни вже перенесено. Зовнішні плагіни мають виконати міграцію
до наступного мажорного релізу.
## Тимчасове приглушення попереджень
Поки ви працюєте над міграцією, установіть такі змінні середовища:
Установіть ці змінні середовища, поки працюєте над міграцією:
```bash
OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run
OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run
```
Це тимчасовий обхідний шлях, а не постійне рішення.
Це тимчасовий обхідний механізм, а не постійне рішення.
## Пов’язане
- [Початок роботи](/uk/plugins/building-plugins) — створіть свій перший plugin
- [Огляд SDK](/uk/plugins/sdk-overview) — повний довідник імпортів subpath
- [Channel Plugins](/uk/plugins/sdk-channel-plugins) — створення channel plugins
- [Provider Plugins](/uk/plugins/sdk-provider-plugins) — створення provider plugins
- [Внутрішня будова plugin](/uk/plugins/architecture) — поглиблений розбір архітектури
- [Маніфест plugin](/uk/plugins/manifest) — довідник схеми маніфесту
- [Початок роботи](/uk/plugins/building-plugins) — створіть свій перший плагін
- [Огляд SDK](/uk/plugins/sdk-overview) — повний довідник імпорту підшляхів
- [Плагіни каналів](/uk/plugins/sdk-channel-plugins) — створення плагінів каналів
- [Плагіни провайдерів](/uk/plugins/sdk-provider-plugins) — створення плагінів провайдерів
- [Внутрішня будова плагінів](/uk/plugins/architecture) — глибокий огляд архітектури
- [Маніфест плагіна](/uk/plugins/manifest) — довідник схеми маніфесту

View File

@ -1,33 +1,33 @@
---
read_when:
- Вам потрібно знати, з якого підшляху SDK імпортувати
- Вам потрібна довідка щодо всіх методів реєстрації в OpenClawPluginApi
- Потрібно знати, з якого підшляху SDK імпортувати
- Потрібен довідник для всіх методів реєстрації в OpenClawPluginApi
- Ви шукаєте конкретний експорт SDK
sidebarTitle: SDK Overview
summary: Карта імпорту, довідка щодо API реєстрації та архітектура SDK
summary: Карта імпортів, довідник API реєстрації та архітектура SDK
title: Огляд Plugin SDK
x-i18n:
generated_at: "2026-04-08T08:11:33Z"
generated_at: "2026-04-09T00:38:40Z"
model: gpt-5.4
provider: openai
source_hash: 6e7b420eb0f3faa8916357d52df949f6c9a46f1c843a1e6a0c0b8bb26db6cbff
source_hash: bf205af060971931df97dca4af5110ce173d2b7c12f56ad7c62d664a402f2381
source_path: plugins/sdk-overview.md
workflow: 15
---
# Огляд Plugin SDK
Plugin SDK — це типізований контракт між plugins і core. Ця сторінка є
довідником щодо **що імпортувати** і **що можна реєструвати**.
Plugin SDK — це типізований контракт між плагінами та ядром. Ця сторінка —
довідник про **що імпортувати** і **що можна реєструвати**.
<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)
**Шукаєте покроковий посібник?**
- Перший плагін? Почніть із [Getting Started](/uk/plugins/building-plugins)
- Плагін каналу? Див. [Channel Plugins](/uk/plugins/sdk-channel-plugins)
- Плагін провайдера? Див. [Provider Plugins](/uk/plugins/sdk-provider-plugins)
</Tip>
## Угода щодо імпорту
## Правило імпорту
Завжди імпортуйте з конкретного підшляху:
@ -36,329 +36,332 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
```
Кожен підшлях — це невеликий самодостатній модуль. Це пришвидшує запуск і
запобігає проблемам із циклічними залежностями. Для специфічних для channel
entry/build helper-ів віддавайте перевагу `openclaw/plugin-sdk/channel-core`; `openclaw/plugin-sdk/core` залишайте для
ширшої парасолькової поверхні та спільних helper-ів, таких як
Кожен підшлях — це невеликий самодостатній модуль. Це забезпечує швидкий
запуск і запобігає проблемам із циклічними залежностями. Для специфічних для
каналів допоміжних засобів входу/збирання надавайте перевагу
`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`, або
helper seams із брендуванням channel. Bundled plugins мають компонувати загальні
підшляхи SDK у власних barrels `api.ts` або `runtime-api.ts`, а core
має або використовувати ці локальні plugin barrels, або додавати вузький загальний SDK
контракт, коли потреба справді є міжканальною.
`openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp`, або допоміжні
шви з брендингом каналів. Вбудовані плагіни мають компонувати загальні
підшляхи SDK у власних barrel-файлах `api.ts` або `runtime-api.ts`, а ядро
має або використовувати ці локальні barrel-файли плагіна, або додавати вузький
загальний контракт SDK, якщо потреба справді є міжканальною.
Згенерована карта експортів усе ще містить невеликий набір helper
seams для bundled plugins, таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
`plugin-sdk/zalo`, `plugin-sdk/zalo-setup` і `plugin-sdk/matrix*`. Ці
підшляхи існують лише для підтримки bundled plugins і сумісності; їх
навмисно не включено до загальної таблиці нижче, і вони не є рекомендованим
шляхом імпорту для нових сторонніх plugins.
Згенерована карта експортів усе ще містить невеликий набір допоміжних
швів для вбудованих плагінів, таких як `plugin-sdk/feishu`,
`plugin-sdk/feishu-setup`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup` і
`plugin-sdk/matrix*`. Ці підшляхи існують лише для підтримки вбудованих
плагінів і сумісності; їх навмисно не включено до загальної таблиці нижче,
і вони не є рекомендованим шляхом імпорту для нових сторонніх плагінів.
## Довідник підшляхів
Найуживаніші підшляхи, згруповані за призначенням. Згенерований повний список із
200+ підшляхів міститься в `scripts/lib/plugin-sdk-entrypoints.json`.
Найуживаніші підшляхи, згруповані за призначенням. Згенерований повний список
із понад 200 підшляхів міститься в `scripts/lib/plugin-sdk-entrypoints.json`.
Зарезервовані helper-підшляхи для bundled plugins усе ще з’являються в цьому згенерованому списку.
Сприймайте їх як деталі реалізації/поверхні сумісності, якщо лише сторінка документації
явно не просуває один із них як публічний.
Зарезервовані допоміжні підшляхи вбудованих плагінів усе ще з’являються в
цьому згенерованому списку. Вважайте їх деталями реалізації / поверхнями
сумісності, якщо тільки якась сторінка документації явно не просуває один із
них як публічний.
### Точка входу plugin
### Вхід плагіна
| Subpath | Ключові експорти |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| Підшлях | Ключові експорти |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
| `plugin-sdk/config-schema` | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `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` | Спільні helper-и майстра налаштування, запити allowlist, конструктори статусу налаштування |
| `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування, запити списків дозволених джерел, побудова статусу налаштування |
| `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` | Helper-и для багатоакаунтної config/action-gate, helper-и fallback для облікового запису за замовчуванням |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, helper-и нормалізації account-id |
| `plugin-sdk/account-resolution` | Пошук облікового запису + helper-и fallback за замовчуванням |
| `plugin-sdk/account-helpers` | Вузькі helper-и для списку облікових записів/дій з обліковими записами |
| `plugin-sdk/account-core` | Допоміжні засоби для конфігурації/керування шлюзами дій з кількома обліковими записами, допоміжні засоби резервного використання типового облікового запису |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації account-id |
| `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` | Типи схеми config channel |
| `plugin-sdk/telegram-command-config` | Helper-и нормалізації/валідації користувацьких команд Telegram з fallback на bundled contract |
| `plugin-sdk/channel-config-schema` | Типи схеми конфігурації каналу |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram із резервним вбудованим контрактом |
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` |
| `plugin-sdk/inbound-envelope` | Спільні helper-и маршрутизації вхідних повідомлень + побудови envelope |
| `plugin-sdk/inbound-reply-dispatch` | Спільні helper-и запису та диспетчеризації вхідних повідомлень |
| `plugin-sdk/messaging-targets` | Helper-и розбору/зіставлення цілей |
| `plugin-sdk/outbound-media` | Спільні helper-и завантаження вихідних медіа |
| `plugin-sdk/outbound-runtime` | Helper-и делегування вихідної ідентичності/надсилання |
| `plugin-sdk/thread-bindings-runtime` | Helper-и життєвого циклу та адаптера thread-binding |
| `plugin-sdk/agent-media-payload` | Застарілий конструктор agent media payload |
| `plugin-sdk/conversation-runtime` | Helper-и conversation/thread binding, pairing та configured-binding |
| `plugin-sdk/runtime-config-snapshot` | Helper знімка runtime config |
| `plugin-sdk/runtime-group-policy` | Helper-и визначення group-policy під час виконання |
| `plugin-sdk/channel-status` | Спільні helper-и знімка/підсумку статусу channel |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви схеми config channel |
| `plugin-sdk/channel-config-writes` | Helper-и авторизації запису config channel |
| `plugin-sdk/channel-plugin-common` | Спільні експорти prelude для channel plugins |
| `plugin-sdk/allowlist-config-edit` | Helper-и читання/редагування config allowlist |
| `plugin-sdk/group-access` | Спільні helper-и рішень щодо group-access |
| `plugin-sdk/direct-dm` | Спільні helper-и auth/guard для прямих DM |
| `plugin-sdk/interactive-runtime` | Helper-и нормалізації/зведення interactive reply payload |
| `plugin-sdk/channel-inbound` | Helper-и debounce вхідних повідомлень, зіставлення згадок, політики згадок і envelope |
| `plugin-sdk/channel-send-result` | Типи результатів reply |
| `plugin-sdk/inbound-envelope` | Спільні допоміжні засоби маршрутизації вхідних повідомлень і побудови envelope |
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби запису та диспетчеризації вхідних повідомлень |
| `plugin-sdk/messaging-targets` | Допоміжні засоби розбору/зіставлення цілей |
| `plugin-sdk/outbound-media` | Спільні допоміжні засоби завантаження вихідних медіа |
| `plugin-sdk/outbound-runtime` | Допоміжні засоби ідентичності вихідних повідомлень / делегатів надсилання |
| `plugin-sdk/thread-bindings-runtime` | Життєвий цикл прив’язок потоків і допоміжні засоби адаптерів |
| `plugin-sdk/agent-media-payload` | Застарілий побудовник медіа payload агента |
| `plugin-sdk/conversation-runtime` | Допоміжні засоби прив’язки розмов/потоків, pairинг і налаштованих прив’язок |
| `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб знімка конфігурації під час виконання |
| `plugin-sdk/runtime-group-policy` | Допоміжні засоби визначення групових політик під час виконання |
| `plugin-sdk/channel-status` | Спільні допоміжні засоби знімка/зведення статусу каналу |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви схеми конфігурації каналу |
| `plugin-sdk/channel-config-writes` | Допоміжні засоби авторизації запису конфігурації каналу |
| `plugin-sdk/channel-plugin-common` | Спільні преамбулні експорти плагінів каналів |
| `plugin-sdk/allowlist-config-edit` | Допоміжні засоби редагування/читання конфігурації списку дозволених джерел |
| `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` | Helper-и розбору/зіставлення цілей |
| `plugin-sdk/channel-contract` | Типи контракту channel |
| `plugin-sdk/channel-feedback` | Підключення feedback/reaction |
| `plugin-sdk/channel-secret-runtime` | Вузькі helper-и secret-contract, такі як `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи secret target |
| `plugin-sdk/channel-targets` | Допоміжні засоби розбору/зіставлення цілей |
| `plugin-sdk/channel-contract` | Типи контракту каналу |
| `plugin-sdk/channel-feedback` | Підключення відгуків/реакцій |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби контракту секретів, такі як `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, а також типи цілей секретів |
</Accordion>
<Accordion title="Підшляхи provider">
| Subpath | Ключові експорти |
<Accordion title="Підшляхи провайдерів">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/provider-setup` | Кураторські helper-и налаштування локального/self-hosted provider |
| `plugin-sdk/self-hosted-provider-setup` | Сфокусовані helper-и налаштування self-hosted provider, сумісного з OpenAI |
| `plugin-sdk/cli-backend` | Значення CLI backend за замовчуванням + константи watchdog |
| `plugin-sdk/provider-auth-runtime` | Helper-и визначення API-ключа під час виконання для provider plugins |
| `plugin-sdk/provider-auth-api-key` | Helper-и онбордингу/запису профілю API-ключа, такі як `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний конструктор результату OAuth auth |
| `plugin-sdk/provider-auth-login` | Спільні helper-и інтерактивного входу для provider plugins |
| `plugin-sdk/provider-env-vars` | Helper-и пошуку auth env vars для 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-sdk/provider-auth-api-key` | Допоміжні засоби онбордингу/запису профілю API-ключа, такі як `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний побудовник результату OAuth-автентифікації |
| `plugin-sdk/provider-auth-login` | Спільні інтерактивні допоміжні засоби входу для плагінів провайдерів |
| `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку env var для автентифікації провайдерів |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні конструктори replay-policy, helper-и endpoint provider-ів і helper-и нормалізації model-id, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні побудовники політик replay, допоміжні засоби endpoint провайдерів і нормалізації model-id, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-http` | Загальні helper-и HTTP/можливостей endpoint provider-ів |
| `plugin-sdk/provider-web-fetch-contract` | Вузькі helper-и контракту config/вибору web-fetch, такі як `enablePluginInConfig` і `WebFetchProviderPlugin` |
| `plugin-sdk/provider-web-fetch` | Helper-и реєстрації/кешу provider-а web-fetch |
| `plugin-sdk/provider-web-search-config-contract` | Вузькі helper-и config/облікових даних web-search для provider-ів, яким не потрібне підключення увімкнення plugin |
| `plugin-sdk/provider-web-search-contract` | Вузькі helper-и контракту config/облікових даних web-search, такі як `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і scoped setter/getter-и облікових даних |
| `plugin-sdk/provider-web-search` | Helper-и реєстрації/кешу/runtime для provider-а web-search |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + diagnostics, а також helper-и сумісності 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` | Helper-и патчів config для онбордингу |
| `plugin-sdk/global-singleton` | Helper-и локальних для процесу singleton/map/cache |
| `plugin-sdk/provider-http` | Загальні допоміжні засоби HTTP/можливостей endpoint провайдерів |
| `plugin-sdk/provider-web-fetch-contract` | Вузькі допоміжні засоби контракту конфігурації/вибору web-fetch, такі як `enablePluginInConfig` і `WebFetchProviderPlugin` |
| `plugin-sdk/provider-web-fetch` | Допоміжні засоби реєстрації/кешу провайдерів web-fetch |
| `plugin-sdk/provider-web-search-config-contract` | Вузькі допоміжні засоби конфігурації/облікових даних web-search для провайдерів, яким не потрібне підключення ввімкнення плагіна |
| `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні засоби контракту конфігурації/облікових даних web-search, такі як `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і область дії setter/getter для облікових даних |
| `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`, типи обгорток потоків і спільні допоміжні засоби обгорток Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-onboard` | Допоміжні засоби патчів конфігурації онбордингу |
| `plugin-sdk/global-singleton` | Допоміжні засоби локальних для процесу singleton/map/cache |
</Accordion>
<Accordion title="Підшляхи auth і безпеки">
| Subpath | Ключові експорти |
<Accordion title="Підшляхи автентифікації та безпеки">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, helper-и реєстру команд, helper-и авторизації відправника |
| `plugin-sdk/approval-auth-runtime` | Helper-и визначення approver і auth дій у тому самому чаті |
| `plugin-sdk/approval-client-runtime` | Helper-и профілю/фільтра native exec approval |
| `plugin-sdk/approval-delivery-runtime` | Адаптери доставки/можливостей native approval |
| `plugin-sdk/approval-gateway-runtime` | Спільний helper визначення approval gateway |
| `plugin-sdk/approval-handler-adapter-runtime` | Легковагі helper-и завантаження native approval adapter для hot channel entrypoints |
| `plugin-sdk/approval-handler-runtime` | Ширші runtime helper-и approval handler; віддавайте перевагу вужчим adapter/gateway seams, коли їх достатньо |
| `plugin-sdk/approval-native-runtime` | Helper-и native approval target + account-binding |
| `plugin-sdk/approval-reply-runtime` | Helper-и payload відповіді для exec/plugin approval |
| `plugin-sdk/command-auth-native` | Helper-и native command auth + native session-target |
| `plugin-sdk/command-detection` | Спільні helper-и виявлення команд |
| `plugin-sdk/command-surface` | Helper-и нормалізації тіла команди та command-surface |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби реєстру команд, допоміжні засоби авторизації відправника |
| `plugin-sdk/command-status` | Побудовники повідомлень команд/довідки, такі як `buildCommandsMessagePaginated` і `buildHelpMessage` |
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби визначення approver і автентифікації дій у межах того самого чату |
| `plugin-sdk/approval-client-runtime` | Допоміжні засоби профілів/фільтрів нативного схвалення виконання |
| `plugin-sdk/approval-delivery-runtime` | Адаптери нативних можливостей/доставки схвалення |
| `plugin-sdk/approval-gateway-runtime` | Спільний допоміжний засіб визначення шлюзу схвалення |
| `plugin-sdk/approval-handler-adapter-runtime` | Полегшені допоміжні засоби завантаження нативного адаптера схвалення для гарячих entrypoint каналу |
| `plugin-sdk/approval-handler-runtime` | Ширші допоміжні засоби runtime-обробника схвалення; надавайте перевагу вужчим швам adapter/gateway, коли їх достатньо |
| `plugin-sdk/approval-native-runtime` | Допоміжні засоби нативних цілей схвалення + прив’язки облікових записів |
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload відповідей схвалення exec/plugin |
| `plugin-sdk/command-auth-native` | Допоміжні засоби нативної автентифікації команд + нативних цілей сеансу |
| `plugin-sdk/command-detection` | Спільні допоміжні засоби виявлення команд |
| `plugin-sdk/command-surface` | Допоміжні засоби нормалізації тіла команди та command-surface |
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
| `plugin-sdk/channel-secret-runtime` | Вузькі helper-и збирання secret-contract для поверхонь secret channel/plugin |
| `plugin-sdk/secret-ref-runtime` | Вузькі helper-и `coerceSecretRef` і типізації SecretRef для розбору secret-contract/config |
| `plugin-sdk/security-runtime` | Спільні helper-и довіри, DM gating, зовнішнього вмісту та збирання секретів |
| `plugin-sdk/ssrf-policy` | Helper-и політики SSRF для allowlist хостів і приватних мереж |
| `plugin-sdk/ssrf-runtime` | Helper-и pinned-dispatcher, fetch із захистом від SSRF і політики SSRF |
| `plugin-sdk/secret-input` | Helper-и розбору secret input |
| `plugin-sdk/webhook-ingress` | Helper-и webhook request/target |
| `plugin-sdk/webhook-request-guards` | Helper-и розміру body/timeout для request |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби збирання контракту секретів для поверхонь секретів каналу/плагіна |
| `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні засоби `coerceSecretRef` і типізації SecretRef для парсингу контракту секретів/конфігурації |
| `plugin-sdk/security-runtime` | Спільні допоміжні засоби довіри, обмеження DM, зовнішнього вмісту та збирання секретів |
| `plugin-sdk/ssrf-policy` | Допоміжні засоби політики SSRF для списків дозволених хостів і приватних мереж |
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, fetch із захистом SSRF і політики SSRF |
| `plugin-sdk/secret-input` | Допоміжні засоби парсингу введення секретів |
| `plugin-sdk/webhook-ingress` | Допоміжні засоби запиту/цілі webhook |
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби розміру тіла запиту / тайм-аутів |
</Accordion>
<Accordion title="Підшляхи runtime і сховища">
| Subpath | Ключові експорти |
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/runtime` | Широкі helper-и runtime/logging/backup/install plugin |
| `plugin-sdk/runtime-env` | Вузькі helper-и runtime env, logger, timeout, retry і backoff |
| `plugin-sdk/channel-runtime-context` | Загальні helper-и реєстрації та пошуку runtime-context channel |
| `plugin-sdk/runtime` | Широкі допоміжні засоби runtime/логування/резервних копій/встановлення плагінів |
| `plugin-sdk/runtime-env` | Вужчі допоміжні засоби env runtime, логера, тайм-аутів, повторних спроб і backoff |
| `plugin-sdk/channel-runtime-context` | Загальні допоміжні засоби реєстрації та пошуку channel runtime-context |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
| `plugin-sdk/plugin-runtime` | Спільні helper-и команди/hook/http/interactive для plugin |
| `plugin-sdk/hook-runtime` | Спільні helper-и конвеєра webhook/internal hook |
| `plugin-sdk/lazy-runtime` | Helper-и lazy runtime import/binding, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Helper-и виконання процесів |
| `plugin-sdk/cli-runtime` | Helper-и форматування CLI, очікування і версії |
| `plugin-sdk/gateway-runtime` | Helper-и gateway client і patch статусу channel |
| `plugin-sdk/config-runtime` | Helper-и завантаження/запису config |
| `plugin-sdk/telegram-command-config` | Helper-и нормалізації назв/описів команд Telegram і перевірок дублікатів/конфліктів, навіть коли поверхня контракту bundled Telegram недоступна |
| `plugin-sdk/approval-runtime` | Helper-и exec/plugin approval, конструктори approval-capability, helper-и auth/profile, helper-и native routing/runtime |
| `plugin-sdk/reply-runtime` | Спільні runtime helper-и для inbound/reply, chunking, dispatch, heartbeat, планувальник reply |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі helper-и dispatch/finalize для reply |
| `plugin-sdk/reply-history` | Спільні helper-и коротковіконної історії reply, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби команд/хуків/http/інтерактивних функцій плагіна |
| `plugin-sdk/hook-runtime` | Спільні допоміжні засоби pipeline webhook/внутрішніх хуків |
| `plugin-sdk/lazy-runtime` | Допоміжні засоби лінивого імпорту/прив’язки runtime, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Допоміжні засоби виконання процесів |
| `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування та версій |
| `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта шлюзу та патчів статусу каналу |
| `plugin-sdk/config-runtime` | Допоміжні засоби завантаження/запису конфігурації |
| `plugin-sdk/telegram-command-config` | Нормалізація назв/описів команд Telegram і перевірки дублювань/конфліктів, навіть коли поверхня вбудованого контракту Telegram недоступна |
| `plugin-sdk/approval-runtime` | Допоміжні засоби схвалення exec/plugin, побудовники можливостей схвалення, допоміжні засоби auth/profile, нативної маршрутизації/runtime |
| `plugin-sdk/reply-runtime` | Спільні допоміжні засоби runtime для вхідних повідомлень/відповідей, chunking, dispatch, heartbeat, planner відповідей |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize для відповідей |
| `plugin-sdk/reply-history` | Спільні допоміжні засоби історії відповідей для короткого вікна, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Вузькі helper-и chunking для text/markdown |
| `plugin-sdk/session-store-runtime` | Helper-и шляху сховища сесій + updated-at |
| `plugin-sdk/state-paths` | Helper-и шляхів каталогів state/OAuth |
| `plugin-sdk/routing` | Helper-и route/session-key/account binding, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Спільні helper-и підсумку статусу channel/account, значення runtime-state за замовчуванням і helper-и метаданих проблем |
| `plugin-sdk/target-resolver-runtime` | Спільні helper-и визначення цілі |
| `plugin-sdk/string-normalization-runtime` | Helper-и нормалізації slug/string |
| `plugin-sdk/request-url` | Витягує рядкові URL з fetch/request-подібних вхідних даних |
| `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking тексту/markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби шляхів до сховища сеансів + updated-at |
| `plugin-sdk/state-paths` | Допоміжні засоби шляхів до каталогів state/OAuth |
| `plugin-sdk/routing` | Допоміжні засоби маршрутів / session-key / прив’язки облікових записів, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Спільні допоміжні засоби зведення статусу каналу/облікового запису, типові значення стану runtime і допоміжні засоби метаданих проблем |
| `plugin-sdk/target-resolver-runtime` | Спільні допоміжні засоби визначення цілей |
| `plugin-sdk/string-normalization-runtime` | Допоміжні засоби нормалізації slug/рядків |
| `plugin-sdk/request-url` | Витягування рядкових URL із fetch/request-подібних входів |
| `plugin-sdk/run-command` | Виконавець команд із таймером і нормалізованими результатами stdout/stderr |
| `plugin-sdk/param-readers` | Поширені readers параметрів tool/CLI |
| `plugin-sdk/tool-payload` | Витягує нормалізовані payload-и з об’єктів результатів tool |
| `plugin-sdk/tool-send` | Витягує канонічні поля цілі надсилання з аргументів tool |
| `plugin-sdk/temp-path` | Спільні helper-и шляхів тимчасових завантажень |
| `plugin-sdk/logging-core` | Helper-и логера підсистеми та редагування чутливих даних |
| `plugin-sdk/markdown-table-runtime` | Helper-и режиму markdown-таблиць |
| `plugin-sdk/json-store` | Невеликі helper-и читання/запису стану JSON |
| `plugin-sdk/file-lock` | Helper-и повторно вхідного file-lock |
| `plugin-sdk/persistent-dedupe` | Helper-и дискового кешу усунення дублікатів |
| `plugin-sdk/acp-runtime` | Helper-и runtime/session і reply-dispatch для ACP |
| `plugin-sdk/agent-config-primitives` | Вузькі примітиви схеми runtime config agent |
| `plugin-sdk/boolean-param` | Loose reader логічних параметрів |
| `plugin-sdk/dangerous-name-runtime` | Helper-и визначення збігів небезпечних імен |
| `plugin-sdk/device-bootstrap` | Helper-и bootstrap пристрою та токенів pairing |
| `plugin-sdk/extension-shared` | Спільні примітиви helper-ів passive-channel, status та ambient proxy |
| `plugin-sdk/models-provider-runtime` | Helper-и відповідей provider-а/команди `/models` |
| `plugin-sdk/skill-commands-runtime` | Helper-и виведення списку команд Skills |
| `plugin-sdk/native-command-registry` | Helper-и реєстру/build/serialize native commands |
| `plugin-sdk/provider-zai-endpoint` | Helper-и виявлення endpoint Z.A.I |
| `plugin-sdk/infra-runtime` | Helper-и системних подій/heartbeat |
| `plugin-sdk/collection-runtime` | Невеликі helper-и обмеженого кешу |
| `plugin-sdk/diagnostic-runtime` | Helper-и прапорців diagnostics і подій |
| `plugin-sdk/error-runtime` | Helper-и графа помилок, форматування, спільної класифікації помилок, `isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | Helper-и обгорнутого fetch, proxy і pinned lookup |
| `plugin-sdk/host-runtime` | Helper-и нормалізації hostname і SCP host |
| `plugin-sdk/retry-runtime` | Helper-и config retry і запуску retry |
| `plugin-sdk/agent-runtime` | Helper-и каталогу/ідентичності/workspace agent |
| `plugin-sdk/directory-runtime` | Запит/dedup каталогів на основі config |
| `plugin-sdk/param-readers` | Поширені читачі параметрів інструментів/CLI |
| `plugin-sdk/tool-payload` | Витягування нормалізованих payload із об’єктів результатів інструментів |
| `plugin-sdk/tool-send` | Витягування канонічних полів цілі надсилання з аргументів інструменту |
| `plugin-sdk/temp-path` | Спільні допоміжні засоби шляхів для тимчасових завантажень |
| `plugin-sdk/logging-core` | Допоміжні засоби логера підсистеми та редагування чутливих даних |
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму таблиць Markdown |
| `plugin-sdk/json-store` | Невеликі допоміжні засоби читання/запису JSON-стану |
| `plugin-sdk/file-lock` | Реентерабельні допоміжні засоби file-lock |
| `plugin-sdk/persistent-dedupe` | Допоміжні засоби кешу дедуплікації на диску |
| `plugin-sdk/acp-runtime` | Допоміжні засоби runtime/сеансів ACP і dispatch відповідей |
| `plugin-sdk/agent-config-primitives` | Вузькі примітиви схеми конфігурації runtime агента |
| `plugin-sdk/boolean-param` | Читач слабко типізованих boolean-параметрів |
| `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби визначення зіставлення небезпечних імен |
| `plugin-sdk/device-bootstrap` | Допоміжні засоби bootstrap пристрою та токенів pairингу |
| `plugin-sdk/extension-shared` | Спільні примітиви допоміжних засобів пасивних каналів, статусу та ambient proxy |
| `plugin-sdk/models-provider-runtime` | Допоміжні засоби відповідей команди `/models` / провайдера |
| `plugin-sdk/skill-commands-runtime` | Допоміжні засоби переліку команд Skills |
| `plugin-sdk/native-command-registry` | Допоміжні засоби реєстру/build/serialize нативних команд |
| `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` | Допоміжні засоби обгорнутого fetch, proxy і pinned lookup |
| `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації hostname і SCP host |
| `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації повторних спроб і виконавця повторних спроб |
| `plugin-sdk/agent-runtime` | Допоміжні засоби каталогу/ідентичності/робочого простору агента |
| `plugin-sdk/directory-runtime` | Запит/дедуплікація каталогів на основі конфігурації |
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
</Accordion>
<Accordion title="Підшляхи можливостей і тестування">
| Subpath | Ключові експорти |
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/media-runtime` | Спільні helper-и fetch/transform/store для медіа, а також конструктори media payload |
| `plugin-sdk/media-generation-runtime` | Спільні helper-и failover для генерації медіа, вибір candidate і повідомлення про відсутню модель |
| `plugin-sdk/media-understanding` | Типи provider-а media understanding, а також орієнтовані на provider експортовані helper-и для зображень/аудіо |
| `plugin-sdk/text-runtime` | Спільні helper-и text/markdown/logging, такі як видалення видимого для assistant тексту, helper-и render/chunking/table для markdown, helper-и редагування чутливих даних, helper-и directive-tag і утиліти safe-text |
| `plugin-sdk/text-chunking` | Helper chunking для вихідного text |
| `plugin-sdk/speech` | Типи speech provider, а також орієнтовані на provider helper-и directive, registry і validation |
| `plugin-sdk/speech-core` | Спільні типи speech provider, helper-и registry, directive і normalization |
| `plugin-sdk/realtime-transcription` | Типи provider-а realtime transcription і helper-и registry |
| `plugin-sdk/realtime-voice` | Типи provider-а realtime voice і helper-и registry |
| `plugin-sdk/image-generation` | Типи provider-а генерації зображень |
| `plugin-sdk/image-generation-core` | Спільні типи генерації зображень, helper-и failover, auth і registry |
| `plugin-sdk/music-generation` | Типи provider/request/result для генерації музики |
| `plugin-sdk/music-generation-core` | Спільні типи генерації музики, helper-и failover, lookup provider-а та розбору model-ref |
| `plugin-sdk/video-generation` | Типи provider/request/result для генерації відео |
| `plugin-sdk/video-generation-core` | Спільні типи генерації відео, helper-и failover, lookup provider-а та розбору model-ref |
| `plugin-sdk/webhook-targets` | Реєстр webhook target і helper-и встановлення route |
| `plugin-sdk/webhook-path` | Helper-и нормалізації шляху webhook |
| `plugin-sdk/web-media` | Спільні helper-и завантаження віддалених/локальних медіа |
| `plugin-sdk/zod` | Повторно експортований `zod` для користувачів Plugin SDK |
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store для медіа плюс побудовники медіа payload |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для генерації медіа, вибір кандидатів і повідомлення про відсутні моделі |
| `plugin-sdk/media-understanding` | Типи провайдерів розуміння медіа плюс орієнтовані на провайдерів експорти допоміжних засобів для зображень/аудіо |
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби тексту/markdown/логування, такі як вилучення видимого асистенту тексту, render/chunking/table для markdown, редагування чутливих даних, допоміжні засоби тегів директив і утиліти безпечного тексту |
| `plugin-sdk/text-chunking` | Допоміжний засіб chunking вихідного тексту |
| `plugin-sdk/speech` | Типи провайдерів мовлення плюс орієнтовані на провайдерів допоміжні засоби директив, реєстру та валідації |
| `plugin-sdk/speech-core` | Спільні типи провайдерів мовлення, допоміжні засоби реєстру, директив і нормалізації |
| `plugin-sdk/realtime-transcription` | Типи провайдерів транскрипції в реальному часі та допоміжні засоби реєстру |
| `plugin-sdk/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 і допоміжні засоби встановлення маршрутів |
| `plugin-sdk/webhook-path` | Допоміжні засоби нормалізації шляху webhook |
| `plugin-sdk/web-media` | Спільні допоміжні засоби завантаження віддалених/локальних медіа |
| `plugin-sdk/zod` | Повторно експортований `zod` для споживачів Plugin SDK |
| `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` |
</Accordion>
<Accordion title="Підшляхи пам’яті">
| Subpath | Ключові експорти |
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/memory-core` | Поверхня helper-ів bundled memory-core для менеджера/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 helper-и для memory host |
| `plugin-sdk/memory-core-host-query` | Query helper-и для memory host |
| `plugin-sdk/memory-core-host-secret` | Secret helper-и для memory host |
| `plugin-sdk/memory-core-host-events` | Helper-и журналу подій для memory host |
| `plugin-sdk/memory-core-host-status` | Status helper-и для memory host |
| `plugin-sdk/memory-core-host-runtime-cli` | Runtime helper-и CLI для memory host |
| `plugin-sdk/memory-core-host-runtime-core` | Core runtime helper-и для memory host |
| `plugin-sdk/memory-core-host-runtime-files` | Helper-и файлів/runtime для memory host |
| `plugin-sdk/memory-host-core` | Vendor-neutral alias для core runtime helper-ів memory host |
| `plugin-sdk/memory-host-events` | Vendor-neutral alias для helper-ів журналу подій memory host |
| `plugin-sdk/memory-host-files` | Vendor-neutral alias для helper-ів файлів/runtime memory host |
| `plugin-sdk/memory-host-markdown` | Спільні helper-и managed-markdown для plugins, суміжних із пам’яттю |
| `plugin-sdk/memory-core` | Поверхня допоміжних засобів вбудованого memory-core для manager/config/file/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Runtime facade для індексації/пошуку в пам’яті |
| `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 хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-storage` | Експорти storage engine хоста пам’яті |
| `plugin-sdk/memory-core-host-multimodal` | Допоміжні засоби мультимодального хоста пам’яті |
| `plugin-sdk/memory-core-host-query` | Допоміжні засоби запитів хоста пам’яті |
| `plugin-sdk/memory-core-host-secret` | Допоміжні засоби секретів хоста пам’яті |
| `plugin-sdk/memory-core-host-events` | Допоміжні засоби журналу подій хоста пам’яті |
| `plugin-sdk/memory-core-host-status` | Допоміжні засоби статусу хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні засоби CLI runtime хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-core` | Допоміжні засоби core runtime хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби файлів/runtime хоста пам’яті |
| `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-sdk/memory-host-search` | Active memory runtime facade для доступу до search-manager |
| `plugin-sdk/memory-host-status` | Vendor-neutral alias для status helper-ів memory host |
| `plugin-sdk/memory-lancedb` | Поверхня helper-ів bundled memory-lancedb |
| `plugin-sdk/memory-host-status` | Нейтральний щодо постачальника псевдонім для допоміжних засобів статусу хоста пам’яті |
| `plugin-sdk/memory-lancedb` | Поверхня допоміжних засобів вбудованого memory-lancedb |
</Accordion>
<Accordion title="Зарезервовані helper-підшляхи bundled plugins">
| Family | Current subpaths | Intended use |
<Accordion title="Зарезервовані підшляхи допоміжних засобів вбудованих плагінів">
| Сімейство | Поточні підшляхи | Призначення |
| --- | --- | --- |
| 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` | Helper-и підтримки 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 |
| Helper-и, специфічні для channel | `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` | Seams сумісності/helper-и для bundled channels |
| Helper-и, специфічні для auth/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` | Helper seams для bundled feature/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` | Шви сумісності / допоміжні засоби для вбудованих каналів |
| Допоміжні засоби, специфічні для auth/плагіна | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Шви допоміжних засобів для вбудованих функцій/плагінів; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
</Accordion>
</AccordionGroup>
## API реєстрації
Зворотний виклик `register(api)` отримує об’єкт `OpenClawPluginApi` з такими
Колбек `register(api)` отримує об’єкт `OpenClawPluginApi` з такими
методами:
### Реєстрація можливостей
| Method | Що реєструє |
| ------------------------------------------------ | ------------------------------ |
| `api.registerProvider(...)` | Текстовий inference (LLM) |
| `api.registerCliBackend(...)` | Локальний backend CLI inference |
| `api.registerChannel(...)` | Канал обміну повідомленнями |
| `api.registerSpeechProvider(...)` | Синтез text-to-speech / STT |
| `api.registerRealtimeTranscriptionProvider(...)` | Потокову транскрипцію realtime |
| `api.registerRealtimeVoiceProvider(...)` | Дуплексні сесії голосу realtime |
| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео |
| `api.registerImageGenerationProvider(...)` | Генерацію зображень |
| `api.registerMusicGenerationProvider(...)` | Генерацію музики |
| `api.registerVideoGenerationProvider(...)` | Генерацію відео |
| `api.registerWebFetchProvider(...)` | Provider для web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Web search |
| Метод | Що він реєструє |
| ------------------------------------------------ | ------------------------------- |
| `api.registerProvider(...)` | Текстовий inference (LLM) |
| `api.registerCliBackend(...)` | Локальний CLI-бекенд inference |
| `api.registerChannel(...)` | Канал обміну повідомленнями |
| `api.registerSpeechProvider(...)` | Синтез text-to-speech / STT |
| `api.registerRealtimeTranscriptionProvider(...)` | Потокова транскрипція в реальному часі |
| `api.registerRealtimeVoiceProvider(...)` | Дуплексні голосові сеанси в реальному часі |
| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео |
| `api.registerImageGenerationProvider(...)` | Генерація зображень |
| `api.registerMusicGenerationProvider(...)` | Генерація музики |
| `api.registerVideoGenerationProvider(...)` | Генерація відео |
| `api.registerWebFetchProvider(...)` | Провайдер web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Вебпошук |
### Tools і команди
### Інструменти та команди
| Method | Що реєструє |
| ------------------------------- | ------------------------------------------- |
| `api.registerTool(tool, opts?)` | Tool agent-а (обов’язковий або `{ optional: true }`) |
| `api.registerCommand(def)` | Користувацьку команду (обходить LLM) |
| Метод | Що він реєструє |
| ------------------------------ | -------------------------------------------- |
| `api.registerTool(tool, opts?)` | Інструмент агента (обов’язковий або `{ 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 method gateway |
| `api.registerCli(registrar, opts?)` | Підкоманду CLI |
| `api.registerService(service)` | Фоновий service |
| `api.registerInteractiveHandler(registration)` | Interactive handler |
| `api.registerMemoryPromptSupplement(builder)` | Адитивний розділ prompt, суміжний із пам’яттю |
| `api.registerMemoryCorpusSupplement(adapter)` | Адитивний corpus пошуку/читання пам’яті |
| Метод | Що він реєструє |
| --------------------------------------------- | ---------------------------------- |
| `api.registerHook(events, handler, opts?)` | Хук події |
| `api.registerHttpRoute(params)` | HTTP endpoint шлюзу |
| `api.registerGatewayMethod(name, handler)` | RPC-метод шлюзу |
| `api.registerCli(registrar, opts?)` | Підкоманда CLI |
| `api.registerService(service)` | Фоновий сервіс |
| `api.registerInteractiveHandler(registration)` | Інтерактивний обробник |
| `api.registerMemoryPromptSupplement(builder)` | Адитивний розділ prompt, суміжний із пам’яттю |
| `api.registerMemoryCorpusSupplement(adapter)` | Адитивний корпус пошуку/читання пам’яті |
Зарезервовані простори імен core admin (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) завжди залишаються `operator.admin`, навіть якщо plugin намагається призначити
вужчу область gateway method. Для
методів, що належать plugin, віддавайте перевагу префіксам, специфічним для plugin.
Зарезервовані простори імен адміністрування ядра (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) завжди залишаються `operator.admin`, навіть якщо плагін
намагається призначити вужчу область дії методу шлюзу. Для методів, що
належать плагіну, надавайте перевагу специфічним для плагіна префіксам.
### Метадані реєстрації CLI
`api.registerCli(registrar, opts?)` приймає два види метаданих верхнього рівня:
`api.registerCli(registrar, opts?)` приймає два типи метаданих верхнього рівня:
- `commands`: явні корені команд, якими володіє registrar
- `descriptors`: дескриптори команд на етапі парсингу, які використовуються для кореневої довідки CLI,
маршрутизації та ледачої реєстрації CLI plugin
- `descriptors`: дескриптори команд часу парсингу, що використовуються для довідки кореневого CLI,
маршрутизації та лінивої реєстрації CLI плагіна
Якщо ви хочете, щоб команда plugin залишалася lazy-loaded у звичайному шляху кореневого CLI,
надайте `descriptors`, які охоплюють кожен корінь команди верхнього рівня, що експонується цим
registrar.
Якщо ви хочете, щоб команда плагіна залишалася ліниво завантажуваною в
звичайному шляху кореневого CLI, надайте `descriptors`, які охоплюють кожен
корінь команди верхнього рівня, що експонується цим registrar.
```typescript
api.registerCli(
@ -378,135 +381,139 @@ api.registerCli(
);
```
Використовуйте лише `commands`, коли вам не потрібна ледача реєстрація в кореневому CLI.
Цей eager-шлях сумісності залишається підтримуваним, але він не встановлює
placeholders на основі descriptor для ледачого завантаження під час парсингу.
Використовуйте лише `commands`, коли вам не потрібна лінива реєстрація
кореневого CLI. Цей eager-шлях сумісності залишається підтримуваним, але він
не встановлює placeholder-и на основі дескрипторів для лінивого завантаження
під час парсингу.
### Реєстрація CLI backend
### Реєстрація CLI-бекенду
`api.registerCliBackend(...)` дає plugin змогу володіти config за замовчуванням для локального
AI CLI backend, такого як `codex-cli`.
`api.registerCliBackend(...)` дає змогу плагіну володіти типовою конфігурацією
для локального AI CLI-бекенду, такого як `codex-cli`.
- `id` backend стає префіксом provider-а в model refs, таких як `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 потребує переписування для сумісності після злиття
(наприклад, нормалізації старих форм прапорців).
типового значення плагіна перед запуском CLI.
- Використовуйте `normalizeConfig`, коли бекенду потрібні переписування сумісності після злиття
(наприклад, для нормалізації старих форм прапорців).
### Ексклюзивні слоти
| Method | Що реєструє |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api.registerContextEngine(id, factory)` | Context engine (одночасно активний лише один). Зворотний виклик `assemble()` отримує `availableTools` і `citationsMode`, щоб engine міг адаптувати доповнення до prompt. |
| `api.registerMemoryCapability(capability)` | Єдину memory capability |
| `api.registerMemoryPromptSection(builder)` | Конструктор розділу prompt для пам’яті |
| `api.registerMemoryFlushPlan(resolver)` | Resolver плану flush пам’яті |
| `api.registerMemoryRuntime(runtime)` | Адаптер runtime пам’яті |
| Метод | Що він реєструє |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api.registerContextEngine(id, factory)` | Context engine (одночасно активний лише один). Колбек `assemble()` отримує `availableTools` і `citationsMode`, щоб engine міг адаптувати доповнення до prompt. |
| `api.registerMemoryCapability(capability)` | Уніфіковану можливість пам’яті |
| `api.registerMemoryPromptSection(builder)` | Побудовник розділу prompt пам’яті |
| `api.registerMemoryFlushPlan(resolver)` | Resolver плану flush пам’яті |
| `api.registerMemoryRuntime(runtime)` | Адаптер runtime пам’яті |
### Адаптери embedding для пам’яті
| Method | Що реєструє |
| ---------------------------------------------- | ---------------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер embedding для пам’яті для активного plugin |
| Метод | Що він реєструє |
| --------------------------------------------- | -------------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер embedding пам’яті для активного плагіна |
- `registerMemoryCapability`це рекомендований API ексклюзивного plugin пам’яті.
- `registerMemoryCapability` також може надавати `publicArtifacts.listArtifacts(...)`,
щоб companion plugins могли споживати експортовані артефакти пам’яті через
`openclaw/plugin-sdk/memory-host-core` замість звернення до приватної
структури конкретного plugin пам’яті.
- `registerMemoryCapability` — рекомендований API ексклюзивного memory-plugin.
- `registerMemoryCapability` також може експонувати `publicArtifacts.listArtifacts(...)`,
щоб супутні плагіни могли споживати експортовані артефакти пам’яті через
`openclaw/plugin-sdk/memory-host-core` замість звернення до приватного
макета конкретного плагіна пам’яті.
- `registerMemoryPromptSection`, `registerMemoryFlushPlan` і
`registerMemoryRuntime` — це застаріло-сумісні API ексклюзивного plugin пам’яті.
- `registerMemoryEmbeddingProvider` дає активному plugin пам’яті змогу реєструвати один
або кілька id embedding adapter (наприклад, `openai`, `gemini` або
користувацький id, визначений plugin).
`registerMemoryRuntime` — це застаріло-сумісні API ексклюзивного memory-plugin.
- `registerMemoryEmbeddingProvider` дає змогу активному memory-plugin зареєструвати
один або кілька id адаптерів embedding (наприклад, `openai`, `gemini` або
користувацький id, визначений плагіном).
- Конфігурація користувача, така як `agents.defaults.memorySearch.provider` і
`agents.defaults.memorySearch.fallback`, визначається відносно цих зареєстрованих
id adapter-ів.
id адаптерів.
### Події та життєвий цикл
| Method | Що робить |
| -------------------------------------------- | ---------------------------- |
| `api.on(hookName, handler, opts?)` | Типізований lifecycle hook |
| `api.onConversationBindingResolved(handler)` | Зворотний виклик binding conversation |
| Метод | Що він робить |
| ------------------------------------------- | ---------------------------- |
| `api.on(hookName, handler, opts?)` | Типізований хук життєвого циклу |
| `api.onConversationBindingResolved(handler)` | Колбек визначення прив’язки розмови |
### Семантика рішень 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 |
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------- |
| `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` | Поточний знімок config (активний знімок runtime у пам’яті, коли доступний) |
| `api.pluginConfig` | `Record<string, unknown>` | Специфічна для plugin config з `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [Runtime helpers](/uk/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Логер з областю видимості (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це легковаге вікно запуску/налаштування перед повним entry |
| `api.resolvePath(input)` | `(string) => string` | Визначення шляху відносно кореня plugin |
| Поле | Тип | Опис |
| ------------------------ | ------------------------- | ----------------------------------------------------------------------------------------- |
| `api.id` | `string` | ID плагіна |
| `api.name` | `string` | Відображувана назва |
| `api.version` | `string?` | Версія плагіна (необов’язково) |
| `api.description` | `string?` | Опис плагіна (необов’язково) |
| `api.source` | `string` | Шлях до джерела плагіна |
| `api.rootDir` | `string?` | Кореневий каталог плагіна (необов’язково) |
| `api.config` | `OpenClawConfig` | Поточний знімок конфігурації (активний знімок runtime у пам’яті, якщо доступний) |
| `api.pluginConfig` | `Record<string, unknown>` | Конфігурація, специфічна для плагіна, з `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [Допоміжні засоби runtime](/uk/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Логер з областю дії (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це полегшене вікно запуску/налаштування перед повним entry |
| `api.resolvePath(input)` | `(string) => string` | Визначення шляху відносно кореня плагіна |
## Угода щодо внутрішніх модулів
## Внутрішнє правило модулів
Усередині вашого plugin використовуйте локальні barrel-файли для внутрішніх імпортів:
Усередині вашого плагіна використовуйте локальні barrel-файли для внутрішніх імпортів:
```
my-plugin/
api.ts # Публічні експорти для зовнішніх споживачів
runtime-api.ts # Лише внутрішні runtime експорти
index.ts # Точка входу plugin
setup-entry.ts # Легка точка входу лише для налаштування (необов’язково)
runtime-api.ts # Експорти runtime лише для внутрішнього використання
index.ts # Точка входу плагіна
setup-entry.ts # Полегшений вхід лише для налаштування (необов’язково)
```
<Warning>
Ніколи не імпортуйте власний plugin через `openclaw/plugin-sdk/<your-plugin>`
у production code. Спрямовуйте внутрішні імпорти через `./api.ts` або
Ніколи не імпортуйте власний плагін через `openclaw/plugin-sdk/<your-plugin>`
у production-коді. Спрямовуйте внутрішні імпорти через `./api.ts` або
`./runtime-api.ts`. Шлях SDK — це лише зовнішній контракт.
</Warning>
Facade-loaded публічні поверхні bundled plugin (`api.ts`, `runtime-api.ts`,
`index.ts`, `setup-entry.ts` та подібні публічні entry-файли) тепер віддають перевагу
активному знімку runtime config, коли OpenClaw уже запущено. Якщо знімка runtime
ще немає, вони повертаються до config-файлу на диску, шлях до якого було визначено.
Публічні поверхні вбудованих плагінів, що завантажуються через facade
(`api.ts`, `runtime-api.ts`, `index.ts`, `setup-entry.ts` та подібні публічні
entry-файли), тепер віддають перевагу активному знімку конфігурації runtime,
коли OpenClaw уже запущено. Якщо знімка runtime ще немає, вони переходять до
резервного використання визначеного файла конфігурації на диску.
Provider plugins також можуть експонувати вузький локальний barrel контракту plugin, коли
helper навмисно є специфічним для provider-а і ще не належить до загального підшляху SDK.
Поточний bundled приклад: provider Anthropic зберігає свої Claude
stream helper-и у власному публічному seam `api.ts` / `contract-api.ts` замість
просування логіки Anthropic beta-header і `service_tier` у загальний
контракт `plugin-sdk/*`.
Плагіни провайдерів також можуть експонувати вузький локальний barrel-файл
контракту плагіна, коли допоміжний засіб навмисно є специфічним для провайдера
і ще не належить до загального підшляху SDK. Поточний вбудований приклад:
провайдер Anthropic тримає свої допоміжні засоби потоку Claude у власному
публічному шві `api.ts` / `contract-api.ts` замість просування логіки
beta-header Anthropic і `service_tier` до загального контракту
`plugin-sdk/*`.
Інші поточні bundled приклади:
Інші поточні вбудовані приклади:
- `@openclaw/openai-provider`: `api.ts` експортує конструктори provider-ів,
helper-и моделей за замовчуванням і конструктори realtime provider-ів
- `@openclaw/openrouter-provider`: `api.ts` експортує конструктор provider-а, а також
helper-и онбордингу/config
- `@openclaw/openai-provider`: `api.ts` експортує побудовники провайдерів,
допоміжні засоби типових моделей і побудовники провайдерів realtime
- `@openclaw/openrouter-provider`: `api.ts` експортує побудовник провайдера та
допоміжні засоби онбордингу/конфігурації
<Warning>
Production code extension також має уникати імпортів `openclaw/plugin-sdk/<other-plugin>`.
Якщо helper справді є спільним, просуньте його до нейтрального підшляху SDK,
такого як `openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої
поверхні, орієнтованої на можливість, замість зв’язування двох plugins між собою.
Production-код розширень також має уникати імпортів
`openclaw/plugin-sdk/<other-plugin>`. Якщо допоміжний засіб справді є спільним,
перенесіть його до нейтрального підшляху SDK, такого як
`openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої
поверхні, орієнтованої на можливості, замість зв’язування двох плагінів між собою.
</Warning>
## Пов’язане
- [Entry Points](/uk/plugins/sdk-entrypoints) — параметри `definePluginEntry` і `defineChannelPluginEntry`
- [Runtime Helpers](/uk/plugins/sdk-runtime) — повний довідник простору імен `api.runtime`
- [Setup and Config](/uk/plugins/sdk-setup) — пакування, маніфести, схеми config
- [Setup and Config](/uk/plugins/sdk-setup) — пакування, маніфести, схеми конфігурації
- [Testing](/uk/plugins/sdk-testing) — утиліти тестування та правила lint
- [SDK Migration](/uk/plugins/sdk-migration) — міграція із застарілих поверхонь
- [Plugin Internals](/uk/plugins/architecture) — глибока архітектура та модель можливостей
- [SDK Migration](/uk/plugins/sdk-migration) — міграція з застарілих поверхонь
- [Plugin Internals](/uk/plugins/architecture) — поглиблена архітектура та модель можливостей