diff --git a/docs/uk/cli/plugins.md b/docs/uk/cli/plugins.md index 3b73989ce..75317c968 100644 --- a/docs/uk/cli/plugins.md +++ b/docs/uk/cli/plugins.md @@ -1,27 +1,27 @@ --- read_when: - - Ви хочете встановити або керувати плагінами Gateway чи сумісними наборами пакунків - - Ви хочете налагодити збої завантаження плагінів -summary: Довідник CLI для `openclaw plugins` (список, встановлення, marketplace, видалення, увімкнення/вимкнення, doctor) + - Ви хочете встановити або керувати плагінами Gateway чи сумісними збірками + - Ви хочете налагодити збої завантаження Plugin +summary: Довідник CLI для `openclaw plugins` (list, install, marketplace, uninstall, enable/disable, doctor) title: Плагіни x-i18n: - generated_at: "2026-04-24T03:15:52Z" + generated_at: "2026-04-24T14:42:39Z" model: gpt-5.4 provider: openai - source_hash: 35ef8f54c64ea52d7618a0ef8b90d3d75841a27ae4cd689b4ca8e0cfdcddc408 + source_hash: bc693d5e3bc49057e1a108ba65a4dcb3bb662c00229e6fa38a0335afba8240e5 source_path: cli/plugins.md workflow: 15 --- # `openclaw plugins` -Керуйте плагінами Gateway, наборами hook-ів і сумісними наборами пакунків. +Керуйте плагінами Gateway, наборами хуків і сумісними збірками. Пов’язане: -- Система плагінів: [Плагіни](/uk/tools/plugin) -- Сумісність наборів пакунків: [Набори пакунків плагінів](/uk/plugins/bundles) -- Маніфест плагіна + схема: [Маніфест плагіна](/uk/plugins/manifest) +- Система Plugin: [Плагіни](/uk/tools/plugin) +- Сумісність збірок: [Збірки Plugin](/uk/plugins/bundles) +- Маніфест Plugin і схема: [Маніфест Plugin](/uk/plugins/manifest) - Посилення безпеки: [Безпека](/uk/gateway/security) ## Команди @@ -46,11 +46,11 @@ openclaw plugins marketplace list openclaw plugins marketplace list --json ``` -Вбудовані плагіни постачаються разом з OpenClaw. Деякі з них увімкнені за замовчуванням (наприклад, вбудовані провайдери моделей, вбудовані провайдери мовлення та вбудований browser plugin); інші потребують `plugins enable`. +Вбудовані плагіни постачаються разом з OpenClaw. Деякі з них увімкнені типово (наприклад, вбудовані провайдери моделей, вбудовані провайдери мовлення та вбудований browser plugin); інші потребують `plugins enable`. -Нативні плагіни OpenClaw мають постачатися з `openclaw.plugin.json` із вбудованою JSON Schema (`configSchema`, навіть якщо вона порожня). Сумісні набори пакунків натомість використовують власні маніфести наборів пакунків. +Нативні плагіни OpenClaw мають постачатися з `openclaw.plugin.json` із вбудованою JSON Schema (`configSchema`, навіть якщо вона порожня). Натомість сумісні збірки використовують власні маніфести збірок. -`plugins list` показує `Format: openclaw` або `Format: bundle`. Докладний вивід list/info також показує підтип набору пакунків (`codex`, `claude` або `cursor`), а також виявлені можливості набору пакунків. +`plugins list` показує `Format: openclaw` або `Format: bundle`. Докладний вивід list/info також показує підтип збірки (`codex`, `claude` або `cursor`), а також виявлені можливості збірки. ### Встановлення @@ -66,33 +66,33 @@ openclaw plugins install --marketplace # marketplace (явно) openclaw plugins install --marketplace https://github.com// ``` -Прості назви пакунків спочатку перевіряються в ClawHub, а потім у npm. Примітка щодо безпеки: ставтеся до встановлення плагінів так само, як до виконання коду. Віддавайте перевагу зафіксованим версіям. +Неповні назви пакетів спочатку перевіряються в ClawHub, а потім у npm. Примітка щодо безпеки: ставтеся до встановлення плагінів як до запуску коду. Надавайте перевагу зафіксованим версіям. -Якщо ваш розділ `plugins` підтримується однофайловим `$include`, `plugins install/update/enable/disable/uninstall` записують зміни до цього включеного файла й залишають `openclaw.json` без змін. Кореневі include, масиви include та include із сусідніми перевизначеннями завершуються безпечною відмовою замість сплощення. Підтримувані форми див. у [Config includes](/uk/gateway/configuration). +Якщо ваш розділ `plugins` підтримується одним файлом `$include`, то `plugins install/update/enable/disable/uninstall` записують зміни в цей включений файл і не змінюють `openclaw.json`. Кореневі include, масиви include та include із сусідніми перевизначеннями безпечно завершуються з помилкою замість сплощення. Підтримувані форми див. у [Config includes](/uk/gateway/configuration). -Якщо конфігурація недійсна, `plugins install` зазвичай безпечно завершується з відмовою та пропонує спочатку виконати `openclaw doctor --fix`. Єдиний документований виняток — вузький шлях відновлення для вбудованих плагінів, які явно підключають `openclaw.install.allowInvalidConfigRecovery`. +Якщо конфігурація невалідна, `plugins install` зазвичай безпечно завершується з помилкою та радить спочатку виконати `openclaw doctor --fix`. Єдиний задокументований виняток — вузький шлях відновлення вбудованого плагіна для плагінів, які явно вмикають `openclaw.install.allowInvalidConfigRecovery`. -`--force` повторно використовує наявну ціль встановлення й перезаписує вже встановлений плагін або набір hook-ів на місці. Використовуйте його, коли ви свідомо перевстановлюєте той самий id з нового локального шляху, архіву, пакунка ClawHub або npm-артефакту. Для звичайних оновлень уже відстежуваного npm-плагіна краще використовувати `openclaw plugins update `. +`--force` повторно використовує наявну ціль встановлення та перезаписує вже встановлений плагін або набір хуків на місці. Використовуйте це, коли ви свідомо перевстановлюєте той самий id з нового локального шляху, архіву, пакета ClawHub або артефакту npm. Для звичайних оновлень уже відстежуваного npm-плагіна надавайте перевагу `openclaw plugins update `. -Якщо ви запускаєте `plugins install` для id плагіна, який уже встановлено, OpenClaw зупиняється й спрямовує вас до `plugins update ` для звичайного оновлення або до `plugins install --force`, якщо ви справді хочете перезаписати поточне встановлення з іншого джерела. +Якщо ви запускаєте `plugins install` для id плагіна, який уже встановлено, OpenClaw зупиняється та вказує на `plugins update ` для звичайного оновлення або на `plugins install --force`, якщо ви дійсно хочете перезаписати поточне встановлення з іншого джерела. -`--pin` застосовується лише до npm-встановлень. Він не підтримується з `--marketplace`, оскільки встановлення з marketplace зберігають метадані джерела marketplace, а не специфікацію npm. +`--pin` застосовується лише до встановлень npm. Його не підтримано з `--marketplace`, оскільки встановлення з marketplace зберігають метадані джерела marketplace, а не специфікацію npm. -`--dangerously-force-unsafe-install` — це аварійний параметр для хибнопозитивних спрацьовувань у вбудованому сканері небезпечного коду. Він дозволяє продовжити встановлення, навіть коли вбудований сканер повідомляє про результати `critical`, але **не** обходить блокування політикою hook-а `before_install` плагіна і **не** обходить збої сканування. +`--dangerously-force-unsafe-install` — це аварійний параметр для хибнопозитивних спрацювань вбудованого сканера небезпечного коду. Він дозволяє продовжити встановлення навіть тоді, коли вбудований сканер повідомляє про знахідки рівня `critical`, але **не** обходить блокування політики хуків плагіна `before_install` і **не** обходить збої сканування. -Цей прапорець CLI застосовується до потоків встановлення/оновлення плагінів. Встановлення залежностей Skills через Gateway використовують відповідне перевизначення запиту `dangerouslyForceUnsafeInstall`, тоді як `openclaw skills install` залишається окремим потоком завантаження/встановлення Skills із ClawHub. +Цей прапорець CLI застосовується до потоків встановлення/оновлення плагінів. Встановлення залежностей Skills, що використовують Gateway, застосовують відповідне перевизначення запиту `dangerouslyForceUnsafeInstall`, тоді як `openclaw skills install` залишається окремим потоком завантаження/встановлення Skills з ClawHub. -`plugins install` також є поверхнею встановлення для наборів hook-ів, які оголошують `openclaw.hooks` у `package.json`. Для відфільтрованої видимості hook-ів і ввімкнення окремих hook-ів використовуйте `openclaw hooks`, а не встановлення пакунка. +`plugins install` також є поверхнею встановлення для наборів хуків, які надають `openclaw.hooks` у `package.json`. Використовуйте `openclaw hooks` для відфільтрованої видимості хуків і ввімкнення окремих хуків, а не для встановлення пакетів. -Специфікації npm — **лише реєстрові** (назва пакунка + необов’язкова **точна версія** або **dist-tag**). Специфікації Git/URL/file та діапазони semver відхиляються. Для безпеки встановлення залежностей виконуються з `--ignore-scripts`. +Специфікації npm є **лише реєстровими** (назва пакета + необов’язкова **точна версія** або **dist-tag**). Специфікації Git/URL/file і діапазони semver відхиляються. Для безпеки встановлення залежностей запускаються з `--ignore-scripts`. -Прості специфікації та `@latest` залишаються на стабільній гілці. Якщо npm зіставляє будь-яку з них із prerelease, OpenClaw зупиняється й просить явно погодитися, вказавши prerelease-тег на кшталт `@beta`/`@rc` або точну prerelease-версію, наприклад `@1.2.3-beta.4`. +Неповні специфікації та `@latest` залишаються на стабільній гілці. Якщо npm розв’язує будь-яку з них до prerelease-версії, OpenClaw зупиняється та просить вас явно погодитися на це за допомогою prerelease-теґа, такого як `@beta`/`@rc`, або точної prerelease-версії, такої як `@1.2.3-beta.4`. -Якщо проста специфікація встановлення збігається з id вбудованого плагіна (наприклад, `diffs`), OpenClaw встановлює вбудований плагін безпосередньо. Щоб встановити npm-пакунок з такою самою назвою, використайте явну scoped-специфікацію (наприклад, `@scope/diffs`). +Якщо неповна специфікація встановлення збігається з id вбудованого плагіна (наприклад, `diffs`), OpenClaw встановлює вбудований плагін безпосередньо. Щоб встановити npm-пакет з такою самою назвою, використовуйте явну scoped-специфікацію (наприклад, `@scope/diffs`). Підтримувані архіви: `.zip`, `.tgz`, `.tar.gz`, `.tar`. -Також підтримуються встановлення з Claude marketplace. +Також підтримуються встановлення з marketplace Claude. Встановлення з ClawHub використовують явний локатор `clawhub:`: @@ -101,13 +101,13 @@ openclaw plugins install clawhub:openclaw-codex-app-server openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3 ``` -Тепер OpenClaw також віддає перевагу ClawHub для простих npm-безпечних специфікацій плагінів. До npm він переходить лише тоді, коли в ClawHub немає цього пакунка або версії: +Тепер OpenClaw також надає перевагу ClawHub для неповних npm-безпечних специфікацій плагінів. Перехід до npm відбувається лише тоді, коли в ClawHub немає цього пакета або версії: ```bash openclaw plugins install openclaw-codex-app-server ``` -OpenClaw завантажує архів пакунка з ClawHub, перевіряє заявлену сумісність API плагіна / мінімальну сумісність gateway, а потім встановлює його через звичайний шлях архіву. Записані встановлення зберігають свої метадані джерела ClawHub для подальших оновлень. +OpenClaw завантажує архів пакета з ClawHub, перевіряє заявлену сумісність API Plugin / мінімальну сумісність gateway, а потім встановлює його через звичайний шлях архіву. Записані встановлення зберігають метадані джерела ClawHub для подальших оновлень. Використовуйте скорочення `plugin@marketplace`, коли назва marketplace існує в локальному кеші реєстру Claude за шляхом `~/.claude/plugins/known_marketplaces.json`: @@ -128,21 +128,21 @@ openclaw plugins install --marketplace ./my-marketplace Джерелами marketplace можуть бути: - назва відомого marketplace Claude з `~/.claude/plugins/known_marketplaces.json` -- локальний корінь marketplace або шлях до `marketplace.json` -- скорочений запис GitHub-репозиторію, наприклад `owner/repo` -- URL GitHub-репозиторію, наприклад `https://github.com/owner/repo` -- URL git +- локальний корінь marketplace або шлях `marketplace.json` +- скорочений запис GitHub repo, наприклад `owner/repo` +- URL GitHub repo, наприклад `https://github.com/owner/repo` +- git URL -Для віддалених marketplace, завантажених із GitHub або git, записи плагінів мають залишатися всередині клонованого репозиторію marketplace. OpenClaw приймає джерела відносних шляхів із цього репозиторію та відхиляє HTTP(S), абсолютні шляхи, git, GitHub та інші джерела плагінів, що не є шляхами, із віддалених маніфестів. +Для віддалених marketplace, завантажених із GitHub або git, записи плагінів мають залишатися всередині клонованого repo marketplace. OpenClaw приймає відносні джерела шляху з цього repo та відхиляє HTTP(S), абсолютні шляхи, git, GitHub та інші не-шляхові джерела плагінів із віддалених маніфестів. -Для локальних шляхів і архівів 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`) -Сумісні набори пакунків встановлюються до звичайного кореня плагінів і беруть участь у тому самому потоці list/info/enable/disable. Наразі підтримуються bundle skills, Claude command-skills, типові значення Claude `settings.json`, типові значення Claude `.lsp.json` / `lspServers`, оголошені в маніфесті, Cursor command-skills і сумісні каталоги hook-ів Codex; інші виявлені можливості наборів пакунків показуються в diagnostics/info, але ще не підключені до виконання під час runtime. +Сумісні збірки встановлюються в звичайний кореневий каталог плагінів і беруть участь у тому самому потоці list/info/enable/disable. Наразі підтримуються Skills збірок, command-skills Claude, типові значення Claude `settings.json`, типові значення Claude `.lsp.json` / `lspServers`, оголошені в маніфесті, command-skills Cursor і сумісні каталоги хуків Codex; інші виявлені можливості збірок показуються в diagnostics/info, але поки що не підключені до виконання під час runtime. ### Список @@ -153,17 +153,25 @@ openclaw plugins list --verbose openclaw plugins list --json ``` -Використовуйте `--enabled`, щоб показати лише завантажені плагіни. Використовуйте `--verbose`, щоб перейти від табличного подання до докладних рядків для кожного плагіна з метаданими джерела/походження/версії/активації. Використовуйте `--json` для машинозчитуваного переліку плюс diagnostics реєстру. +Використовуйте `--enabled`, щоб показати лише завантажені плагіни. Використовуйте `--verbose`, щоб перейти від табличного подання до докладних рядків для кожного плагіна з метаданими джерела/походження/версії/активації. Використовуйте `--json` для машиночитного інвентарю та diagnostics реєстру. -Використовуйте `--link`, щоб не копіювати локальний каталог (додає до `plugins.load.paths`): +`plugins list` запускає виявлення з поточного середовища CLI та конфігурації. Це корисно для перевірки того, чи ввімкнений/завантажуваний плагін, але це не жива перевірка runtime уже запущеного процесу Gateway. Після зміни коду плагіна, стану ввімкнення, політики хуків або `plugins.load.paths` перезапустіть Gateway, який обслуговує канал, перш ніж очікувати запуск нового коду `register(api)` або хуків. Для віддалених/контейнерних розгортань переконайтеся, що ви перезапускаєте саме дочірній процес `openclaw gateway run`, а не лише процес-обгортку. + +Для налагодження хуків у runtime: + +- `openclaw plugins inspect --json` показує зареєстровані хуки та diagnostics із проходу перевірки із завантаженням модуля. +- `openclaw gateway status --deep --require-rpc` підтверджує доступний Gateway, підказки щодо service/process, шлях до конфігурації та стан RPC. +- Для невбудованих хуків розмови (`llm_input`, `llm_output`, `agent_end`) потрібно `plugins.entries..hooks.allowConversationAccess=true`. + +Використовуйте `--link`, щоб уникнути копіювання локального каталогу (додає його до `plugins.load.paths`): ```bash openclaw plugins install -l ./my-plugin ``` -`--force` не підтримується з `--link`, оскільки встановлення через посилання повторно використовують шлях до джерела замість копіювання в керовану ціль встановлення. +`--force` не підтримується разом із `--link`, оскільки пов’язані встановлення повторно використовують вихідний шлях замість копіювання в керовану ціль встановлення. -Використовуйте `--pin` для npm-встановлень, щоб зберегти точну зіставлену специфікацію (`name@version`) у `plugins.installs`, залишаючи типову поведінку без фіксації. +Використовуйте `--pin` для встановлень npm, щоб зберегти розв’язану точну специфікацію (`name@version`) у `plugins.installs`, залишаючи типову поведінку без фіксації. ### Видалення @@ -173,9 +181,9 @@ openclaw plugins uninstall --dry-run openclaw plugins uninstall --keep-files ``` -`uninstall` видаляє записи плагіна з `plugins.entries`, `plugins.installs`, allowlist плагінів і пов’язаних записів `plugins.load.paths` для встановлень через посилання, коли це застосовно. Для плагінів активної пам’яті слот пам’яті скидається до `memory-core`. +`uninstall` видаляє записи плагіна з `plugins.entries`, `plugins.installs`, allowlist плагінів і пов’язаних записів `plugins.load.paths`, якщо це застосовно. Для плагінів Active Memory слот пам’яті скидається до `memory-core`. -За замовчуванням `uninstall` також видаляє каталог встановлення плагіна в корені плагінів активного state-dir. Використовуйте `--keep-files`, щоб зберегти файли на диску. +Типово `uninstall` також видаляє каталог встановлення плагіна в корені плагінів активного state-dir. Використовуйте `--keep-files`, щоб зберегти файли на диску. `--keep-config` підтримується як застарілий псевдонім для `--keep-files`. @@ -189,19 +197,28 @@ openclaw plugins update @openclaw/voice-call@beta openclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install ``` -Оновлення застосовуються до відстежуваних встановлень у `plugins.installs` і відстежуваних встановлень наборів hook-ів у `hooks.internal.installs`. +Оновлення застосовуються до відстежуваних встановлень у `plugins.installs` і відстежуваних встановлень наборів хуків у `hooks.internal.installs`. -Коли ви передаєте id плагіна, OpenClaw повторно використовує записану специфікацію встановлення для цього плагіна. Це означає, що раніше збережені dist-tag-и, як-от `@beta`, і точні зафіксовані версії й надалі використовуються в наступних запусках `update `. +Коли ви передаєте id плагіна, OpenClaw повторно використовує записану специфікацію встановлення для цього плагіна. Це означає, що раніше збережені dist-tag, такі як `@beta`, і точно зафіксовані версії продовжують використовуватися під час наступних запусків `update `. -Для npm-встановлень ви також можете передати явну специфікацію npm-пакунка з dist-tag або точною версією. OpenClaw зіставляє цю назву пакунка назад із записом відстежуваного плагіна, оновлює встановлений плагін і записує нову специфікацію npm для майбутніх оновлень за id. +Для встановлень npm ви також можете передати явну специфікацію npm-пакета з dist-tag або точною версією. OpenClaw зіставляє цю назву пакета назад із записом відстежуваного плагіна, оновлює встановлений плагін і записує нову специфікацію npm для майбутніх оновлень за id. -Передавання назви npm-пакунка без версії або тега також зіставляється назад із записом відстежуваного плагіна. Використовуйте це, коли плагін було зафіксовано на точній версії й ви хочете повернути його до типової гілки релізів реєстру. +Передавання назви npm-пакета без версії або теґа також зіставляє її назад із записом відстежуваного плагіна. Використовуйте це, коли плагін було зафіксовано на точній версії, а ви хочете повернути його до типової лінії релізів реєстру. -Перед живим оновленням npm OpenClaw перевіряє встановлену версію пакунка за метаданими реєстру npm. Якщо встановлена версія та ідентичність записаного артефакту вже відповідають зіставленій цілі, оновлення пропускається без завантаження, перевстановлення або переписування `openclaw.json`. +Перед фактичним оновленням npm OpenClaw перевіряє встановлену версію пакета щодо метаданих реєстру npm. Якщо встановлена версія та ідентичність записаного артефакту вже збігаються з розв’язаною ціллю, оновлення пропускається без завантаження, перевстановлення або перезапису `openclaw.json`. -Коли збережений хеш цілісності існує, а хеш отриманого артефакту змінюється, OpenClaw розглядає це як дрейф npm-артефакту. Інтерактивна команда `openclaw plugins update` виводить очікуваний і фактичний хеші та просить підтвердження перед продовженням. Неінтерактивні допоміжні засоби оновлення безпечно завершуються з відмовою, якщо викликач не надає явну політику продовження. +Коли збережений хеш цілісності існує, а хеш отриманого артефакту змінюється, +OpenClaw розцінює це як дрейф артефакту npm. Інтерактивна команда +`openclaw plugins update` показує очікувані та фактичні хеші й просить +підтвердження перед продовженням. Неінтерактивні допоміжні засоби оновлення безпечно завершуються з помилкою, +якщо викликаюча сторона не надає явну політику продовження. -`--dangerously-force-unsafe-install` також доступний для `plugins update` як аварійне перевизначення для хибнопозитивних результатів вбудованого сканування небезпечного коду під час оновлення плагінів. Він, як і раніше, не обходить блокування політикою `before_install` плагіна або блокування через збої сканування, і застосовується лише до оновлень плагінів, а не до оновлень наборів hook-ів. +`--dangerously-force-unsafe-install` також доступний у `plugins update` як +аварійне перевизначення для хибнопозитивних результатів вбудованого сканування +небезпечного коду під час оновлення плагінів. Він, як і раніше, не обходить +блокування політики плагіна `before_install` або блокування через збої +сканування, і застосовується лише до оновлень плагінів, а не до оновлень +наборів хуків. ### Перевірка @@ -210,22 +227,28 @@ openclaw plugins inspect openclaw plugins inspect --json ``` -Глибока перевірка одного плагіна. Показує ідентичність, стан завантаження, джерело, зареєстровані можливості, hook-и, інструменти, команди, служби, методи gateway, HTTP-маршрути, прапорці політики, diagnostics, метадані встановлення, можливості набору пакунків, а також будь-яку виявлену підтримку MCP або LSP server. +Глибока інтроспекція для одного плагіна. Показує ідентичність, стан +завантаження, джерело, зареєстровані можливості, хуки, інструменти, команди, +сервіси, методи gateway, маршрути HTTP, прапорці політик, diagnostics, +метадані встановлення, можливості збірки, а також будь-яку виявлену підтримку +серверів MCP або LSP. -Кожен плагін класифікується за тим, що саме він реально реєструє під час runtime: +Кожен плагін класифікується за тим, що він фактично реєструє під час runtime: - **plain-capability** — один тип можливостей (наприклад, плагін лише з провайдером) - **hybrid-capability** — кілька типів можливостей (наприклад, текст + мовлення + зображення) -- **hook-only** — лише hook-и, без можливостей або поверхонь -- **non-capability** — інструменти/команди/служби, але без можливостей +- **hook-only** — лише хуки, без можливостей або поверхонь +- **non-capability** — інструменти/команди/сервіси, але без можливостей -Детальніше про модель можливостей див. у [Формах плагінів](/uk/plugins/architecture#plugin-shapes). +Детальніше про модель можливостей див. у [Форми Plugin](/uk/plugins/architecture#plugin-shapes). -Прапорець `--json` виводить машинозчитуваний звіт, придатний для сценаріїв і аудиту. +Прапорець `--json` виводить машиночитний звіт, придатний для сценаріїв і +аудиту. -`inspect --all` показує загальносистемну таблицю з колонками форми, типів можливостей, повідомлень про сумісність, можливостей набору пакунків і зведенням hook-ів. +`inspect --all` виводить загальносистемну таблицю з колонками shape, типів +можливостей, повідомлень про сумісність, можливостей збірок і підсумку хуків. -`info` — це псевдонім для `inspect`. +`info` є псевдонімом для `inspect`. ### Doctor @@ -233,9 +256,13 @@ openclaw plugins inspect --json openclaw plugins doctor ``` -`doctor` повідомляє про помилки завантаження плагінів, diagnostics маніфеста/виявлення та повідомлення про сумісність. Коли все гаразд, він виводить `No plugin issues detected.` +`doctor` повідомляє про помилки завантаження плагінів, diagnostics +маніфесту/виявлення та повідомлення про сумісність. Коли все в порядку, він +виводить `Проблем із плагінами не виявлено.` -Для збоїв форми модуля, як-от відсутні експорти `register`/`activate`, повторно запустіть із `OPENCLAW_PLUGIN_LOAD_DEBUG=1`, щоб включити компактне зведення форми експорту у вивід diagnostics. +Для збоїв форми модуля, таких як відсутні експорти `register`/`activate`, +перезапустіть із `OPENCLAW_PLUGIN_LOAD_DEBUG=1`, щоб включити компактний +підсумок форми експорту у вивід diagnostics. ### Marketplace @@ -244,10 +271,13 @@ openclaw plugins marketplace list openclaw plugins marketplace list --json ``` -Список marketplace приймає локальний шлях до marketplace, шлях до `marketplace.json`, скорочений запис GitHub на кшталт `owner/repo`, URL GitHub-репозиторію або URL git. `--json` виводить мітку зіставленого джерела разом із розібраним маніфестом marketplace та записами плагінів. +Marketplace list приймає локальний шлях до marketplace, шлях до `marketplace.json`, +скорочення GitHub на кшталт `owner/repo`, URL GitHub repo або git URL. `--json` +виводить мітку розв’язаного джерела, а також розібраний маніфест marketplace і +записи плагінів. ## Пов’язане - [Довідник CLI](/uk/cli) - [Створення плагінів](/uk/plugins/building-plugins) -- [Спільнотні плагіни](/uk/plugins/community) +- [Плагіни спільноти](/uk/plugins/community) diff --git a/docs/uk/tools/plugin.md b/docs/uk/tools/plugin.md index 4d5e4eec8..7193ac578 100644 --- a/docs/uk/tools/plugin.md +++ b/docs/uk/tools/plugin.md @@ -7,24 +7,24 @@ sidebarTitle: Install and Configure summary: Встановлюйте, налаштовуйте та керуйте плагінами OpenClaw title: Плагіни x-i18n: - generated_at: "2026-04-24T08:40:12Z" + generated_at: "2026-04-24T14:42:43Z" model: gpt-5.4 provider: openai - source_hash: 83ab1218d6677ad518a4991ca546d55eed9648e1fa92b76b7433ecd5df569e28 + source_hash: 947bb7ffc13280fd63f79bb68cb18a37c6614144b91a83afd38e5ac3c5187aed source_path: tools/plugin.md workflow: 15 --- -Плагіни розширюють OpenClaw новими можливостями: канали, провайдери моделей, +Плагіни розширюють OpenClaw новими можливостями: канали, постачальники моделей, каркаси агентів, інструменти, Skills, мовлення, транскрипція в реальному часі, голос у реальному -часі, розуміння медіа, генерація зображень, генерація відео, веб-завантаження, веб-пошук -та інше. Деякі плагіни є **core** (постачаються з OpenClaw), інші -є **external** (опубліковані спільнотою в npm). +часі, розуміння медіа, генерація зображень, генерація відео, отримання даних з вебу, вебпошук +та інше. Деякі плагіни є **core** (постачаються з OpenClaw), інші — +**external** (опубліковані в npm спільнотою). ## Швидкий старт - + ```bash openclaw plugins list ``` @@ -52,7 +52,7 @@ x-i18n: -Якщо ви віддаєте перевагу керуванню безпосередньо в чаті, увімкніть `commands.plugins: true` і використовуйте: +Якщо ви надаєте перевагу керуванню безпосередньо в чаті, увімкніть `commands.plugins: true` і використовуйте: ```text /plugin install clawhub:@openclaw/voice-call @@ -61,51 +61,51 @@ x-i18n: ``` Шлях встановлення використовує той самий механізм визначення, що й CLI: локальний -шлях/архів, явний `clawhub:` або специфікація пакета без префікса (спочатку ClawHub, потім резервно npm). +шлях/архів, явний `clawhub:` або специфікація пакета без префікса (спочатку ClawHub, потім резервний варіант через npm). -Якщо конфігурація некоректна, встановлення зазвичай завершується відмовою й вказує вам на -`openclaw doctor --fix`. Єдиний виняток для відновлення — вузький шлях -перевстановлення вбудованого плагіна для плагінів, які підтримують +Якщо конфігурація невалідна, встановлення зазвичай завершується безпечним блокуванням і +вказує вам на `openclaw doctor --fix`. Єдиний виняток для відновлення — вузький шлях перевстановлення вбудованого плагіна +для плагінів, які явно підтримують `openclaw.install.allowInvalidConfigRecovery`. -Пакетні встановлення OpenClaw не встановлюють завчасно все дерево залежностей -середовища виконання кожного вбудованого плагіна. Коли вбудований плагін, що належить OpenClaw, активний через -конфігурацію плагіна, застарілу конфігурацію каналу або маніфест із увімкненням за замовчуванням, -під час запуску відновлюються лише оголошені залежності середовища виконання цього плагіна перед його імпортом. -Зовнішні плагіни та користувацькі шляхи завантаження, як і раніше, потрібно встановлювати через +Пакетні встановлення OpenClaw не виконують завчасне встановлення всього дерева +залежностей часу виконання кожного вбудованого плагіна. Коли вбудований плагін OpenClaw активний через +конфігурацію плагінів, застарілу конфігурацію каналу або маніфест із увімкненням за замовчуванням, +відновлення під час запуску виправляє лише оголошені залежності часу виконання цього плагіна перед його імпортом. +External-плагіни та власні шляхи завантаження, як і раніше, потрібно встановлювати через `openclaw plugins install`. ## Типи плагінів OpenClaw розпізнає два формати плагінів: -| Формат | Як це працює | Приклади | -| ---------- | -------------------------------------------------------------- | ------------------------------------------------------ | -| **Native** | `openclaw.plugin.json` + модуль середовища виконання; виконується в тому самому процесі | Офіційні плагіни, пакети npm від спільноти | +| Формат | Як це працює | Приклади | +| ---------- | ---------------------------------------------------------------- | ------------------------------------------------------ | +| **Native** | `openclaw.plugin.json` + модуль часу виконання; виконується в процесі | Офіційні плагіни, пакети npm від спільноти | | **Bundle** | Сумісне з Codex/Claude/Cursor компонування; зіставляється з можливостями OpenClaw | `.codex-plugin/`, `.claude-plugin/`, `.cursor-plugin/` | -Обидва відображаються в `openclaw plugins list`. Докладніше про набори плагінів див. у [Plugin Bundles](/uk/plugins/bundles). +Обидва відображаються в `openclaw plugins list`. Докладніше про bundles див. у [Набори плагінів](/uk/plugins/bundles). -Якщо ви пишете native плагін, почніть із [Building Plugins](/uk/plugins/building-plugins) -та [Plugin SDK Overview](/uk/plugins/sdk-overview). +Якщо ви пишете native-плагін, почніть із [Створення плагінів](/uk/plugins/building-plugins) +і [Огляду Plugin SDK](/uk/plugins/sdk-overview). ## Офіційні плагіни ### Доступні для встановлення (npm) | Плагін | Пакет | Документація | -| --------------- | ---------------------- | ------------------------------------ | -| Matrix | `@openclaw/matrix` | [Matrix](/uk/channels/matrix) | +| --------------- | --------------------- | ----------------------------------- | +| Matrix | `@openclaw/matrix` | [Matrix](/uk/channels/matrix) | | Microsoft Teams | `@openclaw/msteams` | [Microsoft Teams](/uk/channels/msteams) | -| Nostr | `@openclaw/nostr` | [Nostr](/uk/channels/nostr) | -| Voice Call | `@openclaw/voice-call` | [Voice Call](/uk/plugins/voice-call) | -| Zalo | `@openclaw/zalo` | [Zalo](/uk/channels/zalo) | -| Zalo Personal | `@openclaw/zalouser` | [Zalo Personal](/uk/plugins/zalouser) | +| Nostr | `@openclaw/nostr` | [Nostr](/uk/channels/nostr) | +| Voice Call | `@openclaw/voice-call` | [Voice Call](/uk/plugins/voice-call) | +| Zalo | `@openclaw/zalo` | [Zalo](/uk/channels/zalo) | +| Zalo Personal | `@openclaw/zalouser` | [Zalo Personal](/uk/plugins/zalouser) | ### Core (постачаються з OpenClaw) - + `anthropic`, `byteplus`, `cloudflare-ai-gateway`, `github-copilot`, `google`, `huggingface`, `kilocode`, `kimi-coding`, `minimax`, `mistral`, `qwen`, `moonshot`, `nvidia`, `openai`, `opencode`, `opencode-go`, `openrouter`, @@ -114,21 +114,21 @@ OpenClaw розпізнає два формати плагінів: - - `memory-core` — вбудований пошук у пам’яті (типово через `plugins.slots.memory`) - - `memory-lancedb` — довготривала пам’ять із встановленням на вимогу та автоматичним пригадуванням/захопленням (установіть `plugins.slots.memory = "memory-lancedb"`) + - `memory-core` — вбудований пошук у пам’яті (за замовчуванням через `plugins.slots.memory`) + - `memory-lancedb` — довготривала пам’ять із встановленням за потреби та автоматичним згадуванням/захопленням (установіть `plugins.slots.memory = "memory-lancedb"`) - + `elevenlabs`, `microsoft` - - `browser` — вбудований browser Plugin для browser tool, CLI `openclaw browser`, методу Gateway `browser.request`, browser runtime та служби керування браузером за замовчуванням (увімкнений за замовчуванням; вимкніть його перед заміною) + - `browser` — вбудований браузерний Plugin для browser tool, CLI `openclaw browser`, методу Gateway `browser.request`, browser runtime та служби керування браузером за замовчуванням (увімкнений за замовчуванням; вимкніть його перед заміною) - `copilot-proxy` — міст VS Code Copilot Proxy (вимкнений за замовчуванням) -Шукаєте сторонні плагіни? Див. [Community Plugins](/uk/plugins/community). +Шукаєте сторонні плагіни? Див. [Плагіни спільноти](/uk/plugins/community). ## Конфігурація @@ -148,29 +148,40 @@ OpenClaw розпізнає два формати плагінів: | Поле | Опис | | ---------------- | --------------------------------------------------------- | -| `enabled` | Головний перемикач (типово: `true`) | -| `allow` | Дозволений список плагінів (необов’язково) | -| `deny` | Заборонений список плагінів (необов’язково; заборона має пріоритет) | +| `enabled` | Головний перемикач (за замовчуванням: `true`) | +| `allow` | Список дозволених плагінів (необов’язково) | +| `deny` | Список заборонених плагінів (необов’язково; заборона має пріоритет) | | `load.paths` | Додаткові файли/каталоги плагінів | | `slots` | Селектори ексклюзивних слотів (наприклад, `memory`, `contextEngine`) | | `entries.\` | Перемикачі та конфігурація для окремого плагіна | -Зміни конфігурації **потребують перезапуску gateway**. Якщо Gateway запущено з відстеженням -конфігурації та увімкненим перезапуском у процесі (типовий шлях `openclaw gateway`), -цей перезапуск зазвичай виконується автоматично невдовзі після запису змін у конфігурацію. +Зміни конфігурації **потребують перезапуску gateway**. Якщо Gateway працює з +відстеженням конфігурації та увімкненим перезапуском у процесі (типовий шлях `openclaw gateway`), +такий перезапуск зазвичай виконується автоматично невдовзі після запису конфігурації. +Підтримуваного шляху гарячого перезавантаження для native runtime-коду плагінів або lifecycle hooks немає; +перезапустіть процес Gateway, який обслуговує активний канал, перш ніж +очікувати, що оновлений код `register(api)`, хуки `api.on(...)`, інструменти, сервіси або +хуки постачальника/runtime почнуть виконуватися. - - - **Вимкнений**: плагін існує, але правила ввімкнення вимкнули його. Конфігурація зберігається. - - **Відсутній**: конфігурація посилається на ідентифікатор плагіна, який не знайдено під час виявлення. - - **Некоректний**: плагін існує, але його конфігурація не відповідає оголошеній схемі. +`openclaw plugins list` — це локальний знімок CLI/конфігурації. Плагін зі станом `loaded` +там означає, що плагін можна виявити та завантажити з конфігурації/файлів, видимих для цього +запуску CLI. Це не доводить, що вже запущений віддалений дочірній процес Gateway +було перезапущено в той самий код плагіна. У конфігураціях VPS/контейнерів з процесами-обгортками +надсилайте перезапуск фактичному процесу `openclaw gateway run` або використовуйте +`openclaw gateway restart` щодо запущеного Gateway. + + + - **Вимкнений**: плагін існує, але правила ввімкнення його вимкнули. Конфігурація зберігається. + - **Відсутній**: конфігурація посилається на ідентифікатор плагіна, який виявлення не знайшло. + - **Невалідний**: плагін існує, але його конфігурація не відповідає оголошеній схемі. ## Виявлення та пріоритет -OpenClaw сканує плагіни в такому порядку (перше знайдене співпадіння перемагає): +OpenClaw сканує плагіни в такому порядку (перше збігле входження має пріоритет): - + `plugins.load.paths` — явні шляхи до файлу або каталогу. @@ -183,7 +194,7 @@ OpenClaw сканує плагіни в такому порядку (перше - Постачаються з OpenClaw. Багато з них увімкнено за замовчуванням (провайдери моделей, мовлення). + Постачаються з OpenClaw. Багато з них увімкнені за замовчуванням (постачальники моделей, мовлення). Інші потребують явного ввімкнення. @@ -193,20 +204,41 @@ OpenClaw сканує плагіни в такому порядку (перше - `plugins.enabled: false` вимикає всі плагіни - `plugins.deny` завжди має пріоритет над allow - `plugins.entries.\.enabled: false` вимикає цей плагін -- Плагіни з робочого простору **вимкнені за замовчуванням** (їх потрібно явно ввімкнути) -- Вбудовані плагіни дотримуються вбудованого набору, увімкненого за замовчуванням, якщо це не перевизначено -- Ексклюзивні слоти можуть примусово ввімкнути вибраний для цього слота плагін -- Деякі вбудовані opt-in плагіни вмикаються автоматично, коли конфігурація називає - поверхню, що належить плагіну, наприклад посилання на модель провайдера, конфігурацію каналу або +- Плагіни з походженням із робочого простору **вимкнені за замовчуванням** (їх потрібно явно ввімкнути) +- Вбудовані плагіни дотримуються вбудованого набору значень за замовчуванням, якщо це не перевизначено +- Ексклюзивні слоти можуть примусово ввімкнути вибраний плагін для цього слота +- Деякі вбудовані opt-in-плагіни вмикаються автоматично, коли конфігурація вказує + поверхню, що належить плагіну, наприклад посилання на модель постачальника, конфігурацію каналу або runtime каркаса - Маршрути Codex сімейства OpenAI зберігають окремі межі плагінів: - `openai-codex/*` належить плагіну OpenAI, тоді як вбудований - app-server Plugin Codex вибирається через `embeddedHarness.runtime: "codex"` або застарілі + `openai-codex/*` належить плагіну OpenAI, тоді як вбудований плагін + app-server Codex вибирається через `embeddedHarness.runtime: "codex"` або застарілі посилання на моделі `codex/*` +## Усунення проблем із runtime hooks + +Якщо плагін з’являється в `plugins list`, але побічні ефекти `register(api)` або hooks +не виконуються в реальному трафіку чату, спочатку перевірте таке: + +- Виконайте `openclaw gateway status --deep --require-rpc` і підтвердьте, що активні + URL Gateway, профіль, шлях конфігурації та процес — саме ті, які ви редагуєте. +- Перезапустіть активний Gateway після змін встановлення/конфігурації/коду плагіна. У контейнерах + з обгортками PID 1 може бути лише супервізором; перезапустіть або надішліть сигнал дочірньому + процесу `openclaw gateway run`. +- Використовуйте `openclaw plugins inspect --json`, щоб підтвердити реєстрації hooks і + діагностику. Для не вбудованих хуків розмови, таких як `llm_input`, + `llm_output` і `agent_end`, потрібне + `plugins.entries..hooks.allowConversationAccess=true`. +- Для перемикання моделей надавайте перевагу `before_model_resolve`. Він виконується до + визначення моделі для ходів агента; `llm_output` виконується лише після того, як спроба моделі + сформує відповідь помічника. +- Щоб підтвердити ефективну модель сесії, використовуйте `openclaw sessions` або + поверхні сесії/стану Gateway, а під час налагодження payload-даних постачальника запускайте + Gateway з `--raw-stream --raw-stream-path `. + ## Слоти плагінів (ексклюзивні категорії) -Деякі категорії є ексклюзивними (одночасно може бути активним лише один): +Деякі категорії є ексклюзивними (одночасно активним може бути лише один плагін): ```json5 { @@ -219,32 +251,32 @@ OpenClaw сканує плагіни в такому порядку (перше } ``` -| Слот | Чим керує | Типове значення | -| --------------- | ------------------------ | ------------------- | -| `memory` | Active Memory Plugin | `memory-core` | -| `contextEngine` | Активний рушій контексту | `legacy` (вбудований) | +| Слот | Що він контролює | Значення за замовчуванням | +| --------------- | --------------------- | ------------------------- | +| `memory` | Active Memory плагін | `memory-core` | +| `contextEngine` | Активний рушій контексту | `legacy` (вбудований) | ## Довідка CLI ```bash -openclaw plugins list # компактний список +openclaw plugins list # компактний перелік openclaw plugins list --enabled # лише завантажені плагіни openclaw plugins list --verbose # докладні рядки для кожного плагіна -openclaw plugins list --json # інвентар у машиночитному форматі +openclaw plugins list --json # машиночитаний перелік openclaw plugins inspect # докладна інформація -openclaw plugins inspect --json # машиночитний формат +openclaw plugins inspect --json # машиночитаний формат openclaw plugins inspect --all # таблиця для всього набору -openclaw plugins info # псевдонім для inspect +openclaw plugins info # псевдонім inspect openclaw plugins doctor # діагностика -openclaw plugins install # встановити (спочатку ClawHub, потім npm) -openclaw plugins install clawhub: # встановити лише з ClawHub +openclaw plugins install # встановлення (спочатку ClawHub, потім npm) +openclaw plugins install clawhub: # встановлення лише з ClawHub openclaw plugins install --force # перезаписати наявне встановлення -openclaw plugins install # встановити з локального шляху -openclaw plugins install -l # під’єднати (без копіювання) для розробки +openclaw plugins install # встановлення з локального шляху +openclaw plugins install -l # підключення (без копіювання) для розробки openclaw plugins install --marketplace openclaw plugins install --marketplace https://github.com// -openclaw plugins install --pin # записати точну визначену специфікацію npm +openclaw plugins install --pin # зафіксувати точну визначену специфікацію npm openclaw plugins install --dangerously-force-unsafe-install openclaw plugins update # оновити один плагін openclaw plugins update --dangerously-force-unsafe-install @@ -259,59 +291,58 @@ openclaw plugins disable ``` Вбудовані плагіни постачаються разом з OpenClaw. Багато з них увімкнені за замовчуванням (наприклад, -вбудовані провайдери моделей, вбудовані провайдери мовлення та вбудований browser -Plugin). Інші вбудовані плагіни все одно потребують `openclaw plugins enable `. +вбудовані постачальники моделей, вбудовані постачальники мовлення та вбудований browser +Plugin). Інші вбудовані плагіни, як і раніше, потребують `openclaw plugins enable `. -`--force` перезаписує наявний встановлений плагін або пакет хуків на місці. Для -звичайних оновлень відстежуваних npm плагінів використовуйте -`openclaw plugins update `. Цей параметр не підтримується з `--link`, який повторно використовує шлях до джерела -замість копіювання в кероване цільове місце встановлення. +`--force` перезаписує наявний встановлений плагін або набір hook-пакетів на місці. Використовуйте +`openclaw plugins update ` для звичайних оновлень відстежуваних npm +плагінів. Він не підтримується разом із `--link`, який повторно використовує вихідний шлях +замість копіювання в керовану ціль встановлення. Коли `plugins.allow` уже задано, `openclaw plugins install` додає -ідентифікатор встановленого плагіна до цього списку allow перед його ввімкненням, щоб установлені плагіни -можна було одразу завантажити після перезапуску. +ідентифікатор встановленого плагіна до цього списку дозволених перед його ввімкненням, тому встановлені плагіни +можна одразу завантажувати після перезапуску. `openclaw plugins update ` застосовується до відстежуваних встановлень. Передавання -специфікації npm пакета з dist-tag або точною версією зіставляє назву пакета -назад із записом відстежуваного плагіна та записує нову специфікацію для майбутніх оновлень. -Передавання назви пакета без версії переводить точно закріплене встановлення назад на -типову лінійку випусків реєстру. Якщо встановлений npm плагін уже відповідає -визначеній версії та записаній ідентичності артефакту, OpenClaw пропускає оновлення -без завантаження, перевстановлення чи перезапису конфігурації. +специфікації npm-пакета з dist-tag або точною версією зіставляє назву пакета +назад із записом відстежуваного плагіна та зберігає нову специфікацію для майбутніх оновлень. +Передавання назви пакета без версії переводить точно зафіксоване встановлення назад на +типову лінійку релізів реєстру. Якщо встановлений npm-плагін уже відповідає +визначеній версії та збереженій ідентичності артефакту, OpenClaw пропускає оновлення +без завантаження, перевстановлення або переписування конфігурації. -`--pin` стосується лише npm. Він не підтримується з `--marketplace`, оскільки +`--pin` доступний лише для npm. Він не підтримується з `--marketplace`, оскільки встановлення з marketplace зберігають метадані джерела marketplace замість специфікації npm. -`--dangerously-force-unsafe-install` — це аварійне перевизначення для хибних -спрацьовувань вбудованого сканера небезпечного коду. Воно дозволяє продовжити встановлення -й оновлення плагінів попри вбудовані результати рівня `critical`, але все одно -не обходить блокування політикою плагіна `before_install` або блокування через збій сканування. +`--dangerously-force-unsafe-install` — це аварійний обхідний параметр для хибних +спрацьовувань вбудованого сканера небезпечного коду. Він дозволяє встановленням і оновленням плагінів +продовжуватися попри вбудовані критичні знахідки `critical`, але все одно +не обходить блокування політики плагіна `before_install` або блокування через помилки сканування. -Цей прапорець CLI застосовується лише до потоків встановлення/оновлення плагінів. Встановлення залежностей Skills через Gateway -натомість використовують відповідне перевизначення запиту `dangerouslyForceUnsafeInstall`, тоді як `openclaw skills install` -залишається окремим потоком завантаження/встановлення Skills через ClawHub. +Цей прапорець CLI застосовується лише до потоків встановлення/оновлення плагінів. Установлення залежностей Skills +через Gateway натомість використовують відповідний параметр запиту `dangerouslyForceUnsafeInstall`, +тоді як `openclaw skills install` залишається окремим потоком завантаження/встановлення Skills через ClawHub. -Сумісні набори беруть участь у тому самому процесі list/inspect/enable/disable -для плагінів. Поточна підтримка середовища виконання включає bundle Skills, Claude command-skills, +Сумісні bundles беруть участь у тому самому потоці list/inspect/enable/disable +плагінів. Поточна підтримка runtime включає bundle Skills, command-Skills для Claude, типові значення Claude `settings.json`, типові значення Claude `.lsp.json` і -оголошені в маніфесті типові значення `lspServers`, Cursor command-skills та сумісні каталоги -хуків Codex. +`lspServers`, оголошені в маніфесті, command-Skills для Cursor і сумісні каталоги hook-ів Codex. -`openclaw plugins inspect ` також повідомляє про виявлені можливості набору, а також -підтримувані або непідтримувані записи серверів MCP і LSP для плагінів на основі наборів. +`openclaw plugins inspect ` також повідомляє про виявлені можливості bundle, а також +підтримувані або непідтримувані записи серверів MCP і LSP для плагінів на основі bundles. -Джерелами marketplace можуть бути відома назва marketplace Claude з +Джерелами marketplace можуть бути відома для Claude назва marketplace з `~/.claude/plugins/known_marketplaces.json`, локальний корінь marketplace або шлях до `marketplace.json`, скорочений запис GitHub на кшталт `owner/repo`, URL репозиторію GitHub -або URL git. Для віддалених marketplace записи плагінів повинні залишатися в межах -клонованого репозиторію marketplace і використовувати лише відносні шляхи до джерел. +або URL git. Для віддалених marketplace записи плагінів мають залишатися всередині +клонованого репозиторію marketplace та використовувати лише відносні шляхи джерел. Повні відомості див. у [довідці CLI `openclaw plugins`](/uk/cli/plugins). ## Огляд API плагінів -Native плагіни експортують об’єкт входу, який надає `register(api)`. Старіші -плагіни все ще можуть використовувати `activate(api)` як застарілий псевдонім, але нові плагіни повинні +Native-плагіни експортують об’єкт entry, який надає `register(api)`. Старіші +плагіни все ще можуть використовувати `activate(api)` як застарілий псевдонім, але новим плагінам слід використовувати `register`. ```typescript @@ -332,49 +363,49 @@ export default definePluginEntry({ }); ``` -OpenClaw завантажує об’єкт входу та викликає `register(api)` під час -активації плагіна. Завантажувач усе ще повертається до `activate(api)` для старіших плагінів, -але вбудовані плагіни й нові зовнішні плагіни повинні розглядати `register` як -публічний контракт. +OpenClaw завантажує об’єкт entry і викликає `register(api)` під час +активації плагіна. Завантажувач усе ще використовує резервний перехід до `activate(api)` для старіших плагінів, +але вбудовані плагіни та нові external-плагіни мають вважати `register` +публічним контрактом. Поширені методи реєстрації: -| Метод | Що реєструє | -| --------------------------------------- | -------------------------- | -| `registerProvider` | Провайдер моделі (LLM) | -| `registerChannel` | Канал чату | -| `registerTool` | Інструмент агента | -| `registerHook` / `on(...)` | Хуки життєвого циклу | -| `registerSpeechProvider` | Text-to-speech / STT | -| `registerRealtimeTranscriptionProvider` | Потоковий STT | +| Метод | Що він реєструє | +| --------------------------------------- | ------------------------------ | +| `registerProvider` | Постачальник моделей (LLM) | +| `registerChannel` | Канал чату | +| `registerTool` | Інструмент агента | +| `registerHook` / `on(...)` | Lifecycle hooks | +| `registerSpeechProvider` | Text-to-speech / STT | +| `registerRealtimeTranscriptionProvider` | Потокове STT | | `registerRealtimeVoiceProvider` | Двобічний голос у реальному часі | -| `registerMediaUnderstandingProvider` | Аналіз зображень/аудіо | -| `registerImageGenerationProvider` | Генерація зображень | -| `registerMusicGenerationProvider` | Генерація музики | -| `registerVideoGenerationProvider` | Генерація відео | -| `registerWebFetchProvider` | Провайдер веб-завантаження / скрапінгу | -| `registerWebSearchProvider` | Веб-пошук | -| `registerHttpRoute` | HTTP endpoint | -| `registerCommand` / `registerCli` | Команди CLI | -| `registerContextEngine` | Рушій контексту | -| `registerService` | Фонова служба | +| `registerMediaUnderstandingProvider` | Аналіз зображень/аудіо | +| `registerImageGenerationProvider` | Генерація зображень | +| `registerMusicGenerationProvider` | Генерація музики | +| `registerVideoGenerationProvider` | Генерація відео | +| `registerWebFetchProvider` | Постачальник web fetch / scrape | +| `registerWebSearchProvider` | Вебпошук | +| `registerHttpRoute` | HTTP endpoint | +| `registerCommand` / `registerCli` | Команди CLI | +| `registerContextEngine` | Рушій контексту | +| `registerService` | Фонова служба | -Поведінка guard-хуків для типізованих хуків життєвого циклу: +Поведінка guard-умов hook-ів для типізованих lifecycle hooks: -- `before_tool_call`: `{ block: true }` є фінальним; обробники з нижчим пріоритетом пропускаються. -- `before_tool_call`: `{ block: false }` не виконує жодної дії та не скасовує попереднє блокування. -- `before_install`: `{ block: true }` є фінальним; обробники з нижчим пріоритетом пропускаються. -- `before_install`: `{ block: false }` не виконує жодної дії та не скасовує попереднє блокування. -- `message_sending`: `{ cancel: true }` є фінальним; обробники з нижчим пріоритетом пропускаються. -- `message_sending`: `{ cancel: false }` не виконує жодної дії та не скасовує попереднє скасування. +- `before_tool_call`: `{ block: true }` є термінальним; обробники з нижчим пріоритетом пропускаються. +- `before_tool_call`: `{ block: false }` не виконує жодної дії і не скасовує попереднє блокування. +- `before_install`: `{ block: true }` є термінальним; обробники з нижчим пріоритетом пропускаються. +- `before_install`: `{ block: false }` не виконує жодної дії і не скасовує попереднє блокування. +- `message_sending`: `{ cancel: true }` є термінальним; обробники з нижчим пріоритетом пропускаються. +- `message_sending`: `{ cancel: false }` не виконує жодної дії і не скасовує попереднє попереднє скасування. -Повну інформацію про поведінку типізованих хуків див. в [огляді SDK](/uk/plugins/sdk-overview#hook-decision-semantics). +Повну інформацію про поведінку типізованих hook-ів див. в [огляді SDK](/uk/plugins/sdk-overview#hook-decision-semantics). ## Пов’язане -- [Building Plugins](/uk/plugins/building-plugins) — створіть власний плагін -- [Plugin Bundles](/uk/plugins/bundles) — сумісність наборів Codex/Claude/Cursor -- [Plugin Manifest](/uk/plugins/manifest) — схема маніфесту -- [Registering Tools](/uk/plugins/building-plugins#registering-agent-tools) — додавання інструментів агента до плагіна -- [Plugin Internals](/uk/plugins/architecture) — модель можливостей і конвеєр завантаження -- [Community Plugins](/uk/plugins/community) — сторонні списки +- [Створення плагінів](/uk/plugins/building-plugins) — створіть власний плагін +- [Набори плагінів](/uk/plugins/bundles) — сумісність bundles Codex/Claude/Cursor +- [Маніфест плагіна](/uk/plugins/manifest) — схема маніфесту +- [Реєстрація інструментів](/uk/plugins/building-plugins#registering-agent-tools) — додавання інструментів агента в плагіні +- [Внутрішня будова плагінів](/uk/plugins/architecture) — модель можливостей і конвеєр завантаження +- [Плагіни спільноти](/uk/plugins/community) — сторонні переліки