chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-28 01:45:53 +00:00
parent c97695a369
commit ad03380844
4 changed files with 1238 additions and 1229 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,38 +1,38 @@
---
read_when:
- Ви створюєте новий Plugin постачальника моделей
- Ви хочете додати OpenAI-сумісний проксі або власну LLM до OpenClaw
- Ви створюєте новий plugin постачальника моделей
- Ви хочете додати сумісний з OpenAI проксі або власну LLM до OpenClaw
- Вам потрібно зрозуміти автентифікацію постачальника, каталоги та runtime-хуки
sidebarTitle: Provider plugins
summary: Покроковий посібник зі створення Plugin постачальника моделей для OpenClaw
title: Створення Plugin постачальників моделей
summary: Покроковий посібник зі створення plugin постачальника моделей для OpenClaw
title: Створення plugin постачальників моделей
x-i18n:
generated_at: "2026-04-27T20:43:56Z"
generated_at: "2026-04-28T01:41:57Z"
model: gpt-5.4
provider: openai
source_hash: 9a4f0d0bed655ccda7ce2731270999d46d83f29b89d5e8ba80832992161eb993
source_hash: 4f28bc56347cca1259959444e086a3c6ea1b9f00e3a7d68332add962dfcac2d3
source_path: plugins/sdk-provider-plugins.md
workflow: 15
---
Цей посібник описує створення Plugin постачальника, який додає постачальника
моделей (LLM) до OpenClaw. Наприкінці ви матимете постачальника з каталогом моделей,
Цей посібник пояснює, як створити plugin постачальника, який додає постачальника моделей
(LLM) до OpenClaw. Наприкінці у вас буде постачальник із каталогом моделей,
автентифікацією через API-ключ і динамічним визначенням моделей.
<Info>
Якщо ви раніше не створювали жодного Plugin для OpenClaw, спочатку прочитайте
[Початок роботи](/uk/plugins/building-plugins), щоб ознайомитися з базовою
структурою пакета та налаштуванням маніфесту.
Якщо ви раніше не створювали жодного plugin для OpenClaw, спершу прочитайте
[Початок роботи](/uk/plugins/building-plugins) щодо базової структури
пакета та налаштування маніфесту.
</Info>
<Tip>
Plugin постачальників додають моделі до стандартного циклу інференсу OpenClaw. Якщо модель
має працювати через нативний демон агента, який керує потоками, Compaction або
подіями інструментів, поєднайте постачальника з [обв’язкою агента](/uk/plugins/sdk-agent-harness),
Plugins постачальників додають моделі до звичайного циклу інференсу OpenClaw. Якщо модель
має працювати через нативний демон агента, який керує потоками, Compaction або подіями
інструментів, поєднайте постачальника з [agent harness](/uk/plugins/sdk-agent-harness),
а не виносьте деталі протоколу демона в core.
</Tip>
## Покроковий посібник
## Покроковий розбір
<Steps>
<Step title="Пакет і маніфест">
@ -94,12 +94,12 @@ x-i18n:
</CodeGroup>
Маніфест оголошує `providerAuthEnvVars`, щоб OpenClaw міг виявляти
облікові дані без завантаження runtime вашого Plugin. Додавайте `providerAuthAliases`,
облікові дані без завантаження runtime вашого plugin. Додайте `providerAuthAliases`,
коли варіант постачальника має повторно використовувати автентифікацію іншого id постачальника. `modelSupport`
є необов’язковим і дає OpenClaw змогу автоматично завантажити ваш Plugin постачальника зі скорочених
є необов’язковим і дозволяє OpenClaw автоматично завантажувати ваш plugin постачальника зі скорочених
id моделей, таких як `acme-large`, ще до появи runtime-хуків. Якщо ви публікуєте
постачальника в ClawHub, поля `openclaw.compat` і `openclaw.build`
у `package.json` є обов’язковими.
постачальника в ClawHub, ці поля `openclaw.compat` і `openclaw.build`
обов’язкові в `package.json`.
</Step>
@ -113,7 +113,7 @@ x-i18n:
export default definePluginEntry({
id: "acme-ai",
name: "Acme AI",
description: "Acme AI model provider",
description": "Acme AI model provider",
register(api) {
api.registerProvider({
id: "acme-ai",
@ -175,12 +175,12 @@ x-i18n:
});
```
Це вже робочий постачальник. Тепер користувачі можуть виконати
`openclaw onboard --acme-ai-api-key <key>` і вибрати
Це вже робочий постачальник. Тепер користувачі можуть
`openclaw onboard --acme-ai-api-key <key>` і вибирати
`acme-ai/acme-large` як свою модель.
Якщо постачальник upstream використовує інші керувальні токени, ніж OpenClaw, додайте
невелике двонапрямне текстове перетворення замість заміни шляху потоку:
Якщо постачальник вище за потоком використовує інші керівні токени, ніж OpenClaw, додайте
невелике двоспрямоване текстове перетворення замість заміни шляху потоку:
```typescript
api.registerTextTransforms({
@ -198,12 +198,12 @@ x-i18n:
```
`input` переписує фінальний системний prompt і вміст текстових повідомлень перед
передаванням. `output` переписує текстові дельти асистента та фінальний текст перед тим, як
OpenClaw розбере власні керувальні маркери або доставку каналу.
передаванням. `output` переписує текстові дельти асистента та фінальний текст до того, як
OpenClaw розбере власні керівні маркери або доставку через канал.
Для вбудованих постачальників, які реєструють лише одного текстового постачальника з
автентифікацією через API-ключ і одним runtime на основі каталогу, надавайте перевагу
вужчому helper `defineSingleProviderPluginEntry(...)`:
Для вбудованих постачальників, які реєструють лише одного текстового постачальника з автентифікацією
через API-ключ плюс один runtime на основі каталогу, віддавайте перевагу
вужчому хелперу `defineSingleProviderPluginEntry(...)`:
```typescript
import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
@ -244,32 +244,32 @@ x-i18n:
```
`buildProvider` — це шлях живого каталогу, який використовується, коли OpenClaw може визначити реальну
автентифікацію постачальника. Він може виконувати специфічне для постачальника виявлення.
Використовуйте `buildStaticProvider` лише для офлайн-рядків, які безпечно показувати до налаштування
автентифікації; він не повинен вимагати облікових даних або виконувати мережеві запити.
Поточне відображення OpenClaw `models list --all` виконує статичні каталоги
лише для вбудованих Plugin постачальників, з порожньою конфігурацією, порожнім env і без
автентифікацію постачальника. Він може виконувати специфічне для постачальника виявлення. Використовуйте
`buildStaticProvider` лише для офлайн-рядків, які безпечно показувати до налаштування автентифікації;
він не повинен вимагати облікових даних або виконувати мережеві запити.
Поточне відображення `models list --all` в OpenClaw виконує статичні каталоги
лише для вбудованих plugin постачальників, з порожньою конфігурацією, порожнім env і без
шляхів агента/робочого простору.
Якщо вашому процесу автентифікації також потрібно оновлювати `models.providers.*`,
псевдоніми та модель агента за замовчуванням під час onboarding, використовуйте готові helper-и з
`openclaw/plugin-sdk/provider-onboard`. Найвужчі helper-и:
Якщо вашому потоку автентифікації також потрібно змінювати `models.providers.*`, аліаси
та модель агента за замовчуванням під час онбордингу, використовуйте preset-хелпери з
`openclaw/plugin-sdk/provider-onboard`. Найвужчі хелпери —
`createDefaultModelPresetAppliers(...)`,
`createDefaultModelsPresetAppliers(...)` і
`createModelCatalogPresetAppliers(...)`.
Коли нативний endpoint постачальника підтримує потокові блоки використання в
звичайному транспорті `openai-completions`, надавайте перевагу спільним helper-ам каталогу з
Коли нативна кінцева точка постачальника підтримує потокові блоки використання на
звичайному транспорті `openai-completions`, віддавайте перевагу спільним хелперам каталогу з
`openclaw/plugin-sdk/provider-catalog-shared`, а не жорстко прописуйте перевірки provider-id.
`supportsNativeStreamingUsageCompat(...)` і
`applyProviderNativeStreamingUsageCompat(...)` визначають підтримку за мапою можливостей endpoint,
тож нативні endpoint-и на кшталт Moonshot/DashScope усе одно можуть бути ввімкнені, навіть коли Plugin використовує
власний id постачальника.
`applyProviderNativeStreamingUsageCompat(...)` визначають підтримку з мапи можливостей
кінцевої точки, тому нативні кінцеві точки у стилі Moonshot/DashScope усе одно вмикаються,
навіть коли plugin використовує власний provider id.
</Step>
<Step title="Додайте динамічне визначення моделей">
Якщо ваш постачальник приймає довільні id моделей (наприклад, проксі або маршрутизатор),
<Step title="Додайте динамічне визначення моделі">
Якщо ваш постачальник приймає довільні id моделей (наприклад, проксі або роутер),
додайте `resolveDynamicModel`:
```typescript
@ -292,16 +292,16 @@ x-i18n:
```
Якщо для визначення потрібен мережевий виклик, використовуйте `prepareDynamicModel` для асинхронного
прогріву — після його завершення `resolveDynamicModel` буде виконано знову.
прогріву — після його завершення `resolveDynamicModel` запуститься знову.
</Step>
<Step title="Додайте runtime-хуки (за потреби)">
Більшості постачальників потрібні лише `catalog` + `resolveDynamicModel`. Додавайте хуки
поступово, у міру того як цього вимагатиме ваш постачальник.
поступово, залежно від потреб вашого постачальника.
Спільні builder-helper-и тепер охоплюють найпоширеніші сімейства replay/tool-compat,
тому Plugin зазвичай не потрібно вручну підключати кожен хук окремо:
Спільні builder-хелпери тепер покривають найпоширеніші сімейства replay/tool-compat,
тож plugins зазвичай не потрібно вручну під’єднувати кожен хук окремо:
```typescript
import { buildProviderReplayFamilyHooks } from "openclaw/plugin-sdk/provider-model-shared";
@ -321,38 +321,38 @@ x-i18n:
});
```
Наразі доступні такі сімейства replay:
Доступні на сьогодні сімейства replay:
| Сімейство | Що воно підключає | Вбудовані приклади |
| --- | --- | --- |
| `openai-compatible` | Спільна політика replay у стилі OpenAI для OpenAI-сумісних транспортів, включно з очищенням tool-call-id, виправленням порядку assistant-first і загальною валідацією Gemini-turn там, де це потрібно транспорту | `moonshot`, `ollama`, `xai`, `zai` |
| `anthropic-by-model` | Політика replay з урахуванням Claude, що вибирається за `modelId`, тож транспорти повідомлень Anthropic отримують очищення thinking-block, специфічне для Claude, лише коли визначена модель справді є id Claude | `amazon-bedrock`, `anthropic-vertex` |
| `google-gemini` | Нативна політика replay Gemini плюс початкове очищення replay і режим тегованого reasoning-output | `google`, `google-gemini-cli` |
| `passthrough-gemini` | Очищення thought-signature Gemini для моделей Gemini, що працюють через OpenAI-сумісні проксі-транспорти; не вмикає нативну валідацію replay Gemini або початкові переписування | `openrouter`, `kilocode`, `opencode`, `opencode-go` |
| `hybrid-anthropic-openai` | Гібридна політика для постачальників, які поєднують поверхні моделей Anthropic-message і OpenAI-compatible в одному Plugin; необов’язкове відкидання thinking-block лише для Claude залишається обмеженим стороною Anthropic | `minimax` |
| `openai-compatible` | Спільна політика replay у стилі OpenAI для транспортів, сумісних з OpenAI, включно з очищенням tool-call-id, виправленнями порядку assistant-first і загальною валідацією Gemini-turn там, де це потрібно транспорту | `moonshot`, `ollama`, `xai`, `zai` |
| `anthropic-by-model` | Політика replay з урахуванням Claude, яка вибирається за `modelId`, тож транспорти повідомлень Anthropic отримують специфічне очищення thinking-block для Claude лише тоді, коли визначена модель справді є id Claude | `amazon-bedrock`, `anthropic-vertex` |
| `google-gemini` | Нативна політика replay для Gemini плюс початкове очищення replay і режим тегованого reasoning-output | `google`, `google-gemini-cli` |
| `passthrough-gemini` | Очищення thought-signature Gemini для моделей Gemini, що працюють через проксі-транспорти, сумісні з OpenAI; не вмикає нативну валідацію replay Gemini або початкові переписування | `openrouter`, `kilocode`, `opencode`, `opencode-go` |
| `hybrid-anthropic-openai` | Гібридна політика для постачальників, які змішують поверхні моделей Anthropic-message і OpenAI-compatible в одному plugin; необов’язкове відкидання thinking-block лише для Claude залишається обмеженим стороною Anthropic | `minimax` |
Наразі доступні такі сімейства потоків:
Доступні на сьогодні сімейства потоків:
| Сімейство | Що воно підключає | Вбудовані приклади |
| --- | --- | --- |
| `google-thinking` | Нормалізація payload thinking Gemini у спільному шляху потоку | `google`, `google-gemini-cli` |
| `kilocode-thinking` | Обгортка reasoning Kilo у спільному шляху проксі-потоку, де `kilo/auto` і непідтримувані proxy reasoning id пропускають ін’єкцію thinking | `kilocode` |
| `moonshot-thinking` | Мапінг бінарного payload native-thinking Moonshot із config + рівня `/think` | `moonshot` |
| `minimax-fast-mode` | Переписування моделі MiniMax fast-mode у спільному шляху потоку | `minimax`, `minimax-portal` |
| `openai-responses-defaults` | Спільні нативні обгортки OpenAI/Codex Responses: заголовки атрибуції, `/fast`/`serviceTier`, текстова verbosity, нативний вебпошук Codex, формування payload reasoning-compat і керування контекстом Responses | `openai`, `openai-codex` |
| `openrouter-thinking` | Обгортка reasoning OpenRouter для proxy-маршрутів, із централізованою обробкою пропусків unsupported-model/`auto` | `openrouter` |
| `tool-stream-default-on` | Обгортка `tool_stream`, увімкнена за замовчуванням, для постачальників на кшталт Z.AI, які хочуть потокову передачу інструментів, якщо її явно не вимкнено | `zai` |
| `google-thinking` | Нормалізація payload thinking Gemini на спільному шляху потоку | `google`, `google-gemini-cli` |
| `kilocode-thinking` | Обгортка reasoning Kilo на спільному шляху потоку проксі, де `kilo/auto` та непідтримувані id reasoning проксі пропускають ін’єкцію thinking | `kilocode` |
| `moonshot-thinking` | Відображення бінарного payload native-thinking Moonshot з конфігурації + рівня `/think` | `moonshot` |
| `minimax-fast-mode` | Переписування моделі MiniMax fast-mode на спільному шляху потоку | `minimax`, `minimax-portal` |
| `openai-responses-defaults` | Спільні нативні обгортки OpenAI/Codex Responses: заголовки атрибуції, `/fast`/`serviceTier`, детальність тексту, нативний вебпошук Codex, формування payload для сумісності reasoning і керування контекстом Responses | `openai`, `openai-codex` |
| `openrouter-thinking` | Обгортка reasoning OpenRouter для маршрутів проксі, з централізованою обробкою пропусків для непідтримуваних моделей/`auto` | `openrouter` |
| `tool-stream-default-on` | Увімкнена за замовчуванням обгортка `tool_stream` для постачальників на кшталт Z.AI, яким потрібен потік інструментів, якщо його явно не вимкнено | `zai` |
<Accordion title="SDK-шви, що забезпечують роботу builder-ів сімейств">
Кожен builder сімейства складається з публічних helper-ів нижчого рівня, експортованих із того самого пакета, до яких можна звернутися, коли постачальнику потрібно вийти за межі типового шаблону:
<Accordion title="SDK seams, що забезпечують роботу builder-ів сімейств">
Кожен builder сімейства складається з публічних низькорівневих хелперів, експортованих із того самого пакета, до яких можна звернутися, коли постачальнику потрібно вийти за межі типового шаблону:
- `openclaw/plugin-sdk/provider-model-shared``ProviderReplayFamily`, `buildProviderReplayFamilyHooks(...)` і необроблені builder-и replay (`buildOpenAICompatibleReplayPolicy`, `buildAnthropicReplayPolicyForModel`, `buildGoogleGeminiReplayPolicy`, `buildHybridAnthropicOrOpenAIReplayPolicy`). Також експортує helper-и replay Gemini (`sanitizeGoogleGeminiReplayHistory`, `resolveTaggedReasoningOutputMode`) і helper-и endpoint/моделей (`resolveProviderEndpoint`, `normalizeProviderId`, `normalizeGooglePreviewModelId`, `normalizeNativeXaiModelId`).
- `openclaw/plugin-sdk/provider-stream``ProviderStreamFamily`, `buildProviderStreamFamilyHooks(...)`, `composeProviderStreamWrappers(...)`, а також спільні обгортки OpenAI/Codex (`createOpenAIAttributionHeadersWrapper`, `createOpenAIFastModeWrapper`, `createOpenAIServiceTierWrapper`, `createOpenAIResponsesContextManagementWrapper`, `createCodexNativeWebSearchWrapper`), OpenAI-compatible-обгортка DeepSeek V4 (`createDeepSeekV4OpenAICompatibleThinkingWrapper`), очищення prefill payload thinking для Anthropic Messages (`createAnthropicThinkingPrefillPayloadWrapper`) і спільні обгортки proxy/постачальників (`createOpenRouterWrapper`, `createToolStreamWrapper`, `createMinimaxFastModeWrapper`).
- `openclaw/plugin-sdk/provider-tools``ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks("gemini")`, базові helper-и схем Gemini (`normalizeGeminiToolSchemas`, `inspectGeminiToolSchemas`) і helper-и сумісності xAI (`resolveXaiModelCompatPatch()`, `applyXaiModelCompat(model)`). Вбудований Plugin xAI використовує `normalizeResolvedModel` + `contributeResolvedModelCompat` разом із ними, щоб правила xAI залишалися у власності постачальника.
- `openclaw/plugin-sdk/provider-model-shared``ProviderReplayFamily`, `buildProviderReplayFamilyHooks(...)` і сирі builder-и replay (`buildOpenAICompatibleReplayPolicy`, `buildAnthropicReplayPolicyForModel`, `buildGoogleGeminiReplayPolicy`, `buildHybridAnthropicOrOpenAIReplayPolicy`). Також експортує хелпери replay для Gemini (`sanitizeGoogleGeminiReplayHistory`, `resolveTaggedReasoningOutputMode`) і хелпери для endpoint/моделей (`resolveProviderEndpoint`, `normalizeProviderId`, `normalizeGooglePreviewModelId`, `normalizeNativeXaiModelId`).
- `openclaw/plugin-sdk/provider-stream``ProviderStreamFamily`, `buildProviderStreamFamilyHooks(...)`, `composeProviderStreamWrappers(...)`, а також спільні обгортки OpenAI/Codex (`createOpenAIAttributionHeadersWrapper`, `createOpenAIFastModeWrapper`, `createOpenAIServiceTierWrapper`, `createOpenAIResponsesContextManagementWrapper`, `createCodexNativeWebSearchWrapper`), сумісна з OpenAI обгортка thinking для DeepSeek V4 (`createDeepSeekV4OpenAICompatibleThinkingWrapper`), очищення prefill payload thinking для Anthropic Messages (`createAnthropicThinkingPrefillPayloadWrapper`) і спільні обгортки проксі/постачальників (`createOpenRouterWrapper`, `createToolStreamWrapper`, `createMinimaxFastModeWrapper`).
- `openclaw/plugin-sdk/provider-tools``ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks("gemini")`, базові хелпери схем Gemini (`normalizeGeminiToolSchemas`, `inspectGeminiToolSchemas`) і хелпери сумісності xAI (`resolveXaiModelCompatPatch()`, `applyXaiModelCompat(model)`). Вбудований plugin xAI використовує `normalizeResolvedModel` + `contributeResolvedModelCompat` разом із ними, щоб правила xAI залишалися у володінні постачальника.
Деякі helper-и потоку навмисно залишаються локальними для постачальника. `@openclaw/anthropic-provider` тримає `wrapAnthropicProviderStream`, `resolveAnthropicBetas`, `resolveAnthropicFastMode`, `resolveAnthropicServiceTier` і builder-и обгорток Anthropic нижчого рівня у власному публічному шві `api.ts` / `contract-api.ts`, оскільки вони кодують обробку Claude OAuth beta і gating `context1m`. Plugin xAI так само зберігає нативне формування xAI Responses у власному `wrapStreamFn` (псевдоніми `/fast`, `tool_stream` за замовчуванням, очищення unsupported strict-tool, видалення payload reasoning, специфічне для xAI).
Деякі хелпери потоків навмисно залишаються локальними для постачальника. `@openclaw/anthropic-provider` зберігає `wrapAnthropicProviderStream`, `resolveAnthropicBetas`, `resolveAnthropicFastMode`, `resolveAnthropicServiceTier` і низькорівневі builder-и обгорток Anthropic у власному публічному seam `api.ts` / `contract-api.ts`, оскільки вони кодують обробку Claude OAuth beta і gating `context1m`. Plugin xAI аналогічно зберігає формування нативних xAI Responses у власному `wrapStreamFn` (аліаси `/fast`, `tool_stream` за замовчуванням, очищення unsupported strict-tool, видалення payload reasoning, специфічного для xAI).
Такий самий шаблон на рівні кореня пакета також лежить в основі `@openclaw/openai-provider` (builder-и постачальників, helper-и моделей за замовчуванням, builder-и realtime-постачальників) і `@openclaw/openrouter-provider` (builder постачальника плюс helper-и onboarding/config).
Той самий шаблон на рівні кореня пакета також лежить в основі `@openclaw/openai-provider` (builder-и постачальника, хелпери моделей за замовчуванням, builder-и realtime provider) і `@openclaw/openrouter-provider` (builder постачальника плюс хелпери онбордингу/конфігурації).
</Accordion>
<Tabs>
@ -370,8 +370,8 @@ x-i18n:
},
```
</Tab>
<Tab title="Власні заголовки">
Для постачальників, яким потрібні власні заголовки запиту або зміни тіла:
<Tab title="Користувацькі заголовки">
Для постачальників, яким потрібні користувацькі заголовки запиту або зміни тіла запиту:
```typescript
// wrapStreamFn returns a StreamFn derived from ctx.streamFn
@ -389,8 +389,8 @@ x-i18n:
```
</Tab>
<Tab title="Ідентичність нативного транспорту">
Для постачальників, яким потрібні нативні заголовки або метадані запиту/сесії в
узагальнених транспортних механізмах HTTP або WebSocket:
Для постачальників, яким потрібні нативні заголовки запиту/сеансу або метадані на
узагальнених HTTP- або WebSocket-транспортних рівнях:
```typescript
resolveTransportTurnState: (ctx) => ({
@ -431,71 +431,71 @@ x-i18n:
| # | Хук | Коли використовувати |
| --- | --- | --- |
| 1 | `catalog` | Каталог моделей або значення `baseUrl` за замовчуванням |
| 2 | `applyConfigDefaults` | Глобальні значення за замовчуванням, що належать постачальнику, під час materialization конфігурації |
| 3 | `normalizeModelId` | Очищення застарілих/preview псевдонімів model-id перед пошуком |
| 4 | `normalizeTransport` | Очищення `api` / `baseUrl` для сімейства постачальника перед загальним збиранням моделі |
| 5 | `normalizeConfig` | Нормалізація config `models.providers.<id>` |
| 6 | `applyNativeStreamingUsageCompat` | Переписування сумісності native streaming-usage для config-постачальників |
| 7 | `resolveConfigApiKey` | Визначення автентифікації env-marker, що належить постачальнику |
| 8 | `resolveSyntheticAuth` | Синтетична автентифікація для локального/self-hosted або config-backed сценарію |
| 9 | `shouldDeferSyntheticProfileAuth` | Пониження пріоритету synthetic placeholder-ів збереженого профілю нижче за автентифікацію env/config |
| 10 | `resolveDynamicModel` | Прийом довільних upstream model id |
| 2 | `applyConfigDefaults` | Глобальні значення за замовчуванням, що належать постачальнику, під час матеріалізації конфігурації |
| 3 | `normalizeModelId` | Очищення застарілих/preview аліасів model-id перед пошуком |
| 4 | `normalizeTransport` | Очищення `api` / `baseUrl` для сімейства постачальників перед збиранням узагальненої моделі |
| 5 | `normalizeConfig` | Нормалізація конфігурації `models.providers.<id>` |
| 6 | `applyNativeStreamingUsageCompat` | Переписування для сумісності native streaming-usage для конфігурованих постачальників |
| 7 | `resolveConfigApiKey` | Визначення автентифікації з env-marker, що належить постачальнику |
| 8 | `resolveSyntheticAuth` | Синтетична автентифікація для local/self-hosted або на основі конфігурації |
| 9 | `shouldDeferSyntheticProfileAuth` | Занижувати пріоритет синтетичних placeholder-ів збереженого профілю порівняно з env/config auth |
| 10 | `resolveDynamicModel` | Приймати довільні id моделей з upstream |
| 11 | `prepareDynamicModel` | Асинхронне отримання метаданих перед визначенням |
| 12 | `normalizeResolvedModel` | Переписування транспорту перед runner |
| 13 | `contributeResolvedModelCompat` | Прапорці сумісності для моделей постачальника, що працюють через інший сумісний транспорт |
| 13 | `contributeResolvedModelCompat` | Прапорці сумісності для моделей постачальника за іншим сумісним транспортом |
| 14 | `capabilities` | Застарілий статичний набір можливостей; лише для сумісності |
| 15 | `normalizeToolSchemas` | Очищення схем інструментів, що належить постачальнику, перед реєстрацією |
| 16 | `inspectToolSchemas` | Діагностика схем інструментів, що належить постачальнику |
| 17 | `resolveReasoningOutputMode` | Контракт tagged vs native reasoning-output |
| 17 | `resolveReasoningOutputMode` | Контракт тегованого чи нативного reasoning-output |
| 18 | `prepareExtraParams` | Параметри запиту за замовчуванням |
| 19 | `createStreamFn` | Повністю власний транспорт StreamFn |
| 20 | `wrapStreamFn` | Обгортки власних заголовків/тіла у звичайному шляху потоку |
| 19 | `createStreamFn` | Повністю користувацький транспорт `StreamFn` |
| 20 | `wrapStreamFn` | Користувацькі обгортки заголовків/тіла на звичайному шляху потоку |
| 21 | `resolveTransportTurnState` | Нативні заголовки/метадані для кожного turn |
| 22 | `resolveWebSocketSessionPolicy` | Нативні заголовки сесії WS / cooldown |
| 23 | `formatApiKey` | Власна форма runtime-токена |
| 24 | `refreshOAuth` | Власне оновлення OAuth |
| 25 | `buildAuthDoctorHint` | Підказка для виправлення автентифікації |
| 26 | `matchesContextOverflowError` | Визначення переповнення, що належить постачальнику |
| 22 | `resolveWebSocketSessionPolicy` | Нативні заголовки сеансу WS / час cool-down |
| 23 | `formatApiKey` | Користувацька форма runtime-токена |
| 24 | `refreshOAuth` | Користувацьке оновлення OAuth |
| 25 | `buildAuthDoctorHint` | Підказка щодо виправлення автентифікації |
| 26 | `matchesContextOverflowError` | Визначення переповнення контексту, що належить постачальнику |
| 27 | `classifyFailoverReason` | Класифікація rate-limit/overload, що належить постачальнику |
| 28 | `isCacheTtlEligible` | Гейтинг TTL кешу prompt-ів |
| 29 | `buildMissingAuthMessage` | Власна підказка про відсутню автентифікацію |
| 30 | `suppressBuiltInModel` | Приховування застарілих upstream-рядків |
| 31 | `augmentModelCatalog` | Синтетичні рядки прямої сумісності з майбутніми версіями |
| 32 | `resolveThinkingProfile` | Набір опцій `/think`, специфічний для моделі |
| 33 | `isBinaryThinking` | Сумісність із двійковим thinking увімк./вимк. |
| 34 | `supportsXHighThinking` | Сумісність із reasoning `xhigh` |
| 35 | `resolveDefaultThinkingLevel` | Сумісність із політикою `/think` за замовчуванням |
| 28 | `isCacheTtlEligible` | Gating TTL кешу prompt |
| 29 | `buildMissingAuthMessage` | Користувацька підказка про відсутню автентифікацію |
| 30 | `suppressBuiltInModel` | Застаріло. Runtime-хук більше не викликається; використовуйте `modelCatalog.suppressions` у маніфесті |
| 31 | `augmentModelCatalog` | Синтетичні рядки forward-compat |
| 32 | `resolveThinkingProfile` | Набір параметрів `/think` для конкретної моделі |
| 33 | `isBinaryThinking` | Сумісність бінарного увімкнення/вимкнення thinking |
| 34 | `supportsXHighThinking` | Сумісність підтримки reasoning `xhigh` |
| 35 | `resolveDefaultThinkingLevel` | Сумісність політики `/think` за замовчуванням |
| 36 | `isModernModelRef` | Відповідність моделі для live/smoke |
| 37 | `prepareRuntimeAuth` | Обмін токенами перед інференсом |
| 38 | `resolveUsageAuth` | Власний розбір облікових даних використання |
| 39 | `fetchUsageSnapshot` | Власний endpoint використання |
| 38 | `resolveUsageAuth` | Користувацький розбір облікових даних використання |
| 39 | `fetchUsageSnapshot` | Користувацька кінцева точка використання |
| 40 | `createEmbeddingProvider` | Адаптер embedding, що належить постачальнику, для пам’яті/пошуку |
| 41 | `buildReplayPolicy` | Власна політика replay/Compaction транскрипту |
| 42 | `sanitizeReplayHistory` | Специфічні для постачальника переписування replay після загального очищення |
| 43 | `validateReplayTurns` | Сувора валідація turn-ів replay перед вбудованим runner |
| 44 | `onModelSelected` | Зворотний виклик після вибору моделі (наприклад, телеметрія) |
| 41 | `buildReplayPolicy` | Користувацька політика replay/Compaction транскрипту |
| 42 | `sanitizeReplayHistory` | Переписування replay, специфічні для постачальника, після узагальненого очищення |
| 43 | `validateReplayTurns` | Сувора валідація turn replay перед вбудованим runner |
| 44 | `onModelSelected` | Колбек після вибору моделі (наприклад, телеметрія) |
Примітки щодо runtime fallback:
- `normalizeConfig` спочатку перевіряє відповідний постачальник, потім інші Plugin постачальників із підтримкою хуків, доки якийсь із них справді не змінить config. Якщо жоден хук постачальника не перепише підтримуваний запис config сімейства Google, усе ще застосовується вбудований normalizer config Google.
- `resolveConfigApiKey` використовує хук постачальника, якщо він доступний. Вбудований шлях `amazon-bedrock` також має тут вбудований resolver AWS env-marker, хоча runtime-автентифікація Bedrock досі використовує стандартний ланцюжок AWS SDK.
- `resolveSystemPromptContribution` дозволяє постачальнику ін’єктувати підказки системного prompt, чутливі до кешу, для сімейства моделей. Надавайте йому перевагу над `before_prompt_build`, коли поведінка належить одному постачальнику/сімейству моделей і має зберігати стабільний/динамічний поділ кешу.
- `normalizeConfig` спочатку перевіряє відповідного постачальника, а потім інші plugin постачальників із підтримкою хуків, доки один із них справді не змінить конфігурацію. Якщо жоден хук постачальника не переписує підтримуваний запис конфігурації сімейства Google, усе ще застосовується вбудований нормалізатор конфігурації Google.
- `resolveConfigApiKey` використовує хук постачальника, якщо він наданий. Вбудований шлях `amazon-bedrock` також має тут вбудований resolver AWS env-marker, хоча сама runtime-автентифікація Bedrock, як і раніше, використовує стандартний ланцюжок AWS SDK.
- `resolveSystemPromptContribution` дозволяє постачальнику інжектувати cache-aware інструкції системного prompt для сімейства моделей. Віддавайте йому перевагу над `before_prompt_build`, коли поведінка належить одному сімейству постачальника/моделей і має зберігати стабільний/динамічний поділ кешу.
Докладні описи та приклади з реального світу дивіться в [Внутрішня архітектура: runtime-хуки постачальників](/uk/plugins/architecture-internals#provider-runtime-hooks).
Докладні описи та приклади з реального світу дивіться в [Внутрішні механізми: Runtime-хуки постачальників](/uk/plugins/architecture-internals#provider-runtime-hooks).
</Accordion>
</Step>
<Step title="Додайте додаткові можливості (необов’язково)">
Plugin постачальника може реєструвати мовлення, realtime-транскрипцію, realtime-голос,
розуміння медіа, генерацію зображень, генерацію відео, web fetch
Plugin постачальника може реєструвати розпізнавання мовлення, транскрипцію realtime, realtime
голос, розуміння медіа, генерацію зображень, генерацію відео, web fetch
і web search поряд із текстовим інференсом. OpenClaw класифікує це як
Plugin **hybrid-capability** — рекомендований шаблон для корпоративних Plugin
(один Plugin на постачальника). Див.
[Внутрішня архітектура: володіння можливостями](/uk/plugins/architecture#capability-ownership-model).
plugin **hybrid-capability** — рекомендований шаблон для корпоративних plugins
(один plugin на постачальника). Див.
[Внутрішні механізми: Володіння можливостями](/uk/plugins/architecture#capability-ownership-model).
Реєструйте кожну можливість усередині `register(api)` поруч із вашим наявним
викликом `api.registerProvider(...)`. Обирайте лише ті вкладки, які вам потрібні:
Зареєструйте кожну можливість у `register(api)` поруч із вашим наявним
викликом `api.registerProvider(...)`. Виберіть лише ті вкладки, які вам потрібні:
<Tabs>
<Tab title="Мовлення (TTS)">
@ -534,13 +534,14 @@ x-i18n:
```
Використовуйте `assertOkOrThrowProviderError(...)` для HTTP-збоїв постачальника, щоб
Plugin спільно використовували обмежене читання тіла помилки, розбір JSON-помилок і
plugins спільно використовували обмежене читання тіла помилки, розбір помилок JSON і
суфікси request-id.
</Tab>
<Tab title="Realtime-транскрипція">
Надавайте перевагу `createRealtimeTranscriptionWebSocketSession(...)` — цей спільний
helper обробляє захоплення проксі, backoff повторного підключення, flush під час закриття, ready-handshake, постановку аудіо в чергу та діагностику подій закриття. Ваш Plugin
лише зіставляє upstream-події.
<Tab title="Транскрипція realtime">
Віддавайте перевагу `createRealtimeTranscriptionWebSocketSession(...)` — спільний
хелпер обробляє перехоплення проксі, backoff для повторного підключення, flush під час закриття, handshake готовності,
постановку аудіо в чергу та діагностику подій закриття. Ваш plugin
лише відображає події upstream.
```typescript
api.registerRealtimeTranscriptionProvider({
@ -578,13 +579,13 @@ x-i18n:
});
```
Пакетні STT-постачальники, які надсилають multipart-аудіо через POST, мають використовувати
Постачальники пакетного STT, які надсилають multipart-аудіо через POST, повинні використовувати
`buildAudioTranscriptionFormData(...)` з
`openclaw/plugin-sdk/provider-http`. Цей helper нормалізує
імена файлів для завантаження, зокрема AAC-завантаження, яким потрібне ім’я файлу у стилі M4A для
`openclaw/plugin-sdk/provider-http`. Хелпер нормалізує
імена файлів для завантаження, зокрема завантаження AAC, яким потрібне ім’я файлу у стилі M4A для
сумісних API транскрипції.
</Tab>
<Tab title="Realtime-голос">
<Tab title="Голос realtime">
```typescript
api.registerRealtimeVoiceProvider({
id: "acme-ai",
@ -617,10 +618,10 @@ x-i18n:
```
</Tab>
<Tab title="Генерація зображень і відео">
Можливості відео використовують форму з **урахуванням режиму**: `generate`,
Можливості відео використовують **mode-aware** форму: `generate`,
`imageToVideo` і `videoToVideo`. Плоских агрегованих полів на кшталт
`maxInputImages` / `maxInputVideos` / `maxDurationSeconds` недостатньо,
щоб коректно оголошувати підтримку режиму transform або чисто вимикати режими.
щоб коректно оголосити підтримку режиму трансформації або чисто вимкнені режими.
Генерація музики дотримується того самого шаблону з явними блоками `generate` /
`edit`.
@ -654,7 +655,7 @@ x-i18n:
api.registerWebFetchProvider({
id: "acme-ai-fetch",
label: "Acme Fetch",
hint: "Fetch pages through Acme's rendering backend.",
hint: "Отримуйте сторінки через backend рендерингу Acme.",
envVars: ["ACME_FETCH_API_KEY"],
placeholder: "acme-...",
signupUrl: "https://acme.example.com/fetch",
@ -665,7 +666,7 @@ x-i18n:
acme.apiKey = value;
},
createTool: () => ({
description: "Fetch a page through Acme Fetch.",
description: "Отримати сторінку через Acme Fetch.",
parameters: {},
execute: async (args) => ({ content: [] }),
}),
@ -718,14 +719,14 @@ x-i18n:
## Публікація в ClawHub
Plugin постачальників публікуються так само, як і будь-який інший зовнішній Plugin коду:
Plugins постачальників публікуються так само, як і будь-який інший зовнішній code plugin:
```bash
clawhub package publish your-org/your-plugin --dry-run
clawhub package publish your-org/your-plugin
```
Не використовуйте тут застарілий псевдонім публікації лише для Skills; пакети Plugin повинні використовувати
Не використовуйте тут застарілий alias публікації лише для Skills; пакети plugin слід публікувати через
`clawhub package publish`.
## Структура файлів
@ -737,30 +738,30 @@ clawhub package publish your-org/your-plugin
├── index.ts # definePluginEntry + registerProvider
└── src/
├── provider.test.ts # Тести
└── usage.ts # Endpoint використання (необов’язково)
└── usage.ts # Кінцева точка використання (необов’язково)
```
## Довідник порядку каталогів
## Довідник порядку каталогу
`catalog.order` визначає, коли ваш каталог буде об’єднано відносно вбудованих
`catalog.order` керує тим, коли ваш каталог зливається відносно вбудованих
постачальників:
| Порядок | Коли | Випадок використання |
| Порядок | Коли | Випадок використання |
| --------- | ------------- | ----------------------------------------------- |
| `simple` | Перший прохід | Звичайні постачальники з API-ключем |
| `profile` | Після simple | Постачальники, обмежені профілями автентифікації |
| `paired` | Після profile | Синтез кількох пов’язаних записів |
| `late` | Останній прохід | Перевизначення наявних постачальників (перемагає при конфлікті) |
| `simple` | Перший прохід | Звичайні постачальники з API-ключем |
| `profile` | Після simple | Постачальники, обмежені профілями автентифікації |
| `paired` | Після profile | Синтез кількох пов’язаних записів |
| `late` | Останній прохід | Перевизначення наявних постачальників (перемагає при колізії) |
## Наступні кроки
- [Plugin каналів](/uk/plugins/sdk-channel-plugins) — якщо ваш Plugin також надає канал
- [SDK Runtime](/uk/plugins/sdk-runtime) — helper-и `api.runtime` (TTS, search, subagent)
- [Огляд SDK](/uk/plugins/sdk-overview) — повний довідник імпорту subpath
- [Внутрішня архітектура Plugin](/uk/plugins/architecture-internals#provider-runtime-hooks) — подробиці про хуки та вбудовані приклади
- [Plugins каналів](/uk/plugins/sdk-channel-plugins) — якщо ваш plugin також надає канал
- [SDK Runtime](/uk/plugins/sdk-runtime) — хелпери `api.runtime` (TTS, search, subagent)
- [Огляд SDK](/uk/plugins/sdk-overview) — повний довідник імпорту підшляхів
- [Внутрішні механізми plugin](/uk/plugins/architecture-internals#provider-runtime-hooks) — подробиці про хуки та вбудовані приклади
## Пов’язане
- [Налаштування Plugin SDK](/uk/plugins/sdk-setup)
- [Створення Plugin](/uk/plugins/building-plugins)
- [Створення Plugin каналів](/uk/plugins/sdk-channel-plugins)
- [Створення plugins](/uk/plugins/building-plugins)
- [Створення plugin каналів](/uk/plugins/sdk-channel-plugins)

View File

@ -5,232 +5,232 @@ read_when:
summary: 'Каталог підшляхів Plugin SDK: які імпорти де розміщені, згруповано за областями'
title: Підшляхи Plugin SDK
x-i18n:
generated_at: "2026-04-28T01:34:53Z"
generated_at: "2026-04-28T01:41:53Z"
model: gpt-5.4
provider: openai
source_hash: 40dbd7010153dc65dcad3c227152c6274cdf01c832b53ab0e00ad59916c43a02
source_hash: ac30c28c643e6f1a8488ece14f2f8a77c182370b1eb831de4b6f9e1b4d807fbd
source_path: plugins/sdk-subpaths.md
workflow: 15
---
Plugin SDK представлено як набір вузьких підшляхів у `openclaw/plugin-sdk/`.
На цій сторінці каталогізовано найуживаніші підшляхи, згруповані за призначенням. Згенерований
повний список із понад 200 підшляхів міститься в `scripts/lib/plugin-sdk-entrypoints.json`;
зарезервовані допоміжні підшляхи bundled-plugin також наведені там, але є деталями
реалізації, якщо лише сторінка документації явно не просуває їх.
Ця сторінка містить каталог найуживаніших підшляхів, згрупованих за призначенням. Згенерований
повний список із понад 200 підшляхів розміщено в `scripts/lib/plugin-sdk-entrypoints.json`;
зарезервовані допоміжні підшляхи bundled-plugin також наведено там, але вони є деталлю
реалізації, якщо лише сторінка документації не просуває їх явно.
Посібник з написання Plugin див. у [Огляд Plugin SDK](/uk/plugins/sdk-overview).
Посібник з розробки Plugin див. у [Огляд Plugin SDK](/uk/plugins/sdk-overview).
## Точка входу Plugin
| Підшлях | Ключові експорти |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
| `plugin-sdk/config-schema` | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/testing` | Широкий сумісний barrel для застарілих тестів Plugin; для нових тестів extension віддавайте перевагу сфокусованим тестовим підшляхам |
| `plugin-sdk/plugin-test-api` | Мінімальний конструктор моків `OpenClawPluginApi` для модульних тестів безпосередньої реєстрації Plugin |
| `plugin-sdk/channel-test-helpers` | Допоміжні засоби для тестування життєвого циклу облікових записів каналу, каталогу, send-config, мока runtime, hook і загального контракту каналу |
| `plugin-sdk/channel-target-testing` | Спільний набір тестів випадків помилок визначення цілі каналу |
| `plugin-sdk/plugin-test-contracts` | Допоміжні засоби для контрактів реєстрації Plugin, маніфесту пакета, публічного артефакту, runtime API, побічного ефекту імпорту та прямого імпорту |
| `plugin-sdk/plugin-test-runtime` | Фікстури для тестів runtime Plugin, реєстру, реєстрації provider, майстра налаштування та runtime TaskFlow |
| `plugin-sdk/provider-test-contracts` | Допоміжні засоби для контрактів runtime provider, auth, discovery, onboard, catalog, web-search/fetch і wizard |
| `plugin-sdk/test-env` | Фікстури для тестового середовища, fetch/network, live-test, тимчасової файлової системи та керування часом |
| `plugin-sdk/test-fixtures` | Загальні тестові фікстури для CLI, sandbox, skill, agent-message, system-event, terminal, chunking, auth-token і typed-case |
| `plugin-sdk/migration` | Допоміжні засоби для елементів provider міграції, як-от `createMigrationItem`, константи причин, маркери стану елементів, засоби редагування та `summarizeMigrationItems` |
| `plugin-sdk/migration-runtime` | Допоміжні засоби runtime міграції, як-от `copyMigrationFileItem` і `writeMigrationReport` |
| Підшлях | Ключові експорти |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `plugin-sdk/plugin-entry` | `definePluginEntry` |
| `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` |
| `plugin-sdk/config-schema` | `OpenClawSchema` |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/testing` | Широкий сумісний barrel для застарілих тестів Plugin; для нових тестів extension надавайте перевагу вузькоспрямованим тестовим підшляхам |
| `plugin-sdk/plugin-test-api` | Мінімальний конструктор мока `OpenClawPluginApi` для unit-тестів прямої реєстрації Plugin |
| `plugin-sdk/channel-test-helpers` | Допоміжні засоби для тестів життєвого циклу облікового запису каналу, каталогу, send-config, мока runtime, hook і загального контракту каналу |
| `plugin-sdk/channel-target-testing` | Спільний набір тестів для помилкових сценаріїв визначення цілі каналу |
| `plugin-sdk/plugin-test-contracts` | Допоміжні засоби контрактів для реєстрації Plugin, package manifest, публічного артефакту, runtime API, побічних ефектів імпорту та прямого імпорту |
| `plugin-sdk/plugin-test-runtime` | Фікстури для тестів runtime Plugin, реєстру, реєстрації провайдера, майстра налаштування і runtime TaskFlow |
| `plugin-sdk/provider-test-contracts` | Допоміжні засоби контрактів runtime провайдера, auth, discovery, onboard, catalog, web-search/fetch і майстра |
| `plugin-sdk/test-env` | Фікстури тестового середовища, fetch/network, live-тестів, тимчасової файлової системи та керування часом |
| `plugin-sdk/test-fixtures` | Загальні тестові фікстури для CLI, sandbox, skill, agent-message, system-event, terminal, chunking, auth-token і typed-case |
| `plugin-sdk/migration` | Допоміжні засоби елементів провайдера міграції, як-от `createMigrationItem`, константи причин, маркери статусу елементів, helpers для редагування і `summarizeMigrationItems` |
| `plugin-sdk/migration-runtime` | Допоміжні засоби runtime міграції, як-от `copyMigrationFileItem` і `writeMigrationReport` |
<AccordionGroup>
<Accordion title="Підшляхи каналу">
<Accordion title="Підшляхи каналів">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
| `plugin-sdk/config-schema` | Експорт кореневої Zod-схеми `openclaw.json` (`OpenClawSchema`) |
| `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, а також `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
| `plugin-sdk/setup` | Спільні допоміжні засоби для майстра налаштування, підказок allowlist і побудови стану налаштування |
| `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування, запити allowlist, конструктори статусу налаштування |
| `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` |
| `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
| `plugin-sdk/account-core` | Допоміжні засоби для багатокористувацької конфігурації/шлюзів дій і резервного використання облікового запису за замовчуванням |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації account-id |
| `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікового запису + резервного використання значення за замовчуванням |
| `plugin-sdk/account-helpers` | Вузькі допоміжні засоби для списку облікових записів/дій з обліковими записами |
| `plugin-sdk/account-core` | Допоміжні засоби багатокористувацької конфігурації/контролю дій і fallback для облікового запису за замовчуванням |
| `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації ідентифікатора облікового запису |
| `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікового запису + fallback до значення за замовчуванням |
| `plugin-sdk/account-helpers` | Вузькоспрямовані допоміжні засоби для списку облікових записів/дій з обліковими записами |
| `plugin-sdk/channel-pairing` | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | Спільні примітиви схеми конфігурації каналу та загальний конструктор |
| `plugin-sdk/bundled-channel-config-schema` | Схеми конфігурації каналу bundled OpenClaw лише для підтримуваних bundled Plugin |
| `plugin-sdk/channel-config-schema-legacy` | Застарілий сумісний псевдонім для bundled-channel config schemas |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram із резервною підтримкою bundled-contract |
| `plugin-sdk/command-gating` | Вузькі допоміжні засоби для шлюзів авторизації команд |
| `plugin-sdk/channel-config-schema` | Спільні примітиви схеми конфігурації каналу і загальний конструктор |
| `plugin-sdk/bundled-channel-config-schema` | Вбудовані схеми конфігурації каналів OpenClaw для підтримуваних bundled Plugin |
| `plugin-sdk/channel-config-schema-legacy` | Застарілий сумісний alias для bundled-channel config schemas |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram з fallback до вбудованого контракту |
| `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/channel-lifecycle` | `createAccountStatusSink`, допоміжні засоби життєвого циклу/завершення draft stream |
| `plugin-sdk/inbound-envelope` | Спільні допоміжні засоби маршрутизації вхідних повідомлень і побудови envelope |
| `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби запису і dispatch для вхідних повідомлень |
| `plugin-sdk/messaging-targets` | Допоміжні засоби розбору/зіставлення цілей |
| `plugin-sdk/outbound-media` | Спільні допоміжні засоби завантаження вихідних медіа |
| `plugin-sdk/outbound-send-deps` | Полегшений пошук залежностей вихідного надсилання для адаптерів каналу |
| `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідної доставки, ідентифікації, делегата надсилання, сесії, форматування та планування payload |
| `plugin-sdk/poll-runtime` | Вузькі допоміжні засоби нормалізації poll |
| `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби життєвого циклу та адаптера для прив’язок потоків |
| `plugin-sdk/agent-media-payload` | Застарілий конструктор payload медіа агента |
| `plugin-sdk/conversation-runtime` | Допоміжні засоби прив’язки розмов/потоків, pairing і налаштованих прив’язок |
| `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб знімка конфігурації runtime |
| `plugin-sdk/outbound-send-deps` | Полегшений пошук залежностей надсилання вихідних повідомлень для адаптерів каналів |
| `plugin-sdk/outbound-runtime` | Допоміжні засоби доставки вихідних повідомлень, identity, send delegate, session, форматування та планування payload |
| `plugin-sdk/poll-runtime` | Вузькоспрямовані допоміжні засоби нормалізації poll |
| `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби життєвого циклу thread-binding і адаптерів |
| `plugin-sdk/agent-media-payload` | Застарілий конструктор media payload агента |
| `plugin-sdk/conversation-runtime` | Допоміжні засоби conversation/thread binding, pairing і configured-binding |
| `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб snapshot конфігурації runtime |
| `plugin-sdk/runtime-group-policy` | Допоміжні засоби визначення group-policy у runtime |
| `plugin-sdk/channel-status` | Спільні допоміжні засоби знімка/підсумку стану каналу |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви схеми конфігурації каналу |
| `plugin-sdk/channel-status` | Спільні допоміжні засоби snapshot/summary стану каналу |
| `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/group-access` | Спільні допоміжні засоби рішень щодо group-access |
| `plugin-sdk/direct-dm` | Спільні допоміжні засоби auth/guard для прямих DM |
| `plugin-sdk/interactive-runtime` | Допоміжні засоби семантичного представлення повідомлень, доставки та застарілих інтерактивних відповідей. Див. [Представлення повідомлень](/uk/plugins/message-presentation) |
| `plugin-sdk/channel-inbound` | Сумісний barrel для debounce вхідних даних, зіставлення згадок, допоміжних засобів mention-policy і допоміжних засобів envelope |
| `plugin-sdk/channel-inbound-debounce` | Вузькі допоміжні засоби debounce вхідних даних |
| `plugin-sdk/channel-mention-gating` | Вузькі допоміжні засоби mention-policy, маркерів згадок і тексту згадок без ширшої поверхні inbound runtime |
| `plugin-sdk/channel-envelope` | Вузькі допоміжні засоби форматування вхідного envelope |
| `plugin-sdk/channel-location` | Допоміжні засоби контексту й форматування розташування каналу |
| `plugin-sdk/channel-logging` | Допоміжні засоби журналювання каналу для скидання вхідних даних і збоїв typing/ack |
| `plugin-sdk/channel-inbound` | Сумісний barrel для допоміжних засобів debounce вхідних повідомлень, зіставлення згадок, політики згадок і envelope |
| `plugin-sdk/channel-inbound-debounce` | Вузькоспрямовані допоміжні засоби debounce для вхідних повідомлень |
| `plugin-sdk/channel-mention-gating` | Вузькоспрямовані допоміжні засоби політики згадок, маркерів згадок і тексту згадок без ширшої поверхні inbound runtime |
| `plugin-sdk/channel-envelope` | Вузькоспрямовані допоміжні засоби форматування inbound envelope |
| `plugin-sdk/channel-location` | Допоміжні засоби контексту і форматування розташування каналу |
| `plugin-sdk/channel-logging` | Допоміжні засоби логування каналу для відкинутих вхідних повідомлень і збоїв typing/ack |
| `plugin-sdk/channel-send-result` | Типи результатів відповіді |
| `plugin-sdk/channel-actions` | Допоміжні засоби для message-action каналу, а також застарілі допоміжні засоби native schema, збережені для сумісності Plugin |
| `plugin-sdk/channel-route` | Спільні допоміжні засоби нормалізації маршрутів, визначення цілей на основі parser, перетворення thread-id на рядок, dedupe/compact ключів маршруту, типів parsed-target і порівняння маршруту/цілі |
| `plugin-sdk/channel-targets` | Допоміжні засоби розбору цілей; виклики порівняння маршрутів мають використовувати `plugin-sdk/channel-route` |
| `plugin-sdk/channel-actions` | Допоміжні засоби дій із повідомленнями каналу, а також застарілі допоміжні засоби native schema, збережені для сумісності Plugin |
| `plugin-sdk/channel-route` | Спільні допоміжні засоби нормалізації маршрутів, визначення цілей на основі parser, перетворення thread-id на рядок, dedupe/compact ключів маршруту, типів parsed-target, а також порівняння маршрутів/цілей |
| `plugin-sdk/channel-targets` | Допоміжні засоби розбору цілей; виклики порівняння маршрутів слід спрямовувати до `plugin-sdk/channel-route` |
| `plugin-sdk/channel-contract` | Типи контракту каналу |
| `plugin-sdk/channel-feedback` | Підключення feedback/reaction |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби secret-contract, як-от `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи secret target |
| `plugin-sdk/channel-secret-runtime` | Вузькоспрямовані допоміжні засоби secret contract, як-от `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи secret target |
</Accordion>
<Accordion title="Підшляхи Provider">
<Accordion title="Підшляхи провайдерів">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
| `plugin-sdk/lmstudio` | Підтримуваний фасад provider LM Studio для налаштування, виявлення каталогу та підготовки моделей у runtime |
| `plugin-sdk/lmstudio-runtime` | Підтримуваний фасад runtime LM Studio для локальних типових налаштувань сервера, виявлення моделей, заголовків запитів і допоміжних засобів для завантажених моделей |
| `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локального/self-hosted provider |
| `plugin-sdk/self-hosted-provider-setup` | Сфокусовані допоміжні засоби налаштування self-hosted provider, сумісного з OpenAI |
| `plugin-sdk/cli-backend` | Типові налаштування backend для CLI + константи watchdog |
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби визначення API-key у runtime для provider Plugin |
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби онбордингу/запису профілю API-key, як-от `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний конструктор результату auth OAuth |
| `plugin-sdk/provider-auth-login` | Спільні допоміжні засоби інтерактивного входу для provider Plugin |
| `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку env var для auth provider |
| `plugin-sdk/lmstudio` | Підтримуваний фасад провайдера LM Studio для налаштування, виявлення каталогу та підготовки моделі в runtime |
| `plugin-sdk/lmstudio-runtime` | Підтримуваний фасад runtime LM Studio для типових параметрів локального сервера, виявлення моделей, заголовків запитів і допоміжних засобів для завантажених моделей |
| `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних/self-hosted провайдерів |
| `plugin-sdk/self-hosted-provider-setup` | Сфокусовані допоміжні засоби налаштування self-hosted провайдерів, сумісних з OpenAI |
| `plugin-sdk/cli-backend` | Типові параметри бекенда CLI + константи watchdog |
| `plugin-sdk/provider-auth-runtime` | Допоміжні засоби визначення API-ключа в runtime для Plugin провайдерів |
| `plugin-sdk/provider-auth-api-key` | Допоміжні засоби онбордингу/запису профілю API-ключа, такі як `upsertApiKeyProfile` |
| `plugin-sdk/provider-auth-result` | Стандартний конструктор результату OAuth auth |
| `plugin-sdk/provider-auth-login` | Спільні допоміжні засоби інтерактивного входу для Plugin провайдерів |
| `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку auth env var для провайдерів |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні конструктори replay-policy, допоміжні засоби endpoint provider і засоби нормалізації model-id, як-от `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-runtime` | Хуки runtime каталогу provider і межі реєстру plugin-provider для контрактних тестів |
| `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні конструктори replay-policy, допоміжні засоби endpoint провайдера та нормалізації model-id, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-runtime` | Хук runtime для розширення каталогу провайдера та межі реєстру plugin-provider для контрактних тестів |
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
| `plugin-sdk/provider-http` | Загальні допоміжні засоби HTTP/можливостей endpoint provider, помилки HTTP provider і допоміжні засоби multipart form для транскрипції аудіо |
| `plugin-sdk/provider-web-fetch-contract` | Вузькі допоміжні засоби контракту config/selection для web-fetch, як-от `enablePluginInConfig` і `WebFetchProviderPlugin` |
| `plugin-sdk/provider-web-fetch` | Допоміжні засоби реєстрації/кешу provider для web-fetch |
| `plugin-sdk/provider-web-search-config-contract` | Вузькі допоміжні засоби config/credential для web-search для provider, яким не потрібне підключення enable Plugin |
| `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні засоби контракту config/credential для web-search, як-от `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і scoped-засоби встановлення/отримання credential |
| `plugin-sdk/provider-web-search` | Допоміжні засоби реєстрації/кешу/runtime provider для web-search |
| `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика і допоміжні засоби сумісності xAI, як-от `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
| `plugin-sdk/provider-http` | Загальні допоміжні засоби можливостей HTTP/endpoint провайдерів, HTTP-помилки провайдерів і допоміжні засоби multipart form для транскрибування аудіо |
| `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` і scoped сетери/гетери облікових даних |
| `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 і спільні допоміжні засоби обгорток для Anthropic/Bedrock/DeepSeek V4/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-transport-runtime` | Власні допоміжні засоби transport provider, як-от guarded fetch, перетворення повідомлень transport і потоки подій transport із можливістю запису |
| `plugin-sdk/provider-onboard` | Допоміжні засоби патчів config для онбордингу |
| `plugin-sdk/global-singleton` | Допоміжні засоби process-local singleton/map/cache |
| `plugin-sdk/group-activation` | Вузькі допоміжні засоби для режиму активації групи та розбору команд |
| `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи stream wrapper і спільні допоміжні засоби wrapper для Anthropic/Bedrock/DeepSeek V4/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
| `plugin-sdk/provider-transport-runtime` | Власні допоміжні засоби transport провайдера, такі як guarded fetch, перетворення повідомлень transport і потоки подій transport із можливістю запису |
| `plugin-sdk/provider-onboard` | Допоміжні засоби внесення змін до конфігурації онбордингу |
| `plugin-sdk/global-singleton` | Допоміжні засоби singleton/map/cache, локальні для процесу |
| `plugin-sdk/group-activation` | Вузькоспрямовані допоміжні засоби режиму активації груп і розбору команд |
</Accordion>
<Accordion title="Підшляхи auth і безпеки">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби реєстру команд, зокрема форматування меню динамічних аргументів, допоміжні засоби авторизації відправника |
| `plugin-sdk/command-status` | Конструктори повідомлень команд/довідки, як-от `buildCommandsMessagePaginated` і `buildHelpMessage` |
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби визначення схвалювача та auth дій у тому самому чаті |
| `plugin-sdk/approval-client-runtime` | Власні допоміжні засоби профілю/фільтра схвалення exec |
| `plugin-sdk/approval-delivery-runtime` | Власні адаптери можливостей/доставки схвалення |
| `plugin-sdk/approval-gateway-runtime` | Спільний допоміжний засіб визначення Gateway схвалення |
| `plugin-sdk/approval-handler-adapter-runtime` | Полегшені допоміжні засоби завантаження власного адаптера схвалення для гарячих точок входу каналу |
| `plugin-sdk/approval-handler-runtime` | Ширші допоміжні засоби runtime обробника схвалення; віддавайте перевагу вужчим межам adapter/gateway, коли їх достатньо |
| `plugin-sdk/approval-native-runtime` | Власні допоміжні засоби цілі схвалення + прив’язки облікового запису |
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload відповіді на схвалення exec/Plugin |
| `plugin-sdk/approval-runtime` | Допоміжні засоби payload схвалення exec/Plugin, власні допоміжні засоби маршрутизації/runtime схвалення та допоміжні засоби структурованого відображення схвалення, як-от `formatApprovalDisplayPath` |
| `plugin-sdk/reply-dedupe` | Вузькі допоміжні засоби скидання dedupe для вхідних відповідей |
| `plugin-sdk/channel-contract-testing` | Вузькі допоміжні засоби тестування контракту каналу без широкого тестового barrel |
| `plugin-sdk/command-auth-native` | Власні допоміжні засоби auth команд, форматування меню динамічних аргументів і допоміжні засоби native session-target |
| `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби реєстру команд, включно з форматуванням меню динамічних аргументів, допоміжні засоби авторизації відправника |
| `plugin-sdk/command-status` | Конструктори повідомлень команд/довідки, такі як `buildCommandsMessagePaginated` і `buildHelpMessage` |
| `plugin-sdk/approval-auth-runtime` | Допоміжні засоби визначення затверджувача та auth дій у тому самому чаті |
| `plugin-sdk/approval-client-runtime` | Власні допоміжні засоби профілю/фільтра затвердження exec |
| `plugin-sdk/approval-delivery-runtime` | Власні адаптери можливостей/доставки затвердження |
| `plugin-sdk/approval-gateway-runtime` | Спільний допоміжний засіб визначення Gateway затвердження |
| `plugin-sdk/approval-handler-adapter-runtime` | Полегшені допоміжні засоби завантаження власного адаптера затвердження для гарячих entrypoint каналу |
| `plugin-sdk/approval-handler-runtime` | Ширші допоміжні засоби runtime для обробника затвердження; віддавайте перевагу вужчим межам adapter/gateway, коли їх достатньо |
| `plugin-sdk/approval-native-runtime` | Власні допоміжні засоби цілей затвердження + прив’язки облікових записів |
| `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload відповіді для затвердження exec/Plugin |
| `plugin-sdk/approval-runtime` | Допоміжні засоби payload затвердження exec/Plugin, власні допоміжні засоби маршрутизації/runtime затвердження та структурованого відображення затвердження, такі як `formatApprovalDisplayPath` |
| `plugin-sdk/reply-dedupe` | Вузькоспрямовані допоміжні засоби скидання дедуплікації вхідних відповідей |
| `plugin-sdk/channel-contract-testing` | Вузькоспрямовані допоміжні засоби тестування контракту каналу без широкого тестового barrel |
| `plugin-sdk/command-auth-native` | Власні допоміжні засоби auth команд, форматування меню динамічних аргументів і власні допоміжні засоби session-target |
| `plugin-sdk/command-detection` | Спільні допоміжні засоби виявлення команд |
| `plugin-sdk/command-primitives-runtime` | Полегшені предикати тексту команд для гарячих шляхів каналу |
| `plugin-sdk/command-surface` | Допоміжні засоби нормалізації тіла команди та поверхні команд |
| `plugin-sdk/command-surface` | Допоміжні засоби нормалізації тіла команди і command-surface |
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
| `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби збирання secret-contract для поверхонь секретів каналу/Plugin |
| `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні засоби `coerceSecretRef` і типізації SecretRef для розбору secret-contract/config |
| `plugin-sdk/security-runtime` | Спільні допоміжні засоби trust, DM gating, external-content, редагування чутливого тексту, порівняння секретів у сталий час і збирання секретів |
| `plugin-sdk/ssrf-policy` | Допоміжні засоби політики SSRF для allowlist хостів і приватних мереж |
| `plugin-sdk/ssrf-dispatcher` | Вузькі допоміжні засоби pinned-dispatcher без широкої поверхні infra runtime |
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, fetch із захистом SSRF, помилка SSRF і допоміжні засоби політики SSRF |
| `plugin-sdk/secret-input` | Допоміжні засоби розбору вводу секретів |
| `plugin-sdk/channel-secret-runtime` | Вузькоспрямовані допоміжні засоби збирання secret contract для поверхонь секретів каналу/Plugin |
| `plugin-sdk/secret-ref-runtime` | Вузькоспрямовані допоміжні засоби `coerceSecretRef` і типізації SecretRef для розбору secret contract/config |
| `plugin-sdk/security-runtime` | Спільні допоміжні засоби довіри, DM gating, зовнішнього вмісту, редагування чутливого тексту, порівняння секретів у сталий час і збирання секретів |
| `plugin-sdk/ssrf-policy` | Допоміжні засоби host allowlist і політики SSRF для приватної мережі |
| `plugin-sdk/ssrf-dispatcher` | Вузькоспрямовані pinned-dispatcher helpers без широкої інфраструктурної поверхні runtime |
| `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, fetch із захистом SSRF, помилок SSRF і політики SSRF |
| `plugin-sdk/secret-input` | Допоміжні засоби розбору secret input |
| `plugin-sdk/webhook-ingress` | Допоміжні засоби запиту/цілі Webhook і приведення raw websocket/body |
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби для розміру body/timeout запиту |
| `plugin-sdk/webhook-request-guards` | Допоміжні засоби розміру body/timeout запиту |
</Accordion>
<Accordion title="Підшляхи runtime і сховища">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/runtime` | Широкі допоміжні засоби для runtime/журналювання/резервного копіювання/встановлення Plugin |
| `plugin-sdk/runtime-env` | Вузькі допоміжні засоби для env runtime, logger, timeout, retry і backoff |
| `plugin-sdk/browser-config` | Підтримуваний фасад конфігурації браузера для нормалізованого профілю/типових налаштувань, розбору URL CDP і допоміжних засобів auth для керування браузером |
| `plugin-sdk/runtime` | Широкі допоміжні засоби runtime/логування/резервного копіювання/встановлення Plugin |
| `plugin-sdk/runtime-env` | Вузькоспрямовані допоміжні засоби env runtime, logger, timeout, retry і backoff |
| `plugin-sdk/browser-config` | Підтримуваний фасад конфігурації браузера для нормалізованого профілю/типових параметрів, розбору URL CDP і допоміжних засобів auth керування браузером |
| `plugin-sdk/channel-runtime-context` | Загальні допоміжні засоби реєстрації та пошуку runtime-context каналу |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
| `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби команд/hook/http/interactive для Plugin |
| `plugin-sdk/hook-runtime` | Спільні допоміжні засоби конвеєра Webhook/внутрішніх hook |
| `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy import/binding для runtime, як-от `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
| `plugin-sdk/hook-runtime` | Спільні допоміжні засоби pipeline для Webhook/внутрішніх hook |
| `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy import/binding runtime, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
| `plugin-sdk/process-runtime` | Допоміжні засоби exec процесів |
| `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування, версії, виклику аргументів і lazy груп команд |
| `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта Gateway, CLI RPC Gateway, помилок протоколу Gateway і патчів channel-status |
| `plugin-sdk/config-types` | Поверхня конфігурації лише для типів для форм конфігурації Plugin, як-от `OpenClawConfig` і типи конфігурації каналу/provider |
| `plugin-sdk/plugin-config-runtime` | Допоміжні засоби пошуку plugin-config у runtime, як-от `requireRuntimeConfig`, `resolvePluginConfigObject` і `resolveLivePluginConfigObject` |
| `plugin-sdk/config-mutation` | Допоміжні засоби транзакційної мутації config, як-от `mutateConfigFile`, `replaceConfigFile` і `logConfigUpdated` |
| `plugin-sdk/runtime-config-snapshot` | Допоміжні засоби знімка config поточного процесу, як-от `getRuntimeConfig`, `getRuntimeConfigSnapshot` і тестові сетери знімків |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації назв/описів команд Telegram і перевірки дублікатів/конфліктів, навіть коли поверхня bundled-контракту Telegram недоступна |
| `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування, версій, виклику аргументів і lazy command-group |
| `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта Gateway, Gateway CLI RPC, помилок протоколу Gateway і внесення змін до статусу каналу |
| `plugin-sdk/config-types` | Поверхня конфігурації лише для типів для форм конфігурації Plugin, таких як `OpenClawConfig` і типи конфігурації каналів/провайдерів |
| `plugin-sdk/plugin-config-runtime` | Допоміжні засоби пошуку plugin-config у runtime, такі як `requireRuntimeConfig`, `resolvePluginConfigObject` і `resolveLivePluginConfigObject` |
| `plugin-sdk/config-mutation` | Допоміжні засоби транзакційної зміни конфігурації, такі як `mutateConfigFile`, `replaceConfigFile` і `logConfigUpdated` |
| `plugin-sdk/runtime-config-snapshot` | Допоміжні засоби snapshot конфігурації поточного процесу, такі як `getRuntimeConfig`, `getRuntimeConfigSnapshot` і сетери test snapshot |
| `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації назв/описів команд Telegram і перевірки дублікатів/конфліктів, навіть коли поверхня вбудованого контракту Telegram недоступна |
| `plugin-sdk/text-autolink-runtime` | Виявлення autolink посилань на файли без широкого barrel `text-runtime` |
| `plugin-sdk/approval-runtime` | Допоміжні засоби схвалення exec/Plugin, конструктори можливостей схвалення, допоміжні засоби auth/профілів, власні допоміжні засоби маршрутизації/runtime і форматування шляху структурованого відображення схвалення |
| `plugin-sdk/reply-runtime` | Спільні допоміжні засоби runtime для inbound/reply, chunking, dispatch, Heartbeat, планувальник reply |
| `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize для reply і допоміжні засоби міток розмов |
| `plugin-sdk/reply-history` | Спільні допоміжні засоби short-window history reply і маркери, як-от `buildHistoryContext`, `HISTORY_CONTEXT_MARKER`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/approval-runtime` | Допоміжні засоби затвердження exec/Plugin, конструктори можливостей затвердження, допоміжні засоби auth/профілів, власні допоміжні засоби маршрутизації/runtime і форматування структурованого шляху відображення затвердження |
| `plugin-sdk/reply-runtime` | Спільні допоміжні засоби inbound/reply runtime, chunking, dispatch, Heartbeat, планувальник відповідей |
| `plugin-sdk/reply-dispatch-runtime` | Вузькоспрямовані допоміжні засоби dispatch/finalize відповідей і міток conversation |
| `plugin-sdk/reply-history` | Спільні допоміжні засоби коротковіконної історії відповідей і маркери, такі як `buildHistoryContext`, `HISTORY_CONTEXT_MARKER`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
| `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking для тексту/markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби для шляху сховища сесій, session-key, updated-at і мутації сховища |
| `plugin-sdk/cron-store-runtime` | Допоміжні засоби для шляху/завантаження/збереження сховища Cron |
| `plugin-sdk/state-paths` | Допоміжні засоби шляхів для каталогів стану/OAuth |
| `plugin-sdk/routing` | Допоміжні засоби для маршрутів/session-key/прив’язки облікового запису, як-от `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Спільні допоміжні засоби підсумку стану каналу/облікового запису, типові значення стану runtime і допоміжні засоби метаданих проблем |
| `plugin-sdk/target-resolver-runtime` | Спільні допоміжні засоби визначення цілі |
| `plugin-sdk/reply-chunking` | Вузькоспрямовані допоміжні засоби chunking тексту/markdown |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби шляху сховища сесій, session-key, updated-at і зміни сховища |
| `plugin-sdk/cron-store-runtime` | Допоміжні засоби шляху/load/save сховища Cron |
| `plugin-sdk/state-paths` | Допоміжні засоби шляхів до каталогів стану/OAuth |
| `plugin-sdk/routing` | Допоміжні засоби route/session-key/account binding, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
| `plugin-sdk/status-helpers` | Спільні допоміжні засоби підсумків статусу каналу/облікового запису, типових параметрів runtime-state і метаданих issue |
| `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/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/model-session-runtime` | Допоміжні засоби перевизначення model/session, як-от `applyModelOverrideToSessionEntry` і `resolveAgentMaxConcurrent` |
| `plugin-sdk/talk-config-runtime` | Допоміжні засоби визначення конфігурації provider для Talk |
| `plugin-sdk/json-store` | Невеликі допоміжні засоби читання/запису стану JSON |
| `plugin-sdk/file-lock` | Допоміжні засоби реентерабельного file-lock |
| `plugin-sdk/persistent-dedupe` | Допоміжні засоби кешу dedupe на диску |
| `plugin-sdk/acp-runtime` | Допоміжні засоби runtime/session і reply-dispatch для ACP |
| `plugin-sdk/acp-binding-resolve-runtime` | Визначення прив’язки ACP лише для читання без імпортів запуску життєвого циклу |
| `plugin-sdk/agent-config-primitives` | Вузькі примітиви схеми конфігурації runtime агента |
| `plugin-sdk/boolean-param` | Зчитувач слабко типізованих boolean-параметрів |
| `plugin-sdk/logging-core` | Допоміжні засоби logger підсистеми і редагування |
| `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму і перетворення таблиць Markdown |
| `plugin-sdk/model-session-runtime` | Допоміжні засоби перевизначення моделі/сесії, такі як `applyModelOverrideToSessionEntry` і `resolveAgentMaxConcurrent` |
| `plugin-sdk/talk-config-runtime` | Допоміжні засоби визначення конфігурації провайдера talk |
| `plugin-sdk/json-store` | Невеликі допоміжні засоби читання/запису JSON-стану |
| `plugin-sdk/file-lock` | Допоміжні засоби повторно вхідного file-lock |
| `plugin-sdk/persistent-dedupe` | Допоміжні засоби кешу дедуплікації з дисковим зберіганням |
| `plugin-sdk/acp-runtime` | Допоміжні засоби runtime/сесій ACP і dispatch відповідей |
| `plugin-sdk/acp-binding-resolve-runtime` | Визначення прив’язок ACP лише для читання без імпортів запуску життєвого циклу |
| `plugin-sdk/agent-config-primitives` | Вузькоспрямовані примітиви schema конфігурації runtime агента |
| `plugin-sdk/boolean-param` | Читач булевих параметрів із м’яким приведенням |
| `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби визначення збігів небезпечних назв |
| `plugin-sdk/device-bootstrap` | Допоміжні засоби початкового налаштування пристрою та токенів pairing |
| `plugin-sdk/extension-shared` | Спільні примітиви допоміжних засобів для passive-channel, статусу й ambient proxy |
| `plugin-sdk/models-provider-runtime` | Допоміжні засоби для відповіді command/provider `/models` |
| `plugin-sdk/skill-commands-runtime` | Допоміжні засоби списку команд skill |
| `plugin-sdk/device-bootstrap` | Допоміжні засоби bootstrap пристрою і токенів pairing |
| `plugin-sdk/extension-shared` | Спільні примітиви допоміжних засобів passive-channel, status і ambient proxy |
| `plugin-sdk/models-provider-runtime` | Допоміжні засоби відповідей для команди `/models`/провайдера |
| `plugin-sdk/skill-commands-runtime` | Допоміжні засоби переліку команд skill |
| `plugin-sdk/native-command-registry` | Власні допоміжні засоби реєстру/побудови/серіалізації команд |
| `plugin-sdk/agent-harness` | Експериментальна поверхня trusted-plugin для низькорівневих harness агента: типи harness, допоміжні засоби steer/abort для active-run, допоміжні засоби мосту tool OpenClaw, допоміжні засоби політики tool для runtime-plan, класифікація результатів terminal, допоміжні засоби форматування/деталей прогресу tool і утиліти результатів спроб |
| `plugin-sdk/provider-zai-endpoint` | Допоміжні засоби виявлення endpoint Z.AI |
| `plugin-sdk/async-lock-runtime` | Допоміжний засіб process-local async lock для невеликих файлів стану runtime |
| `plugin-sdk/agent-harness` | Експериментальна поверхня trusted-plugin для низькорівневих harness агента: типи harness, допоміжні засоби steer/abort для active-run, допоміжні засоби bridge tool OpenClaw, допоміжні засоби політики tools runtime-plan, класифікація результатів terminal, допоміжні засоби форматування/деталізації прогресу tools і утиліти результатів спроб |
| `plugin-sdk/provider-zai-endpoint` | Допоміжні засоби визначення endpoint Z.A.I |
| `plugin-sdk/async-lock-runtime` | Допоміжний засіб асинхронного lock, локального для процесу, для невеликих файлів стану runtime |
| `plugin-sdk/channel-activity-runtime` | Допоміжний засіб телеметрії активності каналу |
| `plugin-sdk/concurrency-runtime` | Допоміжний засіб обмеженої конкурентності асинхронних завдань |
| `plugin-sdk/dedupe-runtime` | Допоміжні засоби кешу dedupe в пам’яті |
| `plugin-sdk/dedupe-runtime` | Допоміжні засоби кешу дедуплікації в пам’яті |
| `plugin-sdk/delivery-queue-runtime` | Допоміжний засіб очищення черги очікуваної вихідної доставки |
| `plugin-sdk/file-access-runtime` | Допоміжні засоби безпечних шляхів до локальних файлів і джерел медіа |
| `plugin-sdk/heartbeat-runtime` | Допоміжні засоби подій і видимості Heartbeat |
| `plugin-sdk/heartbeat-runtime` | Допоміжні засоби подій Heartbeat і видимості |
| `plugin-sdk/number-runtime` | Допоміжний засіб числового приведення |
| `plugin-sdk/secure-random-runtime` | Допоміжні засоби безпечних токенів/UUID |
| `plugin-sdk/system-event-runtime` | Допоміжні засоби черги системних подій |
@ -240,61 +240,61 @@ x-i18n:
| `plugin-sdk/diagnostic-runtime` | Допоміжні засоби діагностичних прапорців, подій і trace-context |
| `plugin-sdk/error-runtime` | Допоміжні засоби графа помилок, форматування, спільної класифікації помилок, `isApprovalNotFoundError` |
| `plugin-sdk/fetch-runtime` | Допоміжні засоби обгорнутого fetch, proxy і pinned lookup |
| `plugin-sdk/runtime-fetch` | Fetch runtime з урахуванням dispatcher без імпортів proxy/guarded-fetch |
| `plugin-sdk/response-limit-runtime` | Зчитувач body відповіді з обмеженням без широкої поверхні media runtime |
| `plugin-sdk/session-binding-runtime` | Поточний стан прив’язки розмови без маршрутизації налаштованих прив’язок або сховищ pairing |
| `plugin-sdk/session-store-runtime` | Допоміжні засоби сховища сесій без широких імпортів запису/обслуговування config |
| `plugin-sdk/context-visibility-runtime` | Допоміжні засоби визначення видимості контексту й фільтрації додаткового контексту без широких імпортів config/security |
| `plugin-sdk/string-coerce-runtime` | Вузькі допоміжні засоби приведення та нормалізації примітивних record/рядків без імпортів markdown/logging |
| `plugin-sdk/runtime-fetch` | Runtime fetch з урахуванням dispatcher без імпортів proxy/guarded-fetch |
| `plugin-sdk/response-limit-runtime` | Читач обмеженого body відповіді без широкої поверхні media runtime |
| `plugin-sdk/session-binding-runtime` | Поточний стан прив’язки conversation без маршрутизації configured binding або сховищ pairing |
| `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 |
| `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації retry і запуску retry |
| `plugin-sdk/agent-runtime` | Допоміжні засоби каталогів/ідентичності/робочого простору агента |
| `plugin-sdk/directory-runtime` | Пошук/усунення дублікатів каталогів на основі config |
| `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації retry і виконавця retry |
| `plugin-sdk/agent-runtime` | Допоміжні засоби каталогу/ідентичності/робочого простору агента |
| `plugin-sdk/directory-runtime` | Запит/dedup каталогу на основі конфігурації |
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
</Accordion>
<Accordion title="Підшляхи можливостей і тестування">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store для медіа, а також конструктори payload медіа |
| `plugin-sdk/media-store` | Вузькі допоміжні засоби медіасховища, як-от `saveMediaBuffer` |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для генерації медіа, вибір кандидатів і повідомлення про відсутню модель |
| `plugin-sdk/media-understanding` | Типи provider для розуміння медіа, а також експорти допоміжних засобів для зображень/аудіо, орієнтованих на provider |
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби для тексту/markdown/logging, як-от видалення тексту, видимого асистенту, допоміжні засоби render/chunking/table для markdown, допоміжні засоби редагування, допоміжні засоби тегів директив і утиліти безпечного тексту |
| `plugin-sdk/text-chunking` | Допоміжний засіб chunking для вихідного тексту |
| `plugin-sdk/speech` | Типи provider для мовлення, а також експорти допоміжних засобів директив, реєстру, валідації та мовлення, орієнтованих на provider |
| `plugin-sdk/speech-core` | Спільні типи provider для мовлення, а також експорти допоміжних засобів реєстру, директив, нормалізації та мовлення |
| `plugin-sdk/realtime-transcription` | Типи provider для транскрипції в реальному часі, допоміжні засоби реєстру та спільний допоміжний засіб сесії WebSocket |
| `plugin-sdk/realtime-voice` | Типи provider для голосу в реальному часі та допоміжні засоби реєстру |
| `plugin-sdk/image-generation` | Типи provider для генерації зображень |
| `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store для медіа, а також конструктори media payload |
| `plugin-sdk/media-store` | Вузькоспрямовані допоміжні засоби media store, такі як `saveMediaBuffer` |
| `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для генерації медіа, вибору кандидатів і повідомлень про відсутню модель |
| `plugin-sdk/media-understanding` | Типи провайдера розуміння медіа, а також орієнтовані на провайдера експорти допоміжних засобів для зображень/аудіо |
| `plugin-sdk/text-runtime` | Спільні допоміжні засоби text/markdown/logging, такі як вилучення тексту, видимого асистенту, допоміжні засоби render/chunking/table для markdown, допоміжні засоби редагування, допоміжні засоби тегів директив і утиліти безпечного тексту |
| `plugin-sdk/text-chunking` | Допоміжний засіб chunking вихідного тексту |
| `plugin-sdk/speech` | Типи провайдера мовлення, а також орієнтовані на провайдера експорти директив, реєстру, валідації та допоміжних засобів мовлення |
| `plugin-sdk/speech-core` | Спільні типи провайдера мовлення, експорти реєстру, директив, нормалізації та допоміжних засобів мовлення |
| `plugin-sdk/realtime-transcription` | Типи провайдера транскрибування в реальному часі, допоміжні засоби реєстру та спільний допоміжний засіб сесії WebSocket |
| `plugin-sdk/realtime-voice` | Типи провайдера голосу в реальному часі та допоміжні засоби реєстру |
| `plugin-sdk/image-generation` | Типи провайдера генерації зображень |
| `plugin-sdk/image-generation-core` | Спільні типи генерації зображень, допоміжні засоби failover, auth і реєстру |
| `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/music-generation` | Типи провайдера/запиту/результату генерації музики |
| `plugin-sdk/music-generation-core` | Спільні типи генерації музики, допоміжні засоби failover, пошуку провайдера та розбору model-ref |
| `plugin-sdk/video-generation` | Типи провайдера/запиту/результату генерації відео |
| `plugin-sdk/video-generation-core` | Спільні типи генерації відео, допоміжні засоби failover, пошуку провайдера та розбору model-ref |
| `plugin-sdk/webhook-targets` | Допоміжні засоби реєстру цілей Webhook і встановлення маршрутів |
| `plugin-sdk/webhook-path` | Допоміжні засоби нормалізації шляху Webhook |
| `plugin-sdk/web-media` | Спільні допоміжні засоби завантаження віддалених/локальних медіа |
| `plugin-sdk/zod` | Повторно експортований `zod` для споживачів Plugin SDK |
| `plugin-sdk/testing` | Широкий сумісний barrel для застарілих тестів Plugin. Нові тести extension повинні натомість імпортувати сфокусовані підшляхи SDK, як-от `plugin-sdk/plugin-test-runtime`, `plugin-sdk/channel-test-helpers`, `plugin-sdk/test-env` або `plugin-sdk/test-fixtures` |
| `plugin-sdk/plugin-test-api` | Мінімальний допоміжний засіб `createTestPluginApi` для модульних тестів безпосередньої реєстрації Plugin без імпорту мостів допоміжних засобів тестування репозиторію |
| `plugin-sdk/channel-test-helpers` | Допоміжні засоби тестування, орієнтовані на канали, для загальних контрактів actions/setup/status, перевірок каталогу, життєвого циклу запуску облікового запису, threading send-config, моків runtime, проблем статусу, вихідної доставки та реєстрації hook |
| `plugin-sdk/channel-target-testing` | Спільний набір перевірок випадків помилок визначення цілі для тестів каналу |
| `plugin-sdk/plugin-test-contracts` | Допоміжні засоби контрактів для пакета Plugin, реєстрації, публічного артефакту, прямого імпорту, runtime API та побічних ефектів імпорту |
| `plugin-sdk/provider-test-contracts` | Допоміжні засоби контрактів для runtime provider, auth, discovery, onboard, catalog, wizard, web-search/fetch і stream |
| `plugin-sdk/test-fixtures` | Загальні фікстури для захоплення runtime CLI, контексту sandbox, записувача skill, agent-message, system-event, terminal-text, chunking, auth-token і typed-case |
| `plugin-sdk/zod` | Повторно експортований `zod` для користувачів Plugin SDK |
| `plugin-sdk/testing` | Широкий сумісний barrel для застарілих тестів Plugin. Нові тести extension мають імпортувати натомість вузькоспрямовані підшляхи SDK, як-от `plugin-sdk/plugin-test-runtime`, `plugin-sdk/channel-test-helpers`, `plugin-sdk/test-env` або `plugin-sdk/test-fixtures` |
| `plugin-sdk/plugin-test-api` | Мінімальний допоміжний засіб `createTestPluginApi` для unit-тестів прямої реєстрації Plugin без імпорту мостів допоміжних засобів тестування репозиторію |
| `plugin-sdk/channel-test-helpers` | Допоміжні засоби тестування, орієнтовані на канали, для загальних контрактів actions/setup/status, перевірок каталогу, життєвого циклу запуску облікового запису, зв’язування send-config, mock runtime, проблем статусу, вихідної доставки і реєстрації hook |
| `plugin-sdk/channel-target-testing` | Спільний набір сценаріїв помилок визначення цілі для тестів каналів |
| `plugin-sdk/plugin-test-contracts` | Допоміжні засоби контрактів package Plugin, реєстрації, публічного артефакту, прямого імпорту, runtime API і побічних ефектів імпорту |
| `plugin-sdk/provider-test-contracts` | Допоміжні засоби контрактів runtime провайдера, auth, discovery, onboard, catalog, wizard, web-search/fetch і stream |
| `plugin-sdk/test-fixtures` | Загальні фікстури захоплення runtime CLI, sandbox context, записувача skill, agent-message, system-event, terminal-text, chunking, auth-token і typed-case |
</Accordion>
<Accordion title="Підшляхи пам’яті">
| Підшлях | Ключові експорти |
| --- | --- |
| `plugin-sdk/memory-core` | Поверхня допоміжних засобів bundled memory-core для manager/config/file/CLI |
| `plugin-sdk/memory-core` | Поверхня допоміжних засобів bundled memory-core для helpers менеджера/конфігурації/файлів/CLI |
| `plugin-sdk/memory-core-engine-runtime` | Фасад runtime індексації/пошуку пам’яті |
| `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-embeddings` | Контракти embedding хоста пам’яті, доступ до реєстру, local provider і загальні допоміжні засоби batch/remote |
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти engine QMD хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-storage` | Експорти engine сховища хоста пам’яті |
| `plugin-sdk/memory-core-host-multimodal` | Мультимодальні допоміжні засоби хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-embeddings` | Контракти embedding хоста пам’яті, доступ до реєстру, локальний провайдер і загальні batch/remote helpers |
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти QMD engine хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-storage` | Експорти storage engine хоста пам’яті |
| `plugin-sdk/memory-core-host-multimodal` | Багатомодальні допоміжні засоби хоста пам’яті |
| `plugin-sdk/memory-core-host-query` | Допоміжні засоби запитів хоста пам’яті |
| `plugin-sdk/memory-core-host-secret` | Допоміжні засоби секретів хоста пам’яті |
| `plugin-sdk/memory-core-host-events` | Допоміжні засоби журналу подій хоста пам’яті |
@ -302,24 +302,24 @@ x-i18n:
| `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні засоби runtime CLI хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-core` | Допоміжні засоби core runtime хоста пам’яті |
| `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби файлів/runtime хоста пам’яті |
| `plugin-sdk/memory-host-core` | Vendor-neutral псевдонім для допоміжних засобів core runtime хоста пам’яті |
| `plugin-sdk/memory-host-events` | Vendor-neutral псевдонім для допоміжних засобів журналу подій хоста пам’яті |
| `plugin-sdk/memory-host-files` | Vendor-neutral псевдонім для допоміжних засобів файлів/runtime хоста пам’яті |
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні засоби managed-markdown для Plugin, суміжних із пам’яттю |
| `plugin-sdk/memory-host-search` | Фасад runtime Active Memory для доступу до менеджера пошуку |
| `plugin-sdk/memory-host-status` | Vendor-neutral псевдонім для допоміжних засобів статусу хоста пам’яті |
| `plugin-sdk/memory-host-core` | Нейтральний до вендора alias для допоміжних засобів core runtime хоста пам’яті |
| `plugin-sdk/memory-host-events` | Нейтральний до вендора alias для допоміжних засобів журналу подій хоста пам’яті |
| `plugin-sdk/memory-host-files` | Нейтральний до вендора alias для допоміжних засобів файлів/runtime хоста пам’яті |
| `plugin-sdk/memory-host-markdown` | Спільні допоміжні засоби керованого markdown для Plugin, суміжних із пам’яттю |
| `plugin-sdk/memory-host-search` | Фасад runtime Active Memory для доступу до search-manager |
| `plugin-sdk/memory-host-status` | Нейтральний до вендора alias для допоміжних засобів статусу хоста пам’яті |
| `plugin-sdk/memory-lancedb` | Поверхня допоміжних засобів bundled memory-lancedb |
</Accordion>
<Accordion title="Зарезервовані підшляхи bundled-helper">
| Сімейство | Поточні підшляхи | Призначення |
| --- | --- | --- |
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Допоміжні засоби підтримки bundled browser Plugin. `browser-profiles` експортує `resolveBrowserConfig`, `resolveProfile`, `ResolvedBrowserConfig`, `ResolvedBrowserProfile` і `ResolvedBrowserTabCleanupConfig` для нормалізованої форми `browser.tabCleanup`. `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 bundled Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня допоміжних засобів/runtime bundled LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня допоміжних засобів bundled IRC |
| Допоміжні засоби для конкретних каналів | `plugin-sdk/googlechat`, `plugin-sdk/googlechat-runtime-shared`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu`, `plugin-sdk/feishu-conversation`, `plugin-sdk/feishu-setup`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/telegram-command-ui`, `plugin-sdk/tlon`, `plugin-sdk/twitch`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup` | Застарілі межі сумісності/допоміжних засобів bundled-каналів. Нові Plugin повинні імпортувати загальні підшляхи SDK або локальні barrel Plugin. |
| Допоміжні засоби для auth/специфічних Plugin | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diagnostics-prometheus`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/memory-core`, `plugin-sdk/memory-lancedb`, `plugin-sdk/opencode`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Межі допоміжних засобів bundled-функцій/Plugin; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
| Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Допоміжні засоби підтримки bundled browser Plugin. `browser-profiles` експортує `resolveBrowserConfig`, `resolveProfile`, `ResolvedBrowserConfig`, `ResolvedBrowserProfile` і `ResolvedBrowserTabCleanupConfig` для нормалізованої форми `browser.tabCleanup`. `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` | Поверхня bundled helper/runtime для Matrix |
| Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня bundled helper/runtime для LINE |
| IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня bundled helper для IRC |
| Допоміжні засоби, специфічні для каналів | `plugin-sdk/googlechat`, `plugin-sdk/googlechat-runtime-shared`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu`, `plugin-sdk/feishu-conversation`, `plugin-sdk/feishu-setup`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/telegram-command-ui`, `plugin-sdk/tlon`, `plugin-sdk/twitch`, `plugin-sdk/zalo`, `plugin-sdk/zalo-setup` | Застарілі межі сумісності/допоміжних засобів для bundled каналів. Нові Plugin мають імпортувати загальні підшляхи SDK або локальні barrel-файли Plugin. |
| Допоміжні засоби, специфічні для auth/Plugin | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diagnostics-prometheus`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/memory-core`, `plugin-sdk/memory-lancedb`, `plugin-sdk/opencode`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Межі bundled feature/Plugin helper; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
</Accordion>
</AccordionGroup>