chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-22 18:26:56 +00:00
parent 9ddcfb0330
commit dd945265ce
2 changed files with 387 additions and 382 deletions

View File

@ -2,93 +2,93 @@
read_when:
- Вам потрібно зрозуміти, чому завдання CI запустилося або не запустилося
- Ви налагоджуєте збої перевірок GitHub Actions
summary: Граф завдань CI, обмеження за областями змін і локальні еквіваленти команд
summary: Граф завдань CI, бар’єри областей змін і локальні еквіваленти команд
title: Конвеєр CI
x-i18n:
generated_at: "2026-04-22T17:44:23Z"
generated_at: "2026-04-22T18:24:53Z"
model: gpt-5.4
provider: openai
source_hash: 6a59adfb2c9b8c0bed3c2b72a7f76387c67dee21190f0294efdce6e3672781ff
source_hash: 302deb5128fa734b69380f272d648dd3259afa74a2b7754fbb7389779349297e
source_path: ci.md
workflow: 15
---
# Конвеєр CI
CI запускається для кожного push у `main` і для кожного pull request. Він використовує розумне обмеження за областями змін, щоб пропускати дорогі завдання, коли змінилися лише нерелевантні ділянки.
CI запускається при кожному push до `main` і для кожного pull request. Він використовує розумне визначення області змін, щоб пропускати дорогі завдання, коли змінено лише непов’язані частини.
## Огляд завдань
| Завдання | Призначення | Коли запускається |
| -------------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------------- |
| `preflight` | Визначає зміни лише в документації, змінені області, змінені розширення і збирає маніфест CI | Завжди для push і PR, що не є draft |
| `security-scm-fast` | Виявлення приватних ключів і аудит workflow через `zizmor` | Завжди для push і PR, що не є draft |
| `security-dependency-audit` | Аудит production lockfile без залежностей щодо advisory npm | Завжди для push і PR, що не є draft |
| `security-fast` | Обов’язковий агрегатор для швидких завдань безпеки | Завжди для push і PR, що не є draft |
| `build-artifacts` | Збирає `dist/` і Control UI один раз, завантажує повторно використовувані артефакти для downstream-завдань | Зміни, релевантні для Node |
| `checks-fast-core` | Швидкі Linux-перевірки коректності, як-от bundled/plugin-contract/protocol checks | Зміни, релевантні для Node |
| `checks-fast-contracts-channels` | Шардовані перевірки контрактів каналів зі стабільним агрегованим результатом перевірки | Зміни, релевантні для Node |
| `checks-node-extensions` | Повні шардовані тести bundled-plugin для всього набору розширень | Зміни, релевантні для Node |
| `checks-node-core-test` | Шардовані core Node тести, без урахування channel, bundled, contract і extension lane | Зміни, релевантні для Node |
| `extension-fast` | Точкові тести лише для змінених bundled plugin | Коли виявлено зміни розширень |
| `check` | Шардований еквівалент основного локального gate: production types, lint, guards, test types і strict smoke | Зміни, релевантні для Node |
| `check-additional` | Шарди для architecture, boundary, extension-surface guards, package-boundary і gateway-watch | Зміни, релевантні для Node |
| `build-smoke` | Smoke-тести зібраного CLI і smoke-перевірка пам’яті під час запуску | Зміни, релевантні для Node |
| `checks` | Решта Linux Node lane: channel tests і сумісність Node 22 лише для push | Зміни, релевантні для Node |
| `check-docs` | Форматування документації, lint і перевірка битих посилань | Коли змінено документацію |
| `skills-python` | Ruff + pytest для Skills на Python | Зміни, релевантні для Python Skills |
| `checks-windows` | Специфічні для Windows тестові lane | Зміни, релевантні для Windows |
| `macos-node` | Лінія тестів TypeScript на macOS з використанням спільних зібраних артефактів | Зміни, релевантні для macOS |
| `macos-swift` | Swift lint, збірка і тести для застосунку macOS | Зміни, релевантні для macOS |
| `android` | Матриця збірки й тестів Android | Зміни, релевантні для Android |
| Завдання | Призначення | Коли запускається |
| -------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------- |
| `preflight` | Виявляє зміни лише в документації, змінені області, змінені розширення та збирає маніфест CI | Завжди для нечернеткових push і PR |
| `security-scm-fast` | Виявлення приватних ключів і аудит workflow через `zizmor` | Завжди для нечернеткових push і PR |
| `security-dependency-audit` | Аудит production lockfile без залежностей щодо попереджень npm | Завжди для нечернеткових push і PR |
| `security-fast` | Обов’язковий агрегат для швидких завдань безпеки | Завжди для нечернеткових push і PR |
| `build-artifacts` | Один раз збирає `dist/` і Control UI, завантажує повторно використовувані артефакти для наступних завдань | Зміни, релевантні для Node |
| `checks-fast-core` | Швидкі Linux-ланки коректності, такі як перевірки bundled/plugin-contract/protocol | Зміни, релевантні для Node |
| `checks-fast-contracts-channels` | Шардовані перевірки контрактів channel зі стабільним агрегованим результатом перевірки | Зміни, релевантні для Node |
| `checks-node-extensions` | Повні шардовані тести bundled-plugin для всього набору розширень | Зміни, релевантні для Node |
| `checks-node-core-test` | Шарди core Node тестів, без channel, bundled, contract і extension ланок | Зміни, релевантні для Node |
| `extension-fast` | Точкові тести лише для змінених bundled plugins | Коли виявлено зміни розширень |
| `check` | Шардований еквівалент основного локального бар’єра: production types, lint, guards, test types і strict smoke | Зміни, релевантні для Node |
| `check-additional` | Шарди архітектурних перевірок, перевірок меж, extension-surface guards, package-boundary і gateway-watch | Зміни, релевантні для Node |
| `build-smoke` | Smoke-тести зібраного CLI і smoke перевірка пам’яті під час запуску | Зміни, релевантні для Node |
| `checks` | Решта Linux Node ланок: тести channel і сумісність Node 22 лише для push | Зміни, релевантні для Node |
| `check-docs` | Форматування документації, lint і перевірки битих посилань | Документацію змінено |
| `skills-python` | Ruff + pytest для Skills на Python | Зміни, релевантні для Python Skills |
| `checks-windows` | Специфічні для Windows тестові ланки | Зміни, релевантні для Windows |
| `macos-node` | Ланка TypeScript тестів на macOS із використанням спільних зібраних артефактів | Зміни, релевантні для macOS |
| `macos-swift` | Swift lint, збірка і тести для застосунку macOS | Зміни, релевантні для macOS |
| `android` | Матриця збірки і тестів Android | Зміни, релевантні для Android |
## Порядок Fail-Fast
## Порядок швидкого завершення з помилкою
Завдання впорядковані так, щоб дешеві перевірки падали раніше, ніж запустяться дорогі:
Завдання впорядковані так, щоб дешеві перевірки завершувалися з помилкою раніше, ніж запускатимуться дорогі:
1. `preflight` вирішує, які lane взагалі існують. Логіка `docs-scope` і `changed-scope` — це кроки всередині цього завдання, а не окремі завдання.
2. `security-scm-fast`, `security-dependency-audit`, `security-fast`, `check`, `check-additional`, `check-docs` і `skills-python` падають швидко, не чекаючи важчих матричних завдань для артефактів і платформ.
3. `build-artifacts` виконується паралельно зі швидкими Linux lane, щоб downstream-споживачі могли стартувати, щойно спільна збірка буде готова.
4. Після цього розгалужуються важчі platform і runtime lane: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-extensions`, `checks-node-core-test`, `extension-fast`, `checks`, `checks-windows`, `macos-node`, `macos-swift` і `android`.
1. `preflight` визначає, які ланки взагалі існують. Логіка `docs-scope` і `changed-scope` — це кроки всередині цього завдання, а не окремі завдання.
2. `security-scm-fast`, `security-dependency-audit`, `security-fast`, `check`, `check-additional`, `check-docs` і `skills-python` швидко завершуються з помилкою, не чекаючи важчих завдань із артефактами та платформеними матрицями.
3. `build-artifacts` виконується паралельно зі швидкими Linux-ланками, щоб наступні споживачі могли стартувати, щойно спільна збірка буде готова.
4. Після цього розгалужуються важчі платформені та runtime-ланки: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-extensions`, `checks-node-core-test`, `extension-fast`, `checks`, `checks-windows`, `macos-node`, `macos-swift` і `android`.
Логіка обмеження за областями змін міститься в `scripts/ci-changed-scope.mjs` і покрита unit-тестами в `src/scripts/ci-changed-scope.test.ts`.
Редагування CI workflow перевіряє граф Node CI разом із linting workflow, але саме по собі не примушує виконувати нативні збірки для Windows, Android або macOS; ці platform lane, як і раніше, залежать лише від змін у коді відповідних платформ.
Окремий workflow `install-smoke` повторно використовує той самий скрипт області змін через власне завдання `preflight`. Він обчислює `run_install_smoke` на основі вужчого сигналу changed-smoke, тому Docker/install smoke запускається лише для змін, релевантних встановленню, пакуванню й контейнерам. Його smoke для QR package примусово перезапускає Docker-шар `pnpm install`, водночас зберігаючи кеш BuildKit pnpm store, тож він усе одно перевіряє встановлення без повторного завантаження залежностей під час кожного запуску.
Логіка областей змін міститься в `scripts/ci-changed-scope.mjs` і покрита unit-тестами в `src/scripts/ci-changed-scope.test.ts`.
Зміни у workflow CI перевіряють граф Node CI разом із lint перевірок workflow, але самі по собі не примушують запускати native-збірки для Windows, Android або macOS; ці платформені ланки й надалі обмежуються змінами у вихідному коді відповідних платформ.
Окремий workflow `install-smoke` повторно використовує той самий скрипт області змін через власне завдання `preflight`. Він обчислює `run_install_smoke` на основі вужчого сигналу changed-smoke, тому Docker/install smoke запускається лише для змін, релевантних до встановлення, пакування та контейнерів. Його QR package smoke примушує Docker-шар `pnpm install` виконатися повторно, зберігаючи кеш BuildKit pnpm store, тому він усе одно перевіряє встановлення без повторного завантаження залежностей при кожному запуску.
Локальна логіка changed-lane міститься в `scripts/changed-lanes.mjs` і виконується через `scripts/check-changed.mjs`. Цей локальний gate суворіший щодо меж архітектури, ніж широке CI-обмеження за платформами: зміни у core production запускають core prod typecheck плюс core тести, зміни лише в core tests запускають тільки core test typecheck/tests, зміни в extension production запускають extension prod typecheck плюс extension тести, а зміни лише в extension tests запускають тільки extension test typecheck/tests. Зміни в публічному Plugin SDK або plugin-contract розширюють перевірку на extensions, оскільки extensions залежать від цих core-контрактів. Зміни лише в release metadata, пов’язані з version bump, запускають точкові перевірки version/config/root-dependency. Невідомі зміни в root/config для безпеки запускають усі lane.
Локальна логіка changed-lane міститься в `scripts/changed-lanes.mjs` і виконується через `scripts/check-changed.mjs`. Цей локальний бар’єр суворіший щодо архітектурних меж, ніж широка платформена область CI: зміни у production-коді core запускають core prod typecheck разом із core tests, зміни лише в core tests запускають лише core test typecheck/tests, зміни у production-коді extension запускають extension prod typecheck разом із extension tests, а зміни лише в extension tests запускають лише extension test typecheck/tests. Зміни в публічному Plugin SDK або plugin-contract розширюють перевірку до extension validation, оскільки розширення залежать від цих core-контрактів. Підвищення версії лише в release metadata запускають цільові перевірки version/config/root-dependency. Невідомі зміни в root/config безпечно призводять до запуску всіх ланок.
Для push матриця `checks` додає lane `compat-node22`, який запускається лише для push. Для pull request цей lane пропускається, а матриця залишається зосередженою на звичайних test/channel lane.
Для push матриця `checks` додає ланку `compat-node22`, яка запускається лише для push. Для pull request ця ланка пропускається, і матриця зосереджується на звичайних test/channel ланках.
Найповільніші сімейства Node-тестів розділені або збалансовані так, щоб кожне завдання залишалося невеликим: контракти каналів ділять перевірки registry і core coverage на вісім вагових shard для кожного, тести auto-reply reply поділяються за групою префіксів, а agentic gateway/plugin configs розподіляються по наявних source-only agentic Node jobs замість очікування зібраних артефактів. `check-additional` тримає package-boundary compile/canary-роботи разом і відокремлює їх від gateway/architecture-робіт топології runtime; shard boundary guard паралельно виконує свої невеликі незалежні guards в межах одного завдання, а gateway watch regression використовує мінімальний профіль збірки `gatewayWatch` замість повторної збірки повного набору sidecar-артефактів CI.
Найповільніші сімейства Node тестів розділено або збалансовано так, щоб кожне завдання залишалося невеликим: контракти channel розділяють покриття registry і core на вісім зважених шардів для кожного, тести auto-reply reply поділено за групами префіксів, а agentic gateway/plugin configs розподілено по наявних source-only agentic Node jobs замість очікування на зібрані артефакти. `check-additional` тримає compile/canary роботу package-boundary разом і відокремлює її від runtime topology gateway/architecture роботи; шард boundary guard виконує свої невеликі незалежні guards паралельно в межах одного завдання, а регресія gateway watch використовує мінімальний профіль збірки `gatewayWatch` замість повторної збірки повного набору sidecar-артефактів CI.
GitHub може позначати витіснені новішим запуском завдання як `cancelled`, коли новий push потрапляє в той самий PR або ref `main`. Сприймайте це як шум CI, якщо тільки найновіший запуск для того самого ref також не падає. Агреговані shard-перевірки використовують `!cancelled() && always()`, тому вони все одно повідомляють про звичайні збої shard, але не стають у чергу після того, як увесь workflow уже був витіснений новішим.
Ключ concurrency у CI версіонований (`CI-v2-*`), щоб zombie-процес на боці GitHub у старій групі черги не міг безстроково блокувати нові запуски в main.
GitHub може позначати витіснені завдання як `cancelled`, коли новіший push надходить у той самий PR або ref `main`. Сприймайте це як шум CI, якщо тільки найновіший запуск для того самого ref також не завершується з помилкою. Агреговані перевірки шардів використовують `!cancelled() && always()`, тому вони все одно повідомляють про звичайні збої шардів, але не стають у чергу після того, як увесь workflow уже було витіснено.
Ключ concurrency CI має версіонування (`CI-v2-*`), щоб zombie-процес на боці GitHub у старій групі черги не міг безстроково блокувати новіші запуски для main.
## Runner-и
| Runner | Завдання |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ubuntu-24.04` | `preflight`, швидкі завдання безпеки й агрегатори (`security-scm-fast`, `security-dependency-audit`, `security-fast`), швидкі protocol/contract/bundled checks, шардовані перевірки контрактів каналів, shard-и `check`, окрім lint, shard-и й агрегатори `check-additional`, перевірки документації, Python Skills, workflow-sanity, labeler, auto-response; preflight для install-smoke також використовує GitHub-hosted Ubuntu, щоб матриця Blacksmith могла стати в чергу раніше |
| `blacksmith-8vcpu-ubuntu-2404` | `build-artifacts`, build-smoke, shard-и Linux Node-тестів, shard-и тестів bundled plugin, решта споживачів зібраних артефактів, `android` |
| `blacksmith-16vcpu-ubuntu-2404` | `check-lint`, який і надалі настільки чутливий до CPU, що 8 vCPU коштували дорожче, ніж давали користі |
| `blacksmith-16vcpu-windows-2025` | `checks-windows` |
| `blacksmith-6vcpu-macos-latest` | `macos-node` у `openclaw/openclaw`; для fork використовується `macos-latest` |
| `blacksmith-12vcpu-macos-latest` | `macos-swift` у `openclaw/openclaw`; для fork використовується `macos-latest` |
| Runner | Завдання |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ubuntu-24.04` | `preflight`, швидкі завдання безпеки та їхні агрегати (`security-scm-fast`, `security-dependency-audit`, `security-fast`), швидкі перевірки protocol/contract/bundled, шардовані перевірки контрактів channel, шарди `check`, окрім lint, шарди й агрегати `check-additional`, перевірки документації, Python Skills, workflow-sanity, labeler, auto-response; preflight для install-smoke також використовує GitHub-hosted Ubuntu, щоб матриця Blacksmith могла стати в чергу раніше |
| `blacksmith-8vcpu-ubuntu-2404` | `build-artifacts`, build-smoke, шарди Linux Node тестів, шарди bundled plugin тестів, решта споживачів зібраних артефактів, `android` |
| `blacksmith-16vcpu-ubuntu-2404` | `check-lint`, яке й далі настільки чутливе до CPU, що 8 vCPU коштували дорожче, ніж давали вигоду; Docker-збірки install-smoke, де витрати часу на чергу для 32 vCPU були вищими за вигоду |
| `blacksmith-16vcpu-windows-2025` | `checks-windows` |
| `blacksmith-6vcpu-macos-latest` | `macos-node` у `openclaw/openclaw`; для fork використовується `macos-latest` |
| `blacksmith-12vcpu-macos-latest` | `macos-swift` у `openclaw/openclaw`; для fork використовується `macos-latest` |
## Локальні еквіваленти
```bash
pnpm changed:lanes # inspect the local changed-lane classifier for origin/main...HEAD
pnpm check:changed # smart local gate: changed typecheck/lint/tests by boundary lane
pnpm check # fast local gate: production tsgo + sharded lint + parallel fast guards
pnpm changed:lanes # перевірити локальний класифікатор changed-lane для origin/main...HEAD
pnpm check:changed # розумний локальний бар’єр: changed typecheck/lint/tests за boundary lane
pnpm check # швидкий локальний бар’єр: production tsgo + шардований lint + паралельні швидкі guards
pnpm check:test-types
pnpm check:timed # same gate with per-stage timings
pnpm check:timed # той самий бар’єр із таймінгами для кожного етапу
pnpm build:strict-smoke
pnpm check:architecture
pnpm test:gateway:watch-regression
pnpm test # vitest tests
pnpm test # тести vitest
pnpm test:channels
pnpm test:contracts:channels
pnpm check:docs # docs format + lint + broken links
pnpm build # build dist when CI artifact/build-smoke lanes matter
pnpm check:docs # форматування документації + lint + биті посилання
pnpm build # зібрати dist, коли важливі ланки CI artifact/build-smoke
```

View File

@ -1,30 +1,30 @@
---
read_when:
- Вам потрібно знати, з якого підшляху SDK імпортувати
- Вам потрібен довідник для всіх методів реєстрації в OpenClawPluginApi
- Вам потрібна довідка з усіх методів реєстрації в OpenClawPluginApi
- Ви шукаєте конкретний експорт SDK
sidebarTitle: SDK Overview
summary: Карта імпортів, довідник API реєстрації та архітектура SDK
summary: Карта імпортів, довідка з API реєстрації та архітектура SDK
title: Огляд Plugin SDK
x-i18n:
generated_at: "2026-04-22T17:55:48Z"
generated_at: "2026-04-22T18:24:52Z"
model: gpt-5.4
provider: openai
source_hash: d010d8c8df684325b481e9e7b0709a079be4db10452fe64d29e2a2ccbbbf10e8
source_hash: 8bfe442b41b41c03081e4a206ede6b8ae62b920096a69cf46d5843f2217e4a6c
source_path: plugins/sdk-overview.md
workflow: 15
---
# Огляд Plugin SDK
Plugin SDK — це типізований контракт між plugins і ядром. Ця сторінка є
довідником для **що імпортувати** і **що можна реєструвати**.
Plugin SDK — це типізований контракт між plugin і ядром. Ця сторінка —
довідник з **того, що імпортувати** і **що можна реєструвати**.
<Tip>
**Шукаєте практичний посібник?**
**Шукаєте покроковий посібник?**
- Перший plugin? Почніть із [Getting Started](/uk/plugins/building-plugins)
- Plugin каналу? Дивіться [Channel Plugins](/uk/plugins/sdk-channel-plugins)
- Plugin провайдера? Дивіться [Provider Plugins](/uk/plugins/sdk-provider-plugins)
- Channel plugin? Див. [Channel Plugins](/uk/plugins/sdk-channel-plugins)
- Provider plugin? Див. [Provider Plugins](/uk/plugins/sdk-provider-plugins)
</Tip>
## Угода щодо імпорту
@ -36,35 +36,37 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
```
Кожен підшлях — це невеликий самодостатній модуль. Це зберігає швидкий запуск і
запобігає проблемам із циклічними залежностями. Для специфічних для каналу
допоміжних засобів entry/build надавайте перевагу `openclaw/plugin-sdk/channel-core`; `openclaw/plugin-sdk/core` залишайте для
ширшої узагальненої поверхні та спільних допоміжних засобів, таких як
Кожен підшлях — це невеликий самодостатній модуль. Це пришвидшує запуск і
запобігає проблемам із циклічними залежностями. Для допоміжних функцій
побудови/точок входу, специфічних для channel, надавайте перевагу
`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`, або
допоміжні шляхи, брендовані каналами. Вбудовані plugins мають компонувати
узагальнені підшляхи SDK усередині власних barrel-файлів `api.ts` або `runtime-api.ts`, а ядро
має або використовувати ці локальні barrel-файли plugin, або додавати вузький узагальнений SDK
контракт, коли потреба справді є міжканальною.
допоміжні seams із брендуванням channel. Вбудовані plugin мають компонувати
загальні підшляхи SDK у власних barrel-файлах `api.ts` або `runtime-api.ts`, а
ядро має або використовувати ці локальні для plugin barrel-файли, або додавати
вузький загальний контракт SDK, коли потреба справді є міжканальною.
Згенерована карта експортів усе ще містить невеликий набір допоміжних шляхів
вбудованих plugins, таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
Згенерована карта експортів усе ще містить невеликий набір допоміжних seams для
вбудованих plugin, таких як `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`,
`plugin-sdk/zalo`, `plugin-sdk/zalo-setup` і `plugin-sdk/matrix*`. Ці
підшляхи існують лише для підтримки та сумісності вбудованих plugins; вони
навмисно не включені до поширеної таблиці нижче і не є рекомендованим
шляхом імпорту для нових сторонніх plugins.
підшляхи існують лише для підтримки та сумісності вбудованих plugin; їх
навмисно пропущено в загальній таблиці нижче, і вони не є рекомендованим
шляхом імпорту для нових сторонніх plugin.
## Довідник підшляхів
Найуживаніші підшляхи, згруповані за призначенням. Згенерований повний список із
понад 200 підшляхів знаходиться в `scripts/lib/plugin-sdk-entrypoints.json`.
понад 200 підшляхів міститься в `scripts/lib/plugin-sdk-entrypoints.json`.
Зарезервовані допоміжні підшляхи вбудованих plugins усе ще з’являються в цьому згенерованому списку.
Розглядайте їх як поверхні деталей реалізації/сумісності, якщо лише сторінка документації
не просуває якийсь із них явно як публічний.
Зарезервовані допоміжні підшляхи для вбудованих plugin усе ще з’являються в
цьому згенерованому списку. Вважайте їх деталями реалізації/поверхнями
сумісності, якщо сторінка документації явно не просуває якийсь із них як
публічний.
### Точка входу plugin
@ -76,314 +78,315 @@ import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core";
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
<AccordionGroup>
<Accordion title="Підшляхи каналів">
<Accordion title="Підшляхи Channel">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/config-schema` | Кореневий експорт Zod-схеми `openclaw.json` (`OpenClawSchema`) |
| `plugin-sdk/config-schema` | Експорт кореневої Zod-схеми `openclaw.json` (`OpenClawSchema`) |
| `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, а також `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування, allowlist-підказки, побудовники статусу налаштування |
| `plugin-sdk/setup` | Спільні допоміжні функції майстра налаштування, підказки allowlist, побудовники статусу налаштування |
| `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` |
| `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | Допоміжні засоби для мультиакаунтної конфігурації/action-gate, допоміжні засоби fallback для акаунта за замовчуванням |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації account-id |
| `plugin-sdk/account-resolution` | Пошук акаунта + допоміжні засоби fallback до значення за замовчуванням |
| `plugin-sdk/account-helpers` | Вузькі допоміжні засоби для списку акаунтів/дій з акаунтами |
| `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` | Типи схеми конфігурації каналу |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram із fallback на вбудований контракт |
| `plugin-sdk/command-gating` | Вузькі допоміжні засоби шлюзу авторизації команд |
| `plugin-sdk/channel-config-schema` | Типи схем конфігурації channel |
| `plugin-sdk/telegram-command-config` | Допоміжні функції нормалізації/валідації користувацьких команд Telegram із резервним переходом до вбудованого контракту |
| `plugin-sdk/command-gating` | Вузькі допоміжні функції шлюзу авторизації команд |
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink`, допоміжні засоби життєвого циклу/фіналізації чернеток потоків |
| `plugin-sdk/inbound-envelope` | Спільні допоміжні засоби маршрутизації вхідних повідомлень + побудови envelope |
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби запису та диспетчеризації вхідних відповідей |
| `plugin-sdk/messaging-targets` | Допоміжні засоби розбору/зіставлення цілей |
| `plugin-sdk/outbound-media` | Спільні допоміжні засоби завантаження вихідного медіа |
| `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідної ідентичності, send delegate і планування payload |
| `plugin-sdk/poll-runtime` | Вузькі допоміжні засоби нормалізації poll |
| `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби життєвого циклу прив’язок потоків і adapter |
| `plugin-sdk/agent-media-payload` | Застарілий побудовник медіа payload агента |
| `plugin-sdk/conversation-runtime` | Допоміжні засоби прив’язки conversation/thread, pairing і configured-binding |
| `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб знімка конфігурації runtime |
| `plugin-sdk/runtime-group-policy` | Допоміжні засоби визначення group-policy у runtime |
| `plugin-sdk/channel-status` | Спільні допоміжні засоби знімка/підсумку статусу каналу |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви схеми конфігурації каналу |
| `plugin-sdk/channel-config-writes` | Допоміжні засоби авторизації запису конфігурації каналу |
| `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти plugin каналу |
| `plugin-sdk/allowlist-config-edit` | Допоміжні засоби редагування/читання конфігурації allowlist |
| `plugin-sdk/group-access` | Спільні допоміжні засоби визначення group-access |
| `plugin-sdk/direct-dm` | Спільні допоміжні засоби auth/guard для прямих DM |
| `plugin-sdk/interactive-runtime` | Семантичне представлення повідомлень, доставка та застарілі допоміжні засоби interactive reply. Див. [Message Presentation](/uk/plugins/message-presentation) |
| `plugin-sdk/channel-inbound` | Compatibility barrel для debounce вхідних повідомлень, зіставлення згадок, допоміжних засобів mention-policy і допоміжних засобів envelope |
| `plugin-sdk/channel-mention-gating` | Вузькі допоміжні засоби mention-policy без ширшої поверхні inbound runtime |
| `plugin-sdk/channel-location` | Допоміжні засоби контексту місцезнаходження каналу та форматування |
| `plugin-sdk/channel-logging` | Допоміжні засоби логування каналу для відкинутих вхідних повідомлень і збоїв typing/ack |
| `plugin-sdk/channel-lifecycle` | `createAccountStatusSink`, допоміжні функції життєвого циклу/фіналізації чернетки потоку |
| `plugin-sdk/inbound-envelope` | Спільні допоміжні функції побудови вхідних маршрутів і envelope |
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні функції запису та диспетчеризації вхідних повідомлень |
| `plugin-sdk/messaging-targets` | Допоміжні функції розбору/зіставлення цілей |
| `plugin-sdk/outbound-media` | Спільні допоміжні функції завантаження вихідних медіа |
| `plugin-sdk/outbound-runtime` | Допоміжні функції вихідної ідентичності, делегата надсилання та планування payload |
| `plugin-sdk/poll-runtime` | Вузькі допоміжні функції нормалізації опитувань |
| `plugin-sdk/thread-bindings-runtime` | Допоміжні функції життєвого циклу прив’язок потоків і адаптера |
| `plugin-sdk/agent-media-payload` | Застарілий побудовник медіа-payload агента |
| `plugin-sdk/conversation-runtime` | Допоміжні функції прив’язки conversation/thread, pairing і налаштованих binding |
| `plugin-sdk/runtime-config-snapshot` | Допоміжна функція знімка конфігурації виконання |
| `plugin-sdk/runtime-group-policy` | Допоміжні функції визначення group-policy під час виконання |
| `plugin-sdk/channel-status` | Спільні допоміжні функції знімка/підсумку статусу channel |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви схеми конфігурації channel |
| `plugin-sdk/channel-config-writes` | Допоміжні функції авторизації запису конфігурації channel |
| `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти channel plugin |
| `plugin-sdk/allowlist-config-edit` | Допоміжні функції читання/редагування конфігурації allowlist |
| `plugin-sdk/group-access` | Спільні допоміжні функції рішень щодо group-access |
| `plugin-sdk/direct-dm` | Спільні допоміжні функції авторизації/захисту direct-DM |
| `plugin-sdk/interactive-runtime` | Семантичне представлення повідомлень, доставка та застарілі допоміжні функції інтерактивних відповідей. Див. [Message Presentation](/uk/plugins/message-presentation) |
| `plugin-sdk/channel-inbound` | Barrel сумісності для debounce вхідних повідомлень, зіставлення згадок, допоміжних функцій mention-policy і envelope |
| `plugin-sdk/channel-mention-gating` | Вузькі допоміжні функції mention-policy без ширшої поверхні runtime для вхідних повідомлень |
| `plugin-sdk/channel-location` | Допоміжні функції контексту та форматування розташування channel |
| `plugin-sdk/channel-logging` | Допоміжні функції журналювання channel для скидання вхідних повідомлень і збоїв typing/ack |
| `plugin-sdk/channel-send-result` | Типи результатів відповіді |
| `plugin-sdk/channel-actions` | Допоміжні засоби message-action каналу, а також застарілі власні допоміжні засоби схем, збережені для сумісності plugins |
| `plugin-sdk/channel-targets` | Допоміжні засоби розбору/зіставлення цілей |
| `plugin-sdk/channel-contract` | Типи контракту каналу |
| `plugin-sdk/channel-feedback` | Зв’язування feedback/reaction |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби secret-контракту, такі як `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи цілей секретів |
| `plugin-sdk/channel-actions` | Допоміжні функції дій із повідомленнями channel, а також застарілі допоміжні функції native schema, збережені для сумісності plugin |
| `plugin-sdk/channel-targets` | Допоміжні функції розбору/зіставлення цілей |
| `plugin-sdk/channel-contract` | Типи контракту channel |
| `plugin-sdk/channel-feedback` | Підключення відгуків/реакцій |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні функції контракту секретів, такі як `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи цілей секретів |
</Accordion>
<Accordion title="Підшляхи провайдерів">
<Accordion title="Підшляхи Provider">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних/self-hosted провайдерів |
| `plugin-sdk/self-hosted-provider-setup` | Сфокусовані допоміжні засоби налаштування self-hosted провайдерів, сумісних з OpenAI |
| `plugin-sdk/cli-backend` | Значення за замовчуванням для CLI backend + константи watchdog |
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби визначення API-ключа в runtime для plugins провайдерів |
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби онбордингу/запису профілю API-ключа, такі як `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний побудовник результату OAuth auth |
| `plugin-sdk/provider-auth-login` | Спільні допоміжні засоби інтерактивного входу для plugins провайдерів |
| `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку auth env-var для провайдерів |
| `plugin-sdk/provider-setup` | Кураторські допоміжні функції налаштування локального/self-hosted provider |
| `plugin-sdk/self-hosted-provider-setup` | Сфокусовані допоміжні функції налаштування self-hosted provider, сумісного з OpenAI |
| `plugin-sdk/cli-backend` | Типові значення CLI backend + константи watchdog |
| `plugin-sdk/provider-auth-runtime` | Допоміжні функції визначення API-key під час виконання для provider plugin |
| `plugin-sdk/provider-auth-api-key` | Допоміжні функції онбордингу API-key/запису профілю, такі як `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний побудовник результату OAuth-автентифікації |
| `plugin-sdk/provider-auth-login` | Спільні допоміжні функції інтерактивного входу для provider plugin |
| `plugin-sdk/provider-env-vars` | Допоміжні функції пошуку env var для автентифікації provider |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні побудовники replay-policy, допоміжні засоби endpoint провайдера та допоміжні засоби нормалізації model-id, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні побудовники replay-policy, допоміжні функції endpoint provider і нормалізації model-id, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `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 |
| `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні засоби контракту конфігурації/облікових даних web-search, такі як `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і setter/getter облікових даних з обмеженою областю дії |
| `plugin-sdk/provider-web-search` | Допоміжні засоби реєстрації/кешування/runtime для web-search провайдерів |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика та допоміжні засоби сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-usage` | `fetchClaudeUsage` та подібні |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи stream wrapper і спільні допоміжні засоби wrapper для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-transport-runtime` | Допоміжні засоби нативного транспортного рівня провайдера, такі як guarded fetch, перетворення транспортних повідомлень і записувані потоки транспортних подій |
| `plugin-sdk/provider-onboard` | Допоміжні засоби patch конфігурації онбордингу |
| `plugin-sdk/global-singleton` | Допоміжні засоби process-local singleton/map/cache |
| `plugin-sdk/provider-http` | Загальні допоміжні функції можливостей HTTP/endpoint для provider |
| `plugin-sdk/provider-web-fetch-contract` | Вузькі допоміжні функції контракту конфігурації/вибору web-fetch, такі як `enablePluginInConfig` і `WebFetchProviderPlugin` |
| `plugin-sdk/provider-web-fetch` | Допоміжні функції реєстрації/кешування web-fetch provider |
| `plugin-sdk/provider-web-search-config-contract` | Вузькі допоміжні функції конфігурації/облікових даних web-search для provider, яким не потрібне підключення ввімкнення plugin |
| `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні функції контракту конфігурації/облікових даних web-search, такі як `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і scoped setter/getter для облікових даних |
| `plugin-sdk/provider-web-search` | Допоміжні функції реєстрації/кешування/runtime для web-search provider |
| `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-transport-runtime` | Власні допоміжні функції транспорту provider, такі як guarded fetch, перетворення транспортних повідомлень і потоки подій транспорту для запису |
| `plugin-sdk/provider-onboard` | Допоміжні функції патчу конфігурації онбордингу |
| `plugin-sdk/global-singleton` | Допоміжні функції process-local singleton/map/cache |
</Accordion>
<Accordion title="Підшляхи auth і безпеки">
<Accordion title="Підшляхи автентифікації та безпеки">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби реєстру команд, допоміжні засоби авторизації відправника |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні функції реєстру команд, допоміжні функції авторизації відправника |
| `plugin-sdk/command-status` | Побудовники повідомлень команд/довідки, такі як `buildCommandsMessagePaginated` і `buildHelpMessage` |
| `plugin-sdk/approval-auth-runtime` | Визначення approver і допоміжні засоби action-auth для того самого чату |
| `plugin-sdk/approval-client-runtime` | Допоміжні засоби профілю/фільтра native exec approval |
| `plugin-sdk/approval-delivery-runtime` | Native adapter можливостей/доставки approval |
| `plugin-sdk/approval-gateway-runtime` | Спільний допоміжний засіб визначення approval gateway |
| `plugin-sdk/approval-handler-adapter-runtime` | Легковагові допоміжні засоби завантаження native adapter approval для гарячих channel entrypoint |
| `plugin-sdk/approval-handler-runtime` | Ширші допоміжні засоби approval handler runtime; надавайте перевагу вужчим adapter/gateway seams, коли їх достатньо |
| `plugin-sdk/approval-native-runtime` | Допоміжні засоби native approval target + прив’язки акаунта |
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload відповіді exec/plugin approval |
| `plugin-sdk/command-auth-native` | Native command auth + native допоміжні засоби session-target |
| `plugin-sdk/command-detection` | Спільні допоміжні засоби виявлення команд |
| `plugin-sdk/command-surface` | Нормалізація command-body і допоміжні засоби command-surface |
| `plugin-sdk/approval-auth-runtime` | Допоміжні функції визначення того, хто схвалює, і авторизації дій у межах того самого чату |
| `plugin-sdk/approval-client-runtime` | Власні допоміжні функції профілю/фільтра схвалення exec |
| `plugin-sdk/approval-delivery-runtime` | Власні адаптери можливостей/доставки схвалення |
| `plugin-sdk/approval-gateway-runtime` | Спільна допоміжна функція визначення Gateway для схвалення |
| `plugin-sdk/approval-handler-adapter-runtime` | Легковагі допоміжні функції завантаження власного адаптера схвалення для гарячих точок входу channel |
| `plugin-sdk/approval-handler-runtime` | Ширші допоміжні функції runtime обробника схвалення; надавайте перевагу вужчим adapter/gateway seams, коли їх достатньо |
| `plugin-sdk/approval-native-runtime` | Власні допоміжні функції цілі схвалення + прив’язки акаунта |
| `plugin-sdk/approval-reply-runtime` | Допоміжні функції payload відповіді для схвалення exec/plugin |
| `plugin-sdk/command-auth-native` | Власна автентифікація команд + власні допоміжні функції target сесії |
| `plugin-sdk/command-detection` | Спільні допоміжні функції виявлення команд |
| `plugin-sdk/command-surface` | Допоміжні функції нормалізації тіла команди та surface команд |
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби збирання secret-контракту для поверхонь секретів channel/plugin |
| `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні засоби `coerceSecretRef` і типізації SecretRef для парсингу secret-контракту/конфігурації |
| `plugin-sdk/security-runtime` | Спільні допоміжні засоби trust, DM gating, external-content і збирання секретів |
| `plugin-sdk/ssrf-policy` | Допоміжні засоби політики SSRF для host allowlist і приватних мереж |
| `plugin-sdk/ssrf-dispatcher` | Вузькі допоміжні засоби pinned-dispatcher без широкої infra runtime surface |
| `plugin-sdk/ssrf-runtime` | Pinned-dispatcher, fetch із SSRF-захистом і допоміжні засоби політики SSRF |
| `plugin-sdk/secret-input` | Допоміжні засоби парсингу secret input |
| `plugin-sdk/webhook-ingress` | Допоміжні засоби Webhook request/target |
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби для розміру body request/timeout |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні функції збору secret-contract для поверхонь секретів channel/plugin |
| `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні функції типізації `coerceSecretRef` і SecretRef для розбору secret-contract/config |
| `plugin-sdk/security-runtime` | Спільні допоміжні функції довіри, шлюзу DM, зовнішнього вмісту та збору секретів |
| `plugin-sdk/ssrf-policy` | Допоміжні функції allowlist хостів і політики SSRF для приватної мережі |
| `plugin-sdk/ssrf-dispatcher` | Вузькі допоміжні функції pinned-dispatcher без широкої surface runtime інфраструктури |
| `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` | Широкі допоміжні засоби runtime/logging/backup/встановлення plugin |
| `plugin-sdk/runtime-env` | Вузькі допоміжні засоби runtime env, logger, timeout, retry і backoff |
| `plugin-sdk/channel-runtime-context` | Узагальнені допоміжні засоби реєстрації та пошуку channel runtime-context |
| `plugin-sdk/runtime` | Широкі допоміжні функції runtime/журналювання/резервного копіювання/встановлення plugin |
| `plugin-sdk/runtime-env` | Вузькі допоміжні функції env runtime, logger, timeout, retry і backoff |
| `plugin-sdk/channel-runtime-context` | Загальні допоміжні функції реєстрації та пошуку runtime-context channel |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
| `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби command/hook/http/interactive для plugin |
| `plugin-sdk/hook-runtime` | Спільні допоміжні засоби pipeline webhook/internal hook |
| `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy runtime import/binding, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Допоміжні засоби exec процесів |
| `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування і версій |
| `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта Gateway і patch статусу каналу |
| `plugin-sdk/config-runtime` | Допоміжні засоби завантаження/запису конфігурації |
| `plugin-sdk/telegram-command-config` | Нормалізація імені/опису команд Telegram і перевірки дублікатів/конфліктів, навіть коли поверхня контракту вбудованого Telegram недоступна |
| `plugin-sdk/text-autolink-runtime` | Виявлення autolink посилань на файли без широкого barrel `text-runtime` |
| `plugin-sdk/approval-runtime` | Допоміжні засоби exec/plugin approval, побудовники approval-capability, допоміжні засоби auth/profile, native routing/runtime helpers |
| `plugin-sdk/reply-runtime` | Спільні допоміжні засоби inbound/reply runtime, chunking, dispatch, Heartbeat, планувальник відповіді |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize відповіді |
| `plugin-sdk/reply-history` | Спільні допоміжні засоби short-window reply-history, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/plugin-runtime` | Спільні допоміжні функції команд/хуків/http/інтерактивності plugin |
| `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` | Допоміжні функції клієнта Gateway і патчів статусу channel |
| `plugin-sdk/config-runtime` | Допоміжні функції завантаження/запису конфігурації |
| `plugin-sdk/telegram-command-config` | Допоміжні функції нормалізації назв/описів команд Telegram і перевірки дублікатів/конфліктів, навіть коли surface контракту вбудованого Telegram недоступна |
| `plugin-sdk/text-autolink-runtime` | Виявлення autolink для посилань на файли без широкого barrel `text-runtime` |
| `plugin-sdk/approval-runtime` | Допоміжні функції схвалення exec/plugin, побудовники можливостей схвалення, допоміжні функції auth/profile, власні допоміжні функції маршрутизації/runtime |
| `plugin-sdk/reply-runtime` | Спільні допоміжні функції runtime для вхідних повідомлень/відповідей, chunking, dispatch, Heartbeat, планувальник відповідей |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні функції dispatch/finalize для відповідей |
| `plugin-sdk/reply-history` | Спільні допоміжні функції short-window історії відповідей, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking тексту/Markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби шляху session store + updated-at |
| `plugin-sdk/state-paths` | Допоміжні засоби шляхів директорій State/OAuth |
| `plugin-sdk/routing` | Допоміжні засоби прив’язки route/session-key/акаунта, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Спільні допоміжні засоби підсумку статусу каналу/акаунта, значення за замовчуванням для runtime-state і допоміжні засоби метаданих issues |
| `plugin-sdk/target-resolver-runtime` | Спільні допоміжні засоби target resolver |
| `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` | Витягування канонічних полів send target з аргументів tool |
| `plugin-sdk/temp-path` | Спільні допоміжні засоби шляхів тимчасового завантаження |
| `plugin-sdk/logging-core` | Допоміжні засоби subsystem logger і редагування чутливих даних |
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму таблиць Markdown |
| `plugin-sdk/json-store` | Невеликі допоміжні засоби читання/запису JSON state |
| `plugin-sdk/file-lock` | Допоміжні засоби повторно вхідного file-lock |
| `plugin-sdk/persistent-dedupe` | Допоміжні засоби dedupe-кешу з дисковим збереженням |
| `plugin-sdk/acp-runtime` | Допоміжні засоби ACP runtime/session і reply-dispatch |
| `plugin-sdk/acp-binding-resolve-runtime` | Розв’язання прив’язок ACP лише для читання без імпортів запуску життєвого циклу |
| `plugin-sdk/agent-config-primitives` | Вузькі примітиви схеми конфігурації agent runtime |
| `plugin-sdk/boolean-param` | Нестрогий reader булевого параметра |
| `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби визначення збігів небезпечних імен |
| `plugin-sdk/device-bootstrap` | Допоміжні засоби bootstrap пристрою і токенів pairing |
| `plugin-sdk/extension-shared` | Спільні примітиви допоміжних засобів passive-channel, status і ambient proxy |
| `plugin-sdk/models-provider-runtime` | Допоміжні засоби відповіді `/models` command/provider |
| `plugin-sdk/skill-commands-runtime` | Допоміжні засоби списку команд Skills |
| `plugin-sdk/native-command-registry` | Допоміжні засоби реєстру/build/serialize native command |
| `plugin-sdk/agent-harness` | Експериментальна surface trusted-plugin для низькорівневих harness агента: типи harness, допоміжні засоби steer/abort активного запуску, місток tool OpenClaw і утиліти результатів attempt |
| `plugin-sdk/provider-zai-endpoint` | Допоміжні засоби виявлення endpoint Z.A.I |
| `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/reply-chunking` | Вузькі допоміжні функції chunking тексту/markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні функції шляху session store + `updated-at` |
| `plugin-sdk/state-paths` | Допоміжні функції шляхів до каталогів state/OAuth |
| `plugin-sdk/routing` | Допоміжні функції маршрутизації/ключа сесії/прив’язки акаунта, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Спільні допоміжні функції підсумку статусу channel/акаунта, типові значення state 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` | Поширені читачі параметрів tool/CLI |
| `plugin-sdk/tool-payload` | Витягування нормалізованих payload із об’єктів результатів tool |
| `plugin-sdk/tool-send` | Витягування канонічних полів цілі надсилання з аргументів tool |
| `plugin-sdk/temp-path` | Спільні допоміжні функції шляхів для тимчасових завантажень |
| `plugin-sdk/logging-core` | Допоміжні функції logger підсистеми та редагування чутливих даних |
| `plugin-sdk/markdown-table-runtime` | Допоміжні функції режиму таблиць Markdown |
| `plugin-sdk/json-store` | Невеликі допоміжні функції читання/запису стану JSON |
| `plugin-sdk/file-lock` | Допоміжні функції повторно-вхідного file-lock |
| `plugin-sdk/persistent-dedupe` | Допоміжні функції dedupe-кешу з дисковим зберіганням |
| `plugin-sdk/acp-runtime` | Допоміжні функції runtime/сесії ACP і dispatch відповідей |
| `plugin-sdk/acp-binding-resolve-runtime` | Визначення прив’язки ACP лише для читання без імпортів запуску життєвого циклу |
| `plugin-sdk/agent-config-primitives` | Вузькі примітиви схеми конфігурації runtime агента |
| `plugin-sdk/boolean-param` | Гнучкий читач boolean-параметрів |
| `plugin-sdk/dangerous-name-runtime` | Допоміжні функції визначення збігів небезпечних імен |
| `plugin-sdk/device-bootstrap` | Допоміжні функції початкового налаштування пристрою та pairing token |
| `plugin-sdk/extension-shared` | Спільні примітиви допоміжних функцій пасивного channel, статусу й ambient proxy |
| `plugin-sdk/models-provider-runtime` | Допоміжні функції відповіді command/provider для `/models` |
| `plugin-sdk/skill-commands-runtime` | Допоміжні функції виведення списку команд Skills |
| `plugin-sdk/native-command-registry` | Допоміжні функції реєстру/побудови/серіалізації власних команд |
| `plugin-sdk/agent-harness` | Експериментальна surface trusted-plugin для низькорівневих agent harness: типи harness, допоміжні функції steer/abort активного запуску, допоміжні функції мосту tool OpenClaw і утиліти результатів спроб |
| `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/runtime-fetch` | Runtime fetch з урахуванням dispatcher без імпортів proxy/guarded-fetch |
| `plugin-sdk/response-limit-runtime` | Reader body відповіді з обмеженням без широкої media runtime surface |
| `plugin-sdk/session-binding-runtime` | Поточний стан прив’язки conversation без routing configured binding або pairing stores |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби читання session-store без широких імпортів запису/обслуговування конфігурації |
| `plugin-sdk/context-visibility-runtime` | Допоміжні засоби визначення видимості контексту і фільтрації додаткового контексту без широких імпортів config/security |
| `plugin-sdk/string-coerce-runtime` | Вузькі допоміжні засоби приведення і нормалізації primitive record/string без імпортів markdown/logging |
| `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації hostname і SCP host |
| `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації retry і запуску retry |
| `plugin-sdk/agent-runtime` | Допоміжні засоби директорії/ідентичності/workspace агента |
| `plugin-sdk/directory-runtime` | Запит/усунення дублікатів директорій на основі конфігурації |
| `plugin-sdk/response-limit-runtime` | Читач тіла відповіді з обмеженням без широкої surface runtime медіа |
| `plugin-sdk/session-binding-runtime` | Поточний стан прив’язки conversation без маршрутизації налаштованих binding або сховищ pairing |
| `plugin-sdk/session-store-runtime` | Допоміжні функції читання session store без широких імпортів запису/обслуговування конфігурації |
| `plugin-sdk/context-visibility-runtime` | Допоміжні функції визначення видимості контексту та фільтрації додаткового контексту без широких імпортів config/security |
| `plugin-sdk/string-coerce-runtime` | Вузькі допоміжні функції приведення й нормалізації примітивних record/рядків без імпортів markdown/logging |
| `plugin-sdk/host-runtime` | Допоміжні функції нормалізації hostname і SCP host |
| `plugin-sdk/retry-runtime` | Допоміжні функції конфігурації retry і виконувача retry |
| `plugin-sdk/agent-runtime` | Допоміжні функції каталогу/ідентичності/робочого простору агента |
| `plugin-sdk/directory-runtime` | Запит/усунення дублікатів каталогів на основі конфігурації |
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
</Accordion>
<Accordion title="Підшляхи можливостей і тестування">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store для медіа, а також побудовники медіа payload |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для генерації медіа, вибору кандидатів і повідомлень про відсутню модель |
| `plugin-sdk/media-understanding` | Типи провайдерів розуміння медіа, а також provider-facing експорти допоміжних засобів зображень/аудіо |
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби text/Markdown/logging, такі як вилучення тексту, видимого асистенту, допоміжні засоби render/chunking/table для Markdown, допоміжні засоби редагування чутливих даних, допоміжні засоби тегів директив і утиліти безпечного тексту |
| `plugin-sdk/text-chunking` | Допоміжний засіб chunking вихідного тексту |
| `plugin-sdk/speech` | Типи speech-провайдерів, а також provider-facing допоміжні засоби directive, registry і validation |
| `plugin-sdk/speech-core` | Спільні типи speech-провайдерів, registry, directive і допоміжні засоби нормалізації |
| `plugin-sdk/realtime-transcription` | Типи провайдерів realtime transcription і допоміжні засоби registry |
| `plugin-sdk/realtime-voice` | Типи провайдерів realtime voice і допоміжні засоби registry |
| `plugin-sdk/image-generation` | Типи провайдерів генерації зображень |
| `plugin-sdk/image-generation-core` | Спільні типи генерації зображень, failover, auth і допоміжні засоби registry |
| `plugin-sdk/music-generation` | Типи провайдерів/запитів/результатів генерації музики |
| `plugin-sdk/music-generation-core` | Спільні типи генерації музики, допоміжні засоби failover, пошуку провайдера і парсингу model-ref |
| `plugin-sdk/video-generation` | Типи провайдерів/запитів/результатів генерації відео |
| `plugin-sdk/video-generation-core` | Спільні типи генерації відео, допоміжні засоби failover, пошуку провайдера і парсингу model-ref |
| `plugin-sdk/webhook-targets` | Допоміжні засоби реєстру Webhook target і встановлення route |
| `plugin-sdk/webhook-path` | Допоміжні засоби нормалізації шляху Webhook |
| `plugin-sdk/web-media` | Спільні допоміжні засоби завантаження віддаленого/локального медіа |
| `plugin-sdk/zod` | Повторно експортований `zod` для користувачів plugin SDK |
| `plugin-sdk/media-runtime` | Спільні допоміжні функції fetch/transform/store для медіа, а також побудовники media payload |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні функції failover для генерації медіа, вибору кандидатів і повідомлень про відсутню модель |
| `plugin-sdk/media-understanding` | Типи provider для розуміння медіа, а також орієнтовані на provider експорти допоміжних функцій для зображень/аудіо |
| `plugin-sdk/text-runtime` | Спільні допоміжні функції text/markdown/logging, такі як видалення видимого для асистента тексту, допоміжні функції render/chunking/table для markdown, допоміжні функції редагування чутливих даних, directive-tag helpers і утиліти безпечного тексту |
| `plugin-sdk/text-chunking` | Допоміжна функція chunking вихідного тексту |
| `plugin-sdk/speech` | Типи speech provider, а також орієнтовані на provider допоміжні функції directive, registry і validation |
| `plugin-sdk/speech-core` | Спільні допоміжні функції типів, registry, directive і normalization для speech provider |
| `plugin-sdk/realtime-transcription` | Типи provider для realtime transcription і допоміжні функції registry |
| `plugin-sdk/realtime-voice` | Типи provider для realtime voice і допоміжні функції registry |
| `plugin-sdk/image-generation` | Типи provider для генерації зображень |
| `plugin-sdk/image-generation-core` | Спільні допоміжні функції типів, failover, auth і registry для генерації зображень |
| `plugin-sdk/music-generation` | Типи provider/request/result для генерації музики |
| `plugin-sdk/music-generation-core` | Спільні допоміжні функції типів, failover, пошуку provider і розбору model-ref для генерації музики |
| `plugin-sdk/video-generation` | Типи provider/request/result для генерації відео |
| `plugin-sdk/video-generation-core` | Спільні допоміжні функції типів, failover, пошуку provider і розбору 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="Підшляхи Memory">
| Subpath | Ключові експорти |
| --- | --- |
| `plugin-sdk/memory-core` | Поверхня допоміжних засобів вбудованого memory-core для manager/config/file/CLI helpers |
| `plugin-sdk/memory-core-engine-runtime` | Runtime facade індексу/пошуку Memory |
| `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine хоста Memory |
| `plugin-sdk/memory-core-host-engine-embeddings` | Контракти embedding хоста Memory, доступ до registry, локальний provider і узагальнені допоміжні засоби batch/remote |
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти QMD engine хоста Memory |
| `plugin-sdk/memory-core-host-engine-storage` | Експорти storage engine хоста Memory |
| `plugin-sdk/memory-core-host-multimodal` | Допоміжні засоби multimodal хоста Memory |
| `plugin-sdk/memory-core-host-query` | Допоміжні засоби query хоста Memory |
| `plugin-sdk/memory-core-host-secret` | Допоміжні засоби secret хоста Memory |
| `plugin-sdk/memory-core-host-events` | Допоміжні засоби журналу подій хоста Memory |
| `plugin-sdk/memory-core-host-status` | Допоміжні засоби статусу хоста Memory |
| `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні засоби CLI runtime хоста Memory |
| `plugin-sdk/memory-core-host-runtime-core` | Допоміжні засоби core runtime хоста Memory |
| `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби file/runtime хоста Memory |
| `plugin-sdk/memory-host-core` | Нейтральний щодо постачальника псевдонім для допоміжних засобів core runtime хоста Memory |
| `plugin-sdk/memory-host-events` | Нейтральний щодо постачальника псевдонім для допоміжних засобів журналу подій хоста Memory |
| `plugin-sdk/memory-host-files` | Нейтральний щодо постачальника псевдонім для допоміжних засобів file/runtime хоста Memory |
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні засоби managed-markdown для plugins, суміжних із memory |
| `plugin-sdk/memory-host-search` | Runtime facade Active Memory для доступу до search-manager |
| `plugin-sdk/memory-host-status` | Нейтральний щодо постачальника псевдонім для допоміжних засобів статусу хоста Memory |
| `plugin-sdk/memory-lancedb` | Поверхня допоміжних засобів вбудованого memory-lancedb |
| `plugin-sdk/memory-core` | Вбудована допоміжна surface `memory-core` для допоміжних функцій manager/config/file/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Фасад runtime індексації/пошуку Memory |
| `plugin-sdk/memory-core-host-engine-foundation` | Експорти рушія foundation для хоста Memory |
| `plugin-sdk/memory-core-host-engine-embeddings` | Контракти embedding для хоста Memory, доступ до registry, локальний provider і загальні допоміжні функції batch/remote |
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти рушія QMD для хоста Memory |
| `plugin-sdk/memory-core-host-engine-storage` | Експорти рушія сховища для хоста Memory |
| `plugin-sdk/memory-core-host-multimodal` | Мультимодальні допоміжні функції хоста Memory |
| `plugin-sdk/memory-core-host-query` | Допоміжні функції запитів хоста Memory |
| `plugin-sdk/memory-core-host-secret` | Допоміжні функції секретів хоста Memory |
| `plugin-sdk/memory-core-host-events` | Допоміжні функції журналу подій хоста Memory |
| `plugin-sdk/memory-core-host-status` | Допоміжні функції статусу хоста Memory |
| `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні функції runtime CLI хоста Memory |
| `plugin-sdk/memory-core-host-runtime-core` | Допоміжні функції основного runtime хоста Memory |
| `plugin-sdk/memory-core-host-runtime-files` | Допоміжні функції файлів/runtime хоста Memory |
| `plugin-sdk/memory-host-core` | Нейтральний до постачальника псевдонім для допоміжних функцій основного runtime хоста Memory |
| `plugin-sdk/memory-host-events` | Нейтральний до постачальника псевдонім для допоміжних функцій журналу подій хоста Memory |
| `plugin-sdk/memory-host-files` | Нейтральний до постачальника псевдонім для допоміжних функцій файлів/runtime хоста Memory |
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні функції керованого markdown для plugin, суміжних із memory |
| `plugin-sdk/memory-host-search` | Фасад runtime Active Memory для доступу до search-manager |
| `plugin-sdk/memory-host-status` | Нейтральний до постачальника псевдонім для допоміжних функцій статусу хоста Memory |
| `plugin-sdk/memory-lancedb` | Вбудована допоміжна surface `memory-lancedb` |
</Accordion>
<Accordion title="Зарезервовані підшляхи вбудованих helper">
| Family | Поточні підшляхи | Призначення |
| --- | --- | --- |
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Допоміжні засоби підтримки вбудованого 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 вбудованого Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня helper/runtime вбудованого LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня helper вбудованого 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` | Вбудовані compatibility/helper seams для каналів |
| Допоміжні засоби, специфічні для 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` | Вбудовані feature/plugin helper seams; `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 surface вбудованого Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Допоміжна/runtime surface вбудованого LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Допоміжна surface вбудованого IRC |
| Допоміжні функції, специфічні для 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` | Поверхні сумісності/допоміжних функцій вбудованих channel |
| Допоміжні функції, специфічні для 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` | Поверхні допоміжних функцій вбудованих можливостей/plugin; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
</Accordion>
</AccordionGroup>
## API реєстрації
Callback `register(api)` отримує об’єкт `OpenClawPluginApi` з такими
Колбек `register(api)` отримує об’єкт `OpenClawPluginApi` з такими
методами:
### Реєстрація можливостей
| Method | Що він реєструє |
| ------------------------------------------------ | ------------------------------------ |
| `api.registerProvider(...)` | Текстовий inference (LLM) |
| Method | Що реєструє |
| ------------------------------------------------ | ------------------------------------- |
| `api.registerProvider(...)` | Текстовий inference (LLM) |
| `api.registerAgentHarness(...)` | Експериментальний низькорівневий виконавець агента |
| `api.registerCliBackend(...)` | Локальний CLI backend для inference |
| `api.registerChannel(...)` | Канал обміну повідомленнями |
| `api.registerSpeechProvider(...)` | Text-to-speech / STT synthesis |
| `api.registerRealtimeTranscriptionProvider(...)` | Потокова realtime transcription |
| `api.registerRealtimeVoiceProvider(...)` | Двосторонні сесії realtime voice |
| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео |
| `api.registerImageGenerationProvider(...)` | Генерація зображень |
| `api.registerMusicGenerationProvider(...)` | Генерація музики |
| `api.registerVideoGenerationProvider(...)` | Генерація відео |
| `api.registerWebFetchProvider(...)` | Провайдер web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Вебпошук |
| `api.registerCliBackend(...)` | Локальний backend inference для CLI |
| `api.registerChannel(...)` | Канал повідомлень |
| `api.registerSpeechProvider(...)` | Синтез text-to-speech / STT |
| `api.registerRealtimeTranscriptionProvider(...)` | Потокова realtime transcription |
| `api.registerRealtimeVoiceProvider(...)` | Двобічні сесії realtime voice |
| `api.registerMediaUnderstandingProvider(...)` | Аналіз зображень/аудіо/відео |
| `api.registerImageGenerationProvider(...)` | Генерація зображень |
| `api.registerMusicGenerationProvider(...)` | Генерація музики |
| `api.registerVideoGenerationProvider(...)` | Генерація відео |
| `api.registerWebFetchProvider(...)` | Provider web fetch / scrape |
| `api.registerWebSearchProvider(...)` | Пошук у вебі |
### Інструменти та команди
### Tools і команди
| Method | Що він реєструє |
| ------------------------------- | --------------------------------------------- |
| `api.registerTool(tool, opts?)` | Інструмент агента (обов’язковий або `{ optional: true }`) |
| `api.registerCommand(def)` | Користувацька команда (обходить LLM) |
| Method | Що реєструє |
| ------------------------------- | ------------------------------------------- |
| `api.registerTool(tool, opts?)` | Tool агента (обов’язковий або `{ optional: true }`) |
| `api.registerCommand(def)` | Користувацька команда (обходить LLM) |
### Інфраструктура
| Method | Що він реєструє |
| ----------------------------------------------- | -------------------------------------- |
| `api.registerHook(events, handler, opts?)` | Хук події |
| `api.registerHttpRoute(params)` | HTTP endpoint Gateway |
| `api.registerGatewayMethod(name, handler)` | RPC-метод Gateway |
| `api.registerCli(registrar, opts?)` | Підкоманда CLI |
| `api.registerService(service)` | Фонова служба |
| `api.registerInteractiveHandler(registration)` | Інтерактивний handler |
| `api.registerEmbeddedExtensionFactory(factory)` | Фабрика extension вбудованого runner Pi |
| Method | Що реєструє |
| ----------------------------------------------- | --------------------------------------- |
| `api.registerHook(events, handler, opts?)` | Хук подій |
| `api.registerHttpRoute(params)` | HTTP endpoint Gateway |
| `api.registerGatewayMethod(name, handler)` | RPC-метод Gateway |
| `api.registerCli(registrar, opts?)` | Підкоманда CLI |
| `api.registerService(service)` | Фонова служба |
| `api.registerInteractiveHandler(registration)` | Інтерактивний обробник |
| `api.registerEmbeddedExtensionFactory(factory)` | Фабрика extension embedded-runner для Pi |
| `api.registerMemoryPromptSupplement(builder)` | Адитивна секція prompt, суміжна з memory |
| `api.registerMemoryCorpusSupplement(adapter)` | Адитивний корпус пошуку/читання memory |
| `api.registerMemoryCorpusSupplement(adapter)` | Адитивний corpus пошуку/читання memory |
Зарезервовані простори імен адміністрування ядра (`config.*`, `exec.approvals.*`, `wizard.*`,
Зарезервовані простори імен адміністратора ядра (`config.*`, `exec.approvals.*`, `wizard.*`,
`update.*`) завжди залишаються `operator.admin`, навіть якщо plugin намагається призначити
вужчу область gateway method. Для методів,
що належать plugin, надавайте перевагу префіксам, специфічним для plugin.
вужчу область видимості методу Gateway. Для методів, що належать plugin,
надавайте перевагу префіксам, специфічним для plugin.
Використовуйте `api.registerEmbeddedExtensionFactory(...)`, коли plugin потрібен нативний для Pi
таймінг подій під час вбудованих запусків OpenClaw, наприклад асинхронні переписування `tool_result`,
які мають відбутися до того, як буде надіслано фінальне повідомлення з результатом tool.
Сьогодні це seam для вбудованих plugins: лише вбудовані plugins можуть реєструвати такий factory, і
вони мають оголосити `contracts.embeddedExtensionFactories: ["pi"]` у
`openclaw.plugin.json`. Для всього, що
не потребує цього нижчого рівня seam, залишайте звичайні хуки plugin OpenClaw.
Використовуйте `api.registerEmbeddedExtensionFactory(...)`, коли plugin потрібен
власний для Pi таймінг подій під час embedded-запусків OpenClaw, наприклад
асинхронні переписування `tool_result`, які мають відбутися до того, як буде
виведено фінальне повідомлення результату tool. Сьогодні це seam вбудованих plugin:
зареєструвати її можуть лише вбудовані plugin, і вони мають оголосити
`contracts.embeddedExtensionFactories: ["pi"]` у
`openclaw.plugin.json`. Для всього, що не потребує цього нижчорівневого seam,
залишайтеся на звичайних хуках plugin OpenClaw.
### Метадані реєстрації CLI
`api.registerCli(registrar, opts?)` приймає два види метаданих верхнього рівня:
`api.registerCli(registrar, opts?)` приймає два типи метаданих верхнього рівня:
- `commands`: явні корені команд, якими володіє registrar
- `descriptors`: дескриптори команд для етапу парсингу, що використовуються для кореневої довідки CLI,
маршрутизації та lazy-реєстрації CLI plugin
- `descriptors`: дескриптори команд на етапі парсингу, що використовуються для кореневої довідки CLI,
маршрутизації та лінивої реєстрації CLI plugin
Якщо ви хочете, щоб команда plugin залишалася lazy-loaded у звичайному шляху кореневого CLI,
Якщо ви хочете, щоб команда plugin залишалася ліниво завантажуваною у звичайному шляху кореневого CLI,
надайте `descriptors`, які охоплюють кожен корінь команди верхнього рівня, що експонується цим
registrar.
@ -405,69 +408,71 @@ api.registerCli(
);
```
Використовуйте `commands` окремо лише тоді, коли вам не потрібна lazy-реєстрація в кореневому CLI.
Цей eager compatibility path залишається підтримуваним, але він не встановлює
placeholders, що підтримуються descriptors, для lazy loading на етапі парсингу.
Використовуйте лише `commands`, якщо вам не потрібна лінива реєстрація кореневого CLI.
Цей eager-шлях сумісності залишається підтримуваним, але він не встановлює
заповнювачі на основі descriptor для лінивого завантаження на етапі парсингу.
### Реєстрація CLI backend
`api.registerCliBackend(...)` дає plugin змогу володіти конфігурацією за замовчуванням для локального
CLI backend ШІ, такого як `codex-cli`.
`api.registerCliBackend(...)` дає plugin змогу володіти типовою конфігурацією для локального
AI CLI backend, такого як `codex-cli`.
- `id` backend стає префіксом provider у model refs, таких як `codex-cli/gpt-5`.
- `id` backend стає префіксом provider у model ref, наприклад `codex-cli/gpt-5`.
- `config` backend використовує ту саму форму, що й `agents.defaults.cliBackends.<id>`.
- Конфігурація користувача все одно має пріоритет. OpenClaw об’єднує `agents.defaults.cliBackends.<id>` поверх
значення plugin за замовчуванням перед запуском CLI.
- Використовуйте `normalizeConfig`, коли backend потребує переписувань сумісності після об’єднання
- Конфігурація користувача все одно має пріоритет. OpenClaw зливає `agents.defaults.cliBackends.<id>` поверх
типового значення plugin перед запуском CLI.
- Використовуйте `normalizeConfig`, коли backend потребує переписувань сумісності після злиття
(наприклад, нормалізації старих форм прапорців).
### Ексклюзивні слоти
| Method | Що він реєструє |
| Method | Що реєструє |
| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `api.registerContextEngine(id, factory)` | Контекстний рушій (одночасно активний лише один). Callback `assemble()` отримує `availableTools` і `citationsMode`, щоб рушій міг адаптувати доповнення до prompt. |
| `api.registerMemoryCapability(capability)` | Єдину можливість memory |
| `api.registerMemoryPromptSection(builder)` | Побудовник секції prompt для memory |
| `api.registerMemoryFlushPlan(resolver)` | Resolver плану flush для memory |
| `api.registerMemoryRuntime(runtime)` | Adapter runtime для memory |
| `api.registerContextEngine(id, factory)` | Рушій контексту (одночасно активний лише один). Колбек `assemble()` отримує `availableTools` і `citationsMode`, щоб рушій міг адаптувати додавання до prompt. |
| `api.registerMemoryCapability(capability)` | Єдину можливість memory |
| `api.registerMemoryPromptSection(builder)` | Побудовник секції prompt для memory |
| `api.registerMemoryFlushPlan(resolver)` | Резолвер плану скидання memory |
| `api.registerMemoryRuntime(runtime)` | Адаптер runtime memory |
### Adapters вбудовування memory
### Адаптери embedding для memory
| Method | Що він реєструє |
| ---------------------------------------------- | --------------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | Adapter вбудовування memory для активного plugin |
| Method | Що реєструє |
| ---------------------------------------------- | -------------------------------------------------- |
| `api.registerMemoryEmbeddingProvider(adapter)` | Адаптер embedding для memory для активного plugin |
- `registerMemoryCapability` — це рекомендований API ексклюзивного plugin для memory.
- `registerMemoryCapability` також може надавати `publicArtifacts.listArtifacts(...)`,
щоб plugins-компаньйони могли споживати експортовані артефакти memory через
`openclaw/plugin-sdk/memory-host-core`, не звертаючись до приватного
layout конкретного plugin memory.
- `registerMemoryCapability` — це пріоритетний API ексклюзивного memory-plugin.
- `registerMemoryCapability` також може експонувати `publicArtifacts.listArtifacts(...)`,
щоб companion plugin могли споживати експортовані артефакти memory через
`openclaw/plugin-sdk/memory-host-core` замість звернення до приватної
структури конкретного memory plugin.
- `registerMemoryPromptSection`, `registerMemoryFlushPlan` і
`registerMemoryRuntime` — це застарілі, але сумісні API ексклюзивного plugin memory.
- `registerMemoryEmbeddingProvider` дає активному plugin memory змогу реєструвати один
або кілька id adapter вбудовування (наприклад, `openai`, `gemini` або визначений plugin користувацький id).
`registerMemoryRuntime` — це застаріло-сумісні API ексклюзивного memory-plugin.
- `registerMemoryEmbeddingProvider` дає активному memory plugin змогу зареєструвати один
або кілька id адаптерів embedding (наприклад `openai`, `gemini` або користувацький id,
визначений plugin).
- Конфігурація користувача, така як `agents.defaults.memorySearch.provider` і
`agents.defaults.memorySearch.fallback`, визначається відносно зареєстрованих id цих
adapter.
`agents.defaults.memorySearch.fallback`, визначається відносно цих зареєстрованих
id адаптерів.
### Події та життєвий цикл
| Method | Що він робить |
| Method | Що робить |
| -------------------------------------------- | ---------------------------- |
| `api.on(hookName, handler, opts?)` | Типізований хук життєвого циклу |
| `api.onConversationBindingResolved(handler)` | Callback прив’язки conversation |
| `api.onConversationBindingResolved(handler)` | Колбек визначення прив’язки conversation |
### Семантика рішень хуків
- `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 із нижчим пріоритетом і типовий шлях model dispatch пропускаються.
- `message_sending`: повернення `{ cancel: true }` є термінальним. Щойно будь-який handler встановлює його, handlers із нижчим пріоритетом пропускаються.
- `message_sending`: повернення `{ cancel: false }` розглядається як відсутність рішення (так само, як якщо не вказати `cancel`), а не як перевизначення.
- `message_received`: використовуйте типізоване поле `threadId`, коли вам потрібна маршрутизація вхідного потоку/теми. `metadata` залишайте для додаткових даних, специфічних для каналу.
- `message_sending`: використовуйте типізовані поля маршрутизації `replyToId` / `threadId`, перш ніж переходити до специфічного для каналу `metadata`.
- `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`), а не як перевизначення.
- `message_received`: використовуйте типізоване поле `threadId`, коли вам потрібна маршрутизація вхідного thread/topic. `metadata` залишайте для додаткових даних, специфічних для channel.
- `message_sending`: використовуйте типізовані поля маршрутизації `replyToId` / `threadId` перед тим, як переходити до специфічного для channel `metadata`.
- `gateway_start`: використовуйте `ctx.config`, `ctx.workspaceDir` і `ctx.getCron?.()` для стану запуску, що належить Gateway, замість покладання на внутрішні хуки `gateway:startup`.
### Поля об’єкта API
@ -478,13 +483,13 @@ CLI backend ШІ, такого як `codex-cli`.
| `api.version` | `string?` | Версія plugin (необов’язково) |
| `api.description` | `string?` | Опис plugin (необов’язково) |
| `api.source` | `string` | Шлях до джерела plugin |
| `api.rootDir` | `string?` | Коренева директорія plugin (необов’язково) |
| `api.config` | `OpenClawConfig` | Поточний знімок конфігурації (активний знімок runtime в пам’яті, якщо доступний) |
| `api.pluginConfig` | `Record<string, unknown>` | Конфігурація plugin з `plugins.entries.<id>.config` |
| `api.runtime` | `PluginRuntime` | [Допоміжні засоби runtime](/uk/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Logger з обмеженою областю (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це легковагове вікно запуску/налаштування до повного entry |
| `api.resolvePath(input)` | `(string) => string` | Розв’язати шлях відносно кореня plugin |
| `api.rootDir` | `string?` | Кореневий каталог plugin (необов’язково) |
| `api.config` | `OpenClawConfig` | Поточний знімок конфігурації (активний знімок runtime в пам’яті, коли доступний) |
| `api.pluginConfig` | `Record<string, unknown>` | Конфігурація plugin із `plugins.entries.<id>.config`, специфічна для plugin |
| `api.runtime` | `PluginRuntime` | [Допоміжні функції runtime](/uk/plugins/sdk-runtime) |
| `api.logger` | `PluginLogger` | Logger з областю видимості (`debug`, `info`, `warn`, `error`) |
| `api.registrationMode` | `PluginRegistrationMode` | Поточний режим завантаження; `"setup-runtime"` — це легковаге вікно запуску/налаштування до повного входу |
| `api.resolvePath(input)` | `(string) => string` | Визначення шляху відносно кореня plugin |
## Угода щодо внутрішніх модулів
@ -492,42 +497,42 @@ CLI backend ШІ, такого як `codex-cli`.
```
my-plugin/
api.ts # Публічні експорти для зовнішніх користувачів
api.ts # Публічні експорти для зовнішніх споживачів
runtime-api.ts # Експорти runtime лише для внутрішнього використання
index.ts # Точка входу plugin
setup-entry.ts # Легка точка входу лише для налаштування (необов’язково)
setup-entry.ts # Полегшена точка входу лише для налаштування (необов’язково)
```
<Warning>
Ніколи не імпортуйте власний plugin через `openclaw/plugin-sdk/<your-plugin>`
із production-коду. Спрямовуйте внутрішні імпорти через `./api.ts` або
у production-коді. Спрямовуйте внутрішні імпорти через `./api.ts` або
`./runtime-api.ts`. Шлях SDK — це лише зовнішній контракт.
</Warning>
Публічні поверхні вбудованих plugins, завантажені через facade (`api.ts`, `runtime-api.ts`,
`index.ts`, `setup-entry.ts` та подібні публічні entry-файли), тепер надають перевагу
активному знімку конфігурації runtime, коли OpenClaw уже запущений. Якщо знімка runtime
ще не існує, вони повертаються до розв’язуваного файла конфігурації на диску.
Фасадно завантажувані публічні поверхні вбудованих plugin (`api.ts`, `runtime-api.ts`,
`index.ts`, `setup-entry.ts` та подібні публічні файли входу) тепер надають перевагу
активному знімку конфігурації runtime, коли OpenClaw уже запущено. Якщо знімок runtime
ще не існує, вони повертаються до визначеного файлу конфігурації на диску.
Plugins провайдерів також можуть експортувати вузький локальний barrel контракту plugin, коли
допоміжний засіб навмисно є специфічним для провайдера й поки що не належить до узагальненого підшляху SDK.
Поточний вбудований приклад: провайдер Anthropic зберігає свої допоміжні засоби Claude
stream у власному публічному seam `api.ts` / `contract-api.ts`, замість того щоб
просувати логіку Anthropic beta-header і `service_tier` до узагальненого
Provider plugin також можуть експонувати вузький локальний barrel контракту plugin, коли
допоміжна функція навмисно є специфічною для provider і ще не належить до загального
підшляху SDK. Поточний вбудований приклад: provider Anthropic зберігає свої
допоміжні функції потоків Claude у власному публічному seam `api.ts` / `contract-api.ts`
замість просування логіки beta-header Anthropic і `service_tier` до загального
контракту `plugin-sdk/*`.
Інші поточні вбудовані приклади:
- `@openclaw/openai-provider`: `api.ts` експортує побудовники провайдерів,
допоміжні засоби моделей за замовчуванням і побудовники realtime-провайдерів
- `@openclaw/openrouter-provider`: `api.ts` експортує побудовник провайдера, а також
допоміжні засоби онбордингу/конфігурації
- `@openclaw/openai-provider`: `api.ts` експортує побудовники provider,
допоміжні функції типових моделей і побудовники realtime provider
- `@openclaw/openrouter-provider`: `api.ts` експортує побудовник provider, а також
допоміжні функції онбордингу/конфігурації
<Warning>
Production-код extension також має уникати імпортів `openclaw/plugin-sdk/<other-plugin>`.
Якщо допоміжний засіб справді є спільним, просувайте його до нейтрального підшляху SDK,
Якщо якась допоміжна функція справді є спільною, просуньте її до нейтрального підшляху SDK,
такого як `openclaw/plugin-sdk/speech`, `.../provider-model-shared` або іншої
surface, орієнтованої на можливість, замість зв’язування двох plugins між собою.
поверхні, орієнтованої на можливість, замість жорсткого зв’язування двох plugin.
</Warning>
## Пов’язане
@ -536,5 +541,5 @@ stream у власному публічному seam `api.ts` / `contract-api.ts
- [Runtime Helpers](/uk/plugins/sdk-runtime) — повний довідник простору імен `api.runtime`
- [Setup and Config](/uk/plugins/sdk-setup) — пакування, маніфести, схеми конфігурації
- [Testing](/uk/plugins/sdk-testing) — тестові утиліти та правила lint
- [SDK Migration](/uk/plugins/sdk-migration) — міграція із застарілих surface
- [Plugin Internals](/uk/plugins/architecture) — глибока архітектура і модель можливостей plugin
- [SDK Migration](/uk/plugins/sdk-migration) — міграція із застарілих поверхонь
- [Plugin Internals](/uk/plugins/architecture) — поглиблена архітектура та модель можливостей