diff --git a/docs/uk/tools/plugin.md b/docs/uk/tools/plugin.md index 3e360112f..3702b8fb6 100644 --- a/docs/uk/tools/plugin.md +++ b/docs/uk/tools/plugin.md @@ -2,24 +2,20 @@ read_when: - Встановлення або налаштування плагінів - Розуміння правил виявлення та завантаження плагінів - - Робота з наборами плагінів, сумісними з Codex/Claude + - Робота з сумісними з Codex/Claude наборами плагінів sidebarTitle: Install and Configure -summary: Встановлюйте, налаштовуйте та керуйте плагінами OpenClaw +summary: Встановлення, налаштування та керування плагінами OpenClaw title: Плагіни x-i18n: - generated_at: "2026-04-26T10:04:28Z" + generated_at: "2026-04-26T10:15:19Z" model: gpt-5.4 provider: openai - source_hash: ecc6920ddc8c1a95cd817ea3535c7ea215ed70cbdc30e9589232c43d022791f0 + source_hash: e88fd1576a4deefabea592a62da93fdaa41234aee8e5a28b0b0e16e41a53625f source_path: tools/plugin.md workflow: 15 --- -Плагіни розширюють OpenClaw новими можливостями: канали, постачальники моделей, -каркаси агентів, інструменти, Skills, мовлення, транскрипція в реальному часі, голос у реальному -часі, розуміння медіа, генерація зображень, генерація відео, отримання даних із вебу, вебпошук -та інше. Деякі плагіни є **core** (постачаються разом з OpenClaw), інші — -**external** (опубліковані спільнотою в npm). +Плагіни розширюють OpenClaw новими можливостями: канали, постачальники моделей, каркаси агентів, інструменти, Skills, мовлення, транскрипція в реальному часі, голос у реальному часі, розуміння медіа, генерація зображень, генерація відео, отримання вебданих, вебпошук тощо. Деякі плагіни є **core** (постачаються разом з OpenClaw), інші — **external** (опубліковані спільнотою в npm). ## Швидкий старт @@ -30,7 +26,7 @@ x-i18n: ``` - + ```bash # З npm openclaw plugins install @openclaw/voice-call @@ -47,12 +43,12 @@ x-i18n: openclaw gateway restart ``` - Потім налаштуйте в `plugins.entries.\.config` у вашому файлі конфігурації. + Потім налаштуйте його в `plugins.entries.\.config` у вашому файлі конфігурації. -Якщо ви надаєте перевагу керуванню прямо в чаті, увімкніть `commands.plugins: true` і використовуйте: +Якщо ви віддаєте перевагу керуванню безпосередньо в чаті, увімкніть `commands.plugins: true` і використовуйте: ```text /plugin install clawhub:@openclaw/voice-call @@ -60,62 +56,82 @@ x-i18n: /plugin enable voice-call ``` -Шлях установлення використовує той самий механізм розв’язання, що й CLI: локальний -шлях/архів, явний `clawhub:` або специфікація пакета без префікса (спочатку ClawHub, потім резервний перехід на npm). +Шлях встановлення використовує той самий механізм визначення, що й CLI: локальний шлях/архів, явний +`clawhub:` або специфікація пакета без префікса (спочатку ClawHub, потім резервний варіант через npm). -Якщо конфігурація некоректна, установлення зазвичай безпечно завершується з відмовою та спрямовує вас до -`openclaw doctor --fix`. Єдиний виняток для відновлення — вузький шлях -перевстановлення вбудованого плагіна для плагінів, які підтримують +Якщо конфігурація недійсна, встановлення зазвичай безпечно завершується з відмовою та вказує вам на +`openclaw doctor --fix`. Єдиний виняток для відновлення — це вузький шлях перевстановлення вбудованого плагіна +для плагінів, які підтримують `openclaw.install.allowInvalidConfigRecovery`. -Пакетні інсталяції OpenClaw не виконують завчасне встановлення всього дерева -залежностей середовища виконання для кожного вбудованого плагіна. Коли вбудований плагін, -що належить OpenClaw, активний через конфігурацію плагіна, застарілу конфігурацію каналу -або маніфест із увімкненням за замовчуванням, під час запуску відновлюються -лише оголошені залежності середовища виконання цього плагіна, перш ніж його буде імпортовано. -Сам по собі збережений стан автентифікації каналу не активує вбудований канал для -відновлення залежностей середовища виконання Gateway під час запуску. +У пакетних інсталяціях OpenClaw дерево залежностей середовища виконання кожного вбудованого плагіна не встановлюється завчасно. +Коли вбудований плагін, що належить OpenClaw, активний через конфігурацію плагіна, +застарілу конфігурацію каналу або маніфест із увімкненням за замовчуванням, під час запуску +відновлюються лише оголошені залежності середовища виконання цього плагіна перед його імпортом. +Сам по собі збережений стан автентифікації каналу не активує вбудований канал для відновлення залежностей +середовища виконання під час запуску Gateway. Явне вимкнення все одно має пріоритет: `plugins.entries..enabled: false`, `plugins.deny`, `plugins.enabled: false` і `channels..enabled: false` -запобігають автоматичному відновленню вбудованих залежностей середовища виконання -для цього плагіна/каналу. -Непорожній `plugins.allow` також обмежує відновлення вбудованих залежностей середовища виконання -для вбудованих плагінів, увімкнених за замовчуванням; явне ввімкнення вбудованого каналу -(`channels..enabled: true`) усе ще може відновити залежності плагіна цього каналу. -External-плагіни та власні шляхи завантаження, як і раніше, потрібно встановлювати через +запобігають автоматичному відновленню залежностей середовища виконання для цього вбудованого плагіна/каналу. +Непорожній `plugins.allow` також обмежує відновлення залежностей середовища виконання +для вбудованих плагінів, увімкнених за замовчуванням; явне ввімкнення вбудованого каналу (`channels..enabled: true`) усе ще може +відновити залежності плагіна цього каналу. +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`. Докладніше про набори див. у [Набори плагінів](/uk/plugins/bundles). Якщо ви пишете native-плагін, почніть із [Створення плагінів](/uk/plugins/building-plugins) -та [Огляд Plugin SDK](/uk/plugins/sdk-overview). +та [Огляду Plugin SDK](/uk/plugins/sdk-overview). + +## Точки входу пакета + +Пакети npm native-плагінів повинні оголошувати `openclaw.extensions` у `package.json`. +Кожен запис має залишатися в межах каталогу пакета та вказувати на доступний для читання +файл середовища виконання або на вихідний файл TypeScript із виведеним побудованим JavaScript-аналогом, +наприклад `src/index.ts` до `dist/index.js`. + +Використовуйте `openclaw.runtimeExtensions`, коли опубліковані файли середовища виконання не розміщені за +тими самими шляхами, що й вихідні записи. Якщо `runtimeExtensions` присутній, він має містити +рівно один запис для кожного запису в `extensions`. Списки, що не збігаються, призводять до помилки встановлення та +виявлення плагіна, а не до безшумного резервного переходу до шляхів вихідного коду. + +```json +{ + "name": "@acme/openclaw-plugin", + "openclaw": { + "extensions": ["./src/index.ts"], + "runtimeExtensions": ["./dist/index.js"] + } +} +``` ## Офіційні плагіни ### Доступні для встановлення (npm) -| Плагін | Пакет | Документація | -| --------------- | --------------------- | ------------------------------------ | -| 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) | +| Плагін | Пакет | Документація | +| --------------- | ---------------------- | ------------------------------------ | +| 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) | ### Core (постачаються разом з OpenClaw) - + `anthropic`, `byteplus`, `cloudflare-ai-gateway`, `github-copilot`, `google`, `huggingface`, `kilocode`, `kimi-coding`, `minimax`, `mistral`, `qwen`, `moonshot`, `nvidia`, `openai`, `opencode`, `opencode-go`, `openrouter`, @@ -124,17 +140,17 @@ 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-плагін для інструмента браузера, CLI `openclaw browser`, методу Gateway `browser.request`, середовища виконання браузера та служби керування браузером за замовчуванням (увімкнено за замовчуванням; вимкніть перед заміною) - - `copilot-proxy` — міст VS Code Copilot Proxy (вимкнено за замовчуванням) + - `browser` — вбудований плагін браузера для інструмента браузера, CLI `openclaw browser`, методу Gateway `browser.request`, середовища виконання браузера та стандартного сервісу керування браузером (увімкнений за замовчуванням; вимкніть його перед заміною) + - `copilot-proxy` — міст VS Code Copilot Proxy (вимкнений за замовчуванням) @@ -160,40 +176,39 @@ OpenClaw розпізнає два формати плагінів: | ---------------- | --------------------------------------------------------- | | `enabled` | Головний перемикач (типово: `true`) | | `allow` | Список дозволених плагінів (необов’язково) | -| `deny` | Список заборонених плагінів (необов’язково; deny має пріоритет) | +| `deny` | Список заборонених плагінів (необов’язково; заборона має пріоритет) | | `load.paths` | Додаткові файли/каталоги плагінів | | `slots` | Селектори ексклюзивних слотів (наприклад, `memory`, `contextEngine`) | | `entries.\` | Перемикачі та конфігурація для окремого плагіна | -Зміни конфігурації **потребують перезапуску Gateway**. Якщо Gateway працює з відстеженням -конфігурації та внутрішньопроцесним перезапуском (типовий шлях `openclaw gateway`), -цей перезапуск зазвичай виконується автоматично невдовзі після запису конфігурації. -Підтримуваного шляху гарячого перезавантаження для коду середовища виконання native-плагіна -або хуків життєвого циклу немає; перезапустіть процес Gateway, який обслуговує активний канал, -перш ніж очікувати, що оновлений код `register(api)`, хуки `api.on(...)`, інструменти, служби -або хуки постачальника/середовища виконання почнуть працювати. +Зміни конфігурації **потребують перезапуску gateway**. Якщо Gateway працює з +відстеженням конфігурації та ввімкненим перезапуском у процесі (типовий шлях `openclaw gateway`), +цей перезапуск зазвичай виконується автоматично невдовзі після запису змін до конфігурації. +Підтримуваного шляху гарячого перезавантаження для native-коду середовища виконання плагіна або хуків життєвого циклу немає; +перезапустіть процес Gateway, який обслуговує активний канал, перш ніж очікувати, що оновлений код `register(api)`, +хуки `api.on(...)`, інструменти, сервіси або хуки постачальника/середовища виконання запрацюють. `openclaw plugins list` — це локальний знімок реєстру/конфігурації плагінів. Плагін зі -станом `enabled` означає, що збережений реєстр і поточна конфігурація дозволяють +станом `enabled` там означає, що збережений реєстр і поточна конфігурація дозволяють йому брати участь. Це не доводить, що вже запущений віддалений дочірній процес Gateway -було перезапущено з тим самим кодом плагіна. У конфігураціях VPS/контейнерів з -процесами-обгортками надсилайте перезапуск до фактичного процесу `openclaw gateway run`, +перезапустився з тим самим кодом плагіна. У конфігураціях VPS/контейнерів з +процесами-обгортками надсилайте перезапуск фактичному процесу `openclaw gateway run`, або використовуйте `openclaw gateway restart` для запущеного Gateway. - + - **Вимкнений**: плагін існує, але правила ввімкнення його вимкнули. Конфігурація зберігається. - - **Відсутній**: конфігурація посилається на ідентифікатор плагіна, який не знайдено під час виявлення. - - **Некоректний**: плагін існує, але його конфігурація не відповідає оголошеній схемі. + - **Відсутній**: конфігурація посилається на ідентифікатор плагіна, який не було знайдено під час виявлення. + - **Недійсний**: плагін існує, але його конфігурація не відповідає оголошеній схемі. ## Виявлення та пріоритет -OpenClaw сканує плагіни в такому порядку (перший збіг має пріоритет): +OpenClaw сканує плагіни в такому порядку (перше знайдене співпадіння має пріоритет): - - `plugins.load.paths` — явні шляхи до файлів або каталогів. Шляхи, які вказують - назад на власні упаковані каталоги вбудованих плагінів OpenClaw, ігноруються; + + `plugins.load.paths` — явні шляхи до файлу або каталогу. Шляхи, що вказують + назад на власні каталоги пакетних вбудованих плагінів OpenClaw, ігноруються; виконайте `openclaw doctor --fix`, щоб видалити ці застарілі псевдоніми. @@ -206,8 +221,8 @@ OpenClaw сканує плагіни в такому порядку (перши - Постачаються разом з OpenClaw. Багато з них увімкнені за замовчуванням (постачальники моделей, мовлення). - Для інших потрібне явне ввімкнення. + Постачаються разом з OpenClaw. Багато з них увімкнено за замовчуванням (постачальники моделей, мовлення). + Інші потребують явного ввімкнення. @@ -216,38 +231,39 @@ OpenClaw сканує плагіни в такому порядку (перши - `plugins.enabled: false` вимикає всі плагіни - `plugins.deny` завжди має пріоритет над allow - `plugins.entries.\.enabled: false` вимикає цей плагін -- Плагіни з походженням із робочого простору **вимкнені за замовчуванням** (їх треба явно ввімкнути) -- Вбудовані плагіни дотримуються вбудованого набору, увімкненого за замовчуванням, якщо немає перевизначення -- Ексклюзивні слоти можуть примусово ввімкнути вибраний для цього слота плагін -- Деякі вбудовані плагіни з опціональним ввімкненням вмикаються автоматично, коли конфігурація вказує - на поверхню, що належить плагіну, наприклад посилання на модель постачальника, конфігурацію каналу або середовище виконання каркаса +- Плагіни з робочого простору **вимкнені за замовчуванням** (їх потрібно явно ввімкнути) +- Вбудовані плагіни дотримуються вбудованого набору, увімкненого за замовчуванням, якщо не перевизначено +- Ексклюзивні слоти можуть примусово ввімкнути вибраний плагін для цього слота +- Деякі вбудовані плагіни з явним підключенням увімкнюються автоматично, коли конфігурація вказує на + поверхню, що належить плагіну, наприклад посилання на модель постачальника, конфігурацію каналу або + середовище виконання каркаса - Маршрути Codex сімейства OpenAI зберігають окремі межі плагінів: - `openai-codex/*` належить плагіну OpenAI, тоді як вбудований плагін app-server Codex - вибирається через `agentRuntime.id: "codex"` або застарілі + `openai-codex/*` належить плагіну OpenAI, тоді як вбудований плагін + app-server Codex вибирається через `agentRuntime.id: "codex"` або застарілі посилання на модель `codex/*` ## Усунення проблем із хуками середовища виконання Якщо плагін відображається в `plugins list`, але побічні ефекти `register(api)` або хуки -не спрацьовують у живому чат-трафіку, спершу перевірте таке: +не спрацьовують у живому чат-трафіку, спочатку перевірте таке: - Виконайте `openclaw gateway status --deep --require-rpc` і підтвердьте, що активні - URL Gateway, профіль, шлях до конфігурації та процес — саме ті, які ви редагуєте. -- Перезапустіть активний Gateway після змін установлення/конфігурації/коду плагіна. У контейнерах - з обгорткою PID 1 може бути лише супервізором; перезапустіть або надішліть сигнал дочірньому + URL Gateway, профіль, шлях до конфігурації та процес — це саме ті, які ви редагуєте. +- Перезапустіть активний Gateway після змін встановлення/конфігурації/коду плагіна. У контейнерах + з обгортками PID 1 може бути лише супервізором; перезапустіть або надішліть сигнал дочірньому процесу `openclaw gateway run`. -- Використайте `openclaw plugins inspect --json`, щоб підтвердити реєстрацію хуків і +- Використовуйте `openclaw plugins inspect --json`, щоб підтвердити реєстрації хуків і діагностику. Для невбудованих хуків розмови, таких як `llm_input`, - `llm_output`, `before_agent_finalize` і `agent_end`, потрібен параметр + `llm_output`, `before_agent_finalize` і `agent_end`, потрібен `plugins.entries..hooks.allowConversationAccess=true`. -- Для перемикання моделей надавайте перевагу `before_model_resolve`. Він виконується до - розв’язання моделі для ходів агента; `llm_output` виконується лише після того, - як спроба моделі створює вивід асистента. -- Щоб підтвердити ефективну модель сеансу, використовуйте `openclaw sessions` або - поверхні сеансу/стану Gateway, а під час налагодження payload-даних постачальника запускайте +- Для перемикання моделей віддавайте перевагу `before_model_resolve`. Він запускається перед + визначенням моделі для ходів агента; `llm_output` запускається лише після того, + як спроба використання моделі породить вивід помічника. +- Для підтвердження фактичної моделі сеансу використовуйте `openclaw sessions` або + поверхні сеансу/стану Gateway, а під час налагодження навантаження постачальника запускайте Gateway з `--raw-stream --raw-stream-path `. -### Дубльоване володіння каналом або інструментом +### Дублювання володіння каналом або інструментом Симптоми: @@ -255,34 +271,35 @@ OpenClaw сканує плагіни в такому порядку (перши - `channel setup already registered: ()` - `plugin tool name conflict (): ` -Це означає, що більш ніж один увімкнений плагін намагається володіти тим самим каналом, -потоком налаштування або назвою інструмента. Найпоширеніша причина — external-плагін каналу, +Це означає, що більше ніж один увімкнений плагін намагається володіти тим самим каналом, +потоком налаштування або назвою інструмента. Найпоширеніша причина — зовнішній плагін каналу, встановлений поруч із вбудованим плагіном, який тепер надає той самий ідентифікатор каналу. Кроки налагодження: - Виконайте `openclaw plugins list --enabled --verbose`, щоб побачити кожен увімкнений плагін - і його походження. -- Виконайте `openclaw plugins inspect --json` для кожного підозрюваного плагіна та + та його походження. +- Виконайте `openclaw plugins inspect --json` для кожного підозрілого плагіна та порівняйте `channels`, `channelConfigs`, `tools` і діагностику. - Виконайте `openclaw plugins registry --refresh` після встановлення або видалення пакетів плагінів, щоб збережені метадані відображали поточне встановлення. -- Перезапустіть Gateway після змін установлення, реєстру або конфігурації. +- Перезапустіть Gateway після змін встановлення, реєстру або конфігурації. Варіанти виправлення: -- Якщо один плагін навмисно замінює інший для того самого ідентифікатора каналу, - бажаний плагін має оголосити `channelConfigs..preferOver` із +- Якщо один плагін навмисно замінює інший для того самого ідентифікатора каналу, бажаний + плагін має оголошувати `channelConfigs..preferOver` із ідентифікатором плагіна нижчого пріоритету. Див. [/plugins/manifest#replacing-another-channel-plugin](/uk/plugins/manifest#replacing-another-channel-plugin). - Якщо дублювання випадкове, вимкніть одну зі сторін через - `plugins.entries..enabled: false` або видаліть застаріле встановлення плагіна. + `plugins.entries..enabled: false` або видаліть застаріле встановлення + плагіна. - Якщо ви явно ввімкнули обидва плагіни, OpenClaw зберігає цей запит і - повідомляє про конфлікт. Виберіть одного власника для каналу або перейменуйте - інструменти, що належать плагіну, щоб поверхня середовища виконання була однозначною. + повідомляє про конфлікт. Виберіть одного власника для каналу або перейменуйте інструменти, + що належать плагіну, щоб поверхня середовища виконання була однозначною. ## Слоти плагінів (ексклюзивні категорії) -Деякі категорії є ексклюзивними (одночасно активним може бути лише один варіант): +Деякі категорії є ексклюзивними (одночасно активним може бути лише один): ```json5 { @@ -295,40 +312,40 @@ OpenClaw сканує плагіни в такому порядку (перши } ``` -| Слот | Що він керує | Типове значення | -| --------------- | --------------------- | ------------------- | -| `memory` | Active Memory плагін | `memory-core` | +| Слот | Що він керує | За замовчуванням | +| --------------- | ----------------------- | --------------------- | +| `memory` | Active Memory plugin | `memory-core` | | `contextEngine` | Активний рушій контексту | `legacy` (вбудований) | -## Довідка CLI +## Довідник CLI ```bash -openclaw plugins list # компактний перелік +openclaw plugins list # компактний список openclaw plugins list --enabled # лише увімкнені плагіни -openclaw plugins list --verbose # детальні рядки по кожному плагіну -openclaw plugins list --json # машиночитний перелік -openclaw plugins inspect # детальна інформація -openclaw plugins inspect --json # машиночитний формат -openclaw plugins inspect --all # таблиця по всьому набору +openclaw plugins list --verbose # докладні рядки по кожному плагіну +openclaw plugins list --json # машинозчитуваний список +openclaw plugins inspect # докладна інформація +openclaw plugins inspect --json # машинозчитуваний формат +openclaw plugins inspect --all # загальна таблиця openclaw plugins info # псевдонім inspect openclaw plugins doctor # діагностика -openclaw plugins registry # перегляд збереженого стану реєстру -openclaw plugins registry --refresh # перебудувати збережений реєстр -openclaw doctor --fix # виправити стан реєстру плагінів +openclaw plugins registry # перегляд стану збереженого реєстру +openclaw plugins registry --refresh # перебудова збереженого реєстру +openclaw doctor --fix # відновлення стану реєстру плагінів -openclaw plugins install # встановити (спочатку ClawHub, потім npm) -openclaw plugins install clawhub: # встановити лише з ClawHub -openclaw plugins install --force # перезаписати наявне встановлення -openclaw plugins install # встановити з локального шляху -openclaw plugins install -l # приєднати (без копіювання) для розробки +openclaw plugins install # встановлення (спочатку ClawHub, потім npm) +openclaw plugins install clawhub: # встановлення лише з ClawHub +openclaw plugins install --force # перезапис наявного встановлення +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 openclaw plugins update --all # оновити всі -openclaw plugins uninstall # видалити конфігурацію та записи індексу плагінів +openclaw plugins uninstall # видалити записи конфігурації та індексу плагіна openclaw plugins uninstall --keep-files openclaw plugins marketplace list openclaw plugins marketplace list --json @@ -338,68 +355,65 @@ openclaw plugins disable ``` Вбудовані плагіни постачаються разом з OpenClaw. Багато з них увімкнено за замовчуванням (наприклад, -вбудовані постачальники моделей, вбудовані постачальники мовлення та вбудований -browser-плагін). Інші вбудовані плагіни все ще потребують `openclaw plugins enable `. +вбудовані постачальники моделей, вбудовані постачальники мовлення та вбудований плагін +браузера). Інші вбудовані плагіни все ще потребують `openclaw plugins enable `. -`--force` перезаписує наявний встановлений плагін або пакет хуків на місці. Використовуйте -`openclaw plugins update ` для звичайних оновлень відстежуваних npm- -плагінів. Цей параметр не підтримується з `--link`, який повторно використовує вихідний шлях -замість копіювання в керовану ціль установлення. +`--force` перезаписує наявний встановлений плагін або пакет хуків на місці. Для стандартних оновлень відстежуваних npm- +плагінів використовуйте `openclaw plugins update `. Це не підтримується з `--link`, який повторно використовує вихідний шлях +замість копіювання у керовану ціль встановлення. Коли `plugins.allow` уже задано, `openclaw plugins install` додає ідентифікатор встановленого плагіна до цього списку дозволених перед його ввімкненням. Якщо той самий ідентифікатор плагіна -присутній у `plugins.deny`, установлення видаляє цей застарілий запис deny, щоб після перезапуску -явно встановлений плагін можна було одразу завантажити. +присутній у `plugins.deny`, під час встановлення цей застарілий запис deny видаляється, щоб після перезапуску +явно встановлений плагін одразу можна було завантажити. -OpenClaw зберігає локальний реєстр плагінів як постійну модель читання для -переліку плагінів, володіння внесками та планування запуску. Потоки install, update, -uninstall, enable і disable оновлюють цей реєстр після зміни стану -плагіна. Той самий файл `plugins/installs.json` зберігає тривалі метадані встановлення в -верхньорівневому `installRecords` і відтворювані метадані маніфесту в `plugins`. Якщо -реєстр відсутній, застарілий або некоректний, `openclaw plugins registry ---refresh` перебудовує його уявлення про маніфест на основі записів установлення, політики конфігурації та +OpenClaw зберігає локальний реєстр плагінів як модель холодного читання для +обліку плагінів, володіння внесками та планування запуску. Потоки встановлення, оновлення, +видалення, увімкнення та вимкнення оновлюють цей реєстр після зміни стану +плагіна. Той самий файл `plugins/installs.json` зберігає довговічні метадані встановлення у +верхньорівневому `installRecords` і придатні до перебудови метадані маніфесту в `plugins`. Якщо +реєстр відсутній, застарілий або недійсний, `openclaw plugins registry +--refresh` перебудовує його представлення маніфесту з записів встановлення, політики конфігурації та метаданих маніфесту/пакета без завантаження модулів середовища виконання плагінів. -`openclaw plugins update ` застосовується до відстежуваних установлень. Передавання -специфікації npm-пакета з dist-tag або точною версією зіставляє назву пакета -назад із записом відстежуваного плагіна та фіксує нову специфікацію для майбутніх оновлень. -Передавання назви пакета без версії повертає точно зафіксоване встановлення -до стандартної лінії випуску реєстру. Якщо встановлений npm-плагін уже відповідає -розв’язаній версії та зафіксованій ідентичності артефакту, OpenClaw пропускає оновлення -без завантаження, перевстановлення чи перезапису конфігурації. +`openclaw plugins update ` застосовується до відстежуваних встановлень. Передавання +специфікатора пакета npm з dist-tag або точною версією знову зіставляє назву пакета +із записом відстежуваного плагіна та фіксує новий специфікатор для майбутніх оновлень. +Передавання назви пакета без версії повертає точно закріплене встановлення назад на +типову лінійку випусків реєстру. Якщо встановлений npm-плагін уже відповідає +визначеній версії та записаній ідентичності артефакту, OpenClaw пропускає оновлення +без завантаження, перевстановлення або перезапису конфігурації. `--pin` працює лише з npm. Він не підтримується з `--marketplace`, оскільки -встановлення з marketplace зберігають метадані джерела marketplace замість специфікації npm. +встановлення з marketplace зберігають метадані джерела marketplace замість npm-специфікатора. -`--dangerously-force-unsafe-install` — це аварійний режим перевизначення для хибнопозитивних -спрацювань вбудованого сканера небезпечного коду. Він дозволяє продовжити встановлення -та оновлення плагінів попри вбудовані результати `critical`, але все одно -не обходить блокування політики `before_install` плагіна або блокування через збої сканування. +`--dangerously-force-unsafe-install` — це аварійний обхідний прапорець для хибнопозитивних +спрацьовувань вбудованого сканера небезпечного коду. Він дозволяє продовжувати встановлення +й оновлення плагінів попри вбудовані знахідки `critical`, але все одно +не обходить блокування політики плагіна `before_install` або блокування через помилки сканування. -Цей прапорець CLI застосовується лише до потоків install/update плагінів. Встановлення -залежностей 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, +для плагінів. Поточна підтримка середовища виконання включає bundle Skills, командні Skills Claude, типові значення Claude `settings.json`, типові значення Claude `.lsp.json` і оголошених у маніфесті -`lspServers`, Cursor command-skills і сумісні каталоги хуків Codex. +`lspServers`, командні Skills Cursor і сумісні каталоги хуків Codex. `openclaw plugins inspect ` також повідомляє про виявлені можливості набору, а також -підтримувані або непідтримувані записи серверів MCP і LSP для плагінів, що базуються на наборах. +підтримувані або непідтримувані записи серверів MCP і LSP для плагінів на основі наборів. -Джерела marketplace можуть бути відомою назвою Claude marketplace з +Джерела marketplace можуть бути відомою назвою marketplace Claude з `~/.claude/plugins/known_marketplaces.json`, локальним коренем marketplace або шляхом до -`marketplace.json`, скороченим записом GitHub на кшталт `owner/repo`, URL репозиторію GitHub -або URL git. Для віддалених marketplace записи плагінів мають залишатися всередині -клонованого репозиторію marketplace і використовувати лише відносні джерела шляхів. +`marketplace.json`, скороченим записом GitHub на кшталт `owner/repo`, URL репозиторію GitHub або URL git. Для віддалених marketplace +записи плагінів мають залишатися в межах клонованого репозиторію marketplace і використовувати лише відносні шляхи до джерел. -Повну інформацію див. у [довідці CLI `openclaw plugins`](/uk/cli/plugins). +Повні відомості див. у [довіднику CLI `openclaw plugins`](/uk/cli/plugins). ## Огляд API плагінів -Native-плагіни експортують об’єкт entry, який надає `register(api)`. Старіші -плагіни можуть і далі використовувати `activate(api)` як застарілий псевдонім, але нові плагіни повинні +Native-плагіни експортують об’єкт точки входу, який надає `register(api)`. Старіші +плагіни все ще можуть використовувати `activate(api)` як застарілий псевдонім, але нові плагіни повинні використовувати `register`. ```typescript @@ -420,75 +434,74 @@ export default definePluginEntry({ }); ``` -OpenClaw завантажує об’єкт entry і викликає `register(api)` під час активації -плагіна. Завантажувач усе ще повертається до `activate(api)` для старіших плагінів, -але вбудовані плагіни та нові external-плагіни мають вважати `register` -публічним контрактом. +OpenClaw завантажує об’єкт точки входу та викликає `register(api)` під час +активації плагіна. Завантажувач усе ще повертається до `activate(api)` для старіших плагінів, +але вбудовані плагіни та нові external-плагіни повинні розглядати `register` як +публічний контракт. -`api.registrationMode` повідомляє плагіну, чому його entry завантажується: +`api.registrationMode` повідомляє плагіну, чому завантажується його точка входу: -| Режим | Значення | +| Режим | Значення | | --------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `full` | Активація середовища виконання. Реєструйте інструменти, хуки, служби, команди, маршрути та інші живі побічні ефекти. | -| `discovery` | Виявлення можливостей лише для читання. Реєструйте постачальників і метадані; код entry довіреного плагіна може завантажуватися, але живі побічні ефекти слід пропускати. | -| `setup-only` | Завантаження метаданих налаштування каналу через полегшений entry налаштування. | -| `setup-runtime` | Завантаження налаштування каналу, якому також потрібен entry середовища виконання. | -| `cli-metadata` | Лише збирання метаданих команди CLI. | +| `full` | Активація середовища виконання. Реєстрація інструментів, хуків, сервісів, команд, маршрутів та інших побічних ефектів у живому режимі. | +| `discovery` | Виявлення можливостей лише для читання. Реєструйте постачальників і метадані; код точки входу довіреного плагіна може завантажуватися, але слід пропускати побічні ефекти живого режиму. | +| `setup-only` | Завантаження метаданих налаштування каналу через полегшену точку входу налаштування. | +| `setup-runtime` | Завантаження налаштування каналу, яке також потребує точки входу середовища виконання. | +| `cli-metadata` | Лише збирання метаданих команд CLI. | -Entry плагінів, які відкривають сокети, бази даних, фонові воркери або довгоживучі -клієнти, повинні обмежувати ці побічні ефекти умовою `api.registrationMode === "full"`. +Точки входу плагінів, які відкривають сокети, бази даних, фонові воркери або довготривалі +клієнти, повинні обмежувати такі побічні ефекти умовою `api.registrationMode === "full"`. Завантаження для виявлення кешуються окремо від активаційних завантажень і не замінюють -реєстр запущеного Gateway. Виявлення не активує, але й не є вільним від імпорту: -OpenClaw може обчислювати довірений entry плагіна або модуль channel-плагіна, щоб побудувати -знімок. Тримайте верхні рівні модуля легкими та без побічних ефектів, а мережевих клієнтів, -підпроцеси, слухачів, читання облікових даних і запуск служб переносіть -за межі full-runtime шляхів. +реєстр запущеного Gateway. Виявлення не активує середовище виконання, але й не є вільним від імпорту: +OpenClaw може обчислити довірену точку входу плагіна або модуль канального плагіна, щоб побудувати +знімок. Тримайте верхні рівні модулів легкими й без побічних ефектів та перемістіть +мережевих клієнтів, підпроцеси, слухачі, читання облікових даних і запуск сервісів +за шляхи повного режиму середовища виконання. Поширені методи реєстрації: -| Метод | Що він реєструє | -| -------------------------------------- | ---------------------------- | -| `registerProvider` | Постачальник моделі (LLM) | -| `registerChannel` | Канал чату | -| `registerTool` | Інструмент агента | -| `registerHook` / `on(...)` | Хуки життєвого циклу | -| `registerSpeechProvider` | Перетворення тексту в мовлення / STT | -| `registerRealtimeTranscriptionProvider`| Потоковий STT | -| `registerRealtimeVoiceProvider` | Двобічний голос у реальному часі | -| `registerMediaUnderstandingProvider` | Аналіз зображень/аудіо | -| `registerImageGenerationProvider` | Генерація зображень | -| `registerMusicGenerationProvider` | Генерація музики | -| `registerVideoGenerationProvider` | Генерація відео | -| `registerWebFetchProvider` | Постачальник отримання/скрапінгу вебданих | -| `registerWebSearchProvider` | Вебпошук | -| `registerHttpRoute` | HTTP-ендпоінт | -| `registerCommand` / `registerCli` | Команди CLI | -| `registerContextEngine` | Рушій контексту | -| `registerService` | Фонова служба | +| Метод | Що він реєструє | +| --------------------------------------- | --------------------------- | +| `registerProvider` | Постачальник моделей (LLM) | +| `registerChannel` | Канал чату | +| `registerTool` | Інструмент агента | +| `registerHook` / `on(...)` | Хуки життєвого циклу | +| `registerSpeechProvider` | Синтез мовлення / STT | +| `registerRealtimeTranscriptionProvider` | Потоковий STT | +| `registerRealtimeVoiceProvider` | Дуплексний голос у реальному часі | +| `registerMediaUnderstandingProvider` | Аналіз зображень/аудіо | +| `registerImageGenerationProvider` | Генерація зображень | +| `registerMusicGenerationProvider` | Генерація музики | +| `registerVideoGenerationProvider` | Генерація відео | +| `registerWebFetchProvider` | Постачальник веботримання / скрапінгу | +| `registerWebSearchProvider` | Вебпошук | +| `registerHttpRoute` | HTTP-ендпойнт | +| `registerCommand` / `registerCli` | Команди CLI | +| `registerContextEngine` | Рушій контексту | +| `registerService` | Фоновий сервіс | -Поведінка guard для типізованих хуків життєвого циклу: +Поведінка захисту хуків для типізованих хуків життєвого циклу: -- `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 }` не виконує жодної дії та не скасовує попереднє скасування. -Native Codex app-server повертає події інструментів Codex-native через цю +Native Codex app-server запускає міст, який повертає події native-інструментів Codex назад у цю поверхню хуків. Плагіни можуть блокувати native-інструменти Codex через `before_tool_call`, -спостерігати результати через `after_tool_call` і брати участь у погодженнях -`PermissionRequest` Codex. Міст поки що не переписує аргументи native-інструментів Codex. -Точна межа підтримки середовища виконання Codex описана в +спостерігати за результатами через `after_tool_call` і брати участь у схваленнях Codex +`PermissionRequest`. Міст поки що не переписує аргументи native-інструментів Codex. Точна межа підтримки середовища виконання Codex описана в [контракті підтримки Codex harness v1](/uk/plugins/codex-harness#v1-support-contract). -Повну інформацію про типізовану поведінку хуків див. в [огляді SDK](/uk/plugins/sdk-overview#hook-decision-semantics). +Повну інформацію про поведінку типізованих хуків див. в [огляді SDK](/uk/plugins/sdk-overview#hook-decision-semantics). ## Пов’язане - [Створення плагінів](/uk/plugins/building-plugins) — створіть власний плагін - [Набори плагінів](/uk/plugins/bundles) — сумісність наборів Codex/Claude/Cursor - [Маніфест плагіна](/uk/plugins/manifest) — схема маніфесту -- [Реєстрація інструментів](/uk/plugins/building-plugins#registering-agent-tools) — додавання інструментів агента в плагін +- [Реєстрація інструментів](/uk/plugins/building-plugins#registering-agent-tools) — додавання інструментів агента в плагіні - [Внутрішня архітектура плагінів](/uk/plugins/architecture) — модель можливостей і конвеєр завантаження -- [Плагіни спільноти](/uk/plugins/community) — переліки сторонніх плагінів +- [Плагіни спільноти](/uk/plugins/community) — сторонні добірки