chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-05-02 21:43:55 +00:00
parent 7d40ce562e
commit 435f987696
8 changed files with 581 additions and 722 deletions

View File

@ -3,24 +3,24 @@ read_when:
- Потрібно перевірити необроблений вивід моделі на витік міркувань
- Ви хочете запускати Gateway у режимі спостереження під час ітеративної роботи
- Вам потрібен відтворюваний робочий процес налагодження
summary: 'Інструменти налагодження: режим спостереження, необроблені потоки моделі та трасування витоку міркувань'
summary: 'Інструменти налагодження: режим спостереження, необроблені потоки моделі та відстеження витоку міркувань'
title: Налагодження
x-i18n:
generated_at: "2026-05-02T16:10:06Z"
generated_at: "2026-05-02T21:41:39Z"
model: gpt-5.5
provider: openai
source_hash: de4bd994079f5463f4734404d1ba0768cb003609e16113f5f8f14179a190e917
source_hash: 7a72a1508915e37ffdc5317889cdfde7024de3f5702739640abc2f03c3abadb7
source_path: help/debugging.md
workflow: 16
---
Помічники налагодження для потокового виводу, особливо коли провайдер змішує міркування зі звичайним текстом.
Помічники налагодження для потокового виводу, особливо коли провайдер домішує міркування до звичайного тексту.
## Runtime-перевизначення для налагодження
## Перевизначення налагодження під час виконання
Використовуйте `/debug` у чаті, щоб задати перевизначення конфігурації **лише для runtime** (у памʼяті, не на диску).
Використовуйте `/debug` у чаті, щоб задавати перевизначення конфігурації **лише під час виконання** (у пам’яті, не на диску).
`/debug` вимкнено за замовчуванням; увімкніть за допомогою `commands.debug: true`.
Це зручно, коли потрібно перемкнути маловідомі налаштування без редагування `openclaw.json`.
Це зручно, коли потрібно перемикати маловідомі налаштування без редагування `openclaw.json`.
Приклади:
@ -31,11 +31,11 @@ x-i18n:
/debug reset
```
`/debug reset` очищає всі перевизначення й повертається до конфігурації на диску.
`/debug reset` очищає всі перевизначення й повертає конфігурацію з диска.
## Вивід трасування сесії
## Вивід трасування сеансу
Використовуйте `/trace`, коли хочете бачити належні Plugin рядки трасування/налагодження в одній сесії
Використовуйте `/trace`, коли хочете бачити рядки трасування/налагодження, що належать Plugin, в одному сеансі
без увімкнення повного докладного режиму.
Приклади:
@ -46,16 +46,16 @@ x-i18n:
/trace off
```
Використовуйте `/trace` для діагностики Plugin, наприклад зведень налагодження Active Memory.
Використовуйте `/trace` для діагностики Plugin, наприклад налагоджувальних зведень Active Memory.
Продовжуйте використовувати `/verbose` для звичайного докладного виводу статусу/інструментів, а
`/debug` — для перевизначень конфігурації лише для runtime.
`/debug` — для перевизначень конфігурації лише під час виконання.
## Трасування життєвого циклу Plugin
Використовуйте `OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1`, коли команди життєвого циклу Plugin здаються повільними
і вам потрібен вбудований розподіл за фазами для метаданих Plugin, виявлення, реєстру,
runtime-дзеркала, зміни конфігурації та оновлення. Трасування вмикається явно й пише
в stderr, тому JSON-вивід команди залишається придатним для парсингу.
і потрібна вбудована розбивка фаз для метаданих Plugin, виявлення, реєстру,
дзеркала середовища виконання, зміни конфігурації та оновлення. Трасування вмикається явно й пише
у stderr, тому JSON-вивід команд залишається придатним для парсингу.
Приклад:
@ -71,148 +71,30 @@ OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 openclaw plugins install tokenjuice --force
[plugins:lifecycle] phase="registry refresh" ms=51.56 status=ok command="install" reason="source-changed"
```
Використовуйте це для дослідження життєвого циклу Plugin, перш ніж звертатися до CPU-профайлера.
Якщо команда запускається з вихідного checkout, віддавайте перевагу вимірюванню зібраного
runtime через `node dist/entry.js ...` після `pnpm build`; `pnpm openclaw ...`
також вимірює накладні витрати source-runner.
Використовуйте це для дослідження життєвого циклу Plugin перед тим, як братися за CPU-профайлер.
Якщо команда запускається з вихідного checkout, краще вимірювати зібране
середовище виконання через `node dist/entry.js ...` після `pnpm build`; `pnpm openclaw ...`
також вимірює накладні витрати запуску з вихідного коду.
## Тимчасове вимірювання часу налагодження CLI
## Запуск CLI і профілювання команд
OpenClaw зберігає `src/cli/debug-timing.ts` як невеликий помічник для локального
дослідження. Його навмисно не підключено до запуску CLI, маршрутизації команд
або будь-якої команди за замовчуванням. Використовуйте його лише під час налагодження повільної команди, а потім
видаліть імпорт і діапазони перед внесенням зміни поведінки.
Використовуйте це, коли команда повільна і вам потрібен швидкий розподіл за фазами, перш ніж
вирішувати, чи використовувати CPU-профайлер, чи виправляти конкретну підсистему.
### Додайте тимчасові діапазони
Додайте помічник поруч із кодом, який досліджуєте. Наприклад, під час налагодження
`openclaw models list` тимчасовий патч у
`src/commands/models/list.list-command.ts` може виглядати так:
```ts
// Temporary debugging only. Remove before landing.
import { createCliDebugTiming } from "../../cli/debug-timing.js";
const timing = createCliDebugTiming({ command: "models list" });
const authStore = timing.time("debug:models:list:auth_store", () => ensureAuthProfileStore());
const loaded = await timing.timeAsync(
"debug:models:list:registry",
() => loadListModelRegistry(cfg, { sourceConfig }),
(result) => ({
models: result.models.length,
discoveredKeys: result.discoveredKeys.size,
}),
);
```
Настанови:
- Починайте тимчасові назви фаз із `debug:`.
- Додайте лише кілька діапазонів навколо підозрюваних повільних секцій.
- Надавайте перевагу широким фазам, як-от `registry`, `auth_store` або `rows`, а не назвам
помічників.
- Використовуйте `time()` для синхронної роботи й `timeAsync()` для promise.
- Тримайте stdout чистим. Помічник пише в stderr, тому JSON-вивід команди залишається
придатним для парсингу.
- Видаліть тимчасові імпорти й діапазони перед відкриттям фінального PR з виправленням.
- Додайте вивід вимірювання часу або коротке зведення в issue чи PR, яке пояснює
оптимізацію.
### Запустіть із читабельним виводом
Читабельний режим найкраще підходить для живого налагодження:
Використовуйте доданий до репозиторію бенчмарк запуску, коли команда здається повільною:
```bash
OPENCLAW_DEBUG_TIMING=1 pnpm openclaw models list --all --provider moonshot
pnpm test:startup:bench:smoke
pnpm tsx scripts/bench-cli-startup.ts --preset real --case status --runs 3
pnpm tsx scripts/bench-cli-startup.ts --preset real --cpu-prof-dir .artifacts/cli-cpu
```
Приклад виводу з тимчасового дослідження `models list`:
```text
OpenClaw CLI debug timing: models list
0ms +0ms start all=true json=false local=false plain=false provider="moonshot"
2ms +2ms debug:models:list:import_runtime duration=2ms
17ms +14ms debug:models:list:load_config duration=14ms sourceConfig=true
20.3s +20.3s debug:models:list:auth_store duration=20.3s
20.3s +0ms debug:models:list:resolve_agent_dir duration=0ms agentDir=true
20.3s +0ms debug:models:list:resolve_provider_filter duration=0ms
25.3s +5.0s debug:models:list:ensure_models_json duration=5.0s
31.2s +5.9s debug:models:list:load_model_registry duration=5.9s models=869 availableKeys=38 discoveredKeys=868 availabilityError=false
31.2s +0ms debug:models:list:resolve_configured_entries duration=0ms entries=1
31.2s +0ms debug:models:list:build_configured_lookup duration=0ms entries=1
33.6s +2.4s debug:models:list:read_registry_models duration=2.4s models=871
35.2s +1.5s debug:models:list:append_discovered_rows duration=1.5s seenKeys=0 rows=0
36.9s +1.7s debug:models:list:append_catalog_supplement_rows duration=1.7s seenKeys=5 rows=5
Model Input Ctx Local Auth Tags
moonshot/kimi-k2-thinking text 256k no no
moonshot/kimi-k2-thinking-turbo text 256k no no
moonshot/kimi-k2-turbo text 250k no no
moonshot/kimi-k2.5 text+image 256k no no
moonshot/kimi-k2.6 text+image 256k no no
36.9s +0ms debug:models:list:print_model_table duration=0ms rows=5
36.9s +0ms complete rows=5
```
Висновки з цього виводу:
| Фаза | Час | Що це означає |
| ---------------------------------------- | ---------: | ------------------------------------------------------------------------------------------------------- |
| `debug:models:list:auth_store` | 20.3s | Завантаження сховища auth-профілів має найбільшу вартість, і його слід дослідити першим. |
| `debug:models:list:ensure_models_json` | 5.0s | Синхронізація `models.json` достатньо дорога, щоб перевірити кешування або умови пропуску. |
| `debug:models:list:load_model_registry` | 5.9s | Побудова реєстру й робота з доступністю провайдера також мають помітну вартість. |
| `debug:models:list:read_registry_models` | 2.4s | Читання всіх моделей реєстру не безкоштовне й може мати значення для `--all`. |
| фази додавання рядків | 3.2s total | Побудова пʼяти відображених рядків усе ще займає кілька секунд, тож шлях фільтрації варто розглянути уважніше. |
| `debug:models:list:print_model_table` | 0ms | Рендеринг не є вузьким місцем. |
Цих висновків достатньо, щоб спрямувати наступний патч без збереження коду вимірювання часу в
production-шляхах.
### Запустіть із JSON-виводом
Використовуйте режим JSON, коли хочете зберегти або порівняти дані вимірювання часу:
Для одноразового профілювання через звичайний запуск із вихідного коду задайте
`OPENCLAW_RUN_NODE_CPU_PROF_DIR`:
```bash
OPENCLAW_DEBUG_TIMING=json pnpm openclaw models list --all --provider moonshot \
2> .artifacts/models-list-timing.jsonl
OPENCLAW_RUN_NODE_CPU_PROF_DIR=.artifacts/cli-cpu pnpm openclaw status
```
Кожен рядок stderr — це один JSON-обʼєкт:
```json
{
"command": "models list",
"phase": "debug:models:list:registry",
"elapsedMs": 31200,
"deltaMs": 5900,
"durationMs": 5900,
"models": 869,
"discoveredKeys": 868
}
```
### Приберіть перед внесенням
Перед відкриттям фінального PR:
```bash
rg 'createCliDebugTiming|debug:[a-z0-9_-]+:' src/commands src/cli \
--glob '!src/cli/debug-timing.*' \
--glob '!*.test.ts'
```
Команда не має повернути жодних тимчасових місць виклику інструментування, якщо PR
явно не додає постійну поверхню діагностики. Для звичайних виправлень продуктивності
залишайте лише зміну поведінки, тести й коротку примітку з доказами вимірювання часу.
Для глибших CPU-hotspot використовуйте профілювання Node (`--cpu-prof`) або зовнішній
профайлер замість додавання додаткових обгорток вимірювання часу.
Запуск із вихідного коду додає прапорці CPU-профілю Node і записує `.cpuprofile` для
команди. Використовуйте це перед додаванням тимчасової інструментації в код команди.
## Режим спостереження Gateway
@ -222,11 +104,11 @@ rg 'createCliDebugTiming|debug:[a-z0-9_-]+:' src/commands src/cli \
pnpm gateway:watch
```
За замовчуванням це запускає або перезапускає tmux-сесію з назвою
`openclaw-gateway-watch-main` (або варіант для певного профілю/порту, наприклад
`openclaw-gateway-watch-dev-19001`) і автоматично підʼєднується з інтерактивних терміналів.
Неінтерактивні оболонки, CI та виклики agent exec залишаються відʼєднаними й натомість друкують
інструкції для підʼєднання. За потреби підʼєднайтеся вручну:
За замовчуванням це запускає або перезапускає tmux-сеанс із назвою
`openclaw-gateway-watch-main` (або варіант для профілю/порту, як-от
`openclaw-gateway-watch-dev-19001`) і автоматично підєднується з інтерактивних терміналів.
Неінтерактивні оболонки, CI та виклики agent exec лишаються від’єднаними й натомість друкують
інструкції для під’єднання. За потреби під’єднайтеся вручну:
```bash
tmux attach -t openclaw-gateway-watch-main
@ -238,7 +120,7 @@ tmux attach -t openclaw-gateway-watch-main
node scripts/watch-node.mjs gateway --force
```
Використовуйте foreground-режим, коли tmux не потрібен:
Використовуйте режим переднього плану, коли tmux не потрібен:
```bash
pnpm gateway:watch:raw
@ -246,21 +128,21 @@ pnpm gateway:watch:raw
OPENCLAW_GATEWAY_WATCH_TMUX=0 pnpm gateway:watch
```
Вимкніть автоматичне підʼєднання, зберігаючи керування tmux:
Вимкніть автопід’єднання, зберігаючи керування tmux:
```bash
OPENCLAW_GATEWAY_WATCH_ATTACH=0 pnpm gateway:watch
```
Профілюйте CPU-час спостережуваного Gateway під час налагодження hotspot запуску/runtime:
Профілюйте CPU-час Gateway під спостереженням під час налагодження гарячих точок запуску/середовища виконання:
```bash
pnpm gateway:watch --benchmark
```
Обгортка спостереження споживає `--benchmark` перед викликом Gateway і записує
один V8 `.cpuprofile` для кожного виходу дочірнього процесу Gateway у
`.artifacts/gateway-watch-profiles/`. Зупиніть або перезапустіть спостережуваний Gateway, щоб
один V8 `.cpuprofile` для кожного завершення дочірнього процесу Gateway у
`.artifacts/gateway-watch-profiles/`. Зупиніть або перезапустіть gateway під спостереженням, щоб
скинути поточний профіль, а потім відкрийте його в Chrome DevTools або Speedscope:
```bash
@ -269,34 +151,34 @@ npx speedscope .artifacts/gateway-watch-profiles/*.cpuprofile
Використовуйте `--benchmark-dir <path>`, коли хочете зберігати профілі в іншому місці.
Обгортка tmux переносить у панель поширені несекретні runtime-селектори, як-от
Обгортка tmux переносить у панель типові несекретні селектори середовища виконання, як-от
`OPENCLAW_PROFILE`, `OPENCLAW_CONFIG_PATH`, `OPENCLAW_STATE_DIR`,
`OPENCLAW_GATEWAY_PORT` і `OPENCLAW_SKIP_CHANNELS`. Зберігайте
облікові дані провайдера у звичайному профілі/конфігурації або використовуйте сирий foreground-режим
для одноразових ефемерних секретів.
Керована панель tmux також за замовчуванням використовує кольорові журнали Gateway для читабельності;
облікові дані провайдерів у звичайному профілі/конфігурації або використовуйте сирий режим переднього плану
для одноразових тимчасових секретів.
Керована панель tmux також за замовчуванням використовує кольорові логи Gateway для читабельності;
задайте `FORCE_COLOR=0` під час запуску `pnpm gateway:watch`, щоб вимкнути ANSI-вивід.
Спостерігач перезапускається на файлах, релевантних для збірки, у `src/`, вихідних файлах extension,
метаданих `package.json` і `openclaw.plugin.json` extension, `tsconfig.json`,
`package.json` і `tsdown.config.ts`. Зміни метаданих extension перезапускають
gateway без примусового перезбирання `tsdown`; зміни джерел і конфігурації все ще
спершу перезбирають `dist`.
Спостерігач перезапускається при змінах релевантних для збірки файлів у `src/`, вихідних файлів розширень,
`package.json` розширень і метаданих `openclaw.plugin.json`, `tsconfig.json`,
`package.json` і `tsdown.config.ts`. Зміни метаданих розширень перезапускають
gateway без примусової перебудови `tsdown`; зміни вихідного коду й конфігурації все ще
спершу перебудовують `dist`.
Додайте будь-які CLI-прапорці gateway після `gateway:watch`, і їх буде передано під час
кожного перезапуску. Повторний запуск тієї самої команди спостереження пересоздає названу панель tmux, а
сирий спостерігач усе ще зберігає своє блокування single-watcher, тож дублікати батьківських процесів спостерігача
Додавайте будь-які CLI-прапорці gateway після `gateway:watch`, і вони передаватимуться далі під час
кожного перезапуску. Повторний запуск тієї самої команди спостереження заново створює названу панель tmux, а
сирий спостерігач усе одно зберігає своє блокування єдиного спостерігача, тому дубльовані батьківські процеси спостереження
замінюються, а не накопичуються.
## Dev-профіль + dev gateway (--dev)
## Dev-профіль + dev Gateway (--dev)
Використовуйте dev-профіль, щоб ізолювати стан і підняти безпечне, одноразове середовище для
Використовуйте dev-профіль, щоб ізолювати стан і підняти безпечне одноразове середовище для
налагодження. Є **два** прапорці `--dev`:
- **Глобальний `--dev` (профіль):** ізолює стан у `~/.openclaw-dev` і
встановлює порт gateway за замовчуванням на `19001` (похідні порти зміщуються разом із ним).
- **`gateway --dev`: наказує Gateway автоматично створити стандартну конфігурацію +
workspace** за відсутності (і пропустити BOOTSTRAP.md).
задає порт gateway за замовчуванням як `19001` (похідні порти зміщуються разом із ним).
- **`gateway --dev`: повідомляє Gateway автоматично створити стандартну конфігурацію +
робочий простір** за їх відсутності (і пропустити BOOTSTRAP.md).
Рекомендований потік (dev-профіль + dev-bootstrap):
@ -305,7 +187,7 @@ pnpm gateway:dev
OPENCLAW_PROFILE=dev openclaw tui
```
Якщо у вас ще немає глобального встановлення, запускайте CLI через `pnpm openclaw ...`.
Якщо глобального встановлення ще немає, запускайте CLI через `pnpm openclaw ...`.
Що це робить:
@ -313,25 +195,25 @@ OPENCLAW_PROFILE=dev openclaw tui
- `OPENCLAW_PROFILE=dev`
- `OPENCLAW_STATE_DIR=~/.openclaw-dev`
- `OPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.json`
- `OPENCLAW_GATEWAY_PORT=19001` (browser/canvas відповідно зміщуються)
- `OPENCLAW_GATEWAY_PORT=19001` (browser/canvas зміщуються відповідно)
2. **Dev-bootstrap** (`gateway --dev`)
- Записує мінімальну конфігурацію, якщо її немає (`gateway.mode=local`, привʼязка до loopback).
- Встановлює `agent.workspace` на dev workspace.
- Встановлює `agent.skipBootstrap=true` (без BOOTSTRAP.md).
- Засіває файли workspace, якщо їх немає:
- Записує мінімальну конфігурацію, якщо її немає (`gateway.mode=local`, привязка до loopback).
- Задає `agent.workspace` як dev-робочий простір.
- Задає `agent.skipBootstrap=true` (без BOOTSTRAP.md).
- Засіває файли робочого простору, якщо їх немає:
`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`.
- Стандартна ідентичність: **C3PO** (протокольний дроїд).
- Пропускає провайдери каналів у dev-режимі (`OPENCLAW_SKIP_CHANNELS=1`).
Потік скидання (свіжий старт):
Потік скидання (чистий старт):
```bash
pnpm gateway:dev:reset
```
<Note>
`--dev` є **глобальним** прапорцем профілю, і деякі засоби запуску його перехоплюють. Якщо потрібно вказати це явно, використовуйте форму зі змінною середовища:
`--dev` — це **глобальний** прапорець профілю, і деякі запускові обгортки його поглинають. Якщо потрібно вказати його явно, використовуйте форму env-змінної:
```bash
OPENCLAW_PROFILE=dev openclaw gateway --dev --reset
@ -339,11 +221,11 @@ OPENCLAW_PROFILE=dev openclaw gateway --dev --reset
</Note>
`--reset` очищає конфігурацію, облікові дані, сеанси та dev-робочу область (за допомогою
`trash`, а не `rm`), а потім заново створює типове dev-налаштування.
`--reset` стирає конфігурацію, облікові дані, сеанси й dev-робочий простір (через
`trash`, не `rm`), а потім відтворює стандартне dev-середовище.
<Tip>
Якщо не-dev gateway уже запущено (launchd або systemd), спершу зупиніть його:
Якщо вже працює не-dev gateway (launchd або systemd), спершу зупиніть його:
```bash
openclaw gateway stop
@ -351,13 +233,13 @@ openclaw gateway stop
</Tip>
## Логування необробленого потоку (OpenClaw)
## Логування сирого потоку (OpenClaw)
OpenClaw може логувати **необроблений потік асистента** до будь-якого фільтрування/форматування.
Це найкращий спосіб побачити, чи reasoning надходить як прості текстові дельти
OpenClaw може логувати **сирий потік асистента** перед будь-якою фільтрацією/форматуванням.
Це найкращий спосіб побачити, чи міркування надходить як прості текстові дельти
(або як окремі блоки мислення).
Увімкніть це через CLI:
Увімкніть через CLI:
```bash
pnpm gateway:watch --raw-stream
@ -369,20 +251,20 @@ pnpm gateway:watch --raw-stream
pnpm gateway:watch --raw-stream --raw-stream-path ~/.openclaw/logs/raw-stream.jsonl
```
Еквівалентні змінні середовища:
Еквівалентні env-змінні:
```bash
OPENCLAW_RAW_STREAM=1
OPENCLAW_RAW_STREAM_PATH=~/.openclaw/logs/raw-stream.jsonl
```
Типовий файл:
Файл за замовчуванням:
`~/.openclaw/logs/raw-stream.jsonl`
## Логування необроблених фрагментів (pi-mono)
## Логування сирих фрагментів (pi-mono)
Щоб захоплювати **необроблені OpenAI-сумісні фрагменти** до того, як їх розбирають на блоки,
Щоб захопити **сирі OpenAI-сумісні фрагменти** до їх парсингу в блоки,
pi-mono надає окремий логер:
```bash
@ -395,18 +277,18 @@ PI_RAW_STREAM=1
PI_RAW_STREAM_PATH=~/.pi-mono/logs/raw-openai-completions.jsonl
```
Типовий файл:
Файл за замовчуванням:
`~/.pi-mono/logs/raw-openai-completions.jsonl`
> Примітка: це створюють лише процеси, які використовують провайдер
> `openai-completions` у pi-mono.
> Примітка: це випускається лише процесами, які використовують провайдер
> `openai-completions` pi-mono.
## Примітки щодо безпеки
## Нотатки з безпеки
- Логи необробленого потоку можуть містити повні prompts, вивід інструментів і дані користувача.
- Зберігайте логи локально та видаляйте їх після налагодження.
- Якщо ви ділитеся логами, спершу вилучіть секрети та персональні дані.
- Логи сирого потоку можуть містити повні промпти, вивід інструментів і дані користувача.
- Зберігайте логи локально й видаляйте їх після налагодження.
- Якщо поширюєте логи, спершу видаліть секрети й персональні дані.
## Пов’язане

View File

@ -1,23 +1,23 @@
---
read_when:
- Ви вирішуєте, чи Plugin входить до основного пакета npm, чи встановлюється окремо
- Ви оновлюєте метадані пакета вбудованого Plugin або автоматизацію випуску
- Вам потрібен канонічний список внутрішніх і зовнішніх плагінів
summary: Згенерований перелік Plugin OpenClaw, що постачаються в ядрі, публікуються зовнішньо або зберігаються лише у вихідному коді
- Ви визначаєте, чи Plugin постачається в основному пакеті npm, чи встановлюється окремо.
- Ви оновлюєте метадані вбудованого пакета Plugin або автоматизацію випуску
- Вам потрібен канонічний список внутрішніх і зовнішніх Plugin
summary: Згенерований інвентар плагінів OpenClaw, що постачаються в ядрі, публікуються зовні або зберігаються лише як вихідний код
title: Інвентаризація Plugin
x-i18n:
generated_at: "2026-05-02T20:49:40Z"
generated_at: "2026-05-02T21:41:54Z"
model: gpt-5.5
provider: openai
source_hash: cbc10cbf65483b4a3983643e1b8f2e5b31e8b54b3649a8121ad636a53eecd999
source_hash: 8c5be5c92951264fd197de7d9efe864a215a8da1b36eb2d62f57a63182cde2a0
source_path: plugins/plugin-inventory.md
workflow: 16
---
# Інвентар Plugin
# Інвентаризація Plugin
Цю сторінку згенеровано з `extensions/*/package.json`, `openclaw.plugin.json`
і вилучень `files` кореневого npm-пакета. Згенеруйте її повторно за допомогою:
та вилучень `files` у кореневому пакеті npm. Повторно згенеруйте її за допомогою:
```bash
pnpm plugins:inventory:gen
@ -25,140 +25,139 @@ pnpm plugins:inventory:gen
## Визначення
- **Основний npm-пакет:** вбудований у npm-пакет `openclaw` і доступний без окремого встановлення Plugin.
- **Офіційний зовнішній пакет:** Plugin, який підтримується OpenClaw, вилучений з основного npm-пакета та встановлюється через ClawHub та/або npm.
- **Лише вихідний checkout:** локальний для репозиторію Plugin, вилучений з опублікованих npm-артефактів і не рекламований як пакет, доступний для встановлення.
- **Основний пакет npm:** вбудований у пакет npm `openclaw` і доступний без окремого встановлення Plugin.
- **Офіційний зовнішній пакет:** Plugin, що підтримується OpenClaw, вилучений з основного пакета npm і встановлюється через ClawHub та/або npm.
- **Лише вихідний checkout:** локальний для репозиторію Plugin, вилучений з опублікованих артефактів npm і не рекламований як установлюваний пакет.
Checkout вихідного коду відрізняються від встановлень npm: після `pnpm install` вбудовані
Plugin завантажуються з `extensions/<id>`, тож локальні зміни й локальні для пакета
залежності робочого простору доступні.
Вихідні checkout відрізняються від встановлень npm: після `pnpm install` вбудовані
Plugin завантажуються з `extensions/<id>`, тому локальні зміни та локальні для пакета залежності workspace доступні.
## Основний npm-пакет
## Основний пакет npm
| Plugin | Опис | Розповсюдження | Поверхня |
| Plugin | Опис | Дистрибуція | Поверхня |
| ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [alibaba](/uk/plugins/reference/alibaba) | Додає підтримку провайдера генерації відео. | `@openclaw/alibaba-provider`<br />включено до OpenClaw | contracts: videoGenerationProviders |
| [amazon-bedrock](/uk/plugins/reference/amazon-bedrock) | Додає до OpenClaw підтримку провайдера моделей Amazon Bedrock. | `@openclaw/amazon-bedrock-provider`<br />включено до OpenClaw | providers: amazon-bedrock; contracts: memoryEmbeddingProviders |
| [amazon-bedrock-mantle](/uk/plugins/reference/amazon-bedrock-mantle) | Додає до OpenClaw підтримку провайдера моделей Amazon Bedrock Mantle. | `@openclaw/amazon-bedrock-mantle-provider`<br />включено до OpenClaw | providers: amazon-bedrock-mantle |
| [anthropic](/uk/plugins/reference/anthropic) | Додає до OpenClaw підтримку провайдера моделей Anthropic. | `@openclaw/anthropic-provider`<br />включено до OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders |
| [anthropic-vertex](/uk/plugins/reference/anthropic-vertex) | Додає до OpenClaw підтримку провайдера моделей Anthropic Vertex. | `@openclaw/anthropic-vertex-provider`<br />включено до OpenClaw | providers: anthropic-vertex |
| [arcee](/uk/plugins/reference/arcee) | Додає до OpenClaw підтримку провайдера моделей Arcee. | `@openclaw/arcee-provider`<br />включено до OpenClaw | providers: arcee |
| [azure-speech](/uk/plugins/reference/azure-speech) | Перетворення тексту на мовлення Azure AI Speech (MP3, нативні голосові нотатки Ogg/Opus, PCM-телефонія). | `@openclaw/azure-speech`<br />включено до OpenClaw | contracts: speechProviders |
| [bonjour](/uk/plugins/reference/bonjour) | Оголошує локальний Gateway OpenClaw через Bonjour/mDNS. | `@openclaw/bonjour`<br />включено до OpenClaw | plugin |
| [browser](/uk/plugins/reference/browser) | Додає інструменти, які може викликати агент. | `@openclaw/browser-plugin`<br />включено до OpenClaw | contracts: tools; skills |
| [byteplus](/uk/plugins/reference/byteplus) | Додає до OpenClaw підтримку провайдерів моделей BytePlus, BytePlus Plan. | `@openclaw/byteplus-provider`<br />включено до OpenClaw | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders |
| [cerebras](/uk/plugins/reference/cerebras) | Додає до OpenClaw підтримку провайдера моделей Cerebras. | `@openclaw/cerebras-provider`<br />включено до OpenClaw | providers: cerebras |
| [chutes](/uk/plugins/reference/chutes) | Додає до OpenClaw підтримку провайдера моделей Chutes. | `@openclaw/chutes-provider`<br />включено до OpenClaw | providers: chutes |
| [cloudflare-ai-gateway](/uk/plugins/reference/cloudflare-ai-gateway) | Додає до OpenClaw підтримку провайдера моделей Cloudflare AI Gateway. | `@openclaw/cloudflare-ai-gateway-provider`<br />включено до OpenClaw | providers: cloudflare-ai-gateway |
| [comfy](/uk/plugins/reference/comfy) | Додає до OpenClaw підтримку провайдера моделей ComfyUI. | `@openclaw/comfy-provider`<br />включено до OpenClaw | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders |
| [copilot-proxy](/uk/plugins/reference/copilot-proxy) | Додає до OpenClaw підтримку провайдера моделей Copilot Proxy. | `@openclaw/copilot-proxy`<br />включено до OpenClaw | providers: copilot-proxy |
| [deepgram](/uk/plugins/reference/deepgram) | Додає підтримку провайдера розуміння медіа. Додає підтримку провайдера транскрибування в реальному часі. | `@openclaw/deepgram-provider`<br />включено до OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders |
| [deepinfra](/uk/plugins/reference/deepinfra) | Додає до OpenClaw підтримку провайдера моделей DeepInfra. | `@openclaw/deepinfra-provider`<br />включено до OpenClaw | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders |
| [deepseek](/uk/plugins/reference/deepseek) | Додає до OpenClaw підтримку провайдера моделей DeepSeek. | `@openclaw/deepseek-provider`<br />включено до OpenClaw | providers: deepseek |
| [document-extract](/uk/plugins/reference/document-extract) | Витягує текст і резервні зображення сторінок із вкладень локальних документів. | `@openclaw/document-extract-plugin`<br />включено до OpenClaw | contracts: documentExtractors |
| [duckduckgo](/uk/plugins/reference/duckduckgo) | Додає підтримку провайдера вебпошуку. | `@openclaw/duckduckgo-plugin`<br />включено до OpenClaw | контракти: webSearchProviders |
| [elevenlabs](/uk/plugins/reference/elevenlabs) | Додає підтримку провайдера розуміння медіа. Додає підтримку провайдера транскрипції в реальному часі. Додає підтримку провайдера перетворення тексту на мовлення. | `@openclaw/elevenlabs-speech`<br />включено до OpenClaw | контракти: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders |
| [exa](/uk/plugins/reference/exa) | Додає підтримку провайдера вебпошуку. | `@openclaw/exa-plugin`<br />включено до OpenClaw | контракти: webSearchProviders |
| [fal](/uk/plugins/reference/fal) | Додає підтримку провайдера моделей fal до OpenClaw. | `@openclaw/fal-provider`<br />включено до OpenClaw | провайдери: fal; контракти: imageGenerationProviders, videoGenerationProviders |
| [file-transfer](/uk/plugins/reference/file-transfer) | Отримуйте, перелічуйте та записуйте файли на спарених вузлах через спеціальні команди вузла. Оминає обрізання stdout bash, використовуючи base64 через node.invoke для двійкових файлів розміром до 16 MB. | `@openclaw/file-transfer`<br />включено до OpenClaw | контракти: tools |
| [firecrawl](/uk/plugins/reference/firecrawl) | Додає інструменти, які може викликати агент. Додає підтримку провайдера отримання вебресурсів. Додає підтримку провайдера вебпошуку. | `@openclaw/firecrawl-plugin`<br />включено до OpenClaw | контракти: tools, webFetchProviders, webSearchProviders |
| [fireworks](/uk/plugins/reference/fireworks) | Додає підтримку провайдера моделей Fireworks до OpenClaw. | `@openclaw/fireworks-provider`<br />включено до OpenClaw | провайдери: fireworks |
| [github-copilot](/uk/plugins/reference/github-copilot) | Додає підтримку провайдера моделей GitHub Copilot до OpenClaw. | `@openclaw/github-copilot-provider`<br />включено до OpenClaw | провайдери: github-copilot; контракти: memoryEmbeddingProviders |
| [google](/uk/plugins/reference/google) | Додає підтримку провайдерів моделей Google, Google Gemini CLI, Google Vertex до OpenClaw. | `@openclaw/google-plugin`<br />включено до OpenClaw | провайдери: google, google-gemini-cli, google-vertex; контракти: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders |
| [gradium](/uk/plugins/reference/gradium) | Додає підтримку провайдера перетворення тексту на мовлення. | `@openclaw/gradium-speech`<br />включено до OpenClaw | контракти: speechProviders |
| [groq](/uk/plugins/reference/groq) | Додає підтримку провайдера моделей Groq до OpenClaw. | `@openclaw/groq-provider`<br />включено до OpenClaw | провайдери: groq; контракти: mediaUnderstandingProviders |
| [huggingface](/uk/plugins/reference/huggingface) | Додає підтримку провайдера моделей Hugging Face до OpenClaw. | `@openclaw/huggingface-provider`<br />включено до OpenClaw | провайдери: huggingface |
| [imessage](/uk/plugins/reference/imessage) | Додає поверхню каналу iMessage для надсилання й отримання повідомлень OpenClaw. | `@openclaw/imessage`<br />включено до OpenClaw | канали: imessage |
| [inworld](/uk/plugins/reference/inworld) | Потокове перетворення тексту на мовлення Inworld (MP3, OGG_OPUS, PCM-телефонія). | `@openclaw/inworld-speech`<br />включено до OpenClaw | контракти: speechProviders |
| [irc](/uk/plugins/reference/irc) | Додає поверхню каналу IRC для надсилання й отримання повідомлень OpenClaw. | `@openclaw/irc`<br />включено до OpenClaw | канали: irc |
| [kilocode](/uk/plugins/reference/kilocode) | Додає підтримку провайдера моделей Kilocode до OpenClaw. | `@openclaw/kilocode-provider`<br />включено до OpenClaw | провайдери: kilocode |
| [kimi](/uk/plugins/reference/kimi) | Додає підтримку провайдерів моделей Kimi, Kimi Coding до OpenClaw. | `@openclaw/kimi-provider`<br />включено до OpenClaw | провайдери: kimi, kimi-coding |
| [litellm](/uk/plugins/reference/litellm) | Додає підтримку провайдера моделей LiteLLM до OpenClaw. | `@openclaw/litellm-provider`<br />включено до OpenClaw | провайдери: litellm; контракти: imageGenerationProviders |
| [llm-task](/uk/plugins/reference/llm-task) | Універсальний JSON-only інструмент LLM для структурованих завдань, який можна викликати з робочих процесів. | `@openclaw/llm-task`<br />включено до OpenClaw | контракти: tools |
| [lmstudio](/uk/plugins/reference/lmstudio) | Додає підтримку провайдера моделей LM Studio до OpenClaw. | `@openclaw/lmstudio-provider`<br />включено до OpenClaw | провайдери: lmstudio; контракти: memoryEmbeddingProviders |
| [memory-core](/uk/plugins/reference/memory-core) | Додає підтримку провайдера вбудовувань пам’яті. Додає інструменти, які може викликати агент. | `@openclaw/memory-core`<br />включено до OpenClaw | контракти: memoryEmbeddingProviders, tools |
| [memory-wiki](/uk/plugins/reference/memory-wiki) | Постійний компілятор вікі та сумісне з Obsidian сховище знань для OpenClaw. | `@openclaw/memory-wiki`<br />включено в OpenClaw | контракти: інструменти; Skills |
| [microsoft](/uk/plugins/reference/microsoft) | Додає підтримку постачальника синтезу мовлення. | `@openclaw/microsoft-speech`<br />включено в OpenClaw | контракти: speechProviders |
| [microsoft-foundry](/uk/plugins/reference/microsoft-foundry) | Додає підтримку постачальника моделей Microsoft Foundry до OpenClaw. | `@openclaw/microsoft-foundry`<br />включено в OpenClaw | постачальники: microsoft-foundry |
| [migrate-claude](/uk/plugins/reference/migrate-claude) | Імпортує інструкції Claude Code і Claude Desktop, сервери MCP, Skills і безпечну конфігурацію в OpenClaw. | `@openclaw/migrate-claude`<br />включено в OpenClaw | контракти: migrationProviders |
| [migrate-hermes](/uk/plugins/reference/migrate-hermes) | Імпортує конфігурацію Hermes, пам’яті, Skills і підтримувані облікові дані в OpenClaw. | `@openclaw/migrate-hermes`<br />включено в OpenClaw | контракти: migrationProviders |
| [minimax](/uk/plugins/reference/minimax) | Додає підтримку постачальників моделей MiniMax, MiniMax Portal до OpenClaw. | `@openclaw/minimax-provider`<br />включено в OpenClaw | постачальники: minimax, minimax-portal; контракти: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders |
| [mistral](/uk/plugins/reference/mistral) | Додає підтримку постачальника моделей Mistral до OpenClaw. | `@openclaw/mistral-provider`<br />включено в OpenClaw | постачальники: mistral; контракти: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders |
| [moonshot](/uk/plugins/reference/moonshot) | Додає підтримку постачальника моделей Moonshot до OpenClaw. | `@openclaw/moonshot-provider`<br />включено в OpenClaw | постачальники: moonshot; контракти: mediaUnderstandingProviders, webSearchProviders |
| [nvidia](/uk/plugins/reference/nvidia) | Додає підтримку постачальника моделей NVIDIA до OpenClaw. | `@openclaw/nvidia-provider`<br />включено в OpenClaw | постачальники: nvidia |
| [ollama](/uk/plugins/reference/ollama) | Додає підтримку постачальника моделей Ollama до OpenClaw. | `@openclaw/ollama-provider`<br />включено в OpenClaw | постачальники: ollama; контракти: memoryEmbeddingProviders, webSearchProviders |
| [open-prose](/uk/plugins/reference/open-prose) | Пакет Skills OpenProse VM із slash-командою /prose. | `@openclaw/open-prose`<br />включено в OpenClaw | Skills |
| [openai](/uk/plugins/reference/openai) | Додає підтримку постачальників моделей OpenAI, OpenAI Codex до OpenClaw. | `@openclaw/openai-provider`<br />включено в OpenClaw | постачальники: openai, openai-codex; контракти: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders |
| [opencode](/uk/plugins/reference/opencode) | Додає підтримку постачальника моделей OpenCode до OpenClaw. | `@openclaw/opencode-provider`<br />включено в OpenClaw | постачальники: opencode; контракти: mediaUnderstandingProviders |
| [opencode-go](/uk/plugins/reference/opencode-go) | Додає підтримку постачальника моделей OpenCode Go до OpenClaw. | `@openclaw/opencode-go-provider`<br />включено в OpenClaw | постачальники: opencode-go; контракти: mediaUnderstandingProviders |
| [openrouter](/uk/plugins/reference/openrouter) | Додає підтримку постачальника моделей OpenRouter до OpenClaw. | `@openclaw/openrouter-provider`<br />включено в OpenClaw | постачальники: openrouter; контракти: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders |
| [openshell](/uk/plugins/reference/openshell) | Бекенд пісочниці на базі OpenShell із дзеркальними локальними робочими просторами та виконанням команд через SSH. | `@openclaw/openshell-sandbox`<br />включено в OpenClaw | Plugin |
| [perplexity](/uk/plugins/reference/perplexity) | Додає підтримку постачальника вебпошуку. | `@openclaw/perplexity-plugin`<br />включено в OpenClaw | контракти: webSearchProviders |
| [qianfan](/uk/plugins/reference/qianfan) | Додає підтримку постачальника моделей Qianfan до OpenClaw. | `@openclaw/qianfan-provider`<br />включено в OpenClaw | постачальники: qianfan |
| [qwen](/uk/plugins/reference/qwen) | Додає підтримку постачальників моделей Qwen, Qwen Cloud, Model Studio, DashScope до OpenClaw. | `@openclaw/qwen-provider`<br />включено в OpenClaw | постачальники: qwen, qwencloud, modelstudio, dashscope; контракти: mediaUnderstandingProviders, videoGenerationProviders |
| [runway](/uk/plugins/reference/runway) | Додає підтримку постачальника генерації відео. | `@openclaw/runway-provider`<br />включено в OpenClaw | контракти: videoGenerationProviders |
| [searxng](/uk/plugins/reference/searxng) | Додає підтримку постачальника вебпошуку. | `@openclaw/searxng-plugin`<br />включено в OpenClaw | контракти: webSearchProviders |
| [senseaudio](/uk/plugins/reference/senseaudio) | Додає підтримку постачальника розуміння медіа. | `@openclaw/senseaudio-provider`<br />включено до OpenClaw | contracts: mediaUnderstandingProviders |
| [sglang](/uk/plugins/reference/sglang) | Додає до OpenClaw підтримку постачальника моделей SGLang. | `@openclaw/sglang-provider`<br />включено до OpenClaw | providers: sglang |
| [signal](/uk/plugins/reference/signal) | Додає інтерфейс каналу Signal для надсилання й отримання повідомлень OpenClaw. | `@openclaw/signal`<br />включено до OpenClaw | channels: signal |
| [skill-workshop](/uk/plugins/reference/skill-workshop) | Фіксує повторювані робочі процеси як Skills робочого простору з очікуванням перевірки, безпечними записами та оновленням підказок Skills. | `@openclaw/skill-workshop`<br />включено до OpenClaw | contracts: tools |
| [slack](/uk/plugins/reference/slack) | Додає інтерфейс каналу Slack для надсилання й отримання повідомлень OpenClaw. | `@openclaw/slack`<br />включено до OpenClaw | channels: slack |
| [stepfun](/uk/plugins/reference/stepfun) | Додає до OpenClaw підтримку постачальників моделей StepFun і StepFun Plan. | `@openclaw/stepfun-provider`<br />включено до OpenClaw | providers: stepfun, stepfun-plan |
| [synthetic](/uk/plugins/reference/synthetic) | Додає до OpenClaw підтримку постачальника моделей Synthetic. | `@openclaw/synthetic-provider`<br />включено до OpenClaw | providers: synthetic |
| [tavily](/uk/plugins/reference/tavily) | Додає інструменти, які може викликати агент. Додає підтримку постачальника вебпошуку. | `@openclaw/tavily-plugin`<br />включено до OpenClaw | contracts: tools, webSearchProviders; skills |
| [telegram](/uk/plugins/reference/telegram) | Додає інтерфейс каналу Telegram для надсилання й отримання повідомлень OpenClaw. | `@openclaw/telegram`<br />включено до OpenClaw | channels: telegram |
| [tencent](/uk/plugins/reference/tencent) | Додає до OpenClaw підтримку постачальника моделей Tencent TokenHub. | `@openclaw/tencent-provider`<br />включено до OpenClaw | providers: tencent-tokenhub |
| [together](/uk/plugins/reference/together) | Додає до OpenClaw підтримку постачальника моделей Together. | `@openclaw/together-provider`<br />включено до OpenClaw | providers: together; contracts: videoGenerationProviders |
| [tokenjuice](/uk/plugins/reference/tokenjuice) | Стискає результати інструментів exec і bash за допомогою редукторів tokenjuice. | `@openclaw/tokenjuice`<br />включено до OpenClaw | contracts: agentToolResultMiddleware |
| [tts-local-cli](/uk/plugins/reference/tts-local-cli) | Додає підтримку постачальника перетворення тексту на мовлення. | `@openclaw/tts-local-cli`<br />включено до OpenClaw | contracts: speechProviders |
| [venice](/uk/plugins/reference/venice) | Додає до OpenClaw підтримку постачальника моделей Venice. | `@openclaw/venice-provider`<br />включено до OpenClaw | providers: venice |
| [vercel-ai-gateway](/uk/plugins/reference/vercel-ai-gateway) | Додає до OpenClaw підтримку постачальника моделей Vercel AI Gateway. | `@openclaw/vercel-ai-gateway-provider`<br />включено до OpenClaw | providers: vercel-ai-gateway |
| [vllm](/uk/plugins/reference/vllm) | Додає до OpenClaw підтримку постачальника моделей vLLM. | `@openclaw/vllm-provider`<br />включено до OpenClaw | providers: vllm |
| [volcengine](/uk/plugins/reference/volcengine) | Додає до OpenClaw підтримку постачальників моделей Volcengine і Volcengine Plan. | `@openclaw/volcengine-provider`<br />включено до OpenClaw | providers: volcengine, volcengine-plan; contracts: speechProviders |
| [voyage](/uk/plugins/reference/voyage) | Додає підтримку постачальника вбудовувань пам’яті. | `@openclaw/voyage-provider`<br />включено до OpenClaw | contracts: memoryEmbeddingProviders |
| [vydra](/uk/plugins/reference/vydra) | Додає до OpenClaw підтримку постачальника моделей Vydra. | `@openclaw/vydra-provider`<br />включено до OpenClaw | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders |
| [web-readability](/uk/plugins/reference/web-readability) | Видобуває придатний для читання вміст статей із відповідей локального веботримання HTML. | `@openclaw/web-readability-plugin`<br />включено до OpenClaw | contracts: webContentExtractors |
| [webhooks](/uk/plugins/reference/webhooks) | Автентифіковані вхідні Webhook, які прив’язують зовнішню автоматизацію до TaskFlow OpenClaw. | `@openclaw/webhooks`<br />включено до OpenClaw | plugin |
| [xai](/uk/plugins/reference/xai) | Додає підтримку постачальника моделей xAI до OpenClaw. | `@openclaw/xai-plugin`<br />включено до OpenClaw | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders |
| [xiaomi](/uk/plugins/reference/xiaomi) | Додає підтримку постачальника моделей Xiaomi до OpenClaw. | `@openclaw/xiaomi-provider`<br />включено до OpenClaw | providers: xiaomi; contracts: speechProviders |
| [zai](/uk/plugins/reference/zai) | Додає підтримку постачальника моделей Z.AI до OpenClaw. | `@openclaw/zai-provider`<br />включено до OpenClaw | providers: zai; contracts: mediaUnderstandingProviders |
| [acpx](/uk/plugins/reference/acpx) | Вбудований бекенд середовища виконання ACP із керуванням сесіями та транспортом, що належить Plugin. | `@openclaw/acpx`<br />входить до OpenClaw | skills |
| [alibaba](/uk/plugins/reference/alibaba) | Додає підтримку провайдера генерації відео. | `@openclaw/alibaba-provider`<br />входить до OpenClaw | contracts: videoGenerationProviders |
| [amazon-bedrock](/uk/plugins/reference/amazon-bedrock) | Додає до OpenClaw підтримку провайдера моделей Amazon Bedrock. | `@openclaw/amazon-bedrock-provider`<br />входить до OpenClaw | providers: amazon-bedrock; contracts: memoryEmbeddingProviders |
| [amazon-bedrock-mantle](/uk/plugins/reference/amazon-bedrock-mantle) | Додає до OpenClaw підтримку провайдера моделей Amazon Bedrock Mantle. | `@openclaw/amazon-bedrock-mantle-provider`<br />входить до OpenClaw | providers: amazon-bedrock-mantle |
| [anthropic](/uk/plugins/reference/anthropic) | Додає до OpenClaw підтримку провайдера моделей Anthropic. | `@openclaw/anthropic-provider`<br />входить до OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders |
| [anthropic-vertex](/uk/plugins/reference/anthropic-vertex) | Додає до OpenClaw підтримку провайдера моделей Anthropic Vertex. | `@openclaw/anthropic-vertex-provider`<br />входить до OpenClaw | providers: anthropic-vertex |
| [arcee](/uk/plugins/reference/arcee) | Додає до OpenClaw підтримку провайдера моделей Arcee. | `@openclaw/arcee-provider`<br />входить до OpenClaw | providers: arcee |
| [azure-speech](/uk/plugins/reference/azure-speech) | Перетворення тексту на мовлення Azure AI Speech (MP3, нативні голосові нотатки Ogg/Opus, телефонія PCM). | `@openclaw/azure-speech`<br />входить до OpenClaw | contracts: speechProviders |
| [bonjour](/uk/plugins/reference/bonjour) | Оголошує локальний Gateway OpenClaw через Bonjour/mDNS. | `@openclaw/bonjour`<br />входить до OpenClaw | plugin |
| [browser](/uk/plugins/reference/browser) | Додає інструменти, які може викликати агент. | `@openclaw/browser-plugin`<br />входить до OpenClaw | contracts: tools; skills |
| [byteplus](/uk/plugins/reference/byteplus) | Додає до OpenClaw підтримку провайдерів моделей BytePlus, BytePlus Plan. | `@openclaw/byteplus-provider`<br />входить до OpenClaw | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders |
| [cerebras](/uk/plugins/reference/cerebras) | Додає до OpenClaw підтримку провайдера моделей Cerebras. | `@openclaw/cerebras-provider`<br />входить до OpenClaw | providers: cerebras |
| [chutes](/uk/plugins/reference/chutes) | Додає до OpenClaw підтримку провайдера моделей Chutes. | `@openclaw/chutes-provider`<br />входить до OpenClaw | providers: chutes |
| [cloudflare-ai-gateway](/uk/plugins/reference/cloudflare-ai-gateway) | Додає до OpenClaw підтримку провайдера моделей Cloudflare AI Gateway. | `@openclaw/cloudflare-ai-gateway-provider`<br />входить до OpenClaw | providers: cloudflare-ai-gateway |
| [comfy](/uk/plugins/reference/comfy) | Додає до OpenClaw підтримку провайдера моделей ComfyUI. | `@openclaw/comfy-provider`<br />входить до OpenClaw | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders |
| [copilot-proxy](/uk/plugins/reference/copilot-proxy) | Додає до OpenClaw підтримку провайдера моделей Copilot Proxy. | `@openclaw/copilot-proxy`<br />входить до OpenClaw | providers: copilot-proxy |
| [deepgram](/uk/plugins/reference/deepgram) | Додає підтримку провайдера розуміння медіа. Додає підтримку провайдера транскрипції в реальному часі. | `@openclaw/deepgram-provider`<br />входить до OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders |
| [deepinfra](/uk/plugins/reference/deepinfra) | Додає до OpenClaw підтримку провайдера моделей DeepInfra. | `@openclaw/deepinfra-provider`<br />входить до OpenClaw | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders |
| [deepseek](/uk/plugins/reference/deepseek) | Додає до OpenClaw підтримку провайдера моделей DeepSeek. | `@openclaw/deepseek-provider`<br />входить до OpenClaw | providers: deepseek |
| [document-extract](/uk/plugins/reference/document-extract) | Витягує текст і резервні зображення сторінок із локальних вкладень документів. | `@openclaw/document-extract-plugin`<br />входить до складу OpenClaw | contracts: documentExtractors |
| [duckduckgo](/uk/plugins/reference/duckduckgo) | Додає підтримку постачальника вебпошуку. | `@openclaw/duckduckgo-plugin`<br />входить до складу OpenClaw | contracts: webSearchProviders |
| [elevenlabs](/uk/plugins/reference/elevenlabs) | Додає підтримку постачальника розуміння медіа. Додає підтримку постачальника транскрибування в реальному часі. Додає підтримку постачальника синтезу мовлення. | `@openclaw/elevenlabs-speech`<br />входить до складу OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders |
| [exa](/uk/plugins/reference/exa) | Додає підтримку постачальника вебпошуку. | `@openclaw/exa-plugin`<br />входить до складу OpenClaw | contracts: webSearchProviders |
| [fal](/uk/plugins/reference/fal) | Додає до OpenClaw підтримку постачальника моделей fal. | `@openclaw/fal-provider`<br />входить до складу OpenClaw | providers: fal; contracts: imageGenerationProviders, videoGenerationProviders |
| [file-transfer](/uk/plugins/reference/file-transfer) | Отримує, перелічує та записує файли на спарених вузлах через спеціальні команди вузла. Обходить обрізання bash stdout, використовуючи base64 через node.invoke для двійкових файлів розміром до 16 МБ. | `@openclaw/file-transfer`<br />входить до складу OpenClaw | contracts: tools |
| [firecrawl](/uk/plugins/reference/firecrawl) | Додає інструменти, які може викликати агент. Додає підтримку постачальника отримання вебвмісту. Додає підтримку постачальника вебпошуку. | `@openclaw/firecrawl-plugin`<br />входить до складу OpenClaw | contracts: tools, webFetchProviders, webSearchProviders |
| [fireworks](/uk/plugins/reference/fireworks) | Додає до OpenClaw підтримку постачальника моделей Fireworks. | `@openclaw/fireworks-provider`<br />входить до складу OpenClaw | providers: fireworks |
| [github-copilot](/uk/plugins/reference/github-copilot) | Додає до OpenClaw підтримку постачальника моделей GitHub Copilot. | `@openclaw/github-copilot-provider`<br />входить до складу OpenClaw | providers: github-copilot; contracts: memoryEmbeddingProviders |
| [google](/uk/plugins/reference/google) | Додає до OpenClaw підтримку постачальників моделей Google, Google Gemini CLI, Google Vertex. | `@openclaw/google-plugin`<br />входить до складу OpenClaw | providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders |
| [googlechat](/uk/plugins/reference/googlechat) | Додає поверхню каналу Google Chat для надсилання й отримання повідомлень OpenClaw. | `@openclaw/googlechat`<br />входить до складу OpenClaw | channels: googlechat |
| [gradium](/uk/plugins/reference/gradium) | Додає підтримку постачальника синтезу мовлення. | `@openclaw/gradium-speech`<br />входить до складу OpenClaw | contracts: speechProviders |
| [groq](/uk/plugins/reference/groq) | Додає до OpenClaw підтримку постачальника моделей Groq. | `@openclaw/groq-provider`<br />входить до складу OpenClaw | providers: groq; contracts: mediaUnderstandingProviders |
| [huggingface](/uk/plugins/reference/huggingface) | Додає до OpenClaw підтримку постачальника моделей Hugging Face. | `@openclaw/huggingface-provider`<br />входить до складу OpenClaw | providers: huggingface |
| [imessage](/uk/plugins/reference/imessage) | Додає поверхню каналу iMessage для надсилання й отримання повідомлень OpenClaw. | `@openclaw/imessage`<br />входить до складу OpenClaw | channels: imessage |
| [inworld](/uk/plugins/reference/inworld) | Потоковий синтез мовлення Inworld (MP3, OGG_OPUS, PCM для телефонії). | `@openclaw/inworld-speech`<br />входить до складу OpenClaw | contracts: speechProviders |
| [irc](/uk/plugins/reference/irc) | Додає поверхню каналу IRC для надсилання й отримання повідомлень OpenClaw. | `@openclaw/irc`<br />входить до складу OpenClaw | channels: irc |
| [kilocode](/uk/plugins/reference/kilocode) | Додає до OpenClaw підтримку постачальника моделей Kilocode. | `@openclaw/kilocode-provider`<br />входить до складу OpenClaw | providers: kilocode |
| [kimi](/uk/plugins/reference/kimi) | Додає до OpenClaw підтримку постачальників моделей Kimi, Kimi Coding. | `@openclaw/kimi-provider`<br />входить до складу OpenClaw | providers: kimi, kimi-coding |
| [line](/uk/plugins/reference/line) | Додає поверхню каналу LINE для надсилання й отримання повідомлень OpenClaw. | `@openclaw/line`<br />входить до складу OpenClaw | channels: line |
| [litellm](/uk/plugins/reference/litellm) | Додає до OpenClaw підтримку постачальника моделей LiteLLM. | `@openclaw/litellm-provider`<br />входить до складу OpenClaw | providers: litellm; contracts: imageGenerationProviders |
| [llm-task](/uk/plugins/reference/llm-task) | Універсальний LLM-інструмент лише для JSON для структурованих завдань, який можна викликати з workflows. | `@openclaw/llm-task`<br />входить до OpenClaw | contracts: tools |
| [lmstudio](/uk/plugins/reference/lmstudio) | Додає підтримку постачальника моделей LM Studio до OpenClaw. | `@openclaw/lmstudio-provider`<br />входить до OpenClaw | providers: lmstudio; contracts: memoryEmbeddingProviders |
| [memory-core](/uk/plugins/reference/memory-core) | Додає підтримку постачальника memory embedding. Додає інструменти, які може викликати агент. | `@openclaw/memory-core`<br />входить до OpenClaw | contracts: memoryEmbeddingProviders, tools |
| [memory-wiki](/uk/plugins/reference/memory-wiki) | Постійний компілятор wiki та зручне для Obsidian сховище знань для OpenClaw. | `@openclaw/memory-wiki`<br />входить до OpenClaw | contracts: tools; skills |
| [microsoft](/uk/plugins/reference/microsoft) | Додає підтримку постачальника text-to-speech. | `@openclaw/microsoft-speech`<br />входить до OpenClaw | contracts: speechProviders |
| [microsoft-foundry](/uk/plugins/reference/microsoft-foundry) | Додає підтримку постачальника моделей Microsoft Foundry до OpenClaw. | `@openclaw/microsoft-foundry`<br />входить до OpenClaw | providers: microsoft-foundry |
| [migrate-claude](/uk/plugins/reference/migrate-claude) | Імпортує інструкції Claude Code і Claude Desktop, сервери MCP, Skills та безпечну конфігурацію до OpenClaw. | `@openclaw/migrate-claude`<br />входить до OpenClaw | contracts: migrationProviders |
| [migrate-hermes](/uk/plugins/reference/migrate-hermes) | Імпортує конфігурацію Hermes, пам’ять, Skills і підтримувані облікові дані до OpenClaw. | `@openclaw/migrate-hermes`<br />входить до OpenClaw | contracts: migrationProviders |
| [minimax](/uk/plugins/reference/minimax) | Додає підтримку постачальників моделей MiniMax, MiniMax Portal до OpenClaw. | `@openclaw/minimax-provider`<br />входить до OpenClaw | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders |
| [mistral](/uk/plugins/reference/mistral) | Додає підтримку постачальника моделей Mistral до OpenClaw. | `@openclaw/mistral-provider`<br />входить до OpenClaw | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders |
| [moonshot](/uk/plugins/reference/moonshot) | Додає підтримку постачальника моделей Moonshot до OpenClaw. | `@openclaw/moonshot-provider`<br />входить до OpenClaw | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders |
| [nvidia](/uk/plugins/reference/nvidia) | Додає підтримку постачальника моделей NVIDIA до OpenClaw. | `@openclaw/nvidia-provider`<br />входить до OpenClaw | providers: nvidia |
| [ollama](/uk/plugins/reference/ollama) | Додає підтримку постачальника моделей Ollama до OpenClaw. | `@openclaw/ollama-provider`<br />входить до OpenClaw | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders |
| [open-prose](/uk/plugins/reference/open-prose) | Пакет Skills OpenProse VM з slash-командою /prose. | `@openclaw/open-prose`<br />входить до OpenClaw | skills |
| [openai](/uk/plugins/reference/openai) | Додає підтримку постачальників моделей OpenAI, OpenAI Codex до OpenClaw. | `@openclaw/openai-provider`<br />входить до OpenClaw | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders |
| [opencode](/uk/plugins/reference/opencode) | Додає підтримку постачальника моделей OpenCode до OpenClaw. | `@openclaw/opencode-provider`<br />входить до OpenClaw | providers: opencode; contracts: mediaUnderstandingProviders |
| [opencode-go](/uk/plugins/reference/opencode-go) | Додає підтримку постачальника моделей OpenCode Go до OpenClaw. | `@openclaw/opencode-go-provider`<br />входить до OpenClaw | providers: opencode-go; contracts: mediaUnderstandingProviders |
| [openrouter](/uk/plugins/reference/openrouter) | Додає підтримку постачальника моделей OpenRouter до OpenClaw. | `@openclaw/openrouter-provider`<br />входить до OpenClaw | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders |
| [openshell](/uk/plugins/reference/openshell) | Backend пісочниці на базі OpenShell із дзеркальними локальними робочими просторами та виконанням команд через SSH. | `@openclaw/openshell-sandbox`<br />входить до OpenClaw | plugin |
| [perplexity](/uk/plugins/reference/perplexity) | Додає підтримку постачальника вебпошуку. | `@openclaw/perplexity-plugin`<br />входить до OpenClaw | contracts: webSearchProviders |
| [qianfan](/uk/plugins/reference/qianfan) | Додає підтримку постачальника моделей Qianfan до OpenClaw. | `@openclaw/qianfan-provider`<br />входить до OpenClaw | providers: qianfan |
| [qwen](/uk/plugins/reference/qwen) | Додає підтримку постачальників моделей Qwen, Qwen Cloud, Model Studio, DashScope до OpenClaw. | `@openclaw/qwen-provider`<br />входить до складу OpenClaw | providers: qwen, qwencloud, modelstudio, dashscope; contracts: mediaUnderstandingProviders, videoGenerationProviders |
| [runway](/uk/plugins/reference/runway) | Додає підтримку постачальника генерації відео. | `@openclaw/runway-provider`<br />входить до складу OpenClaw | contracts: videoGenerationProviders |
| [searxng](/uk/plugins/reference/searxng) | Додає підтримку постачальника вебпошуку. | `@openclaw/searxng-plugin`<br />входить до складу OpenClaw | contracts: webSearchProviders |
| [senseaudio](/uk/plugins/reference/senseaudio) | Додає підтримку постачальника розуміння медіа. | `@openclaw/senseaudio-provider`<br />входить до складу OpenClaw | contracts: mediaUnderstandingProviders |
| [sglang](/uk/plugins/reference/sglang) | Додає підтримку постачальника моделей SGLang до OpenClaw. | `@openclaw/sglang-provider`<br />входить до складу OpenClaw | providers: sglang |
| [signal](/uk/plugins/reference/signal) | Додає поверхню каналу Signal для надсилання й отримання повідомлень OpenClaw. | `@openclaw/signal`<br />входить до складу OpenClaw | channels: signal |
| [skill-workshop](/uk/plugins/reference/skill-workshop) | Фіксує повторювані робочі процеси як Skills робочого простору, з очікуванням перевірки, безпечними записами та оновленням підказок Skills. | `@openclaw/skill-workshop`<br />входить до складу OpenClaw | contracts: tools |
| [slack](/uk/plugins/reference/slack) | Додає поверхню каналу Slack для надсилання й отримання повідомлень OpenClaw. | `@openclaw/slack`<br />входить до складу OpenClaw | channels: slack |
| [stepfun](/uk/plugins/reference/stepfun) | Додає підтримку постачальників моделей StepFun, StepFun Plan до OpenClaw. | `@openclaw/stepfun-provider`<br />входить до складу OpenClaw | providers: stepfun, stepfun-plan |
| [synthetic](/uk/plugins/reference/synthetic) | Додає підтримку постачальника моделей Synthetic до OpenClaw. | `@openclaw/synthetic-provider`<br />входить до складу OpenClaw | providers: synthetic |
| [tavily](/uk/plugins/reference/tavily) | Додає інструменти, доступні для виклику агентом. Додає підтримку постачальника вебпошуку. | `@openclaw/tavily-plugin`<br />входить до складу OpenClaw | contracts: tools, webSearchProviders; skills |
| [telegram](/uk/plugins/reference/telegram) | Додає поверхню каналу Telegram для надсилання й отримання повідомлень OpenClaw. | `@openclaw/telegram`<br />входить до складу OpenClaw | channels: telegram |
| [tencent](/uk/plugins/reference/tencent) | Додає підтримку постачальника моделей Tencent TokenHub до OpenClaw. | `@openclaw/tencent-provider`<br />входить до складу OpenClaw | providers: tencent-tokenhub |
| [together](/uk/plugins/reference/together) | Додає підтримку постачальника моделей Together до OpenClaw. | `@openclaw/together-provider`<br />входить до складу OpenClaw | providers: together; contracts: videoGenerationProviders |
| [tokenjuice](/uk/plugins/reference/tokenjuice) | Стискає результати інструментів exec і bash за допомогою редукторів tokenjuice. | `@openclaw/tokenjuice`<br />входить до складу OpenClaw | contracts: agentToolResultMiddleware |
| [tts-local-cli](/uk/plugins/reference/tts-local-cli) | Додає підтримку постачальника перетворення тексту на мовлення. | `@openclaw/tts-local-cli`<br />входить до складу OpenClaw | contracts: speechProviders |
| [venice](/uk/plugins/reference/venice) | Додає підтримку постачальника моделей Venice до OpenClaw. | `@openclaw/venice-provider`<br />входить до складу OpenClaw | providers: venice |
| [vercel-ai-gateway](/uk/plugins/reference/vercel-ai-gateway) | Додає підтримку постачальника моделей Vercel AI Gateway до OpenClaw. | `@openclaw/vercel-ai-gateway-provider`<br />входить до складу OpenClaw | providers: vercel-ai-gateway |
| [vllm](/uk/plugins/reference/vllm) | Додає підтримку постачальника моделей vLLM до OpenClaw. | `@openclaw/vllm-provider`<br />входить до складу OpenClaw | providers: vllm |
| [volcengine](/uk/plugins/reference/volcengine) | Додає підтримку постачальників моделей Volcengine, Volcengine Plan до OpenClaw. | `@openclaw/volcengine-provider`<br />входить до складу OpenClaw | providers: volcengine, volcengine-plan; contracts: speechProviders |
| [voyage](/uk/plugins/reference/voyage) | Додає підтримку постачальника вбудовувань пам’яті. | `@openclaw/voyage-provider`<br />входить до складу OpenClaw | contracts: memoryEmbeddingProviders |
| [vydra](/uk/plugins/reference/vydra) | Додає підтримку постачальника моделей Vydra до OpenClaw. | `@openclaw/vydra-provider`<br />включено в OpenClaw | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders |
| [web-readability](/uk/plugins/reference/web-readability) | Витягує придатний до читання вміст статті з локальних HTML-відповідей вебзапитів. | `@openclaw/web-readability-plugin`<br />включено в OpenClaw | contracts: webContentExtractors |
| [webhooks](/uk/plugins/reference/webhooks) | Автентифіковані вхідні Webhook-и, які прив’язують зовнішню автоматизацію до TaskFlow OpenClaw. | `@openclaw/webhooks`<br />включено в OpenClaw | plugin |
| [xai](/uk/plugins/reference/xai) | Додає підтримку постачальника моделей xAI до OpenClaw. | `@openclaw/xai-plugin`<br />включено в OpenClaw | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders |
| [xiaomi](/uk/plugins/reference/xiaomi) | Додає підтримку постачальника моделей Xiaomi до OpenClaw. | `@openclaw/xiaomi-provider`<br />включено в OpenClaw | providers: xiaomi; contracts: speechProviders |
| [zai](/uk/plugins/reference/zai) | Додає підтримку постачальника моделей Z.AI до OpenClaw. | `@openclaw/zai-provider`<br />включено в OpenClaw | providers: zai; contracts: mediaUnderstandingProviders |
## Офіційні зовнішні пакети
| Plugin | Опис | Дистрибуція | Поверхня |
| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| [acpx](/uk/plugins/reference/acpx) | Вбудований backend середовища виконання ACP із керуванням сесіями та транспортом, що належить plugin. | `@openclaw/acpx`<br />ClawHub + npm | skills |
| [bluebubbles](/uk/plugins/reference/bluebubbles) | Додає поверхню каналу BlueBubbles для надсилання й отримання повідомлень OpenClaw. | `@openclaw/bluebubbles`<br />ClawHub + npm | channels: bluebubbles |
| [brave](/uk/plugins/reference/brave) | Додає підтримку провайдера вебпошуку. | `@openclaw/brave-plugin`<br />ClawHub + npm | contracts: webSearchProviders |
| [codex](/uk/plugins/reference/codex) | Обв’язка app-server Codex і каталог моделей GPT, керований Codex. | `@openclaw/codex`<br />ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders |
| [diagnostics-otel](/uk/plugins/reference/diagnostics-otel) | Експортер діагностики OpenTelemetry для OpenClaw. | `@openclaw/diagnostics-otel`<br />ClawHub: `clawhub:@openclaw/diagnostics-otel`; npm | plugin |
| [diagnostics-prometheus](/uk/plugins/reference/diagnostics-prometheus) | Експортер діагностики Prometheus для OpenClaw. | `@openclaw/diagnostics-prometheus`<br />ClawHub: `clawhub:@openclaw/diagnostics-prometheus`; npm | plugin |
| [diffs](/uk/plugins/reference/diffs) | Переглядач diff у режимі лише читання і рендерер файлів для агентів. | `@openclaw/diffs`<br />ClawHub + npm | contracts: tools; skills |
| [discord](/uk/plugins/reference/discord) | Додає поверхню каналу Discord для надсилання й отримання повідомлень OpenClaw. | `@openclaw/discord`<br />ClawHub + npm | channels: discord |
| [feishu](/uk/plugins/reference/feishu) | Додає поверхню каналу Feishu для надсилання й отримання повідомлень OpenClaw. | `@openclaw/feishu`<br />ClawHub + npm | channels: feishu; contracts: tools; skills |
| [google-meet](/uk/plugins/reference/google-meet) | Приєднання до викликів Google Meet через транспорти Chrome або Twilio. | `@openclaw/google-meet`<br />ClawHub + npm | contracts: tools |
| [googlechat](/uk/plugins/reference/googlechat) | Додає поверхню каналу Google Chat для надсилання й отримання повідомлень OpenClaw. | `@openclaw/googlechat`<br />ClawHub + npm | channels: googlechat |
| [line](/uk/plugins/reference/line) | Додає поверхню каналу LINE для надсилання й отримання повідомлень OpenClaw. | `@openclaw/line`<br />ClawHub + npm | channels: line |
| [lobster](/uk/plugins/reference/lobster) | Типізований інструмент робочих процесів із відновлюваними затвердженнями. | `@openclaw/lobster`<br />ClawHub + npm | contracts: tools |
| [matrix](/uk/plugins/reference/matrix) | Додає поверхню каналу Matrix для надсилання й отримання повідомлень OpenClaw. | `@openclaw/matrix`<br />ClawHub + npm | channels: matrix |
| [mattermost](/uk/plugins/reference/mattermost) | Додає поверхню каналу Mattermost для надсилання й отримання повідомлень OpenClaw. | `@openclaw/mattermost`<br />ClawHub + npm | channels: mattermost |
| [memory-lancedb](/uk/plugins/reference/memory-lancedb) | Додає інструменти, які можуть викликати агенти. | `@openclaw/memory-lancedb`<br />ClawHub + npm | contracts: tools |
| [msteams](/uk/plugins/reference/msteams) | Додає поверхню каналу Microsoft Teams для надсилання й отримання повідомлень OpenClaw. | `@openclaw/msteams`<br />ClawHub + npm | channels: msteams |
| [nextcloud-talk](/uk/plugins/reference/nextcloud-talk) | Додає поверхню каналу Nextcloud Talk для надсилання й отримання повідомлень OpenClaw. | `@openclaw/nextcloud-talk`<br />ClawHub + npm | channels: nextcloud-talk |
| [nostr](/uk/plugins/reference/nostr) | Додає поверхню каналу Nostr для надсилання й отримання повідомлень OpenClaw. | `@openclaw/nostr`<br />ClawHub + npm | channels: nostr |
| [qqbot](/uk/plugins/reference/qqbot) | Додає поверхню каналу QQ Bot для надсилання й отримання повідомлень OpenClaw. | `@openclaw/qqbot`<br />ClawHub + npm | channels: qqbot; contracts: tools; skills |
| [synology-chat](/uk/plugins/reference/synology-chat) | Додає поверхню каналу Synology Chat для надсилання й отримання повідомлень OpenClaw. | `@openclaw/synology-chat`<br />ClawHub + npm | channels: synology-chat |
| [tlon](/uk/plugins/reference/tlon) | Додає поверхню каналу Tlon для надсилання й отримання повідомлень OpenClaw. | `@openclaw/tlon`<br />ClawHub + npm | channels: tlon; contracts: tools; skills |
| [twitch](/uk/plugins/reference/twitch) | Додає поверхню каналу Twitch для надсилання й отримання повідомлень OpenClaw. | `@openclaw/twitch`<br />ClawHub + npm | channels: twitch |
| [voice-call](/uk/plugins/reference/voice-call) | Додає інструменти, які можуть викликати агенти. | `@openclaw/voice-call`<br />ClawHub + npm | contracts: tools |
| [whatsapp](/uk/plugins/reference/whatsapp) | Додає поверхню каналу WhatsApp для надсилання й отримання повідомлень OpenClaw. | `@openclaw/whatsapp`<br />ClawHub + npm | channels: whatsapp |
| [zalo](/uk/plugins/reference/zalo) | Додає поверхню каналу Zalo для надсилання й отримання повідомлень OpenClaw. | `@openclaw/zalo`<br />ClawHub + npm | channels: zalo |
| [zalouser](/uk/plugins/reference/zalouser) | Додає поверхню каналу Zalo Personal для надсилання й отримання повідомлень OpenClaw. | `@openclaw/zalouser`<br />ClawHub + npm | channels: zalouser; contracts: tools |
| Plugin | Опис | Дистрибуція | Поверхня |
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| [bluebubbles](/uk/plugins/reference/bluebubbles) | Додає поверхню каналу BlueBubbles для надсилання й отримання повідомлень OpenClaw. | `@openclaw/bluebubbles`<br />ClawHub + npm | channels: bluebubbles |
| [brave](/uk/plugins/reference/brave) | Додає підтримку провайдерів вебпошуку. | `@openclaw/brave-plugin`<br />ClawHub + npm | contracts: webSearchProviders |
| [codex](/uk/plugins/reference/codex) | Оснастка сервера застосунку Codex і керований Codex каталог моделей GPT. | `@openclaw/codex`<br />ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders |
| [diagnostics-otel](/uk/plugins/reference/diagnostics-otel) | Експортер діагностики OpenClaw для OpenTelemetry. | `@openclaw/diagnostics-otel`<br />ClawHub: `clawhub:@openclaw/diagnostics-otel`; npm | plugin |
| [diagnostics-prometheus](/uk/plugins/reference/diagnostics-prometheus) | Експортер діагностики OpenClaw для Prometheus. | `@openclaw/diagnostics-prometheus`<br />ClawHub: `clawhub:@openclaw/diagnostics-prometheus`; npm | plugin |
| [diffs](/uk/plugins/reference/diffs) | Переглядач diff у режимі лише для читання і рендерер файлів для агентів. | `@openclaw/diffs`<br />ClawHub + npm | contracts: tools; skills |
| [discord](/uk/plugins/reference/discord) | Додає поверхню каналу Discord для надсилання й отримання повідомлень OpenClaw. | `@openclaw/discord`<br />ClawHub + npm | channels: discord |
| [feishu](/uk/plugins/reference/feishu) | Додає поверхню каналу Feishu для надсилання й отримання повідомлень OpenClaw. | `@openclaw/feishu`<br />ClawHub + npm | channels: feishu; contracts: tools; skills |
| [google-meet](/uk/plugins/reference/google-meet) | Приєднання до викликів Google Meet через транспорти Chrome або Twilio. | `@openclaw/google-meet`<br />ClawHub + npm | contracts: tools |
| [lobster](/uk/plugins/reference/lobster) | Типізований інструмент робочих процесів із відновлюваними погодженнями. | `@openclaw/lobster`<br />ClawHub + npm | contracts: tools |
| [matrix](/uk/plugins/reference/matrix) | Додає поверхню каналу Matrix для надсилання й отримання повідомлень OpenClaw. | `@openclaw/matrix`<br />ClawHub + npm | channels: matrix |
| [mattermost](/uk/plugins/reference/mattermost) | Додає поверхню каналу Mattermost для надсилання й отримання повідомлень OpenClaw. | `@openclaw/mattermost`<br />ClawHub + npm | channels: mattermost |
| [memory-lancedb](/uk/plugins/reference/memory-lancedb) | Додає інструменти, які можуть викликати агенти. | `@openclaw/memory-lancedb`<br />ClawHub + npm | contracts: tools |
| [msteams](/uk/plugins/reference/msteams) | Додає поверхню каналу Microsoft Teams для надсилання й отримання повідомлень OpenClaw. | `@openclaw/msteams`<br />ClawHub + npm | channels: msteams |
| [nextcloud-talk](/uk/plugins/reference/nextcloud-talk) | Додає поверхню каналу Nextcloud Talk для надсилання й отримання повідомлень OpenClaw. | `@openclaw/nextcloud-talk`<br />ClawHub + npm | channels: nextcloud-talk |
| [nostr](/uk/plugins/reference/nostr) | Додає поверхню каналу Nostr для надсилання й отримання повідомлень OpenClaw. | `@openclaw/nostr`<br />ClawHub + npm | channels: nostr |
| [qqbot](/uk/plugins/reference/qqbot) | Додає поверхню каналу QQ Bot для надсилання й отримання повідомлень OpenClaw. | `@openclaw/qqbot`<br />ClawHub + npm | channels: qqbot; contracts: tools; skills |
| [synology-chat](/uk/plugins/reference/synology-chat) | Додає поверхню каналу Synology Chat для надсилання й отримання повідомлень OpenClaw. | `@openclaw/synology-chat`<br />ClawHub + npm | channels: synology-chat |
| [tlon](/uk/plugins/reference/tlon) | Додає поверхню каналу Tlon для надсилання й отримання повідомлень OpenClaw. | `@openclaw/tlon`<br />ClawHub + npm | channels: tlon; contracts: tools; skills |
| [twitch](/uk/plugins/reference/twitch) | Додає поверхню каналу Twitch для надсилання й отримання повідомлень OpenClaw. | `@openclaw/twitch`<br />ClawHub + npm | channels: twitch |
| [voice-call](/uk/plugins/reference/voice-call) | Додає інструменти, які можуть викликати агенти. | `@openclaw/voice-call`<br />ClawHub + npm | contracts: tools |
| [whatsapp](/uk/plugins/reference/whatsapp) | Додає поверхню каналу WhatsApp для надсилання й отримання повідомлень OpenClaw. | `@openclaw/whatsapp`<br />ClawHub + npm | channels: whatsapp |
| [zalo](/uk/plugins/reference/zalo) | Додає поверхню каналу Zalo для надсилання й отримання повідомлень OpenClaw. | `@openclaw/zalo`<br />ClawHub + npm | channels: zalo |
| [zalouser](/uk/plugins/reference/zalouser) | Додає поверхню каналу Zalo Personal для надсилання й отримання повідомлень OpenClaw. | `@openclaw/zalouser`<br />ClawHub + npm | channels: zalouser; contracts: tools |
## Лише source checkout
## Лише checkout вихідного коду
| Plugin | Опис | Дистрибуція | Поверхня |
| ------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------ | -------------------- |
| [qa-channel](/uk/plugins/reference/qa-channel) | Додає поверхню каналу QA Channel для надсилання й отримання повідомлень OpenClaw. | `@openclaw/qa-channel`<br />source checkout only | channels: qa-channel |
| [qa-lab](/uk/plugins/reference/qa-lab) | QA lab plugin OpenClaw із приватним UI налагоджувача та runner сценаріїв. | `@openclaw/qa-lab`<br />source checkout only | plugin |
| [qa-matrix](/uk/plugins/reference/qa-matrix) | Runner транспорту Matrix QA та substrate. | `@openclaw/qa-matrix`<br />source checkout only | plugin |
| Plugin | Опис | Дистрибуція | Поверхня |
| ------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------ | -------------------- |
| [qa-channel](/uk/plugins/reference/qa-channel) | Додає поверхню каналу QA Channel для надсилання й отримання повідомлень OpenClaw. | `@openclaw/qa-channel`<br />лише checkout вихідного коду | channels: qa-channel |
| [qa-lab](/uk/plugins/reference/qa-lab) | QA-лабораторний plugin OpenClaw із приватним UI налагоджувача та засобом запуску сценаріїв. | `@openclaw/qa-lab`<br />лише checkout вихідного коду | plugin |
| [qa-matrix](/uk/plugins/reference/qa-matrix) | Засіб запуску й субстрат транспорту Matrix QA. | `@openclaw/qa-matrix`<br />лише checkout вихідного коду | plugin |

View File

@ -2,140 +2,140 @@
read_when:
- Вам потрібна довідкова сторінка для конкретного OpenClaw Plugin
- Ви перевіряєте покриття документації Plugin
summary: Згенерований покажчик довідкових сторінок Plugin OpenClaw
title: Довідник Plugin
summary: Згенерований індекс довідкових сторінок Plugin OpenClaw
title: Довідник із Plugin
x-i18n:
generated_at: "2026-05-02T20:49:29Z"
generated_at: "2026-05-02T21:41:39Z"
model: gpt-5.5
provider: openai
source_hash: 05c0eb24148019d7dd4565a120a581c1ed9652b7321fd8bb5fb2a971684631c3
source_hash: e5bd3e3b2b77b8d8b636fa33195d294c61191cea1af16d6c0e2058046b37f5f7
source_path: plugins/reference.md
workflow: 16
---
# Довідник Plugin
Цю сторінку згенеровано з `extensions/*/package.json` і
`openclaw.plugin.json`. Повторно згенеруйте її за допомогою:
Цю сторінку згенеровано з `extensions/*/package.json` та
`openclaw.plugin.json`. Перегенеруйте її за допомогою:
```bash
pnpm plugins:inventory:gen
```
| Plugin | Опис | Розповсюдження | Поверхня |
| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [acpx](/uk/plugins/reference/acpx) | Вбудований бекенд середовища виконання ACP із керуванням сеансами й транспортом, що належить plugin. | `@openclaw/acpx`<br />ClawHub + npm | skills |
| [alibaba](/uk/plugins/reference/alibaba) | Додає підтримку провайдера генерації відео. | `@openclaw/alibaba-provider`<br />входить до OpenClaw | contracts: videoGenerationProviders |
| [amazon-bedrock](/uk/plugins/reference/amazon-bedrock) | Додає до OpenClaw підтримку провайдера моделей Amazon Bedrock. | `@openclaw/amazon-bedrock-provider`<br />входить до OpenClaw | providers: amazon-bedrock; contracts: memoryEmbeddingProviders |
| [amazon-bedrock-mantle](/uk/plugins/reference/amazon-bedrock-mantle) | Додає до OpenClaw підтримку провайдера моделей Amazon Bedrock Mantle. | `@openclaw/amazon-bedrock-mantle-provider`<br />входить до OpenClaw | providers: amazon-bedrock-mantle |
| [anthropic](/uk/plugins/reference/anthropic) | Додає до OpenClaw підтримку провайдера моделей Anthropic. | `@openclaw/anthropic-provider`<br />входить до OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders |
| [anthropic-vertex](/uk/plugins/reference/anthropic-vertex) | Додає до OpenClaw підтримку провайдера моделей Anthropic Vertex. | `@openclaw/anthropic-vertex-provider`<br />входить до OpenClaw | providers: anthropic-vertex |
| [arcee](/uk/plugins/reference/arcee) | Додає до OpenClaw підтримку провайдера моделей Arcee. | `@openclaw/arcee-provider`<br />входить до OpenClaw | providers: arcee |
| [azure-speech](/uk/plugins/reference/azure-speech) | Перетворення тексту на мовлення Azure AI Speech (MP3, нативні голосові нотатки Ogg/Opus, телефонія PCM). | `@openclaw/azure-speech`<br />входить до OpenClaw | contracts: speechProviders |
| [bluebubbles](/uk/plugins/reference/bluebubbles) | Додає поверхню каналу BlueBubbles для надсилання й отримання повідомлень OpenClaw. | `@openclaw/bluebubbles`<br />ClawHub + npm | channels: bluebubbles |
| [bonjour](/uk/plugins/reference/bonjour) | Оголошує локальний Gateway OpenClaw через Bonjour/mDNS. | `@openclaw/bonjour`<br />входить до OpenClaw | plugin |
| [brave](/uk/plugins/reference/brave) | Додає підтримку провайдера вебпошуку. | `@openclaw/brave-plugin`<br />ClawHub + npm | contracts: webSearchProviders |
| [browser](/uk/plugins/reference/browser) | Додає інструменти, які може викликати агент. | `@openclaw/browser-plugin`<br />входить до OpenClaw | contracts: tools; skills |
| [byteplus](/uk/plugins/reference/byteplus) | Додає до OpenClaw підтримку провайдерів моделей BytePlus, BytePlus Plan. | `@openclaw/byteplus-provider`<br />входить до OpenClaw | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders |
| [cerebras](/uk/plugins/reference/cerebras) | Додає до OpenClaw підтримку провайдера моделей Cerebras. | `@openclaw/cerebras-provider`<br />входить до OpenClaw | providers: cerebras |
| [chutes](/uk/plugins/reference/chutes) | Додає до OpenClaw підтримку провайдера моделей Chutes. | `@openclaw/chutes-provider`<br />входить до OpenClaw | providers: chutes |
| [cloudflare-ai-gateway](/uk/plugins/reference/cloudflare-ai-gateway) | Додає до OpenClaw підтримку провайдера моделей Cloudflare AI Gateway. | `@openclaw/cloudflare-ai-gateway-provider`<br />входить до OpenClaw | providers: cloudflare-ai-gateway |
| [codex](/uk/plugins/reference/codex) | Серверний каркас застосунку Codex і керований Codex каталог моделей GPT. | `@openclaw/codex`<br />ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders |
| [comfy](/uk/plugins/reference/comfy) | Додає до OpenClaw підтримку провайдера моделей ComfyUI. | `@openclaw/comfy-provider`<br />входить до OpenClaw | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders |
| [copilot-proxy](/uk/plugins/reference/copilot-proxy) | Додає до OpenClaw підтримку постачальника моделей Copilot Proxy. | `@openclaw/copilot-proxy`<br />входить до OpenClaw | providers: copilot-proxy |
| [deepgram](/uk/plugins/reference/deepgram) | Додає підтримку постачальника розуміння медіа. Додає підтримку постачальника транскрибування в реальному часі. | `@openclaw/deepgram-provider`<br />входить до OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders |
| [deepinfra](/uk/plugins/reference/deepinfra) | Додає до OpenClaw підтримку постачальника моделей DeepInfra. | `@openclaw/deepinfra-provider`<br />входить до OpenClaw | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders |
| [deepseek](/uk/plugins/reference/deepseek) | Додає до OpenClaw підтримку постачальника моделей DeepSeek. | `@openclaw/deepseek-provider`<br />входить до OpenClaw | providers: deepseek |
| [diagnostics-otel](/uk/plugins/reference/diagnostics-otel) | Експортер OpenTelemetry для діагностики OpenClaw. | `@openclaw/diagnostics-otel`<br />ClawHub: `clawhub:@openclaw/diagnostics-otel`; npm | plugin |
| [diagnostics-prometheus](/uk/plugins/reference/diagnostics-prometheus) | Експортер Prometheus для діагностики OpenClaw. | `@openclaw/diagnostics-prometheus`<br />ClawHub: `clawhub:@openclaw/diagnostics-prometheus`; npm | plugin |
| [diffs](/uk/plugins/reference/diffs) | Засіб перегляду diff у режимі лише для читання та рендерер файлів для агентів. | `@openclaw/diffs`<br />ClawHub + npm | contracts: tools; skills |
| [discord](/uk/plugins/reference/discord) | Додає інтерфейс каналу Discord для надсилання й отримання повідомлень OpenClaw. | `@openclaw/discord`<br />ClawHub + npm | channels: discord |
| [document-extract](/uk/plugins/reference/document-extract) | Витягує текст і резервні зображення сторінок із локальних вкладень документів. | `@openclaw/document-extract-plugin`<br />входить до OpenClaw | contracts: documentExtractors |
| [duckduckgo](/uk/plugins/reference/duckduckgo) | Додає підтримку постачальника вебпошуку. | `@openclaw/duckduckgo-plugin`<br />входить до OpenClaw | contracts: webSearchProviders |
| [elevenlabs](/uk/plugins/reference/elevenlabs) | Додає підтримку постачальника розуміння медіа. Додає підтримку постачальника транскрибування в реальному часі. Додає підтримку постачальника перетворення тексту на мовлення. | `@openclaw/elevenlabs-speech`<br />входить до OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders |
| [exa](/uk/plugins/reference/exa) | Додає підтримку постачальника вебпошуку. | `@openclaw/exa-plugin`<br />входить до OpenClaw | contracts: webSearchProviders |
| [fal](/uk/plugins/reference/fal) | Додає до OpenClaw підтримку постачальника моделей fal. | `@openclaw/fal-provider`<br />входить до OpenClaw | providers: fal; contracts: imageGenerationProviders, videoGenerationProviders |
| [feishu](/uk/plugins/reference/feishu) | Додає інтерфейс каналу Feishu для надсилання й отримання повідомлень OpenClaw. | `@openclaw/feishu`<br />ClawHub + npm | channels: feishu; contracts: tools; skills |
| [file-transfer](/uk/plugins/reference/file-transfer) | Отримує, перелічує та записує файли на спарених вузлах через спеціальні команди вузла. Оминає обрізання stdout у bash, використовуючи base64 через node.invoke для двійкових файлів розміром до 16 MB. | `@openclaw/file-transfer`<br />входить до OpenClaw | contracts: tools |
| [firecrawl](/uk/plugins/reference/firecrawl) | Додає інструменти, які може викликати агент. Додає підтримку постачальника отримання вебданих. Додає підтримку постачальника вебпошуку. | `@openclaw/firecrawl-plugin`<br />входить до OpenClaw | contracts: tools, webFetchProviders, webSearchProviders |
| [fireworks](/uk/plugins/reference/fireworks) | Додає до OpenClaw підтримку постачальника моделей Fireworks. | `@openclaw/fireworks-provider`<br />входить до OpenClaw | providers: fireworks |
| [github-copilot](/uk/plugins/reference/github-copilot) | Додає до OpenClaw підтримку постачальника моделей GitHub Copilot. | `@openclaw/github-copilot-provider`<br />входить до OpenClaw | providers: github-copilot; contracts: memoryEmbeddingProviders |
| [google](/uk/plugins/reference/google) | Додає до OpenClaw підтримку постачальників моделей Google, Google Gemini CLI, Google Vertex. | `@openclaw/google-plugin`<br />входить до OpenClaw | providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders |
| [google-meet](/uk/plugins/reference/google-meet) | Приєднання до дзвінків Google Meet через транспорти Chrome або Twilio. | `@openclaw/google-meet`<br />ClawHub + npm | contracts: tools |
| [googlechat](/uk/plugins/reference/googlechat) | Додає інтерфейс каналу Google Chat для надсилання й отримання повідомлень OpenClaw. | `@openclaw/googlechat`<br />ClawHub + npm | channels: googlechat |
| [gradium](/uk/plugins/reference/gradium) | Додає підтримку постачальника синтезу мовлення. | `@openclaw/gradium-speech`<br />входить до OpenClaw | contracts: speechProviders |
| [groq](/uk/plugins/reference/groq) | Додає до OpenClaw підтримку постачальника моделей Groq. | `@openclaw/groq-provider`<br />входить до OpenClaw | providers: groq; contracts: mediaUnderstandingProviders |
| [huggingface](/uk/plugins/reference/huggingface) | Додає до OpenClaw підтримку постачальника моделей Hugging Face. | `@openclaw/huggingface-provider`<br />входить до OpenClaw | providers: huggingface |
| [imessage](/uk/plugins/reference/imessage) | Додає інтерфейс каналу iMessage для надсилання й отримання повідомлень OpenClaw. | `@openclaw/imessage`<br />входить до OpenClaw | channels: imessage |
| [inworld](/uk/plugins/reference/inworld) | Потокове перетворення тексту на мовлення Inworld (MP3, OGG_OPUS, PCM-телефонія). | `@openclaw/inworld-speech`<br />входить до OpenClaw | contracts: speechProviders |
| [irc](/uk/plugins/reference/irc) | Додає інтерфейс каналу IRC для надсилання й отримання повідомлень OpenClaw. | `@openclaw/irc`<br />входить до OpenClaw | channels: irc |
| [kilocode](/uk/plugins/reference/kilocode) | Додає до OpenClaw підтримку постачальника моделей Kilocode. | `@openclaw/kilocode-provider`<br />входить до OpenClaw | providers: kilocode |
| [kimi](/uk/plugins/reference/kimi) | Додає до OpenClaw підтримку постачальника моделей Kimi та Kimi Coding. | `@openclaw/kimi-provider`<br />входить до OpenClaw | providers: kimi, kimi-coding |
| [line](/uk/plugins/reference/line) | Додає інтерфейс каналу LINE для надсилання й отримання повідомлень OpenClaw. | `@openclaw/line`<br />ClawHub + npm | channels: line |
| [litellm](/uk/plugins/reference/litellm) | Додає до OpenClaw підтримку постачальника моделей LiteLLM. | `@openclaw/litellm-provider`<br />входить до OpenClaw | providers: litellm; contracts: imageGenerationProviders |
| [llm-task](/uk/plugins/reference/llm-task) | Універсальний інструмент LLM лише для JSON для структурованих завдань, який можна викликати з робочих процесів. | `@openclaw/llm-task`<br />входить до OpenClaw | contracts: tools |
| [lmstudio](/uk/plugins/reference/lmstudio) | Додає до OpenClaw підтримку постачальника моделей LM Studio. | `@openclaw/lmstudio-provider`<br />входить до OpenClaw | providers: lmstudio; contracts: memoryEmbeddingProviders |
| [lobster](/uk/plugins/reference/lobster) | Типізований інструмент робочого процесу з відновлюваними затвердженнями. | `@openclaw/lobster`<br />ClawHub + npm | contracts: tools |
| [matrix](/uk/plugins/reference/matrix) | Додає інтерфейс каналу Matrix для надсилання й отримання повідомлень OpenClaw. | `@openclaw/matrix`<br />ClawHub + npm | channels: matrix |
| [mattermost](/uk/plugins/reference/mattermost) | Додає інтерфейс каналу Mattermost для надсилання й отримання повідомлень OpenClaw. | `@openclaw/mattermost`<br />ClawHub + npm | channels: mattermost |
| [memory-core](/uk/plugins/reference/memory-core) | Додає підтримку постачальника вбудовувань памʼяті. Додає інструменти, які може викликати агент. | `@openclaw/memory-core`<br />входить до OpenClaw | contracts: memoryEmbeddingProviders, tools |
| [memory-lancedb](/uk/plugins/reference/memory-lancedb) | Додає інструменти, які може викликати агент. | `@openclaw/memory-lancedb`<br />ClawHub + npm | contracts: tools |
| [memory-wiki](/uk/plugins/reference/memory-wiki) | Постійний компілятор wiki та сумісне з Obsidian сховище знань для OpenClaw. | `@openclaw/memory-wiki`<br />входить до OpenClaw | contracts: tools; skills |
| [microsoft](/uk/plugins/reference/microsoft) | Додає підтримку постачальника синтезу мовлення. | `@openclaw/microsoft-speech`<br />входить до OpenClaw | contracts: speechProviders |
| [microsoft-foundry](/uk/plugins/reference/microsoft-foundry) | Додає підтримку постачальника моделей Microsoft Foundry до OpenClaw. | `@openclaw/microsoft-foundry`<br />включено до OpenClaw | providers: microsoft-foundry |
| [migrate-claude](/uk/plugins/reference/migrate-claude) | Імпортує інструкції Claude Code і Claude Desktop, сервери MCP, Skills і безпечну конфігурацію в OpenClaw. | `@openclaw/migrate-claude`<br />включено до OpenClaw | contracts: migrationProviders |
| [migrate-hermes](/uk/plugins/reference/migrate-hermes) | Імпортує конфігурацію Hermes, пам’яті, Skills і підтримувані облікові дані в OpenClaw. | `@openclaw/migrate-hermes`<br />включено до OpenClaw | contracts: migrationProviders |
| [minimax](/uk/plugins/reference/minimax) | Додає підтримку постачальників моделей MiniMax, MiniMax Portal до OpenClaw. | `@openclaw/minimax-provider`<br />включено до OpenClaw | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders |
| [mistral](/uk/plugins/reference/mistral) | Додає підтримку постачальника моделей Mistral до OpenClaw. | `@openclaw/mistral-provider`<br />включено до OpenClaw | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders |
| [moonshot](/uk/plugins/reference/moonshot) | Додає підтримку постачальника моделей Moonshot до OpenClaw. | `@openclaw/moonshot-provider`<br />включено до OpenClaw | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders |
| Plugin | Опис | Дистрибуція | Поверхня |
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [acpx](/uk/plugins/reference/acpx) | Вбудований бекенд середовища виконання ACP із керуванням сеансами й транспортом, що належить plugin. | `@openclaw/acpx`<br />включено до OpenClaw | skills |
| [alibaba](/uk/plugins/reference/alibaba) | Додає підтримку провайдера генерації відео. | `@openclaw/alibaba-provider`<br />включено до OpenClaw | contracts: videoGenerationProviders |
| [amazon-bedrock](/uk/plugins/reference/amazon-bedrock) | Додає підтримку провайдера моделей Amazon Bedrock до OpenClaw. | `@openclaw/amazon-bedrock-provider`<br />включено до OpenClaw | providers: amazon-bedrock; contracts: memoryEmbeddingProviders |
| [amazon-bedrock-mantle](/uk/plugins/reference/amazon-bedrock-mantle) | Додає підтримку провайдера моделей Amazon Bedrock Mantle до OpenClaw. | `@openclaw/amazon-bedrock-mantle-provider`<br />включено до OpenClaw | providers: amazon-bedrock-mantle |
| [anthropic](/uk/plugins/reference/anthropic) | Додає підтримку провайдера моделей Anthropic до OpenClaw. | `@openclaw/anthropic-provider`<br />включено до OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders |
| [anthropic-vertex](/uk/plugins/reference/anthropic-vertex) | Додає підтримку провайдера моделей Anthropic Vertex до OpenClaw. | `@openclaw/anthropic-vertex-provider`<br />включено до OpenClaw | providers: anthropic-vertex |
| [arcee](/uk/plugins/reference/arcee) | Додає підтримку провайдера моделей Arcee до OpenClaw. | `@openclaw/arcee-provider`<br />включено до OpenClaw | providers: arcee |
| [azure-speech](/uk/plugins/reference/azure-speech) | Перетворення тексту на мовлення Azure AI Speech (MP3, нативні голосові нотатки Ogg/Opus, PCM-телефонія). | `@openclaw/azure-speech`<br />включено до OpenClaw | contracts: speechProviders |
| [bluebubbles](/uk/plugins/reference/bluebubbles) | Додає поверхню каналу BlueBubbles для надсилання й отримання повідомлень OpenClaw. | `@openclaw/bluebubbles`<br />ClawHub + npm | channels: bluebubbles |
| [bonjour](/uk/plugins/reference/bonjour) | Оголошує локальний Gateway OpenClaw через Bonjour/mDNS. | `@openclaw/bonjour`<br />включено до OpenClaw | plugin |
| [brave](/uk/plugins/reference/brave) | Додає підтримку провайдера вебпошуку. | `@openclaw/brave-plugin`<br />ClawHub + npm | contracts: webSearchProviders |
| [browser](/uk/plugins/reference/browser) | Додає інструменти, які може викликати агент. | `@openclaw/browser-plugin`<br />включено до OpenClaw | contracts: tools; skills |
| [byteplus](/uk/plugins/reference/byteplus) | Додає підтримку провайдерів моделей BytePlus і BytePlus Plan до OpenClaw. | `@openclaw/byteplus-provider`<br />включено до OpenClaw | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders |
| [cerebras](/uk/plugins/reference/cerebras) | Додає підтримку провайдера моделей Cerebras до OpenClaw. | `@openclaw/cerebras-provider`<br />включено до OpenClaw | providers: cerebras |
| [chutes](/uk/plugins/reference/chutes) | Додає підтримку провайдера моделей Chutes до OpenClaw. | `@openclaw/chutes-provider`<br />включено до OpenClaw | providers: chutes |
| [cloudflare-ai-gateway](/uk/plugins/reference/cloudflare-ai-gateway) | Додає підтримку провайдера моделей Cloudflare AI Gateway до OpenClaw. | `@openclaw/cloudflare-ai-gateway-provider`<br />включено до OpenClaw | providers: cloudflare-ai-gateway |
| [codex](/uk/plugins/reference/codex) | Обв’язка сервера застосунку Codex і керований Codex каталог моделей GPT. | `@openclaw/codex`<br />ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders |
| [comfy](/uk/plugins/reference/comfy) | Додає підтримку провайдера моделей ComfyUI до OpenClaw. | `@openclaw/comfy-provider`<br />включено до OpenClaw | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders |
| [copilot-proxy](/uk/plugins/reference/copilot-proxy) | Додає підтримку постачальника моделей Copilot Proxy до OpenClaw. | `@openclaw/copilot-proxy`<br />включено до OpenClaw | providers: copilot-proxy |
| [deepgram](/uk/plugins/reference/deepgram) | Додає підтримку постачальника розуміння медіа. Додає підтримку постачальника транскрипції в реальному часі. | `@openclaw/deepgram-provider`<br />включено до OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders |
| [deepinfra](/uk/plugins/reference/deepinfra) | Додає підтримку постачальника моделей DeepInfra до OpenClaw. | `@openclaw/deepinfra-provider`<br />включено до OpenClaw | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders |
| [deepseek](/uk/plugins/reference/deepseek) | Додає підтримку постачальника моделей DeepSeek до OpenClaw. | `@openclaw/deepseek-provider`<br />включено до OpenClaw | providers: deepseek |
| [diagnostics-otel](/uk/plugins/reference/diagnostics-otel) | Експортер діагностики OpenTelemetry для OpenClaw. | `@openclaw/diagnostics-otel`<br />ClawHub: `clawhub:@openclaw/diagnostics-otel`; npm | plugin |
| [diagnostics-prometheus](/uk/plugins/reference/diagnostics-prometheus) | Експортер діагностики Prometheus для OpenClaw. | `@openclaw/diagnostics-prometheus`<br />ClawHub: `clawhub:@openclaw/diagnostics-prometheus`; npm | plugin |
| [diffs](/uk/plugins/reference/diffs) | Засіб перегляду diff у режимі лише читання та рендерер файлів для агентів. | `@openclaw/diffs`<br />ClawHub + npm | contracts: tools; skills |
| [discord](/uk/plugins/reference/discord) | Додає поверхню каналу Discord для надсилання й отримання повідомлень OpenClaw. | `@openclaw/discord`<br />ClawHub + npm | channels: discord |
| [document-extract](/uk/plugins/reference/document-extract) | Витягує текст і резервні зображення сторінок із локальних вкладень документів. | `@openclaw/document-extract-plugin`<br />включено до OpenClaw | contracts: documentExtractors |
| [duckduckgo](/uk/plugins/reference/duckduckgo) | Додає підтримку постачальника вебпошуку. | `@openclaw/duckduckgo-plugin`<br />включено до OpenClaw | contracts: webSearchProviders |
| [elevenlabs](/uk/plugins/reference/elevenlabs) | Додає підтримку постачальника розуміння медіа. Додає підтримку постачальника транскрипції в реальному часі. Додає підтримку постачальника перетворення тексту на мовлення. | `@openclaw/elevenlabs-speech`<br />включено до OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders |
| [exa](/uk/plugins/reference/exa) | Додає підтримку постачальника вебпошуку. | `@openclaw/exa-plugin`<br />включено до OpenClaw | contracts: webSearchProviders |
| [fal](/uk/plugins/reference/fal) | Додає підтримку постачальника моделей fal до OpenClaw. | `@openclaw/fal-provider`<br />включено до OpenClaw | providers: fal; contracts: imageGenerationProviders, videoGenerationProviders |
| [feishu](/uk/plugins/reference/feishu) | Додає поверхню каналу Feishu для надсилання й отримання повідомлень OpenClaw. | `@openclaw/feishu`<br />ClawHub + npm | channels: feishu; contracts: tools; skills |
| [file-transfer](/uk/plugins/reference/file-transfer) | Отримує, перелічує та записує файли на спарених вузлах через спеціальні команди вузлів. Оминає обрізання stdout у bash, використовуючи base64 через node.invoke для двійкових файлів розміром до 16 MB. | `@openclaw/file-transfer`<br />включено до OpenClaw | contracts: tools |
| [firecrawl](/uk/plugins/reference/firecrawl) | Додає інструменти, які можуть викликати агенти. Додає підтримку постачальника веботримання. Додає підтримку постачальника вебпошуку. | `@openclaw/firecrawl-plugin`<br />включено до OpenClaw | contracts: tools, webFetchProviders, webSearchProviders |
| [fireworks](/uk/plugins/reference/fireworks) | Додає підтримку постачальника моделей Fireworks до OpenClaw. | `@openclaw/fireworks-provider`<br />включено до OpenClaw | providers: fireworks |
| [github-copilot](/uk/plugins/reference/github-copilot) | Додає підтримку постачальника моделей GitHub Copilot до OpenClaw. | `@openclaw/github-copilot-provider`<br />включено до OpenClaw | providers: github-copilot; contracts: memoryEmbeddingProviders |
| [google](/uk/plugins/reference/google) | Додає підтримку постачальників моделей Google, Google Gemini CLI, Google Vertex до OpenClaw. | `@openclaw/google-plugin`<br />включено до OpenClaw | providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders |
| [google-meet](/uk/plugins/reference/google-meet) | Приєднується до викликів Google Meet через транспорти Chrome або Twilio. | `@openclaw/google-meet`<br />ClawHub + npm | contracts: tools |
| [googlechat](/uk/plugins/reference/googlechat) | Додає інтерфейс каналу Google Chat для надсилання й отримання повідомлень OpenClaw. | `@openclaw/googlechat`<br />включено до OpenClaw | channels: googlechat |
| [gradium](/uk/plugins/reference/gradium) | Додає підтримку провайдерів синтезу мовлення. | `@openclaw/gradium-speech`<br />включено до OpenClaw | contracts: speechProviders |
| [groq](/uk/plugins/reference/groq) | Додає підтримку провайдера моделей Groq до OpenClaw. | `@openclaw/groq-provider`<br />включено до OpenClaw | providers: groq; contracts: mediaUnderstandingProviders |
| [huggingface](/uk/plugins/reference/huggingface) | Додає підтримку провайдера моделей Hugging Face до OpenClaw. | `@openclaw/huggingface-provider`<br />включено до OpenClaw | providers: huggingface |
| [imessage](/uk/plugins/reference/imessage) | Додає інтерфейс каналу iMessage для надсилання й отримання повідомлень OpenClaw. | `@openclaw/imessage`<br />включено до OpenClaw | channels: imessage |
| [inworld](/uk/plugins/reference/inworld) | Потоковий синтез мовлення Inworld (MP3, OGG_OPUS, PCM-телефонія). | `@openclaw/inworld-speech`<br />включено до OpenClaw | contracts: speechProviders |
| [irc](/uk/plugins/reference/irc) | Додає інтерфейс каналу IRC для надсилання й отримання повідомлень OpenClaw. | `@openclaw/irc`<br />включено до OpenClaw | channels: irc |
| [kilocode](/uk/plugins/reference/kilocode) | Додає підтримку провайдера моделей Kilocode до OpenClaw. | `@openclaw/kilocode-provider`<br />включено до OpenClaw | providers: kilocode |
| [kimi](/uk/plugins/reference/kimi) | Додає підтримку провайдера моделей Kimi, Kimi Coding до OpenClaw. | `@openclaw/kimi-provider`<br />включено до OpenClaw | providers: kimi, kimi-coding |
| [line](/uk/plugins/reference/line) | Додає інтерфейс каналу LINE для надсилання й отримання повідомлень OpenClaw. | `@openclaw/line`<br />включено до OpenClaw | channels: line |
| [litellm](/uk/plugins/reference/litellm) | Додає підтримку провайдера моделей LiteLLM до OpenClaw. | `@openclaw/litellm-provider`<br />включено до OpenClaw | providers: litellm; contracts: imageGenerationProviders |
| [llm-task](/uk/plugins/reference/llm-task) | Універсальний інструмент LLM лише для JSON для структурованих завдань, який можна викликати з робочих процесів. | `@openclaw/llm-task`<br />включено до OpenClaw | contracts: tools |
| [lmstudio](/uk/plugins/reference/lmstudio) | Додає підтримку провайдера моделей LM Studio до OpenClaw. | `@openclaw/lmstudio-provider`<br />включено до OpenClaw | providers: lmstudio; contracts: memoryEmbeddingProviders |
| [lobster](/uk/plugins/reference/lobster) | Типізований інструмент робочого процесу з відновлюваними затвердженнями. | `@openclaw/lobster`<br />ClawHub + npm | contracts: tools |
| [matrix](/uk/plugins/reference/matrix) | Додає інтерфейс каналу Matrix для надсилання й отримання повідомлень OpenClaw. | `@openclaw/matrix`<br />ClawHub + npm | channels: matrix |
| [mattermost](/uk/plugins/reference/mattermost) | Додає інтерфейс каналу Mattermost для надсилання й отримання повідомлень OpenClaw. | `@openclaw/mattermost`<br />ClawHub + npm | channels: mattermost |
| [memory-core](/uk/plugins/reference/memory-core) | Додає підтримку провайдерів векторних представлень пам'яті. Додає інструменти, які може викликати агент. | `@openclaw/memory-core`<br />включено до OpenClaw | contracts: memoryEmbeddingProviders, tools |
| [memory-lancedb](/uk/plugins/reference/memory-lancedb) | Додає інструменти, які може викликати агент. | `@openclaw/memory-lancedb`<br />ClawHub + npm | contracts: tools |
| [memory-wiki](/uk/plugins/reference/memory-wiki) | Постійний компілятор wiki та сумісне з Obsidian сховище знань для OpenClaw. | `@openclaw/memory-wiki`<br />включено до OpenClaw | contracts: tools; skills |
| [microsoft](/uk/plugins/reference/microsoft) | Додає підтримку провайдерів синтезу мовлення. | `@openclaw/microsoft-speech`<br />включено до OpenClaw | contracts: speechProviders |
| [microsoft-foundry](/uk/plugins/reference/microsoft-foundry) | Додає підтримку постачальника моделей Microsoft Foundry до OpenClaw. | `@openclaw/microsoft-foundry`<br />входить до OpenClaw | providers: microsoft-foundry |
| [migrate-claude](/uk/plugins/reference/migrate-claude) | Імпортує інструкції Claude Code і Claude Desktop, сервери MCP, Skills і безпечну конфігурацію в OpenClaw. | `@openclaw/migrate-claude`<br />входить до OpenClaw | contracts: migrationProviders |
| [migrate-hermes](/uk/plugins/reference/migrate-hermes) | Імпортує конфігурацію Hermes, пам’ять, Skills і підтримувані облікові дані в OpenClaw. | `@openclaw/migrate-hermes`<br />входить до OpenClaw | contracts: migrationProviders |
| [minimax](/uk/plugins/reference/minimax) | Додає підтримку постачальників моделей MiniMax, MiniMax Portal до OpenClaw. | `@openclaw/minimax-provider`<br />входить до OpenClaw | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders |
| [mistral](/uk/plugins/reference/mistral) | Додає підтримку постачальника моделей Mistral до OpenClaw. | `@openclaw/mistral-provider`<br />входить до OpenClaw | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders |
| [moonshot](/uk/plugins/reference/moonshot) | Додає підтримку постачальника моделей Moonshot до OpenClaw. | `@openclaw/moonshot-provider`<br />входить до OpenClaw | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders |
| [msteams](/uk/plugins/reference/msteams) | Додає поверхню каналу Microsoft Teams для надсилання й отримання повідомлень OpenClaw. | `@openclaw/msteams`<br />ClawHub + npm | channels: msteams |
| [nextcloud-talk](/uk/plugins/reference/nextcloud-talk) | Додає поверхню каналу Nextcloud Talk для надсилання й отримання повідомлень OpenClaw. | `@openclaw/nextcloud-talk`<br />ClawHub + npm | channels: nextcloud-talk |
| [nostr](/uk/plugins/reference/nostr) | Додає поверхню каналу Nostr для надсилання й отримання повідомлень OpenClaw. | `@openclaw/nostr`<br />ClawHub + npm | channels: nostr |
| [nvidia](/uk/plugins/reference/nvidia) | Додає підтримку постачальника моделей NVIDIA до OpenClaw. | `@openclaw/nvidia-provider`<br />включено до OpenClaw | providers: nvidia |
| [ollama](/uk/plugins/reference/ollama) | Додає підтримку постачальника моделей Ollama до OpenClaw. | `@openclaw/ollama-provider`<br />включено до OpenClaw | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders |
| [open-prose](/uk/plugins/reference/open-prose) | Пакет Skills OpenProse VM із slash-командою /prose. | `@openclaw/open-prose`<br />включено до OpenClaw | skills |
| [openai](/uk/plugins/reference/openai) | Додає підтримку постачальників моделей OpenAI, OpenAI Codex до OpenClaw. | `@openclaw/openai-provider`<br />включено до OpenClaw | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders |
| [opencode](/uk/plugins/reference/opencode) | Додає підтримку постачальника моделей OpenCode до OpenClaw. | `@openclaw/opencode-provider`<br />включено до OpenClaw | providers: opencode; contracts: mediaUnderstandingProviders |
| [opencode-go](/uk/plugins/reference/opencode-go) | Додає підтримку постачальника моделей OpenCode Go до OpenClaw. | `@openclaw/opencode-go-provider`<br />включено до OpenClaw | providers: opencode-go; contracts: mediaUnderstandingProviders |
| [openrouter](/uk/plugins/reference/openrouter) | Додає підтримку постачальника моделей OpenRouter до OpenClaw. | `@openclaw/openrouter-provider`<br />включено до OpenClaw | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders |
| [openshell](/uk/plugins/reference/openshell) | Бекенд sandbox на базі OpenShell із дзеркальними локальними робочими просторами та виконанням команд через SSH. | `@openclaw/openshell-sandbox`<br />включено до OpenClaw | plugin |
| [perplexity](/uk/plugins/reference/perplexity) | Додає підтримку постачальника вебпошуку. | `@openclaw/perplexity-plugin`<br />включено до OpenClaw | contracts: webSearchProviders |
| [qa-channel](/uk/plugins/reference/qa-channel) | Додає поверхню QA Channel для надсилання й отримання повідомлень OpenClaw. | `@openclaw/qa-channel`<br />лише checkout вихідного коду | channels: qa-channel |
| [qa-lab](/uk/plugins/reference/qa-lab) | QA lab Plugin OpenClaw із приватним інтерфейсом налагоджувача та засобом запуску сценаріїв. | `@openclaw/qa-lab`<br />лише checkout вихідного коду | plugin |
| [qa-matrix](/uk/plugins/reference/qa-matrix) | Запускач і субстрат Matrix QA transport. | `@openclaw/qa-matrix`<br />лише source checkout | plugin |
| [qianfan](/uk/plugins/reference/qianfan) | Додає підтримку постачальника моделей Qianfan до OpenClaw. | `@openclaw/qianfan-provider`<br />включено в OpenClaw | providers: qianfan |
| [qqbot](/uk/plugins/reference/qqbot) | Додає канальну поверхню QQ Bot для надсилання й отримання повідомлень OpenClaw. | `@openclaw/qqbot`<br />ClawHub + npm | channels: qqbot; contracts: tools; skills |
| [qwen](/uk/plugins/reference/qwen) | Додає підтримку постачальників моделей Qwen, Qwen Cloud, Model Studio, DashScope до OpenClaw. | `@openclaw/qwen-provider`<br />включено в OpenClaw | providers: qwen, qwencloud, modelstudio, dashscope; contracts: mediaUnderstandingProviders, videoGenerationProviders |
| [runway](/uk/plugins/reference/runway) | Додає підтримку постачальника генерації відео. | `@openclaw/runway-provider`<br />включено в OpenClaw | contracts: videoGenerationProviders |
| [searxng](/uk/plugins/reference/searxng) | Додає підтримку постачальника вебпошуку. | `@openclaw/searxng-plugin`<br />включено в OpenClaw | contracts: webSearchProviders |
| [senseaudio](/uk/plugins/reference/senseaudio) | Додає підтримку постачальника розуміння медіа. | `@openclaw/senseaudio-provider`<br />включено в OpenClaw | contracts: mediaUnderstandingProviders |
| [sglang](/uk/plugins/reference/sglang) | Додає підтримку постачальника моделей SGLang до OpenClaw. | `@openclaw/sglang-provider`<br />включено в OpenClaw | providers: sglang |
| [signal](/uk/plugins/reference/signal) | Додає канальну поверхню Signal для надсилання й отримання повідомлень OpenClaw. | `@openclaw/signal`<br />включено в OpenClaw | channels: signal |
| [skill-workshop](/uk/plugins/reference/skill-workshop) | Фіксує повторювані робочі процеси як Skills робочого простору, з очікуванням перевірки, безпечними записами й оновленням підказки Skills. | `@openclaw/skill-workshop`<br />включено в OpenClaw | contracts: tools |
| [slack](/uk/plugins/reference/slack) | Додає канальну поверхню Slack для надсилання й отримання повідомлень OpenClaw. | `@openclaw/slack`<br />включено в OpenClaw | channels: slack |
| [stepfun](/uk/plugins/reference/stepfun) | Додає підтримку постачальників моделей StepFun, StepFun Plan до OpenClaw. | `@openclaw/stepfun-provider`<br />включено в OpenClaw | providers: stepfun, stepfun-plan |
| [synology-chat](/uk/plugins/reference/synology-chat) | Додає канальну поверхню Synology Chat для надсилання й отримання повідомлень OpenClaw. | `@openclaw/synology-chat`<br />ClawHub + npm | channels: synology-chat |
| [synthetic](/uk/plugins/reference/synthetic) | Додає підтримку постачальника моделей Synthetic до OpenClaw. | `@openclaw/synthetic-provider`<br />включено в OpenClaw | providers: synthetic |
| [tavily](/uk/plugins/reference/tavily) | Додає інструменти, які може викликати агент. Додає підтримку постачальника вебпошуку. | `@openclaw/tavily-plugin`<br />включено в OpenClaw | contracts: tools, webSearchProviders; skills |
| [telegram](/uk/plugins/reference/telegram) | Додає канальну поверхню Telegram для надсилання й отримання повідомлень OpenClaw. | `@openclaw/telegram`<br />включено в OpenClaw | channels: telegram |
| [tencent](/uk/plugins/reference/tencent) | Додає підтримку постачальника моделей Tencent TokenHub до OpenClaw. | `@openclaw/tencent-provider`<br />включено в OpenClaw | providers: tencent-tokenhub |
| [tlon](/uk/plugins/reference/tlon) | Додає канальну поверхню Tlon для надсилання й отримання повідомлень OpenClaw. | `@openclaw/tlon`<br />ClawHub + npm | channels: tlon; contracts: tools; skills |
| [together](/uk/plugins/reference/together) | Додає підтримку постачальника моделей Together до OpenClaw. | `@openclaw/together-provider`<br />включено в OpenClaw | providers: together; contracts: videoGenerationProviders |
| [tokenjuice](/uk/plugins/reference/tokenjuice) | Стискає результати інструментів exec і bash за допомогою редукторів tokenjuice. | `@openclaw/tokenjuice`<br />включено в OpenClaw | contracts: agentToolResultMiddleware |
| [nvidia](/uk/plugins/reference/nvidia) | Додає підтримку постачальника моделей NVIDIA до OpenClaw. | `@openclaw/nvidia-provider`<br />входить до OpenClaw | providers: nvidia |
| [ollama](/uk/plugins/reference/ollama) | Додає підтримку постачальника моделей Ollama до OpenClaw. | `@openclaw/ollama-provider`<br />входить до OpenClaw | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders |
| [open-prose](/uk/plugins/reference/open-prose) | Пакет Skills OpenProse VM з командою /prose. | `@openclaw/open-prose`<br />входить до OpenClaw | skills |
| [openai](/uk/plugins/reference/openai) | Додає підтримку постачальників моделей OpenAI, OpenAI Codex до OpenClaw. | `@openclaw/openai-provider`<br />входить до OpenClaw | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders |
| [opencode](/uk/plugins/reference/opencode) | Додає підтримку постачальника моделей OpenCode до OpenClaw. | `@openclaw/opencode-provider`<br />входить до OpenClaw | providers: opencode; contracts: mediaUnderstandingProviders |
| [opencode-go](/uk/plugins/reference/opencode-go) | Додає підтримку постачальника моделей OpenCode Go до OpenClaw. | `@openclaw/opencode-go-provider`<br />входить до OpenClaw | providers: opencode-go; contracts: mediaUnderstandingProviders |
| [openrouter](/uk/plugins/reference/openrouter) | Додає підтримку постачальника моделей OpenRouter до OpenClaw. | `@openclaw/openrouter-provider`<br />входить до OpenClaw | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders |
| [openshell](/uk/plugins/reference/openshell) | Бекенд пісочниці на основі OpenShell із дзеркальними локальними робочими просторами та виконанням команд через SSH. | `@openclaw/openshell-sandbox`<br />входить до OpenClaw | plugin |
| [perplexity](/uk/plugins/reference/perplexity) | Додає підтримку постачальника вебпошуку. | `@openclaw/perplexity-plugin`<br />входить до OpenClaw | contracts: webSearchProviders |
| [qa-channel](/uk/plugins/reference/qa-channel) | Додає поверхню каналу QA Channel для надсилання й отримання повідомлень OpenClaw. | `@openclaw/qa-channel`<br />лише checkout вихідного коду | channels: qa-channel |
| [qa-lab](/uk/plugins/reference/qa-lab) | Plugin лабораторії QA OpenClaw із приватним інтерфейсом налагоджувача та засобом запуску сценаріїв. | `@openclaw/qa-lab`<br />лише checkout вихідного коду | plugin |
| [qa-matrix](/uk/plugins/reference/qa-matrix) | Транспортний runner і субстрат Matrix QA. | `@openclaw/qa-matrix`<br />лише checkout вихідного коду | plugin |
| [qianfan](/uk/plugins/reference/qianfan) | Додає підтримку провайдера моделей Qianfan до OpenClaw. | `@openclaw/qianfan-provider`<br />входить до OpenClaw | providers: qianfan |
| [qqbot](/uk/plugins/reference/qqbot) | Додає поверхню каналу QQ Bot для надсилання й отримання повідомлень OpenClaw. | `@openclaw/qqbot`<br />ClawHub + npm | channels: qqbot; contracts: tools; skills |
| [qwen](/uk/plugins/reference/qwen) | Додає підтримку провайдерів моделей Qwen, Qwen Cloud, Model Studio, DashScope до OpenClaw. | `@openclaw/qwen-provider`<br />входить до OpenClaw | providers: qwen, qwencloud, modelstudio, dashscope; contracts: mediaUnderstandingProviders, videoGenerationProviders |
| [runway](/uk/plugins/reference/runway) | Додає підтримку провайдера генерації відео. | `@openclaw/runway-provider`<br />входить до OpenClaw | contracts: videoGenerationProviders |
| [searxng](/uk/plugins/reference/searxng) | Додає підтримку провайдера вебпошуку. | `@openclaw/searxng-plugin`<br />входить до OpenClaw | contracts: webSearchProviders |
| [senseaudio](/uk/plugins/reference/senseaudio) | Додає підтримку провайдера розуміння медіа. | `@openclaw/senseaudio-provider`<br />входить до OpenClaw | contracts: mediaUnderstandingProviders |
| [sglang](/uk/plugins/reference/sglang) | Додає підтримку провайдера моделей SGLang до OpenClaw. | `@openclaw/sglang-provider`<br />входить до OpenClaw | providers: sglang |
| [signal](/uk/plugins/reference/signal) | Додає поверхню каналу Signal для надсилання й отримання повідомлень OpenClaw. | `@openclaw/signal`<br />входить до OpenClaw | channels: signal |
| [skill-workshop](/uk/plugins/reference/skill-workshop) | Фіксує повторювані робочі процеси як workspace skills, з очікуванням рев’ю, безпечними записами та оновленням skill prompt. | `@openclaw/skill-workshop`<br />входить до OpenClaw | contracts: tools |
| [slack](/uk/plugins/reference/slack) | Додає поверхню каналу Slack для надсилання й отримання повідомлень OpenClaw. | `@openclaw/slack`<br />входить до OpenClaw | channels: slack |
| [stepfun](/uk/plugins/reference/stepfun) | Додає підтримку провайдерів моделей StepFun, StepFun Plan до OpenClaw. | `@openclaw/stepfun-provider`<br />входить до OpenClaw | providers: stepfun, stepfun-plan |
| [synology-chat](/uk/plugins/reference/synology-chat) | Додає поверхню каналу Synology Chat для надсилання й отримання повідомлень OpenClaw. | `@openclaw/synology-chat`<br />ClawHub + npm | channels: synology-chat |
| [synthetic](/uk/plugins/reference/synthetic) | Додає підтримку провайдера моделей Synthetic до OpenClaw. | `@openclaw/synthetic-provider`<br />входить до OpenClaw | providers: synthetic |
| [tavily](/uk/plugins/reference/tavily) | Додає інструменти, доступні для виклику агентом. Додає підтримку провайдера вебпошуку. | `@openclaw/tavily-plugin`<br />входить до OpenClaw | contracts: tools, webSearchProviders; skills |
| [telegram](/uk/plugins/reference/telegram) | Додає поверхню каналу Telegram для надсилання й отримання повідомлень OpenClaw. | `@openclaw/telegram`<br />входить до OpenClaw | channels: telegram |
| [tencent](/uk/plugins/reference/tencent) | Додає підтримку провайдера моделей Tencent TokenHub до OpenClaw. | `@openclaw/tencent-provider`<br />входить до OpenClaw | providers: tencent-tokenhub |
| [tlon](/uk/plugins/reference/tlon) | Додає поверхню каналу Tlon для надсилання й отримання повідомлень OpenClaw. | `@openclaw/tlon`<br />ClawHub + npm | channels: tlon; contracts: tools; skills |
| [together](/uk/plugins/reference/together) | Додає підтримку провайдера моделей Together до OpenClaw. | `@openclaw/together-provider`<br />входить до OpenClaw | providers: together; contracts: videoGenerationProviders |
| [tokenjuice](/uk/plugins/reference/tokenjuice) | Ущільнює результати інструментів exec і bash за допомогою редукторів tokenjuice. | `@openclaw/tokenjuice`<br />входить до OpenClaw | contracts: agentToolResultMiddleware |
| [tts-local-cli](/uk/plugins/reference/tts-local-cli) | Додає підтримку провайдера перетворення тексту на мовлення. | `@openclaw/tts-local-cli`<br />включено до OpenClaw | contracts: speechProviders |
| [twitch](/uk/plugins/reference/twitch) | Додає канал Twitch для надсилання й отримання повідомлень OpenClaw. | `@openclaw/twitch`<br />ClawHub + npm | channels: twitch |
| [venice](/uk/plugins/reference/venice) | Додає підтримку провайдера моделей Venice до OpenClaw. | `@openclaw/venice-provider`<br />включено до OpenClaw | providers: venice |
| [vercel-ai-gateway](/uk/plugins/reference/vercel-ai-gateway) | Додає підтримку провайдера моделей Vercel AI Gateway до OpenClaw. | `@openclaw/vercel-ai-gateway-provider`<br />включено до OpenClaw | providers: vercel-ai-gateway |
| [vllm](/uk/plugins/reference/vllm) | Додає підтримку провайдера моделей vLLM до OpenClaw. | `@openclaw/vllm-provider`<br />включено до OpenClaw | providers: vllm |
| [venice](/uk/plugins/reference/venice) | Додає до OpenClaw підтримку провайдера моделей Venice. | `@openclaw/venice-provider`<br />включено до OpenClaw | providers: venice |
| [vercel-ai-gateway](/uk/plugins/reference/vercel-ai-gateway) | Додає до OpenClaw підтримку провайдера моделей Vercel AI Gateway. | `@openclaw/vercel-ai-gateway-provider`<br />включено до OpenClaw | providers: vercel-ai-gateway |
| [vllm](/uk/plugins/reference/vllm) | Додає до OpenClaw підтримку провайдера моделей vLLM. | `@openclaw/vllm-provider`<br />включено до OpenClaw | providers: vllm |
| [voice-call](/uk/plugins/reference/voice-call) | Додає інструменти, які може викликати агент. | `@openclaw/voice-call`<br />ClawHub + npm | contracts: tools |
| [volcengine](/uk/plugins/reference/volcengine) | Додає підтримку провайдерів моделей Volcengine і Volcengine Plan до OpenClaw. | `@openclaw/volcengine-provider`<br />включено до OpenClaw | providers: volcengine, volcengine-plan; contracts: speechProviders |
| [voyage](/uk/plugins/reference/voyage) | Додає підтримку провайдера вбудовувань памяті. | `@openclaw/voyage-provider`<br />включено до OpenClaw | contracts: memoryEmbeddingProviders |
| [vydra](/uk/plugins/reference/vydra) | Додає підтримку провайдера моделей Vydra до OpenClaw. | `@openclaw/vydra-provider`<br />включено до OpenClaw | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders |
| [web-readability](/uk/plugins/reference/web-readability) | Витягує придатний для читання вміст статті з відповідей локального веботримання HTML. | `@openclaw/web-readability-plugin`<br />включено до OpenClaw | contracts: webContentExtractors |
| [webhooks](/uk/plugins/reference/webhooks) | Автентифіковані вхідні webhooks, що прив’язують зовнішню автоматизацію до TaskFlow OpenClaw. | `@openclaw/webhooks`<br />включено до OpenClaw | plugin |
| [volcengine](/uk/plugins/reference/volcengine) | Додає до OpenClaw підтримку провайдерів моделей Volcengine і Volcengine Plan. | `@openclaw/volcengine-provider`<br />включено до OpenClaw | providers: volcengine, volcengine-plan; contracts: speechProviders |
| [voyage](/uk/plugins/reference/voyage) | Додає підтримку провайдера вбудовувань пам'яті. | `@openclaw/voyage-provider`<br />включено до OpenClaw | contracts: memoryEmbeddingProviders |
| [vydra](/uk/plugins/reference/vydra) | Додає до OpenClaw підтримку провайдера моделей Vydra. | `@openclaw/vydra-provider`<br />включено до OpenClaw | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders |
| [web-readability](/uk/plugins/reference/web-readability) | Витягує читабельний вміст статей із локальних відповідей HTML веботримання. | `@openclaw/web-readability-plugin`<br />включено до OpenClaw | contracts: webContentExtractors |
| [webhooks](/uk/plugins/reference/webhooks) | Автентифіковані вхідні webhooks, що прив'язують зовнішню автоматизацію до OpenClaw TaskFlows. | `@openclaw/webhooks`<br />включено до OpenClaw | plugin |
| [whatsapp](/uk/plugins/reference/whatsapp) | Додає канал WhatsApp для надсилання й отримання повідомлень OpenClaw. | `@openclaw/whatsapp`<br />ClawHub + npm | channels: whatsapp |
| [xai](/uk/plugins/reference/xai) | Додає підтримку провайдера моделей xAI до OpenClaw. | `@openclaw/xai-plugin`<br />включено до OpenClaw | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders |
| [xiaomi](/uk/plugins/reference/xiaomi) | Додає підтримку провайдера моделей Xiaomi до OpenClaw. | `@openclaw/xiaomi-provider`<br />включено до OpenClaw | providers: xiaomi; contracts: speechProviders |
| [zai](/uk/plugins/reference/zai) | Додає підтримку провайдера моделей Z.AI до OpenClaw. | `@openclaw/zai-provider`<br />включено до OpenClaw | providers: zai; contracts: mediaUnderstandingProviders |
| [xai](/uk/plugins/reference/xai) | Додає до OpenClaw підтримку провайдера моделей xAI. | `@openclaw/xai-plugin`<br />включено до OpenClaw | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders |
| [xiaomi](/uk/plugins/reference/xiaomi) | Додає до OpenClaw підтримку провайдера моделей Xiaomi. | `@openclaw/xiaomi-provider`<br />включено до OpenClaw | providers: xiaomi; contracts: speechProviders |
| [zai](/uk/plugins/reference/zai) | Додає до OpenClaw підтримку провайдера моделей Z.AI. | `@openclaw/zai-provider`<br />включено до OpenClaw | providers: zai; contracts: mediaUnderstandingProviders |
| [zalo](/uk/plugins/reference/zalo) | Додає канал Zalo для надсилання й отримання повідомлень OpenClaw. | `@openclaw/zalo`<br />ClawHub + npm | channels: zalo |
| [zalouser](/uk/plugins/reference/zalouser) | Додає персональний канал Zalo для надсилання й отримання повідомлень OpenClaw. | `@openclaw/zalouser`<br />ClawHub + npm | channels: zalouser; contracts: tools |

View File

@ -1,29 +1,29 @@
---
read_when:
- Ви встановлюєте, налаштовуєте або проводите аудит Plugin acpx
summary: Вбудований бекенд середовища виконання ACP із керуванням сесіями та транспортом на боці Plugin.
- Ви встановлюєте, налаштовуєте або проводите аудит плагіна acpx
summary: Вбудований бекенд середовища виконання ACP, у якому Plugin керує сеансом і транспортом.
title: ACPx Plugin
x-i18n:
generated_at: "2026-05-02T15:15:13Z"
generated_at: "2026-05-02T21:41:35Z"
model: gpt-5.5
provider: openai
source_hash: 254a6fc1bc68cb18c7bdd9c10d5c8ff370c80b1c58cc082be9b206a8a44e1013
source_hash: 1a0452131c85969d16cd1ebb603bd2369be8cd929841b6756165f64ede4109a4
source_path: plugins/reference/acpx.md
workflow: 16
---
# ACPx Plugin
Вбудований бекенд середовища виконання ACP з керуванням сесіями та транспортом, що належить Plugin.
Вбудований бекенд середовища виконання ACP з керуванням сесіями й транспортом, що належить Plugin.
## Розповсюдження
## Дистрибуція
- Пакет: `@openclaw/acpx`
- Спосіб установлення: ClawHub + npm
- Маршрут встановлення: включено до OpenClaw
## Поверхня
Skills
навички
## Пов’язана документація

View File

@ -1,13 +1,13 @@
---
read_when:
- Ви встановлюєте, налаштовуєте або проводите аудит Plugin googlechat
- Ви встановлюєте, налаштовуєте або перевіряєте Plugin googlechat
summary: Додає інтерфейс каналу Google Chat для надсилання й отримання повідомлень OpenClaw.
title: Plugin Google Chat
x-i18n:
generated_at: "2026-05-02T15:18:22Z"
generated_at: "2026-05-02T21:41:31Z"
model: gpt-5.5
provider: openai
source_hash: 5806bfb6c5a21bfb83bccd20a998795c00a8ad69af69649aee52db72ae7f6cc4
source_hash: 793341b8a6f977521b102ce8b53db0921d2445170335ccf92166fa638cc8b367
source_path: plugins/reference/googlechat.md
workflow: 16
---
@ -16,15 +16,15 @@ x-i18n:
Додає поверхню каналу Google Chat для надсилання й отримання повідомлень OpenClaw.
## Дистрибуція
## Розповсюдження
- Пакет: `@openclaw/googlechat`
- Маршрут встановлення: ClawHub + npm
- Шлях встановлення: включено до OpenClaw
## Поверхня
channels: googlechat
## Пов’язані документи
## Пов’язана документація
- [googlechat](/uk/channels/googlechat)

View File

@ -1,30 +1,30 @@
---
read_when:
- Ви встановлюєте, налаштовуєте або аудіюєте Plugin line
summary: Додає поверхню каналу LINE для надсилання й отримання повідомлень OpenClaw.
title: Plugin LINE
summary: Додає інтерфейс каналу LINE для надсилання й отримання повідомлень OpenClaw.
title: LINE Plugin
x-i18n:
generated_at: "2026-05-02T15:19:12Z"
generated_at: "2026-05-02T21:41:37Z"
model: gpt-5.5
provider: openai
source_hash: 469a8781af08abd50a475fe58e4ff4e93b592d4a412f17b01d34640422e0cc6f
source_hash: d7c00de98a476429a479d1e29a53751924e88fe8f2d01aa887d21ee79772c84f
source_path: plugins/reference/line.md
workflow: 16
---
# LINE Plugin
Додає поверхню каналу LINE для надсилання й отримання повідомлень OpenClaw.
Додає поверхню каналу LINE для надсилання та отримання повідомлень OpenClaw.
## Розповсюдження
- Пакет: `@openclaw/line`
- Спосіб встановлення: ClawHub + npm
- Шлях встановлення: включено до OpenClaw
## Поверхня
channels: line
## Пов’язані документи
## Пов’язана документація
- [line](/uk/channels/line)

View File

@ -1,31 +1,31 @@
---
read_when:
- Ви пишете тести для Plugin
- Вам потрібні утиліти тестування з SDK Plugin
- Вам потрібні тестові утиліти з Plugin SDK
- Ви хочете зрозуміти контрактні тести для вбудованих плагінів
sidebarTitle: Testing
summary: Утиліти та шаблони тестування для плагінів OpenClaw
summary: Утиліти та шаблони тестування для Plugin OpenClaw
title: Тестування Plugin
x-i18n:
generated_at: "2026-04-28T02:58:49Z"
model: gpt-5.4
generated_at: "2026-05-02T21:41:52Z"
model: gpt-5.5
provider: openai
source_hash: 7edf81e7662784356fcb0f481dd3fcdde05cc59da2a6c1b38eae1008b3ead96c
source_hash: 67092d71302d566ee9ed3f3f1e32b5aa6f4eabf522a9656ad13cad812550f1e8
source_path: plugins/sdk-testing.md
workflow: 15
workflow: 16
---
Довідник з утиліт тестування, шаблонів і примусового застосування lint для плагінів OpenClaw.
Довідник із тестових утиліт, патернів і lint-перевірок для Plugin OpenClaw.
<Tip>
**Шукаєте приклади тестів?** Посібники містять готові приклади тестів:
[Тести плагінів каналів](/uk/plugins/sdk-channel-plugins#step-6-test) і
[Тести плагінів провайдерів](/uk/plugins/sdk-provider-plugins#step-6-test).
**Шукаєте приклади тестів?** Практичні посібники містять опрацьовані приклади тестів:
[Тести Plugin каналів](/uk/plugins/sdk-channel-plugins#step-6-test) і
[Тести Plugin провайдерів](/uk/plugins/sdk-provider-plugins#step-6-test).
</Tip>
## Утиліти тестування
## Тестові утиліти
**Імпорт мока API Plugin:** `openclaw/plugin-sdk/plugin-test-api`
**Імпорт mock Plugin API:** `openclaw/plugin-sdk/plugin-test-api`
**Імпорт контракту середовища виконання агента:** `openclaw/plugin-sdk/agent-runtime-test-contracts`
@ -37,23 +37,23 @@ x-i18n:
**Імпорт контракту Plugin:** `openclaw/plugin-sdk/plugin-test-contracts`
**Імпорт тестування середовища виконання Plugin:** `openclaw/plugin-sdk/plugin-test-runtime`
**Імпорт тесту середовища виконання Plugin:** `openclaw/plugin-sdk/plugin-test-runtime`
**Імпорт контракту провайдера:** `openclaw/plugin-sdk/provider-test-contracts`
**Імпорт HTTP-мока провайдера:** `openclaw/plugin-sdk/provider-http-test-mocks`
**Імпорт HTTP mock провайдера:** `openclaw/plugin-sdk/provider-http-test-mocks`
**Імпорт тестування середовища/мережі:** `openclaw/plugin-sdk/test-env`
**Імпорт тестів середовища/мережі:** `openclaw/plugin-sdk/test-env`
**Імпорт універсальних фікстур:** `openclaw/plugin-sdk/test-fixtures`
**Імпорт загальних фікстур:** `openclaw/plugin-sdk/test-fixtures`
**Імпорт мока вбудованих модулів Node:** `openclaw/plugin-sdk/test-node-mocks`
**Імпорт mock вбудованих модулів Node:** `openclaw/plugin-sdk/test-node-mocks`
Для нових тестів плагінів надавайте перевагу наведеним нижче спеціалізованим підшляхам. Широкий барель
`openclaw/plugin-sdk/testing` зберігається лише для сумісності зі застарілими рішеннями.
Захисні механізми репозиторію відхиляють нові реальні імпорти з `plugin-sdk/testing` і
`plugin-sdk/test-utils`; ці назви залишаються лише як застарілі поверхні сумісності
для зовнішніх плагінів і тестів на сумісність записів.
Для нових тестів Plugin надавайте перевагу наведеним нижче вузькоспрямованим підшляхам. Широкий barrel
`openclaw/plugin-sdk/testing` призначений лише для сумісності зі спадковим кодом.
Захисні правила репозиторію відхиляють нові реальні імпорти з `plugin-sdk/testing` і
`plugin-sdk/test-utils`; ці назви залишаються тільки як застарілі поверхні сумісності
для зовнішніх Plugin і тестів записів сумісності.
```typescript
import {
@ -82,84 +82,76 @@ import { mockNodeBuiltinModule } from "openclaw/plugin-sdk/test-node-mocks";
| Експорт | Призначення |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `createTestPluginApi` | Створює мінімальний мок API Plugin для модульних тестів прямої реєстрації. Імпортуйте з `plugin-sdk/plugin-test-api` |
| `AUTH_PROFILE_RUNTIME_CONTRACT` | Спільна фікстура контракту профілю автентифікації для адаптерів рідного середовища виконання агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
| `DELIVERY_NO_REPLY_RUNTIME_CONTRACT` | Спільна фікстура контракту придушення доставки для адаптерів рідного середовища виконання агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
| `OUTCOME_FALLBACK_RUNTIME_CONTRACT` | Спільна фікстура контракту класифікації резервного сценарію для адаптерів рідного середовища виконання агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
| `createParameterFreeTool` | Створює фікстури схеми динамічних інструментів для контрактних тестів рідного середовища виконання. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
| `expectChannelInboundContextContract` | Перевіряє форму вхідного контексту каналу. Імпортуйте з `plugin-sdk/channel-contract-testing` |
| `installChannelOutboundPayloadContractSuite` | Встановлює набір випадків контракту вихідного payload каналу. Імпортуйте з `plugin-sdk/channel-contract-testing` |
| `createStartAccountContext` | Створює контексти життєвого циклу облікового запису каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `installChannelActionsContractSuite` | Встановлює загальний набір випадків контракту дій повідомлень каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `installChannelSetupContractSuite` | Встановлює загальний набір випадків контракту налаштування каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `installChannelStatusContractSuite` | Встановлює загальний набір випадків контракту статусу каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `expectDirectoryIds` | Перевіряє ідентифікатори каталогу з функції списку каталогів. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `assertBundledChannelEntries` | Перевіряє, що точки входу вбудованого каналу надають очікуваний публічний контракт. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `formatEnvelopeTimestamp` | Форматує детерміновані часові позначки envelope. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `expectPairingReplyText` | Перевіряє текст відповіді спарювання та витягує його код. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `describePluginRegistrationContract` | Встановлює перевірки контракту реєстрації Plugin. Імпортуйте з `plugin-sdk/plugin-test-contracts` |
| `registerSingleProviderPlugin` | Реєструє один плагін провайдера у smoke-тестах завантажувача. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `registerProviderPlugin` | Захоплює всі типи провайдерів з одного Plugin. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `registerProviderPlugins` | Захоплює реєстрації провайдерів у кількох плагінах. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `requireRegisteredProvider` | Перевіряє, що колекція провайдерів містить ідентифікатор. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `createRuntimeEnv` | Створює моковане середовище виконання CLI/Plugin. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `createPluginSetupWizardStatus` | Створює допоміжні засоби статусу налаштування для плагінів каналів. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `describeOpenAIProviderRuntimeContract` | Встановлює перевірки контракту середовища виконання для сімейства провайдерів. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `expectPassthroughReplayPolicy` | Перевіряє, що політики повторного відтворення провайдера пропускають інструменти й метадані, які належать провайдеру. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `runRealtimeSttLiveTest` | Запускає live-тест провайдера realtime STT зі спільними аудіофікстурами. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `normalizeTranscriptForMatch` | Нормалізує вихід транскрипту live перед нечіткими перевірками. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `expectExplicitVideoGenerationCapabilities` | Перевіряє, що відеопровайдери явно оголошують можливості режиму генерації. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `expectExplicitMusicGenerationCapabilities` | Перевіряє, що музичні провайдери явно оголошують можливості генерації/редагування. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `mockSuccessfulDashscopeVideoTask` | Встановлює успішну відповідь завдання відео, сумісну з DashScope. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `getProviderHttpMocks` | Надає доступ до opt-in моків HTTP/автентифікації провайдера для Vitest. Імпортуйте з `plugin-sdk/provider-http-test-mocks` |
| `installProviderHttpMockCleanup` | Скидає моки HTTP/автентифікації провайдера після кожного тесту. Імпортуйте з `plugin-sdk/provider-http-test-mocks` |
| `installCommonResolveTargetErrorCases` | Спільні тестові випадки для обробки помилок розвязання цілі. Імпортуйте з `plugin-sdk/channel-target-testing` |
| `shouldAckReaction` | Перевіряє, чи має канал додавати реакцію підтвердження. Імпортуйте з `plugin-sdk/channel-feedback` |
| `removeAckReactionAfterReply` | Видаляє реакцію підтвердження після доставки відповіді. Імпортуйте з `plugin-sdk/channel-feedback` |
| `createTestRegistry` | Створює фікстуру реєстру плагінів каналу. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
| `createEmptyPluginRegistry` | Створює фікстуру порожнього реєстру плагінів. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
| `setActivePluginRegistry` | Встановлює фікстуру реєстру для тестів середовища виконання Plugin. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
| `createRequestCaptureJsonFetch` | Захоплює JSON-запити fetch у тестах допоміжних засобів для медіа. Імпортуйте з `plugin-sdk/test-env` |
| `withServer` | Запускає тести на тимчасовому локальному HTTP-сервері. Імпортуйте з `plugin-sdk/test-env` |
| `createMockIncomingRequest` | Створює мінімальний обєкт вхідного HTTP-запиту. Імпортуйте з `plugin-sdk/test-env` |
| `withFetchPreconnect` | Запускає тести fetch зі встановленими хуками preconnect. Імпортуйте з `plugin-sdk/test-env` |
| `withEnv` / `withEnvAsync` | Тимчасово підмінює змінні середовища. Імпортуйте з `plugin-sdk/test-env` |
| `createTempHomeEnv` / `withTempHome` / `withTempDir` | Створює ізольовані фікстури файлової системи для тестів. Імпортуйте з `plugin-sdk/test-env` |
| `createMockServerResponse` | Створює мінімальний мок відповіді HTTP-сервера. Імпортуйте з `plugin-sdk/test-env` |
| `createCliRuntimeCapture` | Захоплює вивід середовища виконання CLI у тестах. Імпортуйте з `plugin-sdk/test-fixtures` |
| `importFreshModule` | Імпортує модуль ESM зі свіжим токеном запиту для обходу кешу модулів. Імпортуйте з `plugin-sdk/test-fixtures` |
| `bundledPluginRoot` / `bundledPluginFile` | Розв’язує шляхи до фікстур джерел або dist вбудованого Plugin. Імпортуйте з `plugin-sdk/test-fixtures` |
| `mockNodeBuiltinModule` | Встановлює вузькі моки вбудованих модулів Node для Vitest. Імпортуйте з `plugin-sdk/test-node-mocks` |
| `createSandboxTestContext` | Створює тестові контексти sandbox. Імпортуйте з `plugin-sdk/test-fixtures` |
| `writeSkill` | Записує фікстури Skills. Імпортуйте з `plugin-sdk/test-fixtures` |
| `makeAgentAssistantMessage` | Створює фікстури повідомлень транскрипту агента. Імпортуйте з `plugin-sdk/test-fixtures` |
| `peekSystemEvents` / `resetSystemEventsForTest` | Переглядає та скидає фікстури системних подій. Імпортуйте з `plugin-sdk/test-fixtures` |
| `sanitizeTerminalText` | Очищує текст термінала для перевірок. Імпортуйте з `plugin-sdk/test-fixtures` |
| `countLines` / `hasBalancedFences` | Перевіряє форму chunking-виводу. Імпортуйте з `plugin-sdk/test-fixtures` |
| `runProviderCatalog` | Виконує хук каталогу провайдера з тестовими залежностями |
| `resolveProviderWizardOptions` | Розв’язує варіанти майстра налаштування провайдера в контрактних тестах |
| `resolveProviderModelPickerEntries` | Розв’язує елементи вибору моделі провайдера в контрактних тестах |
| `buildProviderPluginMethodChoice` | Створює ідентифікатори варіантів майстра провайдера для перевірок |
| `setProviderWizardProvidersResolverForTest` | Інжектує провайдери майстра провайдера для ізольованих тестів |
| `createProviderUsageFetch` | Створює фікстури fetch використання провайдера |
| `useFrozenTime` / `useRealTime` | Заморожує та відновлює таймери для тестів, чутливих до часу. Імпортуйте з `plugin-sdk/test-env` |
| `createTestWizardPrompter` | Створює мокований prompter майстра налаштування |
| `createRuntimeTaskFlow` | Створює ізольований стан runtime для TaskFlow |
| `typedCases` | Зберігає літеральні типи для таблично-орієнтованих тестів. Імпортуйте з `plugin-sdk/test-fixtures` |
| `createTestPluginApi` | Створює мінімальний мок API плагіна для модульних тестів прямої реєстрації. Імпортуйте з `plugin-sdk/plugin-test-api` |
| `AUTH_PROFILE_RUNTIME_CONTRACT` | Спільна фікстура контракту профілю автентифікації для нативних адаптерів середовища виконання агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
| `DELIVERY_NO_REPLY_RUNTIME_CONTRACT` | Спільна фікстура контракту пригнічення доставки для нативних адаптерів середовища виконання агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
| `OUTCOME_FALLBACK_RUNTIME_CONTRACT` | Спільна фікстура контракту класифікації резервного варіанта для нативних адаптерів середовища виконання агента. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
| `createParameterFreeTool` | Створює фікстури схеми динамічного інструмента для тестів контракту нативного середовища виконання. Імпортуйте з `plugin-sdk/agent-runtime-test-contracts` |
| `expectChannelInboundContextContract` | Перевіряє форму вхідного контексту каналу. Імпортуйте з `plugin-sdk/channel-contract-testing` |
| `installChannelOutboundPayloadContractSuite` | Встановлює випадки контракту вихідного корисного навантаження каналу. Імпортуйте з `plugin-sdk/channel-contract-testing` |
| `createStartAccountContext` | Створює контексти життєвого циклу облікового запису каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `installChannelActionsContractSuite` | Встановлює загальні випадки контракту дій із повідомленнями каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `installChannelSetupContractSuite` | Встановлює загальні випадки контракту налаштування каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `installChannelStatusContractSuite` | Встановлює загальні випадки контракту статусу каналу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `expectDirectoryIds` | Перевіряє ідентифікатори каталогу каналу з функції списку каталогу. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `assertBundledChannelEntries` | Перевіряє, що вбудовані точки входу каналу відкривають очікуваний публічний контракт. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `formatEnvelopeTimestamp` | Форматує детерміновані часові мітки конверта. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `expectPairingReplyText` | Перевіряє текст відповіді на сполучення каналу та витягує його код. Імпортуйте з `plugin-sdk/channel-test-helpers` |
| `describePluginRegistrationContract` | Встановлює перевірки контракту реєстрації плагіна. Імпортуйте з `plugin-sdk/plugin-test-contracts` |
| `registerSingleProviderPlugin` | Реєструє один плагін провайдера в димових тестах завантажувача. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `registerProviderPlugin` | Захоплює всі типи провайдерів з одного плагіна. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `registerProviderPlugins` | Захоплює реєстрації провайдерів у кількох плагінах. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `requireRegisteredProvider` | Перевіряє, що колекція провайдерів містить ідентифікатор. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `createRuntimeEnv` | Створює моковане середовище виконання CLI/плагіна. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `createPluginSetupWizardStatus` | Створює помічники статусу налаштування для плагінів каналів. Імпортуйте з `plugin-sdk/plugin-test-runtime` |
| `describeOpenAIProviderRuntimeContract` | Встановлює перевірки контракту середовища виконання сімейства провайдерів. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `expectPassthroughReplayPolicy` | Перевіряє, що політики повторного відтворення провайдера пропускають інструменти й метадані, якими володіє провайдер. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `runRealtimeSttLiveTest` | Запускає live-тест провайдера STT у реальному часі зі спільними аудіофікстурами. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `normalizeTranscriptForMatch` | Нормалізує вихід live-транскрипту перед нечіткими перевірками. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `expectExplicitVideoGenerationCapabilities` | Перевіряє, що провайдери відео оголошують явні можливості режиму генерації. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `expectExplicitMusicGenerationCapabilities` | Перевіряє, що провайдери музики оголошують явні можливості генерації/редагування. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `mockSuccessfulDashscopeVideoTask` | Встановлює успішну відповідь відеозавдання, сумісну з DashScope. Імпортуйте з `plugin-sdk/provider-test-contracts` |
| `getProviderHttpMocks` | Надає доступ до opt-in HTTP/автентифікаційних моків провайдера Vitest. Імпортуйте з `plugin-sdk/provider-http-test-mocks` |
| `installProviderHttpMockCleanup` | Скидає HTTP/автентифікаційні моки провайдера після кожного тесту. Імпортуйте з `plugin-sdk/provider-http-test-mocks` |
| `installCommonResolveTargetErrorCases` | Спільні тестові випадки для обробки помилок розв'язання цілі. Імпортуйте з `plugin-sdk/channel-target-testing` |
| `shouldAckReaction` | Перевіряє, чи має канал додати реакцію підтвердження. Імпортуйте з `plugin-sdk/channel-feedback` |
| `removeAckReactionAfterReply` | Видаляє реакцію підтвердження після доставки відповіді. Імпортуйте з `plugin-sdk/channel-feedback` |
| `createTestRegistry` | Створює фікстуру реєстру плагінів каналів. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
| `createEmptyPluginRegistry` | Створює фікстуру порожнього реєстру плагінів. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
| `setActivePluginRegistry` | Встановлює фікстуру реєстру для тестів середовища виконання плагінів. Імпортуйте з `plugin-sdk/plugin-test-runtime` або `plugin-sdk/channel-test-helpers` |
| `createRequestCaptureJsonFetch` | Захоплює запити JSON fetch у тестах медіапомічників. Імпортуйте з `plugin-sdk/test-env` |
| `withServer` | Запускає тести проти одноразового локального HTTP-сервера. Імпортуйте з `plugin-sdk/test-env` |
| `createMockIncomingRequest` | Створює мінімальний об'єкт вхідного HTTP-запиту. Імпортуйте з `plugin-sdk/test-env` |
| `withFetchPreconnect` | Запускає тести fetch зі встановленими хуками попереднього підключення. Імпортуйте з `plugin-sdk/test-env` |
| `withEnv` / `withEnvAsync` | Тимчасово змінює змінні середовища. Імпортуйте з `plugin-sdk/test-env` |
| `createTempHomeEnv` / `withTempHome` / `withTempDir` | Створює ізольовані фікстури файлової системи для тестів. Імпортуйте з `plugin-sdk/test-env` |
| `createMockServerResponse` | Створює мінімальний мок відповіді HTTP-сервера. Імпортуйте з `plugin-sdk/test-env` |
| `createCliRuntimeCapture` | Захоплює вивід середовища виконання CLI у тестах. Імпортуйте з `plugin-sdk/test-fixtures` |
| `importFreshModule` | Імпортує модуль ESM зі свіжим токеном запиту, щоб обійти кеш модулів. Імпортуйте з `plugin-sdk/test-fixtures` |
| `bundledPluginRoot` / `bundledPluginFile` | Розв'язує шляхи до фікстур вихідного коду або dist вбудованого плагіна. Імпортуйте з `plugin-sdk/test-fixtures` |
| `mockNodeBuiltinModule` | Встановлює вузькі моки вбудованих модулів Node для Vitest. Імпортуйте з `plugin-sdk/test-node-mocks` |
| `createSandboxTestContext` | Створює контексти тестів пісочниці. Імпортуйте з `plugin-sdk/test-fixtures` |
| `writeSkill` | Записує фікстури Skills. Імпортуйте з `plugin-sdk/test-fixtures` |
| `makeAgentAssistantMessage` | Створює фікстури повідомлень транскрипту агента. Імпортуйте з `plugin-sdk/test-fixtures` |
| `peekSystemEvents` / `resetSystemEventsForTest` | Переглядає та скидає фікстури системних подій. Імпортуйте з `plugin-sdk/test-fixtures` |
| `sanitizeTerminalText` | Очищує вивід термінала для перевірок. Імпортуйте з `plugin-sdk/test-fixtures` |
| `countLines` / `hasBalancedFences` | Перевіряє форму виводу чанкінгу. Імпортуйте з `plugin-sdk/test-fixtures` |
| `runProviderCatalog` | Виконує хук каталогу провайдера з тестовими залежностями |
| `resolveProviderWizardOptions` | Розв'язує варіанти майстра налаштування провайдера в тестах контракту |
| `resolveProviderModelPickerEntries` | Розв'язує записи вибору моделей провайдера в тестах контракту |
| `buildProviderPluginMethodChoice` | Створює ідентифікатори вибору майстра провайдера для перевірок |
| `setProviderWizardProvidersResolverForTest` | Ін'єктує провайдерів майстра провайдера для ізольованих тестів |
| `createProviderUsageFetch` | Створює фікстури для отримання даних про використання провайдера |
| `useFrozenTime` / `useRealTime` | Заморожує та відновлює таймери для тестів, чутливих до часу. Імпортуйте з `plugin-sdk/test-env` |
| `createTestWizardPrompter` | Створює імітований запитувач майстра налаштування |
| `createRuntimeTaskFlow` | Створює ізольований стан потоку завдань середовища виконання |
| `typedCases` | Зберігає літеральні типи для табличних тестів. Імпортуйте з `plugin-sdk/test-fixtures` |
Набори контрактних тестів для вбудованих плагінів також використовують підшляхи тестування SDK для допоміжних засобів тестових реєстрів, маніфестів, публічних артефактів і фікстур runtime. Набори лише для ядра, які залежать від вбудованого інвентаря OpenClaw, залишаються в `src/plugins/contracts`.
Тримайте нові тести розширень на документованому спеціалізованому підшляху SDK, наприклад
`plugin-sdk/plugin-test-api`, `plugin-sdk/channel-contract-testing`,
`plugin-sdk/agent-runtime-test-contracts`, `plugin-sdk/channel-test-helpers`,
`plugin-sdk/plugin-test-contracts`, `plugin-sdk/plugin-test-runtime`,
`plugin-sdk/provider-test-contracts`, `plugin-sdk/provider-http-test-mocks`,
`plugin-sdk/test-env` або `plugin-sdk/test-fixtures`, замість імпорту з
широкого суміснісного бареля `plugin-sdk/testing`, файлів репозиторію `src/**` або
напряму з мостів репозиторію `test/helpers/*`.
Набори контрактних тестів для вбудованих plugin також використовують тестові підшляхи SDK для допоміжних засобів реєстру, маніфесту, публічного артефакту та runtime-фікстур, призначених лише для тестів. Набори тестів лише для ядра, які залежать від інвентаря вбудованого OpenClaw, залишаються в `src/plugins/contracts`. Розміщуйте нові тести extensions у задокументованому сфокусованому підшляху SDK, такому як `plugin-sdk/plugin-test-api`, `plugin-sdk/channel-contract-testing`, `plugin-sdk/agent-runtime-test-contracts`, `plugin-sdk/channel-test-helpers`, `plugin-sdk/plugin-test-contracts`, `plugin-sdk/plugin-test-runtime`, `plugin-sdk/provider-test-contracts`, `plugin-sdk/provider-http-test-mocks`, `plugin-sdk/test-env` або `plugin-sdk/test-fixtures`, замість прямого імпорту широкого сумісного barrel `plugin-sdk/testing`, файлів репозиторію `src/**` або мостів репозиторію `test/helpers/*`.
### Типи
Спеціалізовані підшляхи тестування також повторно експортують типи, корисні у тестових файлах:
Сфокусовані тестові підшляхи також повторно експортують типи, корисні у тестових файлах:
```typescript
import type {
@ -170,10 +162,9 @@ import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types";
import type { MockFn, PluginRuntime, RuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime";
```
## Тестування розв’язання цілі
## Розв’язання цілей тестування
Використовуйте `installCommonResolveTargetErrorCases`, щоб додати стандартні випадки помилок для
розв’язання цілі каналу:
Використовуйте `installCommonResolveTargetErrorCases`, щоб додати стандартні випадки помилок для розв’язання цілей каналу:
```typescript
import { describe } from "vitest";
@ -182,13 +173,13 @@ import { installCommonResolveTargetErrorCases } from "openclaw/plugin-sdk/channe
describe("my-channel target resolution", () => {
installCommonResolveTargetErrorCases({
resolveTarget: ({ to, mode, allowFrom }) => {
// Логіка розв’язання цілі вашого каналу
// Your channel's target resolution logic
return myChannelResolveTarget({ to, mode, allowFrom });
},
implicitAllowFrom: ["user1", "user2"],
});
// Додайте специфічні для каналу тестові випадки
// Add channel-specific test cases
it("should resolve @username targets", () => {
// ...
});
@ -199,26 +190,15 @@ describe("my-channel target resolution", () => {
### Тестування контрактів реєстрації
Модульні тести, які передають вручну написаний мок `api` до `register(api)`, не перевіряють
ворота прийняття завантажувача OpenClaw. Додайте принаймні один smoke-тест на основі завантажувача
для кожної поверхні реєстрації, від якої залежить ваш плагін, особливо для хуків і
ексклюзивних можливостей, таких як memory.
Unit-тести, які передають рукописний мок `api` до `register(api)`, не перевіряють шлюзи приймання завантажувача OpenClaw. Додайте принаймні один smoke-тест із реальним завантажувачем для кожної поверхні реєстрації, від якої залежить ваш plugin, особливо для hooks і ексклюзивних capabilities, таких як пам’ять.
Справжній завантажувач не дозволяє реєстрацію плагіна, якщо відсутні обов’язкові метадані або
плагін викликає API можливості, якою він не володіє. Наприклад,
`api.registerHook(...)` вимагає назву хука, а
`api.registerMemoryCapability(...)` вимагає, щоб маніфест плагіна або експортована
точка входу оголошували `kind: "memory"`.
Реальний завантажувач відхиляє реєстрацію plugin, коли бракує обов’язкових метаданих або plugin викликає API capability, якою він не володіє. Наприклад, `api.registerHook(...)` вимагає назву hook, а `api.registerMemoryCapability(...)` вимагає, щоб маніфест plugin або експортований entry оголошував `kind: "memory"`.
### Тестування доступу до конфігурації runtime
### Тестування доступу до runtime-конфігурації
Надавайте перевагу спільному моку runtime плагіна з `openclaw/plugin-sdk/channel-test-helpers`
під час тестування вбудованих плагінів каналів. Його застарілі моки `runtime.config.loadConfig()` і
`runtime.config.writeConfigFile(...)` за замовчуванням викидають помилки, щоб тести виявляли нове
використання API сумісності. Перевизначайте ці моки лише тоді, коли тест
явно перевіряє застарілу поведінку сумісності.
Віддавайте перевагу спільному моку runtime plugin з `openclaw/plugin-sdk/channel-test-helpers` під час тестування вбудованих channel plugin. Його застарілі моки `runtime.config.loadConfig()` і `runtime.config.writeConfigFile(...)` за замовчуванням кидають помилку, щоб тести виявляли нове використання сумісних API. Перевизначайте ці моки лише тоді, коли тест явно покриває поведінку застарілої сумісності.
### Модульне тестування плагіна каналу
### Unit-тестування channel plugin
```typescript
import { describe, it, expect, vi } from "vitest";
@ -248,13 +228,13 @@ describe("my-channel plugin", () => {
const inspection = myPlugin.setup.inspectAccount(cfg, undefined);
expect(inspection.configured).toBe(true);
expect(inspection.tokenStatus).toBe("available");
// Значення токена не розкривається
// No token value exposed
expect(inspection).not.toHaveProperty("token");
});
});
```
### Модульне тестування плагіна провайдера
### Unit-тестування provider plugin
```typescript
import { describe, it, expect } from "vitest";
@ -263,7 +243,7 @@ describe("my-provider plugin", () => {
it("should resolve dynamic models", () => {
const model = myProvider.resolveDynamicModel({
modelId: "custom-model-v2",
// ... контекст
// ... context
});
expect(model.id).toBe("custom-model-v2");
@ -274,7 +254,7 @@ describe("my-provider plugin", () => {
it("should return catalog when API key is available", async () => {
const result = await myProvider.catalog.run({
resolveProviderApiKey: () => ({ apiKey: "test-key" }),
// ... контекст
// ... context
});
expect(result?.provider?.models).toHaveLength(2);
@ -282,9 +262,9 @@ describe("my-provider plugin", () => {
});
```
### Мокування runtime плагіна
### Мокання runtime plugin
Для коду, який використовує `createPluginRuntimeStore`, мокуйте runtime у тестах:
Для коду, який використовує `createPluginRuntimeStore`, мокайте runtime у тестах:
```typescript
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
@ -295,42 +275,42 @@ const store = createPluginRuntimeStore<PluginRuntime>({
errorMessage: "test runtime not set",
});
// У налаштуванні тесту
// In test setup
const mockRuntime = {
agent: {
resolveAgentDir: vi.fn().mockReturnValue("/tmp/agent"),
// ... інші моки
// ... other mocks
},
config: {
current: vi.fn(() => ({}) as const),
mutateConfigFile: vi.fn(),
replaceConfigFile: vi.fn(),
},
// ... інші простори імен
// ... other namespaces
} as unknown as PluginRuntime;
store.setRuntime(mockRuntime);
// Після тестів
// After tests
store.clearRuntime();
```
### Тестування з підмінами на рівні екземпляра
### Тестування зі стабами для окремих інстансів
Надавайте перевагу підмінам на рівні екземпляра замість мутації прототипу:
Віддавайте перевагу стабам для окремих інстансів, а не мутації прототипу:
```typescript
// Бажано: підміна на рівні екземпляра
// Preferred: per-instance stub
const client = new MyChannelClient();
client.sendMessage = vi.fn().mockResolvedValue({ id: "msg-1" });
// Уникайте: мутація прототипу
// Avoid: prototype mutation
// MyChannelClient.prototype.sendMessage = vi.fn();
```
## Контрактні тести (плагіни в репозиторії)
## Контрактні тести (plugin у репозиторії)
Вбудовані плагіни мають контрактні тести, які перевіряють права власності на реєстрацію:
Вбудовані plugin мають контрактні тести, які перевіряють право власності на реєстрацію:
```bash
pnpm test -- src/plugins/contracts/
@ -338,14 +318,14 @@ pnpm test -- src/plugins/contracts/
Ці тести перевіряють:
- Які плагіни реєструють які провайдери
- Які плагіни реєструють які мовленнєві провайдери
- Які plugin реєструють які provider
- Які plugin реєструють які speech provider
- Коректність форми реєстрації
- Відповідність контракту runtime
- Відповідність runtime-контракту
### Запуск обмежених тестів
### Запуск тестів з обмеженою областю
Для конкретного плагіна:
Для конкретного plugin:
```bash
pnpm test -- <bundled-plugin-root>/my-channel/
@ -355,36 +335,35 @@ pnpm test -- <bundled-plugin-root>/my-channel/
```bash
pnpm test -- src/plugins/contracts/shape.contract.test.ts
pnpm test -- src/plugins/contracts/auth.contract.test.ts
pnpm test -- src/plugins/contracts/runtime.contract.test.ts
pnpm test -- src/plugins/contracts/auth-choice.contract.test.ts
pnpm test -- src/plugins/contracts/runtime-seams.contract.test.ts
```
## Примусове застосування lint (плагіни в репозиторії)
## Примусове застосування lint (plugin у репозиторії)
`pnpm check` примусово застосовує три правила для плагінів у репозиторії:
Три правила примусово перевіряються `pnpm check` для plugin у репозиторії:
1. **Без монолітних імпортів із кореня** -- кореневий барель `openclaw/plugin-sdk` відхиляється
2. **Без прямих імпортів із `src/`** -- плагіни не можуть напряму імпортувати `../../src/`
3. **Без самоімпортів** -- плагіни не можуть імпортувати власний підшлях `plugin-sdk/<name>`
1. **Жодних монолітних root-імпортів** -- root barrel `openclaw/plugin-sdk` відхиляється
2. **Жодних прямих імпортів `src/`** -- plugin не можуть напряму імпортувати `../../src/`
3. **Жодних self-імпортів** -- plugin не можуть імпортувати власний підшлях `plugin-sdk/<name>`
На зовнішні плагіни ці правила lint не поширюються, але дотримуватися таких самих
шаблонів рекомендується.
Зовнішні plugin не підпадають під ці правила lint, але рекомендовано дотримуватися тих самих шаблонів.
## Конфігурація тестування
## Конфігурація тестів
OpenClaw використовує Vitest із порогами покриття V8. Для тестів плагінів:
OpenClaw використовує Vitest із порогами покриття V8. Для тестів plugin:
```bash
# Запустити всі тести
# Run all tests
pnpm test
# Запустити тести конкретного плагіна
# Run specific plugin tests
pnpm test -- <bundled-plugin-root>/my-channel/src/channel.test.ts
# Запустити з фільтром за конкретною назвою тесту
# Run with a specific test name filter
pnpm test -- <bundled-plugin-root>/my-channel/ -t "resolves account"
# Запустити з покриттям
# Run with coverage
pnpm test:coverage
```
@ -396,7 +375,7 @@ OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test
## Пов’язане
- [Огляд SDK](/uk/plugins/sdk-overview) -- правила імпорту
- [Плагіни каналів SDK](/uk/plugins/sdk-channel-plugins) -- інтерфейс плагіна каналу
- [Плагіни провайдерів SDK](/uk/plugins/sdk-provider-plugins) -- хуки плагіна провайдера
- [Створення плагінів](/uk/plugins/building-plugins) -- посібник для початку роботи
- [Огляд SDK](/uk/plugins/sdk-overview) -- конвенції імпорту
- [Channel Plugins SDK](/uk/plugins/sdk-channel-plugins) -- інтерфейс channel plugin
- [Provider Plugins SDK](/uk/plugins/sdk-provider-plugins) -- hooks provider plugin
- [Створення Plugins](/uk/plugins/building-plugins) -- посібник для початку роботи

View File

@ -1,11 +1,11 @@
---
x-i18n:
generated_at: "2026-04-25T01:40:02Z"
model: gpt-5.4
generated_at: "2026-05-02T21:41:11Z"
model: gpt-5.5
provider: openai
source_hash: cccaaa1b3e472279b7548ad5af5d50162db9e99a731e06be796de64ee9f8c8d8
source_hash: d9f2b5783c5762ebe7b5db108a89692e653c515138110b4fa9d23663e2ccbbd5
source_path: superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md
workflow: 15
workflow: 16
---
# Дизайн імпорту користувацької теми Tweakcn
@ -14,9 +14,9 @@ x-i18n:
## Підсумок
Додати рівно один браузерно-локальний слот користувацької теми Control UI, який можна імпортувати з посилання поширення tweakcn. Наявні вбудовані сімейства тем залишаються `claw`, `knot` і `dash`. Нове сімейство `custom` поводиться як звичайне сімейство тем OpenClaw і підтримує режими `light`, `dark` і `system`, коли імпортований payload tweakcn містить обидва набори токенів — для світлого й темного режимів.
Додати рівно один браузерно-локальний слот користувацької теми Control UI, який можна імпортувати з посилання поширення tweakcn. Наявні вбудовані сімейства тем залишаються `claw`, `knot` і `dash`. Нове сімейство `custom` поводиться як звичайне сімейство тем OpenClaw і підтримує режими `light`, `dark` і `system`, коли імпортований payload tweakcn містить набори токенів і для світлої, і для темної теми.
Імпортована тема зберігається лише в поточному профілі браузера разом з іншими налаштуваннями Control UI. Вона не записується в конфігурацію Gateway і не синхронізується між пристроями чи браузерами.
Імпортована тема зберігається лише в поточному профілі браузера разом з рештою налаштувань Control UI. Вона не записується в конфігурацію gateway і не синхронізується між пристроями чи браузерами.
## Проблема
@ -26,46 +26,46 @@ x-i18n:
- `ui/src/ui/views/config.ts`
- `ui/src/styles/base.css`
Користувачі можуть перемикатися між вбудованими сімействами та варіантами режимів, але не можуть додати тему з tweakcn без редагування CSS у репозиторії. Потрібний результат менший за загальну систему тем: зберегти три вбудовані теми й додати один керований користувачем імпортований слот, який можна замінювати через посилання tweakcn.
Користувачі можуть перемикатися між вбудованими сімействами та варіантами режимів, але не можуть додати тему з tweakcn без редагування CSS репозиторію. Запитаний результат менший за загальну систему темізації: залишити три вбудовані теми й додати один керований користувачем імпортований слот, який можна замінити з посилання tweakcn.
## Цілі
- Зберегти наявні вбудовані сімейства тем без змін.
- Залишити наявні вбудовані сімейства тем без змін.
- Додати рівно один імпортований користувацький слот, а не бібліотеку тем.
- Приймати посилання поширення tweakcn або прямий URL `https://tweakcn.com/r/themes/{id}`.
- Зберігати імпортовану тему лише в локальному сховищі браузера.
- Зробити так, щоб імпортований слот працював з наявними елементами керування режимами `light`, `dark` і `system`.
- Зберегти безпечну поведінку при помилках: невдалий імпорт ніколи не повинен ламати активну тему UI.
- Забезпечити роботу імпортованого слота з наявними елементами керування режимами `light`, `dark` і `system`.
- Зберегти безпечну поведінку в разі помилок: невдалий імпорт ніколи не ламає активну тему UI.
## Не цілі
- Жодної бібліотеки з багатьох тем або браузерно-локального списку імпортів.
- Жодного збереження на боці Gateway або синхронізації між пристроями.
- Жодної багатотемної бібліотеки чи браузерно-локального списку імпортів.
- Жодного збереження на боці gateway або синхронізації між пристроями.
- Жодного довільного редактора CSS або редактора сирого JSON теми.
- Жодного автоматичного завантаження віддалених шрифтів з tweakcn.
- Жодних спроб підтримати payload tweakcn, які надають лише один режим.
- Жодного рефакторингу тем у межах усього репозиторію, окрім швів, потрібних для Control UI.
- Жодного автоматичного завантаження віддалених ресурсів шрифтів із tweakcn.
- Жодної спроби підтримувати payload-и tweakcn, які відкривають лише один режим.
- Жодного загальнорепозиторного рефакторингу темізації поза швами, потрібними для Control UI.
## Уже ухвалені рішення користувача
## Уже ухвалені користувацькі рішення
- Зберегти три вбудовані теми.
- Додати один слот імпорту на базі tweakcn.
- Зберігати імпортовану тему в браузері, а не в конфігурації Gateway.
- Залишити три вбудовані теми.
- Додати один слот імпорту на основі tweakcn.
- Зберігати імпортовану тему в браузері, а не в конфігурації gateway.
- Підтримувати `light`, `dark` і `system` для імпортованого слота.
- Перезаписування користувацького слота наступним імпортом є очікуваною поведінкою.
- Перезапис користувацького слота наступним імпортом є очікуваною поведінкою.
## Рекомендований підхід
Додати четвертий ідентифікатор сімейства тем, `custom`, до моделі теми Control UI. Сімейство `custom` стає доступним для вибору лише тоді, коли присутній валідний імпорт tweakcn. Імпортований payload нормалізується в запис користувацької теми, специфічний для OpenClaw, і зберігається в локальному сховищі браузера разом з іншими налаштуваннями UI.
Додати четвертий ідентифікатор сімейства тем, `custom`, до моделі тем Control UI. Сімейство `custom` стає доступним для вибору лише тоді, коли наявний валідний імпорт tweakcn. Імпортований payload нормалізується в специфічний для OpenClaw запис користувацької теми й зберігається в локальному сховищі браузера разом з рештою налаштувань UI.
Під час виконання OpenClaw рендерить керований тег `<style>`, який визначає розв’язані блоки користувацьких CSS-змінних:
Під час виконання OpenClaw рендерить керований тег `<style>`, який визначає розв’язані блоки CSS-змінних користувацької теми:
```css
:root[data-theme="custom"] { ... }
:root[data-theme="custom-light"] { ... }
```
Це дозволяє ізолювати змінні користувацької теми в межах сімейства `custom` і не дає вбудованим сімействам успадковувати інлайнові CSS-змінні.
Це зберігає змінні користувацької теми в межах сімейства `custom` і запобігає витоку inline CSS-змінних у вбудовані сімейства.
## Архітектура
@ -73,23 +73,23 @@ x-i18n:
Оновити `ui/src/ui/theme.ts`:
- Розширити `ThemeName`, додавши `custom`.
- Розширити `ResolvedTheme`, додавши `custom` і `custom-light`.
- Розширити `ThemeName`, щоб включити `custom`.
- Розширити `ResolvedTheme`, щоб включити `custom` і `custom-light`.
- Розширити `VALID_THEME_NAMES`.
- Оновити `resolveTheme()`, щоб `custom` віддзеркалювала наявну поведінку сімейств:
- Оновити `resolveTheme()`, щоб `custom` віддзеркалював наявну поведінку сімейств:
- `custom + dark` -> `custom`
- `custom + light` -> `custom-light`
- `custom + system` -> `custom` або `custom-light` залежно від уподобань ОС
- `custom + system` -> `custom` або `custom-light` залежно від налаштування ОС
Для `custom` не додаються жодні застарілі псевдоніми.
Для `custom` не додаються застарілі псевдоніми.
### Модель збереження
Розширити збереження `UiSettings` у `ui/src/ui/storage.ts`, додавши один необов’язковий payload користувацької теми:
Розширити збереження `UiSettings` в `ui/src/ui/storage.ts` одним необов’язковим payload-ом користувацької теми:
- `customTheme?: ImportedCustomTheme`
Рекомендована форма збережених даних:
Рекомендована форма збереження:
```ts
type ImportedCustomTheme = {
@ -106,48 +106,48 @@ type ImportedCustomTheme = {
- `sourceUrl` зберігає початкове введення користувача після нормалізації.
- `themeId` — це ідентифікатор теми tweakcn, витягнутий з URL.
- `label` — це поле tweakcn `name`, якщо воно присутнє, інакше `Custom`.
- `light` і `dark` — це вже нормалізовані мапи токенів OpenClaw, а не сирі payload tweakcn.
- Імпортований payload зберігається поруч з іншими браузерно-локальними налаштуваннями й серіалізується в тому самому документі локального сховища.
- Якщо під час завантаження збережені дані користувацької теми відсутні або невалідні, ігнорувати payload і повертатися до `theme: "claw"`, якщо збереженим сімейством було `custom`.
- `label` — це поле `name` tweakcn, якщо воно наявне, інакше `Custom`.
- `light` і `dark` — це вже нормалізовані мапи токенів OpenClaw, а не сирі payload tweakcn.
- Імпортований payload живе поруч з іншими браузерно-локальними налаштуваннями й серіалізується в тому самому документі local-storage.
- Якщо збережені дані користувацької теми відсутні або невалідні під час завантаження, ігнорувати payload і повертатися до `theme: "claw"`, коли збережене сімейство було `custom`.
### Застосування під час виконання
Додати вузький менеджер стилів користувацької теми в runtime Control UI, поруч із `ui/src/ui/app-settings.ts` і `ui/src/ui/theme.ts`.
Додати вузький менеджер stylesheet користувацької теми в runtime Control UI, поруч із `ui/src/ui/app-settings.ts` і `ui/src/ui/theme.ts`.
Обов’язки:
- Створювати або оновлювати один стабільний тег `<style id="openclaw-custom-theme">` у `document.head`.
- Генерувати CSS лише тоді, коли присутній валідний payload користувацької теми.
- Видаляти вміст тега стилю, коли payload очищено.
- Залишити CSS вбудованих сімейств у `ui/src/styles/base.css`; не вставляти імпортовані токени до відстежуваного в репозиторії стилю.
- Виводити CSS лише тоді, коли існує валідний payload користувацької теми.
- Очищати вміст style-тега, коли payload очищено.
- Тримати CSS вбудованих сімейств у `ui/src/styles/base.css`; не вставляти імпортовані токени в stylesheet, що зберігається в репозиторії.
Цей менеджер запускається щоразу, коли налаштування завантажуються, зберігаються, імпортуються або очищуються.
Цей менеджер запускається щоразу, коли налаштування завантажуються, зберігаються, імпортуються або очищаються.
### Селектори світлого режиму
Реалізація має віддавати перевагу `data-theme-mode="light"` для стилізації світлого режиму між усіма сімействами, замість спеціальної обробки `custom-light`. Якщо наявний селектор прив’язаний до `data-theme="light"` і має застосовуватися до кожного світлого сімейства, розширити його в межах цієї роботи.
Реалізація має віддавати перевагу `data-theme-mode="light"` для світлих стилів між сімействами, а не спеціальній обробці `custom-light`. Якщо наявний селектор прив’язаний до `data-theme="light"` і має застосовуватися до кожного світлого сімейства, розширити його в межах цієї роботи.
## UX імпорту
Оновити `ui/src/ui/views/config.ts` у розділі `Appearance`:
- Додати картку теми `Custom` поруч із `Claw`, `Knot` і `Dash`.
- Показувати картку як вимкнену, якщо імпортованої користувацької теми немає.
- Додати панель імпорту під сіткою тем із такими елементами:
- одне текстове поле для посилання поширення tweakcn або URL `/r/themes/{id}`
- одна кнопка `Import`
- один шлях `Replace`, якщо payload `custom` уже існує
- одна дія `Clear`, якщо payload `custom` уже існує
- Показувати мітку імпортованої теми та хост джерела, якщо payload існує.
- Якщо активною темою є `custom`, імпорт заміни застосовується негайно.
- Якщо активною темою не є `custom`, імпорт лише зберігає новий payload, доки користувач не вибере картку `Custom`.
- Показувати картку як вимкнену, коли імпортованої користувацької теми немає.
- Додати панель імпорту під сіткою тем із:
- одним текстовим полем для посилання поширення tweakcn або URL `/r/themes/{id}`
- однією кнопкою `Import`
- одним шляхом `Replace`, коли користувацький payload уже існує
- однією дією `Clear`, коли користувацький payload уже існує
- Показувати мітку імпортованої теми та хост джерела, коли payload існує.
- Якщо активна тема — `custom`, імпорт заміни застосовується негайно.
- Якщо активна тема не `custom`, імпорт лише зберігає новий payload, доки користувач не вибере картку `Custom`.
Швидкий вибір теми в `ui/src/ui/views/config-quick.ts` також має показувати `Custom` лише тоді, коли payload існує.
## Розбір URL і віддалене отримання
## Парсинг URL і віддалене завантаження
Шлях імпорту в браузері приймає:
Браузерний шлях імпорту приймає:
- `https://tweakcn.com/themes/{id}`
- `https://tweakcn.com/r/themes/{id}`
@ -156,26 +156,26 @@ type ImportedCustomTheme = {
- `https://tweakcn.com/r/themes/{id}`
Потім браузер напряму виконує запит до нормалізованого endpoint `/r/themes/{id}`.
Після цього браузер напряму отримує нормалізований endpoint `/r/themes/{id}`.
Використовувати вузький валідатор схеми для зовнішнього payload. Бажано застосувати zod, оскільки це недовірена зовнішня межа.
Використати вузький валідатор schema для зовнішнього payload. Бажано використати zod, бо це недовірена зовнішня межа.
Обов’язкові поля віддалених даних:
Обов’язкові віддалені поля:
- верхньорівневе `name` як необов’язковий рядок
- top-level `name` як необов’язковий рядок
- `cssVars.theme` як необов’язковий об’єкт
- `cssVars.light` як об’єкт
- `cssVars.dark` як об’єкт
Якщо відсутній `cssVars.light` або `cssVars.dark`, відхилити імпорт. Це зроблено навмисно: затверджена продуктова поведінка — повна підтримка режимів, а не найкраща можлива синтезація відсутньої сторони.
Якщо `cssVars.light` або `cssVars.dark` відсутній, відхилити імпорт. Це навмисно: схвалена продуктова поведінка — повна підтримка режимів, а не best-effort синтез відсутньої сторони.
## Мапування токенів
## Мапінг токенів
Не віддзеркалювати змінні tweakcn безрозбірно. Нормалізувати обмежену підмножину до токенів OpenClaw, а решту виводити в допоміжній функції.
Не дзеркалити змінні tweakcn сліпо. Нормалізувати обмежену підмножину в токени OpenClaw і виводити решту в helper.
### Токени, що імпортуються напряму
З кожного блоку режиму tweakcn:
З кожного блока режиму tweakcn:
- `background`
- `foreground`
@ -198,16 +198,16 @@ type ImportedCustomTheme = {
- `ring`
- `radius`
Із спільного `cssVars.theme`, якщо воно присутнє:
Із спільного `cssVars.theme`, коли він наявний:
- `font-sans`
- `font-mono`
Якщо блок режиму перевизначає `font-sans`, `font-mono` або `radius`, значення локального режиму має пріоритет.
Якщо блок режиму перевизначає `font-sans`, `font-mono` або `radius`, перемагає локальне для режиму значення.
### Токени, що виводяться для OpenClaw
### Токени, виведені для OpenClaw
Імпортер виводить змінні, специфічні для OpenClaw, з імпортованих базових кольорів:
Імпортер виводить змінні лише для OpenClaw з імпортованих базових кольорів:
- `--bg-accent`
- `--bg-elevated`
@ -235,12 +235,12 @@ type ImportedCustomTheme = {
- `--danger-muted`
- `--danger-subtle`
Правила виведення живуть у чистій допоміжній функції, щоб їх можна було тестувати окремо. Точні формули змішування кольорів — це деталь реалізації, але допоміжна функція має задовольняти дві умови:
Правила виведення живуть у чистому helper, щоб їх можна було тестувати незалежно. Точні формули змішування кольорів є деталлю реалізації, але helper має задовольняти дві умови:
- зберігати читабельний контраст, близький до задуму імпортованої теми
- давати стабільний результат для одного й того самого імпортованого payload
- створювати стабільний output для того самого імпортованого payload
### Токени, які ігноруються у v1
### Токени, проігноровані у v1
Ці токени tweakcn навмисно ігноруються в першій версії:
@ -252,32 +252,32 @@ type ImportedCustomTheme = {
- `letter-spacing`
- `spacing`
Це дозволяє зосередити обсяг робіт на токенах, які поточний Control UI справді використовує.
Це утримує scope на токенах, які поточному Control UI фактично потрібні.
### Шрифти
Рядки стеків шрифтів імпортуються, якщо вони присутні, але OpenClaw не завантажує віддалені ресурси шрифтів у v1. Якщо імпортований стек посилається на шрифти, які недоступні в браузері, застосовується звичайна поведінка fallback.
Рядки стеків шрифтів імпортуються, якщо наявні, але OpenClaw не завантажує віддалені ресурси шрифтів у v1. Якщо імпортований стек посилається на шрифти, недоступні в браузері, застосовується звичайна поведінка fallback.
## Поведінка при помилках
## Поведінка в разі помилки
Невдалі імпорти мають завершуватися безпечно.
Невдалі імпорти мають завершуватися закрито.
- Невалідний формат URL: показати вбудовану помилку валідації, не виконувати запит.
- Непідтримуваний хост або форма шляху: показати вбудовану помилку валідації, не виконувати запит.
- Збій мережі, відповідь не-OK або некоректний JSON: показати вбудовану помилку, не змінювати поточний збережений payload.
- Збій схеми або відсутність блоків light/dark: показати вбудовану помилку, не змінювати поточний збережений payload.
- Невалідний формат URL: показати inline-помилку валідації, не виконувати fetch.
- Непідтримуваний host або форма path: показати inline-помилку валідації, не виконувати fetch.
- Мережева помилка, не-OK відповідь або malformed JSON: показати inline-помилку, залишити поточний збережений payload без змін.
- Помилка schema або відсутні блоки light/dark: показати inline-помилку, залишити поточний збережений payload без змін.
- Дія очищення:
- видаляє збережений payload користувацької теми
- видаляє вміст керованого тега стилю користувацької теми
- якщо `custom` активна, перемикає сімейство тем назад на `claw`
- Невалідний збережений payload користувацької теми при першому завантаженні:
- видаляє збережений користувацький payload
- видаляє вміст керованого style-тега користувацької теми
- якщо `custom` активний, перемикає сімейство тем назад на `claw`
- Невалідний збережений payload користувацької теми під час першого завантаження:
- ігнорувати збережений payload
- не генерувати користувацький CSS
- якщо збереженим сімейством тем було `custom`, повертатися до `claw`
- не виводити користувацький CSS
- якщо збережене сімейство тем було `custom`, повернутися до `claw`
За жодних обставин невдалий імпорт не повинен залишати активний документ із частково застосованими змінними користувацького CSS.
У жоден момент невдалий імпорт не має залишати активний документ із частково застосованими користувацькими CSS-змінними.
## Файли, які, ймовірно, зміняться під час реалізації
## Файли, які очікувано зміняться під час реалізації
Основні файли:
@ -288,31 +288,30 @@ type ImportedCustomTheme = {
- `ui/src/ui/views/config-quick.ts`
- `ui/src/styles/base.css`
Імовірні нові допоміжні файли:
Ймовірні нові helper-и:
- `ui/src/ui/custom-theme.ts`
- `ui/src/ui/custom-theme-import.ts`
Тести:
- `ui/src/ui/app-settings.test.ts`
- `ui/src/ui/storage.node.test.ts`
- `ui/src/ui/views/config.browser.test.ts`
- нові сфокусовані тести для розбору URL і нормалізації payload
- нові сфокусовані тести для парсингу URL і нормалізації payload
## Тестування
Мінімальне покриття реалізації:
- розібрати URL посилання поширення в ідентифікатор теми tweakcn
- нормалізувати `/themes/{id}` і `/r/themes/{id}` до URL отримання
- відхиляти непідтримувані хости та некоректні ідентифікатори
- розпарсити URL посилання поширення в ідентифікатор теми tweakcn
- нормалізувати `/themes/{id}` і `/r/themes/{id}` у fetch URL
- відхиляти непідтримувані host-и та malformed id
- валідувати форму payload tweakcn
- мапити валідний payload tweakcn у нормалізовані мапи токенів OpenClaw для світлого й темного режимів
- завантажувати та зберігати payload користувацької теми в браузерно-локальних налаштуваннях
- мапити валідний payload tweakcn у нормалізовані мапи світлих і темних токенів OpenClaw
- завантажувати й зберігати користувацький payload у браузерно-локальних налаштуваннях
- розв’язувати `custom` для `light`, `dark` і `system`
- вимикати вибір `Custom`, коли payload відсутній
- застосовувати імпортовану тему негайно, коли `custom` уже активна
- застосовувати імпортовану тему негайно, коли `custom` уже активний
- повертатися до `claw`, коли активну користувацьку тему очищено
Ціль ручної перевірки:
@ -320,8 +319,8 @@ type ImportedCustomTheme = {
- імпортувати відому тему tweakcn із Settings
- перемикатися між `light`, `dark` і `system`
- перемикатися між `custom` і вбудованими сімействами
- перезавантажити сторінку та підтвердити, що імпортована користувацька тема зберігається локально
- перезавантажити сторінку й підтвердити, що імпортована користувацька тема зберігається локально
## Нотатки щодо розгортання
## Нотатки щодо rollout
Ця функція навмисно невелика. Якщо користувачі згодом попросять кілька імпортованих тем, перейменування, експорт або синхронізацію між пристроями, розглядати це як наступний дизайн. Не закладати наперед абстракцію бібліотеки тем у цій реалізації.
Ця функція навмисно мала. Якщо користувачі пізніше попросять кілька імпортованих тем, перейменування, експорт або синхронізацію між пристроями, розглядати це як подальший дизайн. Не будувати заздалегідь абстракцію бібліотеки тем у цій реалізації.