chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-05-04 04:45:22 +00:00
parent f0839d2de0
commit dcc08a1e90
2 changed files with 248 additions and 169 deletions

View File

@ -1,36 +1,36 @@
---
read_when:
- Ви хочете встановити або керувати плагінами Gateway чи сумісними пакетами
- Ви хочете діагностувати збої завантаження Plugin
- Ви хочете налагодити збої завантаження Plugin
sidebarTitle: Plugins
summary: Довідник CLI для `openclaw plugins` (list, install, marketplace, uninstall, enable/disable, doctor)
title: Плагіни
x-i18n:
generated_at: "2026-05-03T18:43:55Z"
generated_at: "2026-05-04T04:43:52Z"
model: gpt-5.5
provider: openai
source_hash: d854d052b0a012a86f9c775775676a9a8fe8ae86b2c38a18118f1abf0732174c
source_hash: 36ae7edb12986ead7e126f25e0761bf312b2644b35017181b674082105886776
source_path: cli/plugins.md
workflow: 16
---
Керуйте плагінами Gateway, пакетами хуків і сумісними пакетами.
Керуйте Plugin-ами Gateway, пакетами хуків і сумісними бандлами.
<CardGroup cols={2}>
<Card title="Система Plugin" href="/uk/tools/plugin">
Посібник для кінцевих користувачів зі встановлення, увімкнення та усунення несправностей плагінів.
<Card title="Plugin system" href="/uk/tools/plugin">
Посібник для кінцевих користувачів зі встановлення, увімкнення та усунення проблем із Plugin-ами.
</Card>
<Card title="Керування плагінами" href="/uk/plugins/manage-plugins">
Швидкі приклади для встановлення, перегляду списку, оновлення, видалення та публікації.
<Card title="Manage plugins" href="/uk/plugins/manage-plugins">
Короткі приклади для встановлення, перегляду списку, оновлення, видалення та публікації.
</Card>
<Card title="Пакети Plugin" href="/uk/plugins/bundles">
Модель сумісності пакетів.
<Card title="Plugin bundles" href="/uk/plugins/bundles">
Модель сумісності бандлів.
</Card>
<Card title="Маніфест Plugin" href="/uk/plugins/manifest">
<Card title="Plugin manifest" href="/uk/plugins/manifest">
Поля маніфесту та схема конфігурації.
</Card>
<Card title="Безпека" href="/uk/gateway/security">
Посилення безпеки для встановлень плагінів.
<Card title="Security" href="/uk/gateway/security">
Посилення безпеки для встановлень Plugin-ів.
</Card>
</CardGroup>
@ -67,11 +67,11 @@ openclaw plugins marketplace list <marketplace> --json
у stderr і зберігає JSON-вивід придатним для парсингу. Див. [Налагодження](/uk/help/debugging#plugin-lifecycle-trace).
<Note>
Вбудовані плагіни постачаються з OpenClaw. Деякі ввімкнені за замовчуванням (наприклад, вбудовані провайдери моделей, вбудовані провайдери мовлення та вбудований браузерний плагін); інші потребують `plugins enable`.
Вбудовані Plugin-и постачаються з OpenClaw. Деякі ввімкнені за замовчуванням (наприклад, вбудовані провайдери моделей, вбудовані провайдери мовлення та вбудований браузерний Plugin); інші потребують `plugins enable`.
Нативні плагіни OpenClaw мають постачати `openclaw.plugin.json` з inline JSON Schema (`configSchema`, навіть якщо вона порожня). Сумісні пакети натомість використовують власні маніфести пакетів.
Нативні Plugin-и OpenClaw мають постачати `openclaw.plugin.json` із вбудованою JSON Schema (`configSchema`, навіть якщо вона порожня). Сумісні бандли натомість використовують власні маніфести бандлів.
`plugins list` показує `Format: openclaw` або `Format: bundle`. Докладний вивід списку/інформації також показує підтип пакета (`codex`, `claude` або `cursor`) плюс виявлені можливості пакета.
`plugins list` показує `Format: openclaw` або `Format: bundle`. Детальний вивід list/info також показує підтип бандла (`codex`, `claude` або `cursor`) і виявлені можливості бандла.
</Note>
### Встановлення
@ -93,108 +93,108 @@ openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo
```
<Warning>
Непрефіксовані назви пакетів під час перехідного етапу запуску за замовчуванням встановлюються з npm. Використовуйте `clawhub:<package>` для ClawHub. Ставтеся до встановлення плагінів як до запуску коду. Надавайте перевагу зафіксованим версіям.
Прості імена пакетів встановлюються з npm за замовчуванням під час перехідного запуску. Використовуйте `clawhub:<package>` для ClawHub. Ставтеся до встановлення Plugin-ів як до запуску коду. Надавайте перевагу закріпленим версіям.
</Warning>
`plugins search` запитує ClawHub щодо доступних для встановлення пакетів плагінів і виводить
готові до встановлення назви пакетів. Пошук виконується серед пакетів code-plugin і bundle-plugin,
а не Skills. Використовуйте `openclaw skills search` для Skills у ClawHub.
`plugins search` запитує ClawHub щодо доступних для встановлення пакетів Plugin-ів і друкує
готові до встановлення імена пакетів. Він шукає пакети code-plugin і bundle-plugin,
а не skills. Використовуйте `openclaw skills search` для Skills ClawHub.
<Note>
ClawHub є основною поверхнею розповсюдження та виявлення для більшості плагінів. Npm
залишається підтримуваним резервним варіантом і шляхом прямого встановлення. Пакети плагінів
`@openclaw/*`, що належать OpenClaw, знову публікуються в npm; див. поточний список
ClawHub є основною поверхнею розповсюдження й пошуку для більшості Plugin-ів. Npm
залишається підтримуваним резервним варіантом і шляхом прямого встановлення. Належні OpenClaw
пакети Plugin-ів `@openclaw/*` знову публікуються в npm; див. поточний список
на [npmjs.com/org/openclaw](https://www.npmjs.com/org/openclaw) або
[інвентар плагінів](/uk/plugins/plugin-inventory). Стабільні встановлення використовують `latest`.
Встановлення й оновлення з бета-каналу віддають перевагу npm dist-tag `beta`, коли цей тег
[інвентар Plugin-ів](/uk/plugins/plugin-inventory). Стабільні встановлення використовують `latest`.
Встановлення та оновлення beta-каналу віддають перевагу npm `beta` dist-tag, коли цей тег
доступний, а потім повертаються до `latest`.
</Note>
<AccordionGroup>
<Accordion title="Включення конфігурації та відновлення недійсної конфігурації">
Якщо ваш розділ `plugins` підтримується однофайловим `$include`, `plugins install/update/enable/disable/uninstall` записують зміни до цього включеного файлу й залишають `openclaw.json` незмінним. Кореневі include, масиви include та include із сусідніми перевизначеннями безпечно відмовляють замість розгортання. Див. [Включення конфігурації](/uk/gateway/configuration) для підтримуваних форм.
<Accordion title="Config includes and invalid-config repair">
Якщо ваш розділ `plugins` підтримується однофайловим `$include`, `plugins install/update/enable/disable/uninstall` записують зміни в цей включений файл і залишають `openclaw.json` без змін. Кореневі includes, масиви includes та includes із сусідніми перевизначеннями завершуються закрито замість вирівнювання. Див. [Включення конфігурації](/uk/gateway/configuration) для підтримуваних форм.
Якщо конфігурація недійсна під час встановлення, `plugins install` зазвичай безпечно відмовляє й просить спочатку запустити `openclaw doctor --fix`. Під час запуску Gateway і гарячого перезавантаження недійсна конфігурація плагінів безпечно відмовляє, як і будь-яка інша недійсна конфігурація; `openclaw doctor --fix` може ізолювати недійсний запис плагіна. Єдиний задокументований виняток під час встановлення — вузький шлях відновлення вбудованого плагіна для плагінів, які явно вмикають `openclaw.install.allowInvalidConfigRecovery`.
Якщо конфігурація недійсна під час встановлення, `plugins install` зазвичай завершується закрито й повідомляє, що спершу потрібно запустити `openclaw doctor --fix`. Під час запуску Gateway і гарячого перезавантаження недійсна конфігурація Plugin-ів завершується закрито, як і будь-яка інша недійсна конфігурація; `openclaw doctor --fix` може ізолювати недійсний запис Plugin. Єдиний задокументований виняток під час встановлення — вузький шлях відновлення вбудованого Plugin для Plugin-ів, які явно погоджуються на `openclaw.install.allowInvalidConfigRecovery`.
</Accordion>
<Accordion title="--force і повторне встановлення порівняно з оновленням">
`--force` повторно використовує наявну ціль встановлення та перезаписує вже встановлений плагін або пакет хуків на місці. Використовуйте це, коли ви свідомо перевстановлюєте той самий id з нового локального шляху, архіву, пакета ClawHub або артефакту npm. Для звичайних оновлень уже відстежуваного npm-плагіна надавайте перевагу `openclaw plugins update <id-or-npm-spec>`.
<Accordion title="--force and reinstall vs update">
`--force` повторно використовує наявну ціль встановлення та перезаписує вже встановлений Plugin або пакет хуків на місці. Використовуйте це, коли ви свідомо перевстановлюєте той самий id з нового локального шляху, архіву, пакета ClawHub або артефакту npm. Для звичайних оновлень уже відстежуваного npm Plugin віддавайте перевагу `openclaw plugins update <id-or-npm-spec>`.
Якщо ви запускаєте `plugins install` для id плагіна, який уже встановлено, OpenClaw зупиняється й указує на `plugins update <id-or-npm-spec>` для звичайного оновлення або на `plugins install <package> --force`, коли ви справді хочете перезаписати поточне встановлення з іншого джерела.
Якщо ви запускаєте `plugins install` для id Plugin, який уже встановлено, OpenClaw зупиняється й вказує на `plugins update <id-or-npm-spec>` для звичайного оновлення або на `plugins install <package> --force`, коли ви справді хочете перезаписати поточне встановлення з іншого джерела.
</Accordion>
<Accordion title="Область дії --pin">
`--pin` застосовується лише до npm-встановлень. Він не підтримується з встановленнями `git:`; використовуйте явний git ref, наприклад `git:github.com/acme/plugin@v1.2.3`, коли потрібне зафіксоване джерело. Він не підтримується з `--marketplace`, тому що встановлення з маркетплейсу зберігають метадані джерела маркетплейсу замість npm-специфікації.
<Accordion title="--pin scope">
`--pin` застосовується лише до встановлень npm. Він не підтримується з встановленнями `git:`; використовуйте явне git-посилання, як-от `git:github.com/acme/plugin@v1.2.3`, коли хочете закріплене джерело. Він не підтримується з `--marketplace`, оскільки встановлення з marketplace зберігають метадані джерела marketplace замість npm spec.
</Accordion>
<Accordion title="--dangerously-force-unsafe-install">
`--dangerously-force-unsafe-install`аварійна опція для хибних спрацьовувань у вбудованому сканері небезпечного коду. Вона дозволяє встановленню продовжитися, навіть коли вбудований сканер повідомляє про знахідки `critical`, але вона **не** обходить блокування політики хуків `before_install` плагіна і **не** обходить помилки сканування.
`--dangerously-force-unsafe-install`це аварійна опція для хибнопозитивних спрацювань вбудованого сканера небезпечного коду. Вона дає змогу продовжити встановлення навіть тоді, коли вбудований сканер повідомляє про знахідки `critical`, але вона **не** обходить блокування політики хуків Plugin `before_install` і **не** обходить збої сканування.
Цей прапорець CLI застосовується до потоків встановлення/оновлення плагінів. Встановлення залежностей Skills, підтримувані Gateway, використовують відповідне перевизначення запиту `dangerouslyForceUnsafeInstall`, тоді як `openclaw skills install` залишається окремим потоком завантаження/встановлення Skills із ClawHub.
Цей CLI-прапорець застосовується до потоків встановлення/оновлення Plugin. Встановлення залежностей Skills через Gateway використовує відповідне перевизначення запиту `dangerouslyForceUnsafeInstall`, тоді як `openclaw skills install` залишається окремим потоком завантаження/встановлення Skills із ClawHub.
Якщо плагін, який ви опублікували в ClawHub, заблоковано скануванням реєстру, скористайтеся кроками для видавця в [ClawHub](/uk/tools/clawhub).
Якщо Plugin, який ви опублікували в ClawHub, заблоковано скануванням реєстру, скористайтеся кроками для видавця в [ClawHub](/uk/tools/clawhub).
</Accordion>
<Accordion title="Пакети хуків і специфікації npm">
`plugins install` також є поверхнею встановлення для пакетів хуків, які надають `openclaw.hooks` у `package.json`. Використовуйте `openclaw hooks` для відфільтрованої видимості хуків і ввімкнення окремих хуків, а не для встановлення пакетів.
<Accordion title="Hook packs and npm specs">
`plugins install` також є поверхнею встановлення для пакетів хуків, які відкривають `openclaw.hooks` у `package.json`. Використовуйте `openclaw hooks` для відфільтрованої видимості хуків і ввімкнення окремих хуків, а не для встановлення пакетів.
Специфікації npm є **лише реєстровими** (назва пакета + необов’язкова **точна версія** або **dist-tag**). Специфікації Git/URL/file і діапазони semver відхиляються. Встановлення залежностей виконуються локально для проєкту з `--ignore-scripts` задля безпеки, навіть якщо ваша оболонка має глобальні налаштування встановлення npm.
Npm specs є **лише реєстровими** (ім’я пакета + необов’язкова **точна версія** або **dist-tag**). Git/URL/file specs і semver-діапазони відхиляються. Встановлення залежностей запускаються локально для проєкту з `--ignore-scripts` задля безпеки, навіть якщо ваша оболонка має глобальні налаштування встановлення npm.
Використовуйте `npm:<package>`, коли хочете зробити розв’язання npm явним. Непрефіксовані специфікації пакетів також встановлюються безпосередньо з npm під час перехідного етапу запуску.
Використовуйте `npm:<package>`, коли хочете явно вказати npm-розв’язання. Прості package specs також встановлюються напряму з npm під час перехідного запуску.
Непрефіксовані специфікації та `@latest` залишаються на стабільному треку. Якщо npm розв’язує будь-яку з них у prerelease, OpenClaw зупиняється й просить вас явно погодитися за допомогою prerelease-тега, наприклад `@beta`/`@rc`, або точної prerelease-версії, наприклад `@1.2.3-beta.4`.
Прості specs і `@latest` залишаються на стабільній гілці. Датовані коригувальні версії OpenClaw, як-от `2026.5.3-1`, є стабільними випусками для цієї перевірки. Якщо npm розв’язує будь-який із них до prerelease, OpenClaw зупиняється й просить вас явно погодитися за допомогою prerelease-тега, як-от `@beta`/`@rc`, або точної prerelease-версії, як-от `@1.2.3-beta.4`.
Якщо непрефіксована специфікація встановлення збігається з офіційним id плагіна (наприклад `diffs`), OpenClaw встановлює запис каталогу безпосередньо. Щоб установити npm-пакет із такою самою назвою, використовуйте явну scoped-специфікацію (наприклад `@scope/diffs`).
Якщо простий spec встановлення збігається з офіційним id Plugin (наприклад, `diffs`), OpenClaw встановлює запис каталогу напряму. Щоб встановити npm-пакет із такою самою назвою, використовуйте явний scoped spec (наприклад, `@scope/diffs`).
</Accordion>
<Accordion title="Репозиторії Git">
Використовуйте `git:<repo>`, щоб установлювати безпосередньо з git-репозиторію. Підтримувані форми включають `git:github.com/owner/repo`, `git:owner/repo`, повні `https://`, `ssh://`, `git://`, `file://` та URL клонування `git@host:owner/repo.git`. Додайте `@<ref>` або `#<ref>`, щоб перед встановленням перейти на гілку, тег або коміт.
<Accordion title="Git repositories">
Використовуйте `git:<repo>`, щоб встановити напряму з git-репозиторію. Підтримувані форми включають `git:github.com/owner/repo`, `git:owner/repo`, повні URL для клонування `https://`, `ssh://`, `git://`, `file://` і `git@host:owner/repo.git`. Додайте `@<ref>` або `#<ref>`, щоб перед встановленням перейти на гілку, тег або commit.
Git-встановлення клонують у тимчасовий каталог, переходять на запитаний ref, коли він присутній, а потім використовують звичайний інсталятор каталогу плагіна. Це означає, що перевірка маніфесту, сканування небезпечного коду, робота встановлення менеджера пакетів і записи встановлення поводяться як npm-встановлення. Записані git-встановлення включають URL/ref джерела плюс розв’язаний коміт, щоб `openclaw plugins update` міг згодом повторно розв’язати джерело.
Git-встановлення клонують у тимчасову директорію, переходять на запитаний ref, якщо він наявний, а потім використовують звичайний інсталятор директорії Plugin. Це означає, що валідація маніфесту, сканування небезпечного коду, робота встановлення менеджера пакетів і записи встановлення поводяться як npm-встановлення. Записані git-встановлення містять URL/ref джерела та розв’язаний commit, щоб `openclaw plugins update` міг пізніше повторно розв’язати джерело.
Після встановлення з git використовуйте `openclaw plugins inspect <id> --runtime --json`, щоб перевірити реєстрації runtime, як-от методи gateway і команди CLI. Якщо плагін зареєстрував CLI-root через `api.registerCli`, виконуйте цю команду безпосередньо через кореневий CLI OpenClaw, наприклад `openclaw demo-plugin ping`.
Після встановлення з git використовуйте `openclaw plugins inspect <id> --runtime --json`, щоб перевірити runtime-реєстрації, як-от методи gateway і CLI-команди. Якщо Plugin зареєстрував CLI-корінь через `api.registerCli`, виконайте цю команду напряму через кореневий CLI OpenClaw, наприклад `openclaw demo-plugin ping`.
</Accordion>
<Accordion title="Архіви">
Підтримувані архіви: `.zip`, `.tgz`, `.tar.gz`, `.tar`. Архіви нативних плагінів OpenClaw мають містити дійсний `openclaw.plugin.json` у корені витягнутого плагіна; архіви, що містять лише `package.json`, відхиляються до того, як OpenClaw запише записи встановлення.
<Accordion title="Archives">
Підтримувані архіви: `.zip`, `.tgz`, `.tar.gz`, `.tar`. Архіви нативних Plugin-ів OpenClaw мають містити дійсний `openclaw.plugin.json` у витягнутому корені Plugin; архіви, що містять лише `package.json`, відхиляються до того, як OpenClaw запише записи встановлення.
Встановлення з маркетплейсу Claude також підтримуються.
Встановлення з Claude marketplace також підтримуються.
</Accordion>
</AccordionGroup>
Встановлення з ClawHub використовують явний локатор `clawhub:<package>`:
Встановлення ClawHub використовують явний локатор `clawhub:<package>`:
```bash
openclaw plugins install clawhub:openclaw-codex-app-server
openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3
```
Непрефіксовані npm-безпечні специфікації плагінів під час перехідного етапу запуску за замовчуванням встановлюються з npm:
Прості npm-безпечні specs Plugin встановлюються з npm за замовчуванням під час перехідного запуску:
```bash
openclaw plugins install openclaw-codex-app-server
```
Використовуйте `npm:`, щоб зробити розв’язання лише через npm явним:
Використовуйте `npm:`, щоб зробити npm-only розв’язання явним:
```bash
openclaw plugins install npm:openclaw-codex-app-server
openclaw plugins install npm:@scope/plugin-name@1.0.1
```
OpenClaw перевіряє заявлену сумісність API плагіна / мінімальну сумісність Gateway перед встановленням. Коли вибрана версія ClawHub публікує артефакт ClawPack, OpenClaw завантажує версійний npm-pack `.tgz`, перевіряє digest-заголовок ClawHub і digest артефакту, а потім встановлює його через звичайний шлях архіву. Старіші версії ClawHub без метаданих ClawPack і далі встановлюються через застарілий шлях перевірки архіву пакета. Записані встановлення зберігають свої метадані джерела ClawHub, тип артефакту, npm integrity, npm shasum, назву tarball і факти digest ClawPack для подальших оновлень.
Неверсійні встановлення ClawHub зберігають неверсійну записану специфікацію, щоб `openclaw plugins update` міг відстежувати новіші релізи ClawHub; явні селектори версії або тегу, як-от `clawhub:pkg@1.2.3` і `clawhub:pkg@beta`, залишаються зафіксованими на цьому селекторі.
OpenClaw перевіряє оголошену сумісність plugin API / minimum gateway перед встановленням. Коли вибрана версія ClawHub публікує артефакт ClawPack, OpenClaw завантажує версійний npm-pack `.tgz`, перевіряє digest-заголовок ClawHub і digest артефакту, а потім встановлює його через звичайний архівний шлях. Старіші версії ClawHub без метаданих ClawPack досі встановлюються через застарілий шлях перевірки архіву пакета. Записані встановлення зберігають свої метадані джерела ClawHub, тип артефакту, npm integrity, npm shasum, ім’я tarball і факти digest ClawPack для подальших оновлень.
Неверсійні встановлення ClawHub зберігають неверсійний записаний spec, щоб `openclaw plugins update` міг стежити за новішими випусками ClawHub; явні селектори версії або тега, як-от `clawhub:pkg@1.2.3` і `clawhub:pkg@beta`, залишаються закріпленими за цим селектором.
#### Скорочений запис маркетплейсу
#### Скорочення marketplace
Використовуйте скорочений запис `plugin@marketplace`, коли назва маркетплейсу існує в локальному кеші реєстру Claude за адресою `~/.claude/plugins/known_marketplaces.json`:
Використовуйте скорочення `plugin@marketplace`, коли назва marketplace існує в локальному кеші реєстру Claude за адресою `~/.claude/plugins/known_marketplaces.json`:
```bash
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
```
Використовуйте `--marketplace`, коли хочете явно передати джерело маркетплейсу:
Використовуйте `--marketplace`, коли хочете явно передати джерело marketplace:
```bash
openclaw plugins install <plugin-name> --marketplace <marketplace-name>
@ -204,28 +204,28 @@ openclaw plugins install <plugin-name> --marketplace ./my-marketplace
```
<Tabs>
<Tab title="Джерела маркетплейсу">
- назва відомого Claude маркетплейсу з `~/.claude/plugins/known_marketplaces.json`
- локальний корінь маркетплейсу або шлях `marketplace.json`
- скорочення GitHub репозиторію, наприклад `owner/repo`
- URL GitHub репозиторію, наприклад `https://github.com/owner/repo`
<Tab title="Marketplace sources">
- назва відомого marketplace Claude з `~/.claude/plugins/known_marketplaces.json`
- корінь локального marketplace або шлях `marketplace.json`
- скорочення репозиторію GitHub, наприклад `owner/repo`
- URL репозиторію GitHub, наприклад `https://github.com/owner/repo`
- git URL
</Tab>
<Tab title="Правила віддаленого маркетплейсу">
Для віддалених маркетплейсів, завантажених із GitHub або git, записи плагінів мають залишатися всередині клонованого репозиторію маркетплейсу. OpenClaw приймає джерела з відносними шляхами з цього репозиторію та відхиляє HTTP(S), абсолютні шляхи, git, GitHub та інші джерела плагінів, що не є шляхами, з віддалених маніфестів.
<Tab title="Remote marketplace rules">
Для віддалених marketplace, завантажених із GitHub або git, записи плагінів мають залишатися всередині клонованого репозиторію marketplace. OpenClaw приймає джерела з відносними шляхами з цього репозиторію та відхиляє HTTP(S), абсолютні шляхи, git, GitHub та інші джерела плагінів, що не є шляхами, з віддалених маніфестів.
</Tab>
</Tabs>
Для локальних шляхів і архівів OpenClaw автоматично виявляє:
Для локальних шляхів і архівів OpenClaw автоматично визначає:
- нативні плагіни OpenClaw (`openclaw.plugin.json`)
- пакети, сумісні з Codex (`.codex-plugin/plugin.json`)
- пакети, сумісні з Claude (`.claude-plugin/plugin.json` або стандартна структура компонентів Claude)
- пакети, сумісні з Cursor (`.cursor-plugin/plugin.json`)
- сумісні з Codex бандли (`.codex-plugin/plugin.json`)
- сумісні з Claude бандли (`.claude-plugin/plugin.json` або стандартний макет компонентів Claude)
- сумісні з Cursor бандли (`.cursor-plugin/plugin.json`)
<Note>
Сумісні пакети встановлюються у звичайний корінь плагінів і беруть участь у тому самому потоці list/info/enable/disable. Наразі підтримуються Skills пакета, Claude command-skills, типові значення Claude `settings.json`, типові значення Claude `.lsp.json` / оголошених у маніфесті `lspServers`, Cursor command-skills і сумісні каталоги хуків Codex; інші виявлені можливості пакета показуються в diagnostics/info, але ще не підключені до виконання під час роботи.
Сумісні бандли встановлюються у звичайний корінь плагінів і беруть участь у тому самому потоці list/info/enable/disable. Наразі підтримуються навички бандлів, Claude command-skills, стандартні значення Claude `settings.json`, стандартні значення Claude `.lsp.json` / оголошені в маніфесті `lspServers`, Cursor command-skills і сумісні директорії хуків Codex; інші виявлені можливості бандлів показуються в діагностиці/info, але ще не підключені до виконання під час роботи.
</Note>
### Список
@ -241,57 +241,57 @@ openclaw plugins search <query> --json
```
<ParamField path="--enabled" type="boolean">
Показувати лише ввімкнені плагіни.
Показати лише ввімкнені плагіни.
</ParamField>
<ParamField path="--verbose" type="boolean">
Перемикає табличний вигляд на деталізовані рядки для кожного плагіна з метаданими джерела/походження/версії/активації.
Перемкнутися з табличного подання на деталізовані рядки для кожного плагіна з метаданими джерела/походження/версії/активації.
</ParamField>
<ParamField path="--json" type="boolean">
Машинозчитуваний інвентар, а також діагностика реєстру та стан установлення залежностей пакета.
Машиночитний інвентар разом із діагностикою реєстру та станом встановлення залежностей пакетів.
</ParamField>
<Note>
`plugins list` спочатку читає збережений локальний реєстр плагінів, із резервним варіантом, виведеним лише з маніфестів, якщо реєстр відсутній або недійсний. Це корисно для перевірки, чи плагін установлений, увімкнений і видимий для планування холодного запуску, але це не живий runtime-зонд уже запущеного процесу Gateway. Після зміни коду плагіна, увімкнення, політики хуків або `plugins.load.paths` перезапустіть Gateway, що обслуговує канал, перш ніж очікувати виконання нового коду `register(api)` або хуків. Для віддалених/контейнерних розгортань перевірте, що ви перезапускаєте фактичний дочірній процес `openclaw gateway run`, а не лише процес-обгортку.
`plugins list` спершу читає збережений локальний реєстр плагінів, із похідним резервним варіантом лише на основі маніфестів, якщо реєстр відсутній або недійсний. Це корисно для перевірки, чи плагін встановлено, увімкнено та видно для планування холодного запуску, але це не живий runtime-зонд уже запущеного процесу Gateway. Після зміни коду плагіна, стану ввімкнення, політики хуків або `plugins.load.paths` перезапустіть Gateway, який обслуговує канал, перш ніж очікувати запуску нового коду `register(api)` або хуків. Для віддалених/контейнерних розгортань перевірте, що ви перезапускаєте фактичний дочірній процес `openclaw gateway run`, а не лише процес-обгортку.
`plugins list --json` включає `dependencyStatus` кожного плагіна з `package.json`
`dependencies` та `optionalDependencies`. OpenClaw перевіряє, чи ці назви пакетів
наявні вздовж звичайного для плагіна шляху пошуку Node `node_modules`; він
`dependencies` і `optionalDependencies`. OpenClaw перевіряє, чи ці назви пакетів
присутні на звичайному для плагіна шляху пошуку Node `node_modules`; він
не імпортує runtime-код плагіна, не запускає менеджер пакетів і не виправляє
відсутні залежності.
</Note>
`plugins search` — це віддалений пошук у каталозі ClawHub. Він не перевіряє локальний
стан, не змінює конфігурацію, не встановлює пакети й не завантажує runtime-код плагіна. Результати пошуку
містять назву пакета ClawHub, сімейство, канал, версію, зведення та
підказку для встановлення, наприклад `openclaw plugins install clawhub:<package>`.
містять назву пакета ClawHub, родину, канал, версію, підсумок і
підказку щодо встановлення, наприклад `openclaw plugins install clawhub:<package>`.
Для роботи з вбудованими плагінами всередині запакованого Docker образу змонтуйте каталог
джерел плагіна поверх відповідного запакованого шляху джерел, наприклад
`/app/extensions/synology-chat`. OpenClaw виявить це змонтоване накладання джерел
перед `/app/dist/extensions/synology-chat`; звичайний скопійований каталог джерел
залишиться неактивним, тож нормальні запаковані встановлення й надалі використовуватимуть скомпільований dist.
Для роботи з вбудованим плагіном усередині запакованого Docker-образу змонтуйте директорію
джерела плагіна поверх відповідного запакованого шляху джерела, наприклад
`/app/extensions/synology-chat`. OpenClaw виявить це змонтоване накладання джерела
перед `/app/dist/extensions/synology-chat`; звичайна скопійована директорія джерела
залишається неактивною, тому звичайні запаковані встановлення й далі використовують скомпільований dist.
Для налагодження runtime-хуків:
- `openclaw plugins inspect <id> --runtime --json` показує зареєстровані хуки та діагностику з проходу інспекції із завантаженням модуля. Runtime-інспекція ніколи не встановлює залежності; використовуйте `openclaw doctor --fix`, щоб очистити застарілий стан залежностей або встановити відсутні налаштовані завантажувані плагіни.
- `openclaw gateway status --deep --require-rpc` підтверджує доступний Gateway, підказки щодо служби/процесу, шлях конфігурації та справність RPC.
- `openclaw gateway status --deep --require-rpc` підтверджує доступний Gateway, підказки сервісу/процесу, шлях конфігурації та справність RPC.
- Невбудовані хуки розмов (`llm_input`, `llm_output`, `before_agent_finalize`, `agent_end`) потребують `plugins.entries.<id>.hooks.allowConversationAccess=true`.
Використовуйте `--link`, щоб не копіювати локальний каталог (додає до `plugins.load.paths`):
Використовуйте `--link`, щоб не копіювати локальну директорію (додає до `plugins.load.paths`):
```bash
openclaw plugins install -l ./my-plugin
```
<Note>
`--force` не підтримується з `--link`, оскільки повязані встановлення повторно використовують шлях джерел замість копіювання поверх керованої цілі встановлення.
`--force` не підтримується з `--link`, оскільки пов'язані встановлення повторно використовують шлях джерела замість копіювання поверх керованої цілі встановлення.
Використовуйте `--pin` для npm встановлень, щоб зберегти вирішену точну специфікацію (`name@version`) у керованому індексі плагінів, залишаючи типову поведінку незакріпленою.
Використовуйте `--pin` для npm-встановлень, щоб зберегти розв'язану точну специфікацію (`name@version`) у керованому індексі плагінів, залишаючи стандартну поведінку незакріпленою.
</Note>
### Індекс Plugin
### Індекс плагінів
Метадані встановлення Plugin — це машинно керований стан, а не користувацька конфігурація. Установлення та оновлення записують їх у `plugins/installs.json` в активному каталозі стану OpenClaw. Його мапа верхнього рівня `installRecords` є довговічним джерелом метаданих встановлення, зокрема записів для зламаних або відсутніх маніфестів плагінів. Масив `plugins` — це кеш холодного реєстру, виведений із маніфестів. Файл містить попередження не редагувати його та використовується `openclaw plugins update`, uninstall, diagnostics і холодним реєстром плагінів.
Метадані встановлення плагінів — це стан, керований машиною, а не користувацька конфігурація. Встановлення та оновлення записують його до `plugins/installs.json` у активній директорії стану OpenClaw. Його верхньорівнева мапа `installRecords` є стійким джерелом метаданих встановлення, зокрема записів для зламаних або відсутніх маніфестів плагінів. Масив `plugins` — це похідний із маніфестів кеш холодного реєстру. Файл містить попередження не редагувати його та використовується `openclaw plugins update`, видаленням, діагностикою і холодним реєстром плагінів.
Коли OpenClaw бачить поставлені застарілі записи `plugins.installs` у конфігурації, він переносить їх в індекс плагінів і видаляє ключ конфігурації; якщо будь-який запис не вдається, записи конфігурації зберігаються, щоб метадані встановлення не були втрачені.
@ -303,7 +303,7 @@ openclaw plugins uninstall <id> --dry-run
openclaw plugins uninstall <id> --keep-files
```
`uninstall` видаляє записи плагіна з `plugins.entries`, збереженого індексу плагінів, записів списків дозволу/заборони плагінів і повязаних записів `plugins.load.paths`, коли це застосовно. Якщо `--keep-files` не встановлено, uninstall також видаляє відстежуваний керований каталог установлення, коли він розташований усередині кореня розширень плагінів OpenClaw. Для плагінів active memory слот пам’яті скидається до `memory-core`.
`uninstall` видаляє записи плагіна з `plugins.entries`, збереженого індексу плагінів, записів списків дозволу/заборони плагінів і пов'язаних записів `plugins.load.paths`, коли це застосовно. Якщо `--keep-files` не встановлено, видалення також прибирає відстежувану керовану директорію встановлення, коли вона розташована всередині кореня розширень плагінів OpenClaw. Для плагінів активної пам'яті слот пам'яті скидається до `memory-core`.
<Note>
`--keep-config` підтримується як застарілий псевдонім для `--keep-files`.
@ -319,29 +319,29 @@ openclaw plugins update @openclaw/voice-call
openclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install
```
Оновлення застосовуються до відстежуваних установлень плагінів у керованому індексі плагінів і відстежуваних установлень hook-pack у `hooks.internal.installs`.
Оновлення застосовуються до відстежуваних встановлень плагінів у керованому індексі плагінів і відстежуваних встановлень hook-pack у `hooks.internal.installs`.
<AccordionGroup>
<Accordion title="Вирішення id плагіна проти npm spec">
Коли ви передаєте id плагіна, OpenClaw повторно використовує записану специфікацію встановлення для цього плагіна. Це означає, що раніше збережені dist-tags, як-от `@beta`, і точні закріплені версії продовжують використовуватися під час подальших запусків `update <id>`.
<Accordion title="Resolving plugin id vs npm spec">
Коли ви передаєте id плагіна, OpenClaw повторно використовує записану специфікацію встановлення для цього плагіна. Це означає, що раніше збережені dist-tags, як-от `@beta`, і точні закріплені версії продовжують використовуватися під час наступних запусків `update <id>`.
Для npm встановлень ви також можете передати явну специфікацію npm пакета з dist-tag або точною версією. OpenClaw зіставляє цю назву пакета назад із відстежуваним записом плагіна, оновлює цей установлений плагін і записує нову npm специфікацію для майбутніх оновлень на основі id.
Для npm-встановлень ви також можете передати явну специфікацію npm-пакета з dist-tag або точною версією. OpenClaw зіставляє цю назву пакета назад із відстежуваним записом плагіна, оновлює цей встановлений плагін і записує нову npm-специфікацію для майбутніх оновлень на основі id.
Передавання назви npm пакета без версії або тегу також зіставляється назад із відстежуваним записом плагіна. Використовуйте це, коли плагін було закріплено на точній версії, і ви хочете повернути його до типової лінії релізів реєстру.
Передання назви npm-пакета без версії або тега також зіставляється назад із відстежуваним записом плагіна. Використовуйте це, коли плагін було закріплено на точній версії, і ви хочете повернути його до стандартної лінії випусків реєстру.
</Accordion>
<Accordion title="Оновлення beta-каналу">
`openclaw plugins update` повторно використовує відстежувану специфікацію плагіна, якщо ви не передаєте нову специфікацію. `openclaw update` додатково знає активний канал оновлень OpenClaw: на beta-каналі записи npm і ClawHub плагінів типової лінії спочатку пробують `@beta`, а потім повертаються до записаної типової/latest специфікації, якщо beta-релізу плагіна не існує. Точні версії та явні теги залишаються закріпленими на цьому селекторі.
<Accordion title="Beta channel updates">
`openclaw plugins update` повторно використовує відстежувану специфікацію плагіна, якщо ви не передасте нову специфікацію. `openclaw update` додатково знає активний канал оновлення OpenClaw: на beta-каналі записи npm і плагінів ClawHub зі стандартної лінії спершу пробують `@beta`, а потім повертаються до записаної специфікації default/latest, якщо beta-випуску плагіна не існує. Точні версії та явні теги залишаються закріпленими на цьому селекторі.
</Accordion>
<Accordion title="Перевірки версій і дрейф цілісності">
Перед живим npm оновленням OpenClaw перевіряє встановлену версію пакета щодо метаданих npm реєстру. Якщо встановлена версія та записана ідентичність артефакта вже відповідають вирішеній цілі, оновлення пропускається без завантаження, перевстановлення або перезапису `openclaw.json`.
<Accordion title="Version checks and integrity drift">
Перед живим npm-оновленням OpenClaw перевіряє встановлену версію пакета відносно метаданих npm-реєстру. Якщо встановлена версія та записана ідентичність артефакта вже відповідають розв'язаній цілі, оновлення пропускається без завантаження, повторного встановлення або перезапису `openclaw.json`.
Коли існує збережений хеш цілісності й хеш отриманого артефакта змінюється, OpenClaw трактує це як дрейф npm артефакта. Інтерактивна команда `openclaw plugins update` друкує очікуваний і фактичний хеші та просить підтвердження перед продовженням. Неінтерактивні помічники оновлення завершуються із забороною, якщо викликач не надає явну політику продовження.
Коли існує збережений хеш цілісності й хеш отриманого артефакта змінюється, OpenClaw трактує це як дрейф npm-артефакта. Інтерактивна команда `openclaw plugins update` друкує очікуваний і фактичний хеші та запитує підтвердження перед продовженням. Неінтерактивні помічники оновлення завершуються закрито, якщо викликач не надає явну політику продовження.
</Accordion>
<Accordion title="--dangerously-force-unsafe-install під час update">
`--dangerously-force-unsafe-install` також доступний у `plugins update` як аварійний обхід для хибних спрацьовувань вбудованого сканування небезпечного коду під час оновлень плагінів. Він усе одно не обходить блокування політики плагіна `before_install` або блокування через збій сканування, і застосовується лише до оновлень плагінів, а не до оновлень hook-pack.
<Accordion title="--dangerously-force-unsafe-install on update">
`--dangerously-force-unsafe-install` також доступний у `plugins update` як аварійне перевизначення для хибних спрацювань вбудованого сканування небезпечного коду під час оновлень плагінів. Він усе одно не обходить блокування політики `before_install` плагіна або блокування через помилки сканування, і застосовується лише до оновлень плагінів, а не до оновлень hook-pack.
</Accordion>
</AccordionGroup>
@ -353,21 +353,21 @@ openclaw plugins inspect <id> --runtime
openclaw plugins inspect <id> --json
```
Inspect показує ідентичність, стан завантаження, джерело, можливості маніфесту, прапорці політики, діагностику, метадані встановлення, можливості пакета та будь-яку виявлену підтримку MCP або LSP серверів без імпорту runtime-коду плагіна за замовчуванням. Додайте `--runtime`, щоб завантажити модуль плагіна й включити зареєстровані хуки, інструменти, команди, служби, методи Gateway і HTTP маршрути. Runtime-інспекція повідомляє про відсутні залежності плагіна напряму; встановлення та виправлення залишаються в `openclaw plugins install`, `openclaw plugins update` і `openclaw doctor --fix`.
Інспекція показує ідентичність, стан завантаження, джерело, можливості маніфесту, прапорці політики, діагностику, метадані встановлення, можливості бандла та будь-яку виявлену підтримку серверів MCP або LSP без імпорту runtime плагіна за замовчуванням. Додайте `--runtime`, щоб завантажити модуль плагіна та включити зареєстровані хуки, інструменти, команди, сервіси, методи gateway і HTTP-маршрути. Runtime-інспекція повідомляє про відсутні залежності плагіна напряму; встановлення та виправлення залишаються в `openclaw plugins install`, `openclaw plugins update` і `openclaw doctor --fix`.
Команди CLI, що належать плагінам, установлюються як кореневі групи команд `openclaw`. Після того як `inspect --runtime` покаже команду в `cliCommands`, запускайте її як `openclaw <command> ...`; наприклад, плагін, який реєструє `demo-git`, можна перевірити за допомогою `openclaw demo-git ping`.
Команди CLI, якими володіє плагін, встановлюються як кореневі групи команд `openclaw`. Після того як `inspect --runtime` покаже команду під `cliCommands`, запустіть її як `openclaw <command> ...`; наприклад, плагін, який реєструє `demo-git`, можна перевірити за допомогою `openclaw demo-git ping`.
Кожен плагін класифікується за тим, що він фактично реєструє під час роботи:
- **plain-capability** — один тип можливостей (наприклад, плагін лише провайдера)
- **plain-capability** — один тип можливості (наприклад, плагін лише провайдера)
- **hybrid-capability** — кілька типів можливостей (наприклад, текст + мовлення + зображення)
- **hook-only** — лише хуки, без можливостей або поверхонь
- **non-capability** — інструменти/команди/служби, але без можливостей
- **non-capability** — інструменти/команди/сервіси, але без можливостей
Докладніше про модель можливостей див. у [Формах Plugin](/uk/plugins/architecture#plugin-shapes).
Див. [Форми плагінів](/uk/plugins/architecture#plugin-shapes), щоб дізнатися більше про модель можливостей.
<Note>
Прапорець `--json` виводить машинозчитуваний звіт, придатний для сценаріїв і аудиту. `inspect --all` відображає таблицю для всього набору з колонками форми, типів можливостей, сповіщень сумісності, можливостей пакета та зведення хуків. `info` є псевдонімом для `inspect`.
Прапорець `--json` виводить машиночитний звіт, придатний для скриптів і аудиту. `inspect --all` відображає таблицю для всього парку з формою, видами можливостей, повідомленнями сумісності, можливостями бандлів і колонками підсумку хуків. `info` є псевдонімом для `inspect`.
</Note>
### Doctor
@ -376,11 +376,11 @@ Inspect показує ідентичність, стан завантаженн
openclaw plugins doctor
```
`doctor` повідомляє про помилки завантаження плагінів, діагностику маніфесту/виявлення та сповіщення сумісності. Коли все чисто, він друкує `No plugin issues detected.`
`doctor` повідомляє про помилки завантаження плагінів, діагностику маніфестів/виявлення та повідомлення сумісності. Коли все чисто, він друкує `No plugin issues detected.`
Якщо налаштований плагін присутній на диску, але заблокований перевірками безпеки шляхів завантажувача, перевірка конфігурації зберігає запис плагіна й повідомляє про нього як `present but blocked`. Виправте попередню діагностику заблокованого плагіна, наприклад власника шляху або дозволи на запис для всіх, замість видалення конфігурації `plugins.entries.<id>` або `plugins.allow`.
Якщо налаштований плагін присутній на диску, але заблокований перевірками безпеки шляхів завантажувача, перевірка конфігурації зберігає запис плагіна та повідомляє про нього як `present but blocked`. Виправте попередню діагностику заблокованого плагіна, наприклад власника шляху або дозволи world-writable, замість видалення конфігурації `plugins.entries.<id>` або `plugins.allow`.
Для збоїв форми модуля, як-от відсутні експорти `register`/`activate`, повторно запустіть із `OPENCLAW_PLUGIN_LOAD_DEBUG=1`, щоб включити компактне зведення форми експортів у діагностичний вивід.
Для збоїв форми модуля, як-от відсутні експорти `register`/`activate`, повторно запустіть із `OPENCLAW_PLUGIN_LOAD_DEBUG=1`, щоб включити компактний підсумок форми експортів у діагностичний вивід.
### Реєстр
@ -390,12 +390,12 @@ openclaw plugins registry --refresh
openclaw plugins registry --json
```
Локальний реєстр плагінів — це збережена холодна модель читання OpenClaw для ідентичності встановлених плагінів, увімкнення, метаданих джерела та власності внесків. Звичайний запуск, пошук власника провайдера, класифікація налаштування каналу та інвентар плагінів можуть читати його без імпорту runtime-модулів плагінів.
Локальний реєстр плагінів — це збережена в OpenClaw модель холодного читання для ідентичності встановлених плагінів, стану ввімкнення, метаданих джерела та власності внесків. Звичайний запуск, пошук власника провайдера, класифікація налаштування каналу та інвентар плагінів можуть читати його без імпорту runtime-модулів плагінів.
Використовуйте `plugins registry`, щоб перевірити, чи збережений реєстр наявний, актуальний або застарілий. Використовуйте `--refresh`, щоб перебудувати його зі збереженого індексу Plugin, політики конфігурації та метаданих маніфесту/пакета. Це шлях відновлення, а не шлях активації під час виконання.
<Warning>
`OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1` — застарілий аварійний перемикач сумісності для збоїв читання реєстру. Надавайте перевагу `plugins registry --refresh` або `openclaw doctor --fix`; резервний варіант через env призначений лише для екстреного відновлення запуску, поки розгортається міграція.
`OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1` — застарілий аварійний перемикач сумісності для збоїв читання реєстру. Надавайте перевагу `plugins registry --refresh` або `openclaw doctor --fix`; резервний варіант через змінну середовища призначений лише для аварійного відновлення запуску, поки міграція розгортається.
</Warning>
### Маркетплейс
@ -405,10 +405,10 @@ openclaw plugins marketplace list <source>
openclaw plugins marketplace list <source> --json
```
Список маркетплейсу приймає локальний шлях маркетплейсу, шлях `marketplace.json`, скорочений запис GitHub на кшталт `owner/repo`, URL репозиторію GitHub або git URL. `--json` виводить мітку розв’язаного джерела, а також розібраний маніфест маркетплейсу й записи Plugin.
Список маркетплейсу приймає локальний шлях до маркетплейсу, шлях до `marketplace.json`, скорочений запис GitHub на кшталт `owner/repo`, URL репозиторію GitHub або git URL. `--json` виводить визначену мітку джерела разом із розібраним маніфестом маркетплейсу та записами Plugin.
## Пов’язане
- [Створення Plugin](/uk/plugins/building-plugins)
- [Довідник CLI](/uk/cli)
- [Plugin спільноти](/uk/plugins/community)
- [Спільнотні Plugin](/uk/plugins/community)

View File

@ -1,23 +1,28 @@
---
read_when:
- Налаштування видимих оновлень прогресу для тривалих чат-взаємодій
- Вибір між режимами потокового передавання partial, block і progress
- Пояснення, як OpenClaw оновлює одне повідомлення в каналі, поки триває робота
- Усунення несправностей із чернетками прогресу, окремими повідомленнями про прогрес або резервним механізмом фіналізації
summary: 'Чернетки прогресу: одне видиме повідомлення про хід виконання, яке оновлюється під час роботи агента'
- Налаштування видимих оновлень перебігу для тривалих ходів у чаті
- Вибір між частковим, блоковим і прогресивним режимами потокової передачі
- Пояснення того, як OpenClaw оновлює одне повідомлення каналу під час виконання роботи
- Усунення проблем із чернетками перебігу, окремими повідомленнями про перебіг або резервним завершенням
summary: 'Чернетки прогресу: одне видиме повідомлення про поточну роботу, яке оновлюється, поки працює агент'
title: Чернетки прогресу
x-i18n:
generated_at: "2026-05-04T02:55:03Z"
generated_at: "2026-05-04T04:44:04Z"
model: gpt-5.5
provider: openai
source_hash: c80397550032903e7c114649b0e3246884c4ab051bc36d2d09fd0b242f4c0c55
source_hash: f78c07866cd7f613012a80a40413e5866c1dd2edd477088f9fc141347f5f3788
source_path: concepts/progress-drafts.md
workflow: 16
---
Чернетки прогресу роблять тривалі ходи агента живими в чаті, не перетворюючи розмову на стос тимчасових відповідей зі статусом.
Чернетки прогресу роблять тривалі кроки агента живими в чаті, не перетворюючи
розмову на стос тимчасових відповідей зі статусом.
Коли чернетки прогресу ввімкнено, OpenClaw створює одне видиме повідомлення з незавершеною роботою лише після того, як хід доведе, що справді виконує роботу, оновлює його, поки агент читає, планує, викликає інструменти або чекає на схвалення, а потім перетворює цю чернетку на фінальну відповідь, коли канал може зробити це безпечно.
Коли чернетки прогресу ввімкнено, OpenClaw створює одне видиме повідомлення
про роботу в процесі лише після того, як крок доводить, що виконує реальну
роботу, оновлює його, поки агент читає, планує, викликає інструменти або чекає
на схвалення, а потім перетворює цю чернетку на фінальну відповідь, коли канал
може зробити це безпечно.
```text
Shelling...
@ -26,11 +31,13 @@ Shelling...
🛠️ Exec: run tests
```
Використовуйте чернетки прогресу, коли потрібне одне охайне статусне повідомлення під час роботи з великою кількістю інструментів і фінальна відповідь після завершення ходу.
Використовуйте чернетки прогресу, коли потрібне одне охайне статусне
повідомлення під час роботи з великою кількістю інструментів і фінальна
відповідь після завершення кроку.
## Швидкий старт
Увімкніть чернетки прогресу для кожного каналу за допомогою `streaming.mode: "progress"`:
Увімкніть чернетки прогресу для кожного каналу через `streaming.mode: "progress"`:
```json5
{
@ -44,7 +51,10 @@ Shelling...
}
```
Зазвичай цього достатньо. OpenClaw вибере автоматичну мітку з одного слова, зачекає, доки робота триватиме щонайменше п’ять секунд або видасть другу робочу подію, додаватиме компактні рядки прогресу, поки відбувається корисна робота, і придушуватиме дубльований окремий прогресний шум для цього ходу.
Зазвичай цього достатньо. OpenClaw вибере автоматичну мітку з одного слова,
зачекає, доки робота триватиме щонайменше п’ять секунд або створить другу
робочу подію, додаватиме компактні рядки прогресу під час корисної роботи та
пригнічуватиме дублікати окремого службового прогресу для цього кроку.
## Що бачать користувачі
@ -53,33 +63,48 @@ Shelling...
| Частина | Призначення |
| --------------- | --------------------------------------------------------------------------- |
| Мітка | Короткий заголовок, наприклад `Thinking...` або `Shelling...`. |
| Рядки прогресу | Компактні оновлення запуску з тими самими мітками інструментів та іконками, що й у докладному виводі. |
| Рядки прогресу | Компактні оновлення запуску з тими самими мітками й іконками інструментів, що й у докладному виводі. |
Мітка з’являється після того, як агент починає змістовну роботу й або залишається зайнятим протягом п’яти секунд, або видає другу робочу подію. Відповіді лише простим текстом не показують чернетку прогресу. Рядки прогресу додаються лише тоді, коли агент видає корисні робочі оновлення, наприклад `🛠️ Exec`, `🔎 Web Search` або `✍️ Write: to /tmp/file`. Типово вони використовують той самий компактний режим пояснення, що й `/verbose`; задайте `agents.defaults.toolProgressDetail: "raw"` під час налагодження, якщо також потрібне додавання сирих команд/подробиць.
Фінальна відповідь замінює чернетку, коли це можливо; інакше OpenClaw надсилає фінальну відповідь звичайним способом і очищає або припиняє оновлювати чернетку відповідно до транспорту каналу.
Мітка з’являється після того, як агент починає змістовну роботу і або
залишається зайнятим п’ять секунд, або створює другу робочу подію. Відповіді
лише звичайним текстом не показують чернетку прогресу. Рядки прогресу
додаються лише тоді, коли агент створює корисні оновлення роботи, наприклад
`🛠️ Exec`, `🔎 Web Search` або `✍️ Write: to /tmp/file`.
За замовчуванням вони використовують той самий компактний режим пояснення, що й
`/verbose`; установіть `agents.defaults.toolProgressDetail: "raw"` під час
налагодження, якщо також потрібне додавання сирих команд або деталей.
Фінальна відповідь замінює чернетку, коли це можливо; інакше OpenClaw надсилає
фінальну відповідь звичайним способом і очищає або припиняє оновлювати чернетку
відповідно до транспорту каналу.
## Вибір режиму
`channels.<channel>.streaming.mode` керує видимою поведінкою під час виконання:
`channels.<channel>.streaming.mode` керує видимою поведінкою роботи в процесі:
| Режим | Найкраще для | Що з’являється в чаті |
| ---------- | ------------------------------------ | -------------------------------------------------- |
| `off` | Тихих каналів | Лише фінальна відповідь. |
| `partial` | Спостереження за появою тексту відповіді | Одна чернетка, відредагована з найновішим текстом відповіді. |
| `block` | Більших фрагментів попереднього перегляду відповіді | Один попередній перегляд, який оновлюється або доповнюється більшими фрагментами. |
| `progress` | Ходів із багатьма інструментами або тривалим виконанням | Одна статусна чернетка, потім фінальна відповідь. |
| Режим | Найкраще для | Що з’являється в чаті |
| ---------- | -------------------------------- | ------------------------------------------------- |
| `off` | Тихі канали | Лише фінальна відповідь. |
| `partial` | Спостереження за появою тексту відповіді | Одна чернетка, що редагується найновішим текстом відповіді. |
| `block` | Більші фрагменти попереднього перегляду відповіді | Один попередній перегляд, що оновлюється або доповнюється більшими фрагментами. |
| `progress` | Кроки з великою кількістю інструментів або тривалі кроки | Одна статусна чернетка, потім фінальна відповідь. |
Вибирайте `progress`, коли користувачам важливіше знати, «що відбувається», ніж бачити потокове надходження тексту відповіді токен за токеном.
Вибирайте `progress`, коли користувачам важливіше бачити, «що відбувається», ніж
спостерігати за потоковою передачею тексту відповіді токен за токеном.
Вибирайте `partial`, коли сама відповідь є сигналом прогресу.
Вибирайте `block`, коли потрібні оновлення чернетки попереднього перегляду більшими текстовими фрагментами. У Discord і Telegram `streaming.mode: "block"` усе ще означає потоковий попередній перегляд, а не звичайну блокову доставку. Використовуйте `streaming.block.enabled` або застарілий `blockStreaming`, коли потрібні звичайні блокові відповіді.
Вибирайте `block`, коли потрібні оновлення чернетки попереднього перегляду
більшими текстовими фрагментами. У Discord і Telegram `streaming.mode: "block"`
досі є потоковим попереднім переглядом, а не звичайною блочною доставкою.
Використовуйте `streaming.block.enabled` або застарілий `blockStreaming`, коли
потрібні звичайні блочні відповіді.
## Налаштування міток
Мітки прогресу розташовані в `channels.<channel>.streaming.progress`.
Мітки прогресу розміщено в `channels.<channel>.streaming.progress`.
Типова мітка — `auto`, яка вибирає з вбудованого в OpenClaw набору міток з одного слова з трьома крапками:
Типова мітка — `auto`, що вибирає з вбудованого в OpenClaw набору міток
«одне слово з трьома крапками»:
```text
Thinking...
@ -139,7 +164,7 @@ Surfacing...
}
```
Приховайте мітку й показуйте лише рядки прогресу:
Сховайте мітку й показуйте лише рядки прогресу:
```json5
{
@ -158,9 +183,12 @@ Surfacing...
## Керування рядками прогресу
Рядки прогресу ввімкнено типово в режимі прогресу. Вони походять із реальних подій запуску: запусків інструментів, оновлень елементів, планів завдань, схвалень, виводу команд, підсумків патчів і подібної активності агента.
Рядки прогресу ввімкнено за замовчуванням у режимі прогресу. Вони надходять із
реальних подій запуску: стартів інструментів, оновлень елементів, планів
завдань, схвалень, виводу команд, підсумків патчів і подібної активності агента.
OpenClaw використовує той самий форматер для чернеток прогресу й `/verbose`:
OpenClaw використовує той самий форматувальник для чернеток прогресу й
`/verbose`:
```json5
{
@ -172,9 +200,12 @@ OpenClaw використовує той самий форматер для че
}
```
`"explain"` є типовим і зберігає чернетки стабільними завдяки стислим міткам на кшталт `🛠️ Exec: check JS syntax for /tmp/app.js`. `"raw"` додає базову команду/подробицю, коли вона доступна, що корисно під час налагодження, але створює більше шуму в чаті.
`"explain"` є типовим значенням і зберігає чернетки стабільними завдяки стислим
міткам на кшталт `🛠️ Exec: check JS syntax for /tmp/app.js`. `"raw"` додає
базову команду або деталь, коли вона доступна; це корисно під час налагодження,
але створює більше шуму в чаті.
Наприклад, одна й та сама команда виглядає по-різному залежно від режиму деталізації:
Наприклад, та сама команда виглядає по-різному залежно від режиму деталізації:
| Режим | Рядок прогресу |
| --------- | -------------------------------------------------------------------- |
@ -198,11 +229,36 @@ OpenClaw використовує той самий форматер для че
}
```
Рядки прогресу автоматично ущільнюються, щоб зменшити переливання бульбашки чату під час редагування чернетки.
Рядки прогресу автоматично ущільнюються, щоб зменшити переформатування бульбашки чату під час редагування чернетки.
OpenClaw типово обрізає довгі рядки прогресу, щоб повторні редагування чернетки не переносилися по-різному під час кожного оновлення. Префікс залишається читабельним, а довгі подробиці, як-от шляхи або сирі команди, скорочуються трьома крапками.
OpenClaw за замовчуванням обрізає довгі рядки прогресу, щоб повторні
редагування чернетки не переносилися по-різному під час кожного оновлення.
Префікс залишається читабельним, а довгі деталі, як-от шляхи або сирі команди,
скорочуються з трьома крапками.
Залиште одну чернетку прогресу, але приховайте рядки інструментів і завдань:
Slack може відтворювати рядки прогресу як структуровані поля Block Kit замість
одного текстового тіла:
```json5
{
channels: {
slack: {
streaming: {
mode: "progress",
progress: {
render: "rich",
},
},
},
},
}
```
Розширене відтворення зберігає той самий резервний варіант простим текстом, щоб
канали й клієнти, які не підтримують багатшу форму, усе одно могли показувати
компактний текст прогресу.
Збережіть одну чернетку прогресу, але сховайте рядки інструментів і завдань:
```json5
{
@ -219,58 +275,81 @@ OpenClaw типово обрізає довгі рядки прогресу, щ
}
```
З `toolProgress: false` OpenClaw усе одно придушує старіші окремі повідомлення прогресу інструментів для цього ходу. Канал залишається візуально тихим до фінальної відповіді, за винятком мітки, якщо її налаштовано.
З `toolProgress: false` OpenClaw усе одно пригнічує старі окремі повідомлення
про прогрес інструментів для цього кроку. Канал залишається візуально тихим до
фінальної відповіді, за винятком мітки, якщо її налаштовано.
## Поведінка каналів
Кожен канал використовує найчистіший транспорт, який він підтримує:
Кожен канал використовує найчистіший транспорт, який підтримує:
| Канал | Транспорт прогресу | Примітки |
| --------------- | ------------------------------------- | --------------------------------------------------------------------- |
| Discord | Надіслати одне повідомлення, потім редагувати його. | Фінальний текст редагується на місці, коли він уміщується в одне безпечне повідомлення попереднього перегляду. |
| Matrix | Надіслати одну подію, потім редагувати її. | Конфігурація потокового передавання на рівні облікового запису керує чернетками на рівні облікового запису. |
| Microsoft Teams | Нативний потік Teams в особистих чатах. | `streaming.mode: "block"` зіставляється з блоковою доставкою Teams. |
| Slack | Нативний потік або редагований допис-чернетка. | Доступність треду впливає на те, чи можна використовувати нативне потокове передавання. |
| Telegram | Надіслати одне повідомлення, потім редагувати його. | Старіші видимі чернетки можуть замінюватися, щоб фінальні часові позначки залишалися корисними. |
| Mattermost | Редагований допис-чернетка. | Активність інструментів згортається в той самий допис у стилі чернетки. |
| --------------- | -------------------------------------- | --------------------------------------------------------------------- |
| Discord | Надсилає одне повідомлення, потім редагує його. | Фінальний текст редагується на місці, коли вміщується в одне безпечне повідомлення попереднього перегляду. |
| Matrix | Надсилає одну подію, потім редагує її. | Конфігурація потокової передачі на рівні облікового запису керує чернетками на рівні облікового запису. |
| Microsoft Teams | Нативний потік Teams у приватних чатах. | `streaming.mode: "block"` відповідає блочній доставці Teams. |
| Slack | Нативний потік або редагований допис-чернетка. | Доступність гілки впливає на те, чи можна використовувати нативну потокову передачу. |
| Telegram | Надсилає одне повідомлення, потім редагує його. | Старі видимі чернетки можуть бути замінені, щоб фінальні часові мітки залишалися корисними. |
| Mattermost | Редагований допис-чернетка. | Активність інструментів згортається в той самий допис у стилі чернетки. |
Канали без безпечної підтримки редагування зазвичай повертаються до індикаторів набору тексту або доставки лише фінальної відповіді.
Канали без безпечної підтримки редагування зазвичай повертаються до індикаторів
набору тексту або доставки лише фінальної відповіді.
## Фіналізація
## Завершення
Коли фінальна відповідь готова, OpenClaw намагається зберегти чат чистим:
- Якщо чернетка може безпечно стати фінальною відповіддю, OpenClaw редагує її на місці.
- Якщо канал використовує нативне потокове передавання прогресу, OpenClaw фіналізує цей потік, коли нативний транспорт приймає фінальний текст.
- Якщо фінальна відповідь містить медіа, запит на схвалення, явну ціль відповіді, забагато фрагментів або невдале редагування/надсилання, OpenClaw надсилає фінальну відповідь через звичайний шлях доставки каналу.
- Якщо канал використовує нативну потокову передачу прогресу, OpenClaw
завершує цей потік, коли нативний транспорт приймає фінальний текст.
- Якщо фінальна відповідь має медіа, запит на схвалення, явну ціль відповіді,
забагато фрагментів або невдале редагування/надсилання, OpenClaw надсилає
фінальну відповідь через звичайний шлях доставки каналу.
Резервний шлях є навмисним. Краще надіслати свіжу фінальну відповідь, ніж втратити текст, помилитися з тредом відповіді або перезаписати чернетку корисним навантаженням, яке канал не може безпечно представити.
Резервний шлях є навмисним. Краще надіслати нову фінальну відповідь, ніж
втратити текст, помилково прив’язати відповідь до гілки або перезаписати
чернетку вмістом, який канал не може безпечно представити.
## Усунення несправностей
**Я бачу лише фінальну відповідь.**
Перевірте, що `channels.<channel>.streaming.mode` встановлено в `progress` для облікового запису або каналу, який обробив повідомлення. Деякі шляхи груп або відповідей із цитуванням можуть вимикати попередні перегляди чернеток для ходу, коли канал не може безпечно редагувати правильне повідомлення.
Перевірте, що `channels.<channel>.streaming.mode` встановлено на `progress` для
облікового запису або каналу, який обробив повідомлення. Деякі шляхи груп або
відповідей із цитуванням можуть вимикати попередні перегляди чернеток для кроку,
коли канал не може безпечно редагувати потрібне повідомлення.
**Я бачу мітку, але не бачу рядків інструментів.**
Перевірте `streaming.progress.toolProgress`. Якщо це `false`, OpenClaw зберігає поведінку з однією чернеткою, але приховує рядки прогресу інструментів і завдань.
Перевірте `streaming.progress.toolProgress`. Якщо значення `false`, OpenClaw
зберігає поведінку однієї чернетки, але ховає рядки прогресу інструментів і
завдань.
**Я бачу нове фінальне повідомлення замість відредагованої чернетки.**
Це безпечний резервний варіант. Таке може статися для відповідей із медіа, довгих відповідей, явних цілей відповіді, старих чернеток Telegram, відсутніх цілей тредів Slack, видалених повідомлень попереднього перегляду або невдалої фіналізації нативного потоку.
Це безпечний резервний варіант. Таке може статися для відповідей із медіа,
довгих відповідей, явних цілей відповіді, старих чернеток Telegram, відсутніх
цілей гілок Slack, видалених повідомлень попереднього перегляду або невдалого
завершення нативного потоку.
**Я все ще бачу окремі повідомлення прогресу.**
**Я все ще бачу окремі повідомлення про прогрес.**
Режим прогресу придушує типові окремі повідомлення прогресу інструментів, коли чернетка активна. Якщо окремі повідомлення все ще з’являються, перевірте, що хід справді використовує режим прогресу, а не `streaming.mode: "off"` або шлях каналу, який не може створити чернетку для цього повідомлення.
Режим прогресу пригнічує типові окремі повідомлення про прогрес інструментів,
коли чернетка активна. Якщо окремі повідомлення все ще з’являються, перевірте,
що крок справді використовує режим прогресу, а не `streaming.mode: "off"` або
шлях каналу, який не може створити чернетку для цього повідомлення.
**Teams поводиться інакше, ніж Discord або Telegram.**
Microsoft Teams використовує нативний потік в особистих чатах замість загального транспорту попереднього перегляду з надсиланням і редагуванням. Teams також трактує `streaming.mode: "block"` як блокову доставку Teams, оскільки не має того самого блокового режиму попереднього перегляду чернетки, який використовують Discord і Telegram.
Microsoft Teams використовує нативний потік у приватних чатах замість
універсального транспорту попереднього перегляду «надіслати й редагувати».
Teams також трактує `streaming.mode: "block"` як блочну доставку Teams, тому що
в ньому немає такого самого блочного режиму попереднього перегляду чернетки, який
використовують Discord і Telegram.
## Пов’язане
- [Потокове передавання й розбиття на фрагменти](/uk/concepts/streaming)
- [Потокова передача й фрагментація](/uk/concepts/streaming)
- [Повідомлення](/uk/concepts/messages)
- [Конфігурація каналів](/uk/gateway/config-channels)
- [Discord](/uk/channels/discord)