chore(i18n): refresh uk translations
This commit is contained in:
parent
b8230d45da
commit
7a5ca32f00
File diff suppressed because it is too large
Load Diff
@ -4,37 +4,38 @@ read_when:
|
||||
- Розуміння правил виявлення та завантаження плагінів
|
||||
- Робота з сумісними з Codex/Claude пакетами плагінів
|
||||
sidebarTitle: Install and Configure
|
||||
summary: Встановлюйте, налаштовуйте та керуйте плагінами OpenClaw
|
||||
summary: Встановлення, налаштування та керування плагінами OpenClaw
|
||||
title: Плагіни
|
||||
x-i18n:
|
||||
generated_at: "2026-04-25T17:39:20Z"
|
||||
generated_at: "2026-04-25T19:49:09Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 82e272b1b59006b1f40b4acc3f21a8bca8ecacc1a8b7fb577ad3d874b9a8e326
|
||||
source_hash: bbc819fc29f0bf58fce83223e43e2ddba3f199c71c6536e900ac6032f181d770
|
||||
source_path: tools/plugin.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
Плагіни розширюють OpenClaw новими можливостями: канали, постачальники моделей,
|
||||
обв’язки агентів, інструменти, Skills, мовлення, транскрипція в реальному часі, голос
|
||||
у реальному часі, розуміння медіа, генерація зображень, генерація відео, отримання даних з вебу, вебпошук та інше. Деякі плагіни є **core** (постачаються разом з OpenClaw), інші
|
||||
є **external** (публікуються спільнотою в npm).
|
||||
середовища агентів, інструменти, Skills, мовлення, транскрипція в реальному часі, голос у реальному
|
||||
часі, розуміння медіа, генерація зображень, генерація відео, веб-отримання, веб-
|
||||
пошук тощо. Деякі плагіни є **core** (постачаються з OpenClaw), інші —
|
||||
**external** (опубліковані спільнотою в npm).
|
||||
|
||||
## Швидкий старт
|
||||
|
||||
<Steps>
|
||||
<Step title="Подивіться, що завантажено">
|
||||
<Step title="Перегляньте, що завантажено">
|
||||
```bash
|
||||
openclaw plugins list
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="Установіть плагін">
|
||||
<Step title="Встановіть плагін">
|
||||
```bash
|
||||
# From npm
|
||||
# З npm
|
||||
openclaw plugins install @openclaw/voice-call
|
||||
|
||||
# From a local directory or archive
|
||||
# З локального каталогу або архіву
|
||||
openclaw plugins install ./my-plugin
|
||||
openclaw plugins install ./my-plugin.tgz
|
||||
```
|
||||
@ -59,52 +60,52 @@ x-i18n:
|
||||
/plugin enable voice-call
|
||||
```
|
||||
|
||||
Шлях установлення використовує той самий механізм визначення джерела, що й CLI: локальний
|
||||
шлях/архів, явний `clawhub:<pkg>` або специфікація пакета без префікса (спочатку ClawHub, потім резервне звернення до npm).
|
||||
Шлях встановлення використовує той самий механізм розв’язання, що й CLI: локальний
|
||||
шлях/архів, явний `clawhub:<pkg>` або специфікація пакета без префікса (спочатку ClawHub, потім резервний перехід на npm).
|
||||
|
||||
Якщо конфігурація некоректна, установлення зазвичай безпечно завершується з відмовою та вказує вам на
|
||||
`openclaw doctor --fix`. Єдиний виняток для відновлення — це вузький шлях
|
||||
перевстановлення вбудованого плагіна для плагінів, які погоджуються на
|
||||
Якщо конфігурація некоректна, встановлення зазвичай безпечно завершується відмовою і пропонує
|
||||
скористатися `openclaw doctor --fix`. Єдиний виняток для відновлення — це вузький шлях
|
||||
перевстановлення вбудованого плагіна для плагінів, які підтримують
|
||||
`openclaw.install.allowInvalidConfigRecovery`.
|
||||
|
||||
Пакетні встановлення OpenClaw не встановлюють заздалегідь усе дерево
|
||||
залежностей середовища виконання кожного вбудованого плагіна. Коли вбудований плагін, що належить OpenClaw, активний через
|
||||
конфігурацію плагіна, застарілу конфігурацію каналу або маніфест із увімкненням за замовчуванням, під час запуску
|
||||
відновлюються лише оголошені залежності середовища виконання цього плагіна перед його імпортом.
|
||||
Пакетні встановлення OpenClaw не встановлюють завчасно все дерево залежностей середовища виконання кожного вбудованого плагіна.
|
||||
Коли вбудований плагін, що належить OpenClaw, активний через
|
||||
конфігурацію плагіна, застарілу конфігурацію каналу або маніфест, увімкнений за замовчуванням,
|
||||
під час запуску відновлюються лише оголошені цим плагіном залежності середовища виконання перед його імпортом.
|
||||
Явне вимкнення все одно має пріоритет: `plugins.entries.<id>.enabled: false`,
|
||||
`plugins.deny`, `plugins.enabled: false` і `channels.<id>.enabled: false`
|
||||
запобігають автоматичному відновленню залежностей середовища виконання вбудованого плагіна для цього плагіна/каналу.
|
||||
External плагіни та власні шляхи завантаження все одно потрібно встановлювати через
|
||||
запобігають автоматичному відновленню залежностей середовища виконання для цього плагіна/каналу.
|
||||
External-плагіни та користувацькі шляхи завантаження, як і раніше, потрібно встановлювати через
|
||||
`openclaw plugins install`.
|
||||
|
||||
## Типи плагінів
|
||||
|
||||
OpenClaw розпізнає два формати плагінів:
|
||||
|
||||
| Формат | Як це працює | Приклади |
|
||||
| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------ |
|
||||
| **Native** | `openclaw.plugin.json` + модуль середовища виконання; виконується в межах процесу | Офіційні плагіни, npm-пакети спільноти |
|
||||
| **Bundle** | Сумісне з Codex/Claude/Cursor компонування; зіставляється з можливостями OpenClaw | `.codex-plugin/`, `.claude-plugin/`, `.cursor-plugin/` |
|
||||
| Формат | Як це працює | Приклади |
|
||||
| ---------- | ---------------------------------------------------------------- | ------------------------------------------------------ |
|
||||
| **Native** | `openclaw.plugin.json` + модуль середовища виконання; виконується в тому ж процесі | Офіційні плагіни, пакети npm від спільноти |
|
||||
| **Bundle** | Сумісне з Codex/Claude/Cursor компонування; відображається на можливості OpenClaw | `.codex-plugin/`, `.claude-plugin/`, `.cursor-plugin/` |
|
||||
|
||||
Обидва відображаються в `openclaw plugins list`. Докладніше про пакети див. у [Пакети плагінів](/uk/plugins/bundles).
|
||||
Обидва відображаються в `openclaw plugins list`. Докладніше про пакети див. у [Plugin Bundles](/uk/plugins/bundles).
|
||||
|
||||
Якщо ви пишете native плагін, почніть із [Створення плагінів](/uk/plugins/building-plugins)
|
||||
і [Огляд Plugin SDK](/uk/plugins/sdk-overview).
|
||||
Якщо ви пишете native-плагін, почніть із [Building Plugins](/uk/plugins/building-plugins)
|
||||
та [Plugin SDK Overview](/uk/plugins/sdk-overview).
|
||||
|
||||
## Офіційні плагіни
|
||||
|
||||
### Доступні для встановлення (npm)
|
||||
### Встановлювані (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) |
|
||||
| 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)
|
||||
### Core (постачаються з OpenClaw)
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Постачальники моделей (увімкнені за замовчуванням)">
|
||||
@ -117,7 +118,7 @@ OpenClaw розпізнає два формати плагінів:
|
||||
|
||||
<Accordion title="Плагіни пам’яті">
|
||||
- `memory-core` — вбудований пошук у пам’яті (типово через `plugins.slots.memory`)
|
||||
- `memory-lancedb` — довготривала пам’ять із встановленням за потреби, автоматичним пригадуванням/захопленням (установіть `plugins.slots.memory = "memory-lancedb"`)
|
||||
- `memory-lancedb` — довгострокова пам’ять із встановленням за потреби та автоматичним пригадуванням/захопленням (встановіть `plugins.slots.memory = "memory-lancedb"`)
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Постачальники мовлення (увімкнені за замовчуванням)">
|
||||
@ -125,12 +126,12 @@ OpenClaw розпізнає два формати плагінів:
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Інше">
|
||||
- `browser` — вбудований браузерний плагін для інструмента браузера, CLI `openclaw browser`, методу Gateway `browser.request`, середовища виконання браузера та служби керування браузером за замовчуванням (увімкнений за замовчуванням; вимкніть його перед заміною)
|
||||
- `browser` — вбудований browser-плагін для browser tool, CLI `openclaw browser`, методу Gateway `browser.request`, browser runtime та служби керування браузером за замовчуванням (увімкнений за замовчуванням; вимкніть його перед заміною)
|
||||
- `copilot-proxy` — міст VS Code Copilot Proxy (вимкнений за замовчуванням)
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
Шукаєте сторонні плагіни? Див. [Плагіни спільноти](/uk/plugins/community).
|
||||
Шукаєте сторонні плагіни? Див. [Community Plugins](/uk/plugins/community).
|
||||
|
||||
## Конфігурація
|
||||
|
||||
@ -152,35 +153,35 @@ OpenClaw розпізнає два формати плагінів:
|
||||
| ---------------- | --------------------------------------------------------- |
|
||||
| `enabled` | Головний перемикач (типово: `true`) |
|
||||
| `allow` | Список дозволених плагінів (необов’язково) |
|
||||
| `deny` | Список заборонених плагінів (необов’язково; заборона має пріоритет) |
|
||||
| `deny` | Список заборонених плагінів (необов’язково; deny має пріоритет) |
|
||||
| `load.paths` | Додаткові файли/каталоги плагінів |
|
||||
| `slots` | Селектори ексклюзивних слотів (наприклад, `memory`, `contextEngine`) |
|
||||
| `entries.\<id\>` | Перемикачі та конфігурація для окремого плагіна |
|
||||
|
||||
Зміни конфігурації **потребують перезапуску Gateway**. Якщо Gateway працює з
|
||||
відстеженням конфігурації та внутрішньопроцесним перезапуском (стандартний шлях `openclaw gateway`), цей
|
||||
перезапуск зазвичай виконується автоматично невдовзі після запису змін у конфігурацію.
|
||||
Підтримуваного шляху гарячого перезавантаження для native коду середовища виконання плагіна або його
|
||||
хуків життєвого циклу немає; перезапустіть процес Gateway, який обслуговує активний канал, перш ніж
|
||||
Зміни конфігурації **потребують перезапуску Gateway**. Якщо Gateway запущено з
|
||||
відстеженням конфігурації та перезапуском у процесі (типовий шлях `openclaw gateway`),
|
||||
такий перезапуск зазвичай виконується автоматично невдовзі після запису конфігурації.
|
||||
Підтримуваного шляху hot-reload для коду native-плагінів або хуків життєвого циклу немає;
|
||||
перезапустіть процес Gateway, який обслуговує активний канал, перш ніж
|
||||
очікувати, що оновлений код `register(api)`, хуки `api.on(...)`, інструменти, служби або
|
||||
хуки постачальника/середовища виконання почнуть працювати.
|
||||
хуки постачальника/runtime почнуть виконуватися.
|
||||
|
||||
`openclaw plugins list` — це локальний знімок реєстру/конфігурації плагінів. Позначка
|
||||
`enabled` там означає, що збережений реєстр і поточна конфігурація дозволяють
|
||||
плагіну брати участь у роботі. Це не доводить, що вже запущений віддалений дочірній процес Gateway
|
||||
перезапустився з тим самим кодом плагіна. У середовищах VPS/контейнерів із
|
||||
процесами-обгортками надсилайте перезапуск до фактичного процесу `openclaw gateway run`,
|
||||
`openclaw plugins list` — це локальний знімок реєстру/конфігурації плагінів. Плагін зі
|
||||
станом `enabled` там означає, що збережений реєстр і поточна конфігурація дозволяють
|
||||
йому брати участь. Це не доводить, що вже запущений дочірній процес віддаленого Gateway
|
||||
перезапустився з тим самим кодом плагіна. У VPS/контейнерних конфігураціях із
|
||||
процесами-обгортками надсилайте перезапуск фактичному процесу `openclaw gateway run`,
|
||||
або використовуйте `openclaw gateway restart` для запущеного Gateway.
|
||||
|
||||
<Accordion title="Стани плагіна: вимкнений, відсутній, недійсний">
|
||||
- **Disabled**: плагін існує, але правила ввімкнення його вимкнули. Конфігурація зберігається.
|
||||
- **Missing**: конфігурація посилається на ідентифікатор плагіна, який механізм виявлення не знайшов.
|
||||
<Accordion title="Стани плагіна: вимкнений, відсутній, некоректний">
|
||||
- **Disabled**: плагін існує, але правила увімкнення його вимкнули. Конфігурація зберігається.
|
||||
- **Missing**: конфігурація посилається на ідентифікатор плагіна, який не було знайдено під час виявлення.
|
||||
- **Invalid**: плагін існує, але його конфігурація не відповідає оголошеній схемі.
|
||||
</Accordion>
|
||||
|
||||
## Виявлення та пріоритет
|
||||
|
||||
OpenClaw сканує плагіни в такому порядку (перше збігле входження має пріоритет):
|
||||
OpenClaw сканує плагіни в такому порядку (перше збіг — пріоритетний):
|
||||
|
||||
<Steps>
|
||||
<Step title="Шляхи з конфігурації">
|
||||
@ -196,96 +197,97 @@ OpenClaw сканує плагіни в такому порядку (перше
|
||||
</Step>
|
||||
|
||||
<Step title="Вбудовані плагіни">
|
||||
Постачаються разом з OpenClaw. Багато з них увімкнені за замовчуванням (постачальники моделей, мовлення).
|
||||
Постачаються з OpenClaw. Багато з них увімкнено за замовчуванням (постачальники моделей, мовлення).
|
||||
Інші потребують явного ввімкнення.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Правила ввімкнення
|
||||
### Правила увімкнення
|
||||
|
||||
- `plugins.enabled: false` вимикає всі плагіни
|
||||
- `plugins.deny` завжди має пріоритет над allow
|
||||
- `plugins.entries.\<id\>.enabled: false` вимикає цей плагін
|
||||
- Плагіни з робочого простору **вимкнені за замовчуванням** (їх треба явно ввімкнути)
|
||||
- Вбудовані плагіни дотримуються вбудованого набору, увімкненого за замовчуванням, якщо не перевизначено
|
||||
- Плагіни з робочого простору **вимкнені за замовчуванням** (їх потрібно явно ввімкнути)
|
||||
- Вбудовані плагіни дотримуються вбудованого набору, увімкненого за замовчуванням, якщо його не перевизначено
|
||||
- Ексклюзивні слоти можуть примусово ввімкнути вибраний для цього слота плагін
|
||||
- Деякі вбудовані плагіни з добровільним ввімкненням автоматично вмикаються, коли конфігурація вказує поверхню, що належить плагіну,
|
||||
наприклад посилання на модель постачальника, конфігурацію каналу або середовище виконання
|
||||
обв’язки
|
||||
- Маршрути Codex сімейства OpenAI зберігають окремі межі плагінів:
|
||||
- Деякі вбудовані плагіни з режимом opt-in вмикаються автоматично, коли конфігурація вказує поверхню, що належить плагіну,
|
||||
наприклад посилання на модель постачальника, конфігурацію каналу або
|
||||
runtime середовища
|
||||
- Маршрути Codex родини OpenAI зберігають окремі межі плагінів:
|
||||
`openai-codex/*` належить плагіну OpenAI, тоді як вбудований плагін
|
||||
сервера застосунку Codex вибирається через `embeddedHarness.runtime: "codex"` або застарілі
|
||||
app-server Codex вибирається через `embeddedHarness.runtime: "codex"` або застарілі
|
||||
посилання на моделі `codex/*`
|
||||
|
||||
## Усунення проблем із хуками середовища виконання
|
||||
|
||||
Якщо плагін відображається в `plugins list`, але побічні ефекти або хуки `register(api)`
|
||||
не спрацьовують у трафіку активного чату, спочатку перевірте таке:
|
||||
Якщо плагін з’являється в `plugins list`, але побічні ефекти `register(api)` або хуки
|
||||
не виконуються в трафіку живого чату, спочатку перевірте таке:
|
||||
|
||||
- Запустіть `openclaw gateway status --deep --require-rpc` і підтвердьте, що активні
|
||||
URL Gateway, профіль, шлях до конфігурації та процес — саме ті, які ви редагуєте.
|
||||
- Перезапустіть активний Gateway після змін установлення/конфігурації/коду плагіна. У контейнерах
|
||||
з обгорткою PID 1 може бути лише супервізором; перезапустіть або надішліть сигнал дочірньому
|
||||
- Перезапустіть активний Gateway після встановлення/зміни конфігурації/зміни коду плагіна. У контейнерах
|
||||
з обгортками PID 1 може бути лише супервізором; перезапустіть або надішліть сигнал дочірньому
|
||||
процесу `openclaw gateway run`.
|
||||
- Використовуйте `openclaw plugins inspect <id> --json`, щоб підтвердити реєстрацію хуків і
|
||||
діагностику. Невбудовані хуки розмови, як-от `llm_input`,
|
||||
`llm_output` і `agent_end`, потребують
|
||||
- Використовуйте `openclaw plugins inspect <id> --json`, щоб підтвердити реєстрації хуків і
|
||||
діагностику. Для невбудованих розмовних хуків, таких як `llm_input`,
|
||||
`llm_output` і `agent_end`, потрібен
|
||||
`plugins.entries.<id>.hooks.allowConversationAccess=true`.
|
||||
- Для перемикання моделей надавайте перевагу `before_model_resolve`. Він спрацьовує перед визначенням моделі
|
||||
для ходів агента; `llm_output` спрацьовує лише після того, як спроба роботи моделі
|
||||
створює вивід помічника.
|
||||
- Для перемикання моделей надавайте перевагу `before_model_resolve`. Цей хук виконується до
|
||||
розв’язання моделі для ходів агента; `llm_output` виконується лише після того, як спроба
|
||||
моделі створить відповідь асистента.
|
||||
- Щоб підтвердити фактичну модель сеансу, використовуйте `openclaw sessions` або
|
||||
поверхні сеансу/стану Gateway, а під час налагодження корисного навантаження постачальника запускайте
|
||||
поверхні сеансу/стану Gateway, а під час налагодження навантажень постачальника запускайте
|
||||
Gateway з `--raw-stream --raw-stream-path <path>`.
|
||||
|
||||
## Слоти плагінів (ексклюзивні категорії)
|
||||
|
||||
Деякі категорії є ексклюзивними (одночасно може бути активним лише один плагін):
|
||||
Деякі категорії є ексклюзивними (одночасно може бути активним лише один):
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
slots: {
|
||||
memory: "memory-core", // or "none" to disable
|
||||
contextEngine: "legacy", // or a plugin id
|
||||
memory: "memory-core", // або "none", щоб вимкнути
|
||||
contextEngine: "legacy", // або id плагіна
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
| Слот | Що він контролює | Типово |
|
||||
| --------------- | ----------------------- | ------------------- |
|
||||
| `memory` | Active Memory плагін | `memory-core` |
|
||||
| `contextEngine` | Активний рушій контексту | `legacy` (вбудований) |
|
||||
| Слот | Що він контролює | Типове значення |
|
||||
| --------------- | ------------------------- | ------------------- |
|
||||
| `memory` | Active Memory плагін | `memory-core` |
|
||||
| `contextEngine` | Активний рушій контексту | `legacy` (вбудований) |
|
||||
|
||||
## Довідка CLI
|
||||
## Довідник CLI
|
||||
|
||||
```bash
|
||||
openclaw plugins list # compact inventory
|
||||
openclaw plugins list --enabled # only enabled plugins
|
||||
openclaw plugins list --verbose # per-plugin detail lines
|
||||
openclaw plugins list --json # machine-readable inventory
|
||||
openclaw plugins inspect <id> # deep detail
|
||||
openclaw plugins inspect <id> --json # machine-readable
|
||||
openclaw plugins inspect --all # fleet-wide table
|
||||
openclaw plugins info <id> # inspect alias
|
||||
openclaw plugins doctor # diagnostics
|
||||
openclaw plugins registry # inspect persisted registry state
|
||||
openclaw plugins registry --refresh # rebuild persisted registry
|
||||
openclaw plugins list # компактний список
|
||||
openclaw plugins list --enabled # лише увімкнені плагіни
|
||||
openclaw plugins list --verbose # докладні рядки для кожного плагіна
|
||||
openclaw plugins list --json # машиночитаний список
|
||||
openclaw plugins inspect <id> # докладна інформація
|
||||
openclaw plugins inspect <id> --json # машиночитаний формат
|
||||
openclaw plugins inspect --all # таблиця для всіх
|
||||
openclaw plugins info <id> # псевдонім для inspect
|
||||
openclaw plugins doctor # діагностика
|
||||
openclaw plugins registry # перевірка збереженого стану реєстру
|
||||
openclaw plugins registry --refresh # перебудувати збережений реєстр
|
||||
openclaw doctor --fix # виправити стан міграції реєстру/журналу
|
||||
|
||||
openclaw plugins install <package> # install (ClawHub first, then npm)
|
||||
openclaw plugins install clawhub:<pkg> # install from ClawHub only
|
||||
openclaw plugins install <spec> --force # overwrite existing install
|
||||
openclaw plugins install <path> # install from local path
|
||||
openclaw plugins install -l <path> # link (no copy) for dev
|
||||
openclaw plugins install <package> # встановити (спочатку ClawHub, потім npm)
|
||||
openclaw plugins install clawhub:<pkg> # встановити лише з ClawHub
|
||||
openclaw plugins install <spec> --force # перезаписати наявне встановлення
|
||||
openclaw plugins install <path> # встановити з локального шляху
|
||||
openclaw plugins install -l <path> # підключити (без копіювання) для розробки
|
||||
openclaw plugins install <plugin> --marketplace <source>
|
||||
openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo>
|
||||
openclaw plugins install <spec> --pin # record exact resolved npm spec
|
||||
openclaw plugins install <spec> --pin # зберегти точну розв’язану npm-специфікацію
|
||||
openclaw plugins install <spec> --dangerously-force-unsafe-install
|
||||
openclaw plugins update <id-or-npm-spec> # update one plugin
|
||||
openclaw plugins update <id-or-npm-spec> # оновити один плагін
|
||||
openclaw plugins update <id-or-npm-spec> --dangerously-force-unsafe-install
|
||||
openclaw plugins update --all # update all
|
||||
openclaw plugins uninstall <id> # remove config/install records
|
||||
openclaw plugins update --all # оновити всі
|
||||
openclaw plugins uninstall <id> # видалити записи конфігурації та журналу встановлення
|
||||
openclaw plugins uninstall <id> --keep-files
|
||||
openclaw plugins marketplace list <source>
|
||||
openclaw plugins marketplace list <source> --json
|
||||
@ -295,65 +297,68 @@ openclaw plugins disable <id>
|
||||
```
|
||||
|
||||
Вбудовані плагіни постачаються разом з OpenClaw. Багато з них увімкнені за замовчуванням (наприклад,
|
||||
вбудовані постачальники моделей, вбудовані постачальники мовлення та вбудований браузерний
|
||||
плагін). Інші вбудовані плагіни все одно потребують `openclaw plugins enable <id>`.
|
||||
вбудовані постачальники моделей, вбудовані постачальники мовлення та вбудований browser-
|
||||
плагін). Інші вбудовані плагіни все ще потребують `openclaw plugins enable <id>`.
|
||||
|
||||
`--force` перезаписує наявний установлений плагін або пакет хуків на місці. Для
|
||||
`--force` перезаписує наявний встановлений плагін або набір хуків на місці. Для
|
||||
звичайних оновлень відстежуваних npm-плагінів використовуйте
|
||||
`openclaw plugins update <id-or-npm-spec>`. Цей параметр не підтримується разом із `--link`, який повторно використовує вихідний шлях
|
||||
замість копіювання в цільовий каталог керованого встановлення.
|
||||
`openclaw plugins update <id-or-npm-spec>`. Цей параметр не підтримується з `--link`, який повторно використовує вихідний шлях
|
||||
замість копіювання в керовану ціль встановлення.
|
||||
|
||||
Коли `plugins.allow` уже задано, `openclaw plugins install` додає
|
||||
ідентифікатор встановленого плагіна до цього списку дозволених перед його ввімкненням, щоб після
|
||||
перезапуску встановлені плагіни можна було відразу завантажувати.
|
||||
Коли `plugins.allow` уже встановлено, `openclaw plugins install` додає
|
||||
ідентифікатор встановленого плагіна до цього списку дозволених перед його ввімкненням, тож встановлені плагіни
|
||||
можна завантажувати одразу після перезапуску.
|
||||
|
||||
OpenClaw зберігає локальний реєстр плагінів як модель холодного читання для
|
||||
інвентаризації плагінів, визначення власника внесків і планування запуску. Потоки встановлення, оновлення,
|
||||
видалення, ввімкнення та вимкнення оновлюють цей реєстр після зміни стану
|
||||
плагіна. Якщо реєстр відсутній, застарілий або недійсний, `openclaw plugins registry
|
||||
--refresh` перебудовує його з надійного журналу встановлень, політики конфігурації та
|
||||
метаданих маніфесту/пакета без завантаження модулів середовища виконання плагінів.
|
||||
інвентаризації плагінів, володіння внесками та планування запуску. Потоки встановлення, оновлення,
|
||||
видалення, увімкнення та вимкнення оновлюють цей реєстр після зміни стану
|
||||
плагіна. Якщо реєстр відсутній, застарів або некоректний, `openclaw plugins registry
|
||||
--refresh` перебудовує його на основі довговічного журналу встановлень, політики конфігурації та
|
||||
метаданих маніфесту/пакета без завантаження модулів середовища виконання плагіна.
|
||||
Якщо на машині все ще є застарілі записи `plugins.installs` у конфігурації, виконайте
|
||||
`openclaw doctor --fix`, щоб перемістити їх у керований
|
||||
журнал `plugins/installs.json` і видалити копію з конфігурації.
|
||||
|
||||
`openclaw plugins update <id-or-npm-spec>` застосовується до відстежуваних встановлень. Передавання
|
||||
специфікації npm-пакета з dist-tag або точною версією зіставляє назву пакета
|
||||
назад із записом відстежуваного плагіна та зберігає нову специфікацію для майбутніх оновлень.
|
||||
Передавання назви пакета без версії переводить точно зафіксоване встановлення назад на
|
||||
стандартну лінію випуску реєстру. Якщо встановлений npm-плагін уже відповідає
|
||||
визначеній версії та ідентичності збереженого артефакту, OpenClaw пропускає оновлення
|
||||
без завантаження, перевстановлення або перезапису конфігурації.
|
||||
npm-специфікації пакета з dist-tag або точною версією розв’язує назву пакета
|
||||
назад до запису відстежуваного плагіна та зберігає нову специфікацію для майбутніх оновлень.
|
||||
Передавання назви пакета без версії переводить точно закріплене встановлення назад на
|
||||
типову лінію релізів реєстру. Якщо встановлений npm-плагін уже відповідає
|
||||
розв’язаній версії та збереженій ідентичності артефакту, OpenClaw пропускає оновлення
|
||||
без завантаження, перевстановлення чи перезапису конфігурації.
|
||||
|
||||
`--pin` стосується лише npm. Він не підтримується з `--marketplace`, оскільки
|
||||
встановлення з marketplace зберігають метадані джерела marketplace замість специфікації npm.
|
||||
`--pin` призначений лише для npm. Він не підтримується з `--marketplace`, оскільки
|
||||
встановлення з marketplace зберігають метадані джерела marketplace замість npm-специфікації.
|
||||
|
||||
`--dangerously-force-unsafe-install` — це аварійне перевизначення для хибнопозитивних
|
||||
спрацювань вбудованого сканера небезпечного коду. Воно дозволяє встановленню
|
||||
та оновленню плагінів продовжуватися попри вбудовані результати рівня `critical`, але все одно
|
||||
не обходить блокування політики плагіна `before_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
|
||||
для плагінів. Поточна підтримка середовища виконання включає Skills у пакетах, command-skills для Claude,
|
||||
значення за замовчуванням Claude `settings.json`, Claude `.lsp.json` і оголошені в маніфесті
|
||||
значення за замовчуванням `lspServers`, command-skills для Cursor та сумісні каталоги
|
||||
хуків Codex.
|
||||
Сумісні пакети беруть участь у тому самому потоці list/inspect/enable/disable
|
||||
для плагінів. Поточна підтримка середовища виконання включає bundle Skills, Claude command-skills,
|
||||
типові значення Claude `settings.json`, типові значення Claude `.lsp.json` і оголошених у маніфесті
|
||||
`lspServers`, Cursor command-skills і сумісні каталоги хуків Codex.
|
||||
|
||||
`openclaw plugins inspect <id>` також повідомляє про виявлені можливості пакетів, а також
|
||||
`openclaw plugins inspect <id>` також повідомляє про виявлені можливості пакета, а також
|
||||
підтримувані або непідтримувані записи серверів MCP і LSP для плагінів на основі пакетів.
|
||||
|
||||
Джерелами marketplace можуть бути відома назва marketplace Claude з
|
||||
Джерелами marketplace можуть бути відома назва Claude marketplace з
|
||||
`~/.claude/plugins/known_marketplaces.json`, локальний корінь marketplace або шлях до
|
||||
`marketplace.json`, скорочений запис GitHub на кшталт `owner/repo`, URL репозиторію GitHub
|
||||
або git URL. Для віддалених 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).
|
||||
|
||||
## Огляд Plugin API
|
||||
## Огляд API плагінів
|
||||
|
||||
Native плагіни експортують об’єкт входу, який надає `register(api)`. Старіші
|
||||
плагіни все ще можуть використовувати `activate(api)` як застарілий псевдонім, але нові плагіни повинні
|
||||
Native-плагіни експортують об’єкт входу, який надає `register(api)`. Старіші
|
||||
плагіни все ще можуть використовувати `activate(api)` як застарілий псевдонім, але нові плагіни мають
|
||||
використовувати `register`.
|
||||
|
||||
```typescript
|
||||
@ -375,74 +380,74 @@ export default definePluginEntry({
|
||||
```
|
||||
|
||||
OpenClaw завантажує об’єкт входу та викликає `register(api)` під час
|
||||
активації плагіна. Завантажувач і далі використовує `activate(api)` як резервний варіант для старіших плагінів,
|
||||
але вбудовані плагіни та нові external плагіни повинні розглядати `register` як
|
||||
активації плагіна. Завантажувач усе ще повертається до `activate(api)` для старіших плагінів,
|
||||
але вбудовані плагіни та нові external-плагіни мають розглядати `register` як
|
||||
публічний контракт.
|
||||
|
||||
`api.registrationMode` повідомляє плагіну, чому завантажується його запис:
|
||||
`api.registrationMode` повідомляє плагіну, чому завантажується його об’єкт входу:
|
||||
|
||||
| Режим | Значення |
|
||||
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `full` | Активація середовища виконання. Реєструє інструменти, хуки, служби, команди, маршрути та інші побічні ефекти активної роботи. |
|
||||
| `discovery` | Виявлення можливостей лише для читання. Реєструє постачальників і метадані; код входу довіреного плагіна може завантажуватися, але слід пропускати активні побічні ефекти. |
|
||||
| `setup-only` | Завантаження метаданих налаштування каналу через спрощений запис налаштування. |
|
||||
| `setup-runtime`| Завантаження налаштування каналу, якому також потрібен запис середовища виконання. |
|
||||
| `cli-metadata` | Лише збирання метаданих команд CLI. |
|
||||
| Режим | Значення |
|
||||
| --------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `full` | Активація середовища виконання. Реєструйте інструменти, хуки, служби, команди, маршрути та інші побічні ефекти в реальному часі. |
|
||||
| `discovery` | Виявлення можливостей лише для читання. Реєструйте постачальників і метадані; код входу довіреного плагіна може завантажуватися, але пропускайте побічні ефекти реального часу. |
|
||||
| `setup-only` | Завантаження метаданих налаштування каналу через полегшений об’єкт входу налаштування. |
|
||||
| `setup-runtime` | Завантаження налаштування каналу, яке також потребує об’єкта входу середовища виконання. |
|
||||
| `cli-metadata` | Лише збирання метаданих команди CLI. |
|
||||
|
||||
Записи плагінів, які відкривають сокети, бази даних, фонові працівники або довгоживучі
|
||||
клієнти, повинні захищати ці побічні ефекти перевіркою `api.registrationMode === "full"`.
|
||||
Завантаження для виявлення кешуються окремо від активаційних завантажень і не замінюють
|
||||
Об’єкти входу плагінів, які відкривають сокети, бази даних, фонові воркери або довготривалі
|
||||
клієнти, повинні захищати ці побічні ефекти умовою `api.registrationMode === "full"`.
|
||||
Завантаження для виявлення кешуються окремо від завантажень активації та не замінюють
|
||||
реєстр запущеного Gateway. Виявлення не активує, але й не є вільним від імпорту:
|
||||
OpenClaw може виконувати trusted запис плагіна або модуль плагіна каналу, щоб побудувати
|
||||
знімок. Робіть верхній рівень модуля легким і без побічних ефектів, а мережеві клієнти,
|
||||
підпроцеси, слухачі, зчитування облікових даних і запуск служб переносьте
|
||||
за межі повного шляху середовища виконання.
|
||||
OpenClaw може обчислювати довірений об’єкт входу плагіна або модуль плагіна каналу, щоб побудувати
|
||||
знімок. Тримайте верхні рівні модулів легкими та без побічних ефектів і переносьте
|
||||
мережевих клієнтів, підпроцеси, слухачі, читання облікових даних і запуск служб
|
||||
за шляхи повного середовища виконання.
|
||||
|
||||
Поширені методи реєстрації:
|
||||
|
||||
| Метод | Що він реєструє |
|
||||
| -------------------------------------- | --------------------------- |
|
||||
| `registerProvider` | Постачальник моделі (LLM) |
|
||||
| `registerChannel` | Чат-канал |
|
||||
| `registerTool` | Інструмент агента |
|
||||
| `registerHook` / `on(...)` | Хуки життєвого циклу |
|
||||
| Метод | Що він реєструє |
|
||||
| -------------------------------------- | -------------------------- |
|
||||
| `registerProvider` | Постачальник моделей (LLM) |
|
||||
| `registerChannel` | Канал чату |
|
||||
| `registerTool` | Інструмент агента |
|
||||
| `registerHook` / `on(...)` | Хуки життєвого циклу |
|
||||
| `registerSpeechProvider` | Перетворення тексту на мовлення / STT |
|
||||
| `registerRealtimeTranscriptionProvider`| Потоковий STT |
|
||||
| `registerRealtimeVoiceProvider` | Двобічний голос у реальному часі |
|
||||
| `registerMediaUnderstandingProvider` | Аналіз зображень/аудіо |
|
||||
| `registerImageGenerationProvider` | Генерація зображень |
|
||||
| `registerMusicGenerationProvider` | Генерація музики |
|
||||
| `registerVideoGenerationProvider` | Генерація відео |
|
||||
| `registerWebFetchProvider` | Постачальник отримання/скрейпінгу вебданих |
|
||||
| `registerWebSearchProvider` | Вебпошук |
|
||||
| `registerHttpRoute` | HTTP-ендпойнт |
|
||||
| `registerCommand` / `registerCli` | Команди CLI |
|
||||
| `registerContextEngine` | Рушій контексту |
|
||||
| `registerService` | Фонова служба |
|
||||
| `registerRealtimeTranscriptionProvider`| Потоковий STT |
|
||||
| `registerRealtimeVoiceProvider` | Двоспрямований голос у реальному часі |
|
||||
| `registerMediaUnderstandingProvider` | Аналіз зображень/аудіо |
|
||||
| `registerImageGenerationProvider` | Генерація зображень |
|
||||
| `registerMusicGenerationProvider` | Генерація музики |
|
||||
| `registerVideoGenerationProvider` | Генерація відео |
|
||||
| `registerWebFetchProvider` | Постачальник веб-отримання / скрапінгу |
|
||||
| `registerWebSearchProvider` | Веб-пошук |
|
||||
| `registerHttpRoute` | HTTP-ендпойнт |
|
||||
| `registerCommand` / `registerCli` | Команди CLI |
|
||||
| `registerContextEngine` | Рушій контексту |
|
||||
| `registerService` | Фонова служба |
|
||||
|
||||
Поведінка захисних механізмів хуків для типізованих хуків життєвого циклу:
|
||||
Поведінка захисту хуків для типізованих хуків життєвого циклу:
|
||||
|
||||
- `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 повертає власні події інструментів Codex назад у цю
|
||||
поверхню хуків через міст. Плагіни можуть блокувати native інструменти Codex через `before_tool_call`,
|
||||
спостерігати за результатами через `after_tool_call` і брати участь у затвердженнях
|
||||
Codex `PermissionRequest`. Міст поки що не переписує аргументи native інструментів Codex.
|
||||
Точна межа підтримки середовища виконання Codex визначена в
|
||||
Native app-server Codex повертає події інструментів Codex-native назад у цю
|
||||
поверхню хуків через міст. Плагіни можуть блокувати native-інструменти Codex через `before_tool_call`,
|
||||
спостерігати за результатами через `after_tool_call` і брати участь у погодженнях
|
||||
`PermissionRequest` Codex. Міст поки що не переписує аргументи
|
||||
інструментів Codex-native. Точна межа підтримки середовища виконання 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/architecture) — модель можливостей і конвеєр завантаження
|
||||
- [Плагіни спільноти](/uk/plugins/community) — сторонні добірки
|
||||
- [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) — списки сторонніх плагінів
|
||||
|
||||
Loading…
Reference in New Issue
Block a user