chore(i18n): refresh uk translations
This commit is contained in:
parent
7d40ce562e
commit
435f987696
@ -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`.
|
||||
- Стандартна ідентичність: **C3‑PO** (протокольний дроїд).
|
||||
- Пропускає провайдери каналів у 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, вивід інструментів і дані користувача.
|
||||
- Зберігайте логи локально та видаляйте їх після налагодження.
|
||||
- Якщо ви ділитеся логами, спершу вилучіть секрети та персональні дані.
|
||||
- Логи сирого потоку можуть містити повні промпти, вивід інструментів і дані користувача.
|
||||
- Зберігайте логи локально й видаляйте їх після налагодження.
|
||||
- Якщо поширюєте логи, спершу видаліть секрети й персональні дані.
|
||||
|
||||
## Пов’язане
|
||||
|
||||
|
||||
@ -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 |
|
||||
|
||||
@ -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 |
|
||||
|
||||
@ -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
|
||||
навички
|
||||
|
||||
## Пов’язана документація
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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) -- посібник для початку роботи
|
||||
|
||||
@ -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
|
||||
|
||||
Ця функція навмисно невелика. Якщо користувачі згодом попросять кілька імпортованих тем, перейменування, експорт або синхронізацію між пристроями, розглядати це як наступний дизайн. Не закладати наперед абстракцію бібліотеки тем у цій реалізації.
|
||||
Ця функція навмисно мала. Якщо користувачі пізніше попросять кілька імпортованих тем, перейменування, експорт або синхронізацію між пристроями, розглядати це як подальший дизайн. Не будувати заздалегідь абстракцію бібліотеки тем у цій реалізації.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user