chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-06 00:22:45 +00:00
parent 002f1e7ae9
commit 5bcbae3382
6 changed files with 712 additions and 680 deletions

View File

@ -1,60 +1,60 @@
---
read_when:
- Перевірка фонового виконання, яке триває або нещодавно завершилося
- Налагодження збоїв доставки для відокремлених запусків агента
- Перевірка фонового процесу, що виконується або нещодавно завершився
- Налагодження збоїв доставки для відокремлених запусків агентів
- Розуміння того, як фонові запуски пов’язані із сесіями, cron і heartbeat
summary: Відстеження фонових завдань для запусків ACP, субагентів, ізольованих cron-завдань і операцій CLI
summary: Відстеження фонових завдань для запусків ACP, субагентів, ізольованих cron-завдань і CLI-операцій
title: Фонові завдання
x-i18n:
generated_at: "2026-04-05T23:52:58Z"
generated_at: "2026-04-06T00:20:37Z"
model: gpt-5.4
provider: openai
source_hash: 68ba60b352c8d8fc57fed081856581107c6c0eb09ef4047264c3052abc30520d
source_hash: 5fc757b30e2d9c1b5c4d9c8ff21cdc406835af207a83ee6076b63c348ad07781
source_path: automation/tasks.md
workflow: 15
---
# Фонові завдання
> **Шукаєте планування?** Див. [Automation & Tasks](/uk/automation), щоб вибрати правильний механізм. Ця сторінка описує **відстеження** фонового виконання, а не його планування.
> **Шукаєте планування?** Див. [Автоматизація й завдання](/uk/automation), щоб вибрати правильний механізм. Ця сторінка описує **відстеження** фонової роботи, а не її планування.
Фонові завдання відстежують роботу, яка виконується **поза межами вашої основної сесії розмови**:
Фонові завдання відстежують роботу, що виконується **поза межами вашої основної сесії розмови**:
запуски ACP, запуск субагентів, виконання ізольованих cron-завдань і операції, ініційовані через CLI.
Завдання **не** замінюють сесії, cron-завдання або heartbeat — це **журнал активності**, який фіксує, яка відокремлена робота виконувалася, коли саме та чи була вона успішною.
Завдання **не** замінюють сесії, cron-завдання або heartbeat — це **журнал активності**, який фіксує, яка відокремлена робота відбулася, коли саме і чи була вона успішною.
<Note>
Не кожен запуск агента створює завдання. Ходи heartbeat і звичайний інтерактивний чат — ні. Усі виконання cron, запуски ACP, запуски субагентів і команди агента CLI — так.
Не кожен запуск агента створює завдання. Цикли heartbeat і звичайний інтерактивний чат — ні. Усі виконання cron, запуски ACP, запуски субагентів і CLI-команди агента — так.
</Note>
## Коротко
- Завдання — це **записи**, а не планувальники: cron і heartbeat вирішують, оли_ виконується робота, а завдання відстежують, о сталося_.
- ACP, субагенти, усі cron-завдання та операції CLI створюють завдання. Ходи heartbeat — ні.
- Кожне завдання проходить стани `queued → running → terminal` (succeeded, failed, timed_out, cancelled або lost).
- Завдання cron залишаються активними, доки середовище виконання cron усе ще володіє завданням; завдання CLI, прив’язані до чату, залишаються активними лише доки їхній контекст виконання-власник іще активний.
- Завершення керується подіями push: відокремлена робота може напряму сповіщати або пробуджувати
сесію/heartbeat запитувача після завершення, тому цикли опитування стану
зазвичай не є правильним підходом.
- Завдання — це **записи**, а не планувальники: cron і heartbeat визначають, оли_ виконується робота, а завдання відстежують, о сталося_.
- ACP, субагенти, усі cron-завдання та CLI-операції створюють завдання. Цикли heartbeat — ні.
- Кожне завдання проходить через `queued → running → terminal` (`succeeded`, `failed`, `timed_out`, `cancelled` або `lost`).
- Cron-завдання залишаються активними, доки середовище виконання cron усе ще володіє завданням; CLI-завдання з чат-підтримкою залишаються активними лише доки контекст виконання, якому вони належать, усе ще активний.
- Завершення працює за push-моделлю: відокремлена робота може напряму сповістити або пробудити
сесію запитувача/heartbeat після завершення, тому цикли опитування стану зазвичай є
неправильним підходом.
- Ізольовані запуски cron і завершення субагентів у межах best-effort очищають відстежувані вкладки браузера/процеси для своєї дочірньої сесії перед фінальним обліком очищення.
- Ізольована доставка cron пригнічує застарілі проміжні відповіді батьківського процесу, поки
ще триває завершення дочірньої роботи субагента, і надає перевагу фінальному виводу нащадка,
якщо він надходить до моменту доставки.
- Доставка ізольованого cron пригнічує застарілі проміжні відповіді батьківського процесу, поки
дочірня робота субагента все ще завершується, і надає перевагу фінальному дочірньому
виводу, якщо він надходить до доставки.
- Сповіщення про завершення доставляються безпосередньо в канал або ставляться в чергу до наступного heartbeat.
- `openclaw tasks list` показує всі завдання; `openclaw tasks audit` виявляє проблеми.
- Термінальні записи зберігаються 7 днів, після чого автоматично видаляються.
- Термінальні записи зберігаються 7 днів, а потім автоматично видаляються.
## Швидкий старт
```bash
# Показати всі завдання (найновіші спочатку)
# Перелічити всі завдання (спочатку найновіші)
openclaw tasks list
# Фільтрувати за середовищем виконання або статусом
# Фільтрувати за runtime або статусом
openclaw tasks list --runtime acp
openclaw tasks list --status running
# Показати подробиці конкретного завдання (за ID, ID запуску або ключем сесії)
# Показати деталі конкретного завдання (за ID, ID запуску або ключем сесії)
openclaw tasks show <lookup>
# Скасувати завдання, що виконується (завершує дочірню сесію)
@ -63,10 +63,10 @@ openclaw tasks cancel <lookup>
# Змінити політику сповіщень для завдання
openclaw tasks notify <lookup> state_changes
# Запустити перевірку стану
# Запустити аудит працездатності
openclaw tasks audit
# Переглянути або застосувати обслуговування
# Попередній перегляд або застосування обслуговування
openclaw tasks maintenance
openclaw tasks maintenance --apply
@ -78,22 +78,24 @@ openclaw tasks flow cancel <lookup>
## Що створює завдання
| Джерело | Тип середовища виконання | Коли створюється запис завдання | Політика сповіщень за замовчуванням |
| ---------------------- | ------------------------ | ------------------------------------------------------ | ----------------------------------- |
| Фонові запуски ACP | `acp` | Під час запуску дочірньої сесії ACP | `done_only` |
| Оркестрація субагентів | `subagent` | Під час запуску субагента через `sessions_spawn` | `done_only` |
| Cron-завдання (усі типи) | `cron` | Під час кожного виконання cron (основна сесія та ізольоване) | `silent` |
| Операції CLI | `cli` | Команди `openclaw agent`, які виконуються через gateway | `silent` |
| Медіазавдання агента | `cli` | Запуски `video_generate`, прив’язані до сесії | `silent` |
| Джерело | Тип runtime | Коли створюється запис завдання | Типова політика сповіщень |
| ----------------------- | ----------- | ----------------------------------------------------- | ------------------------- |
| Фонові запуски ACP | `acp` | Під час запуску дочірньої ACP-сесії | `done_only` |
| Оркестрація субагентів | `subagent` | Під час запуску субагента через `sessions_spawn` | `done_only` |
| Cron-завдання (усі типи) | `cron` | Під час кожного виконання cron (основна й ізольована сесія) | `silent` |
| CLI-операції | `cli` | Команди `openclaw agent`, що виконуються через gateway | `silent` |
| Медіазавдання агента | `cli` | Запуски `video_generate` із прив’язкою до сесії | `silent` |
Завдання cron в основній сесії за замовчуванням використовують політику сповіщень `silent` — вони створюють записи для відстеження, але не генерують сповіщення. Ізольовані завдання cron також за замовчуванням використовують `silent`, але вони помітніші, оскільки виконуються у власній сесії.
Cron-завдання основної сесії типово використовують політику сповіщень `silent` — вони створюють записи для відстеження, але не генерують сповіщень. Ізольовані cron-завдання також типово мають `silent`, але вони помітніші, тому що виконуються у власній сесії.
Запуски `video_generate`, прив’язані до сесії, також використовують політику сповіщень `silent`. Вони все одно створюють записи завдань, але завершення повертається до початкової сесії агента як внутрішнє пробудження, щоб агент міг сам написати подальше повідомлення та прикріпити готове відео.
Запуски `video_generate` із прив’язкою до сесії також використовують політику сповіщень `silent`. Вони все одно створюють записи завдань, але завершення повертається до початкової сесії агента як внутрішнє пробудження, щоб агент міг сам записати наступне повідомлення й прикріпити готове відео.
**Що не створює завдань:**
Поки завдання `video_generate` із прив’язкою до сесії все ще активне, інструмент також працює як запобіжник: повторні виклики `video_generate` у тій самій сесії повертають статус активного завдання замість запуску другого паралельного генерування. Використовуйте `action: "status"`, якщо вам потрібен явний запит прогресу/статусу з боку агента.
- Ходи heartbeat — основна сесія; див. [Heartbeat](/uk/gateway/heartbeat)
- Звичайні інтерактивні ходи чату
**Що не створює завдання:**
- Цикли heartbeat — основна сесія; див. [Heartbeat](/uk/gateway/heartbeat)
- Звичайні інтерактивні цикли чату
- Прямі відповіді `/command`
## Життєвий цикл завдання
@ -101,61 +103,61 @@ openclaw tasks flow cancel <lookup>
```mermaid
stateDiagram-v2
[*] --> queued
queued --> running : агент запускається
running --> succeeded : успішне завершення
running --> failed : помилка
running --> timed_out : перевищено тайм-аут
running --> cancelled : оператор скасовує
queued --> lost : сесія відсутня > 5 хв
running --> lost : сесія відсутня > 5 хв
queued --> running : agent starts
running --> succeeded : completes ok
running --> failed : error
running --> timed_out : timeout exceeded
running --> cancelled : operator cancels
queued --> lost : session gone > 5 min
running --> lost : session gone > 5 min
```
| Статус | Що це означає |
| ----------- | ------------------------------------------------------------------------ |
| `queued` | Створено, очікує запуску агента |
| `running` | Хід агента зараз активно виконується |
| `queued` | Створено, очікує на запуск агента |
| `running` | Цикл агента активно виконується |
| `succeeded` | Успішно завершено |
| `failed` | Завершено з помилкою |
| `timed_out` | Перевищено налаштований тайм-аут |
| `cancelled` | Зупинено оператором через `openclaw tasks cancel` |
| `lost` | Середовище виконання втратило авторитетний базовий стан після 5-хвилинного пільгового періоду |
| `timed_out` | Перевищено налаштований час очікування |
| `cancelled` | Зупинено оператором через `openclaw tasks cancel` |
| `lost` | Runtime втратив авторитетний базовий стан після 5-хвилинного пільгового періоду |
Переходи відбуваються автоматично — коли завершується пов’язаний запуск агента, статус завдання оновлюється відповідно.
Переходи відбуваються автоматично — коли пов’язаний запуск агента завершується, статус завдання оновлюється відповідно.
`lost` залежить від середовища виконання:
`lost` залежить від runtime:
- Завдання ACP: зникли метадані дочірньої сесії ACP.
- Завдання субагентів: дочірня сесія зникла зі сховища цільового агента.
- Завдання cron: середовище виконання cron більше не відстежує завдання як активне.
- Завдання CLI: ізольовані завдання дочірньої сесії використовують дочірню сесію; завдання CLI, прив’язані до чату, натомість використовують живий контекст виконання, тому наявність рядків сесії каналу/групи/прямих повідомлень не підтримує їх активність.
- Завдання ACP: зникли метадані дочірньої ACP-сесії.
- Завдання субагента: дочірня сесія зникла зі сховища цільового агента.
- Cron-завдання: середовище виконання cron більше не відстежує завдання як активне.
- CLI-завдання: ізольовані завдання дочірньої сесії використовують дочірню сесію; CLI-завдання з чат-підтримкою натомість використовують живий контекст виконання, тому завислі рядки сесії каналу/групи/прямих повідомлень не підтримують їх активність.
## Доставка і сповіщення
## Доставка й сповіщення
Коли завдання переходить у термінальний стан, OpenClaw сповіщає вас. Є два шляхи доставки:
Коли завдання досягає термінального стану, OpenClaw сповіщає вас. Є два шляхи доставки:
**Пряма доставка** — якщо завдання має ціль каналу (`requesterOrigin`), повідомлення про завершення надсилається безпосередньо в цей канал (Telegram, Discord, Slack тощо). Для завершень субагентів OpenClaw також зберігає прив’язану маршрутизацію thread/topic, коли вона доступна, і може підставити відсутній `to` / обліковий запис із збереженого маршруту сесії запитувача (`lastChannel` / `lastTo` / `lastAccountId`) перед тим, як відмовитися від прямої доставки.
**Пряма доставка** — якщо завдання має цільовий канал (`requesterOrigin`), повідомлення про завершення надсилається безпосередньо в цей канал (Telegram, Discord, Slack тощо). Для завершень субагентів OpenClaw також зберігає прив’язану маршрутизацію потоку/теми, коли це можливо, і може заповнити відсутній `to` / акаунт зі збереженого маршруту сесії запитувача (`lastChannel` / `lastTo` / `lastAccountId`) перед тим, як відмовитися від прямої доставки.
**Доставка через чергу сесії** — якщо пряма доставка не вдається або origin не задано, оновлення ставиться в чергу як системна подія в сесії запитувача й з’являється під час наступного heartbeat.
**Доставка через чергу сесії** — якщо пряма доставка не вдалася або origin не задано, оновлення ставиться в чергу як системна подія в сесії запитувача й з’явиться під час наступного heartbeat.
<Tip>
Завершення завдання негайно запускає пробудження heartbeat, щоб ви швидко побачили результат — вам не потрібно чекати наступного запланованого тіку heartbeat.
Завершення завдання запускає негайне пробудження heartbeat, щоб ви швидко побачили результат — вам не потрібно чекати наступного запланованого циклу heartbeat.
</Tip>
Це означає, що типовий робочий процес базується на push-подіях: один раз запустіть відокремлену роботу, а потім
дозвольте середовищу виконання пробудити вас або сповістити після завершення. Опитуйте стан завдання лише тоді, коли
Це означає, що типовий робочий процес базується на push-моделі: запустіть відокремлену роботу один раз, а потім дозвольте
runtime пробудити або сповістити вас після завершення. Опитуйте стан завдання лише тоді, коли
потрібні налагодження, втручання або явний аудит.
### Політики сповіщень
Керуйте тим, скільки ви отримуєте повідомлень про кожне завдання:
Керуйте тим, скільки інформації ви отримуєте про кожне завдання:
| Політика | Що доставляється |
| --------------------- | ------------------------------------------------------------------------ |
| `done_only` (типово) | Лише термінальний стан (succeeded, failed тощо) — **це значення за замовчуванням** |
| `state_changes` | Кожен перехід стану та оновлення прогресу |
| `silent` | Узагалі нічого |
| Політика | Що доставляється |
| --------------------- | ----------------------------------------------------------------------- |
| `done_only` (типово) | Лише термінальний стан (`succeeded`, `failed` тощо) — **це типова поведінка** |
| `state_changes` | Кожен перехід стану й оновлення прогресу |
| `silent` | Взагалі нічого |
Змініть політику під час виконання завдання:
Змінити політику під час виконання завдання:
```bash
openclaw tasks notify <lookup> state_changes
@ -177,7 +179,7 @@ openclaw tasks list [--runtime <acp|subagent|cron|cli>] [--status <status>] [--j
openclaw tasks show <lookup>
```
Токен lookup приймає ID завдання, ID запуску або ключ сесії. Показує повний запис, включно з часом, станом доставки, помилкою та термінальним підсумком.
Токен lookup приймає ID завдання, ID запуску або ключ сесії. Показує повний запис, включно з часовими даними, станом доставки, помилкою й термінальним підсумком.
### `tasks cancel`
@ -199,16 +201,16 @@ openclaw tasks notify <lookup> <done_only|state_changes|silent>
openclaw tasks audit [--json]
```
Виявляє операційні проблеми. Висновки також з’являються в `openclaw status`, коли виявлено проблеми.
Виявляє операційні проблеми. Результати також з’являються в `openclaw status`, коли виявлено проблеми.
| Висновок | Рівень | Умова |
| ------------------------- | ------ | ---------------------------------------------------- |
| `stale_queued` | warn | Перебуває в черзі більше 10 хвилин |
| `stale_running` | error | Виконується більше 30 хвилин |
| `lost` | error | Зникло володіння завданням, прив’язане до середовища виконання |
| `delivery_failed` | warn | Доставка не вдалася, а політика сповіщень не `silent` |
| `missing_cleanup` | warn | Термінальне завдання без позначки часу очищення |
| `inconsistent_timestamps` | warn | Порушення часової послідовності (наприклад, завершено раніше, ніж почато) |
| Знахідка | Серйозність | Тригер |
| ------------------------- | ----------- | ---------------------------------------------------- |
| `stale_queued` | warn | У стані queued понад 10 хвилин |
| `stale_running` | error | У стані running понад 30 хвилин |
| `lost` | error | Зникло runtime-підтверджене володіння завданням |
| `delivery_failed` | warn | Доставка не вдалася, і політика сповіщень не `silent` |
| `missing_cleanup` | warn | Термінальне завдання без мітки часу очищення |
| `inconsistent_timestamps` | warn | Порушення часової шкали (наприклад, завершено до початку) |
### `tasks maintenance`
@ -217,23 +219,23 @@ openclaw tasks maintenance [--json]
openclaw tasks maintenance --apply [--json]
```
Використовуйте це, щоб переглянути або застосувати звірку, позначення очищення та видалення
Використовуйте це для попереднього перегляду або застосування звірки, виставлення міток очищення й видалення
для завдань і стану Task Flow.
Звірка залежить від середовища виконання:
Звірка враховує runtime:
- Завдання ACP/субагентів перевіряють свою дочірню сесію.
- Завдання cron перевіряють, чи середовище виконання cron усе ще володіє завданням.
- Завдання CLI, прив’язані до чату, перевіряють контекст активного запуску-власника, а не лише рядок сесії чату.
- Завдання ACP/субагентів перевіряють свою базову дочірню сесію.
- Cron-завдання перевіряють, чи середовище виконання cron усе ще володіє завданням.
- CLI-завдання з чат-підтримкою перевіряють базовий активний контекст виконання, а не лише рядок чат-сесії.
Очищення після завершення також залежить від середовища виконання:
Очищення після завершення також враховує runtime:
- Завершення субагента в межах best-effort закриває відстежувані вкладки браузера/процеси для дочірньої сесії перед подальшим оголошенням очищення.
- Завершення ізольованого cron у межах best-effort закриває відстежувані вкладки браузера/процеси для сесії cron до повного завершення виконання.
- Доставка для ізольованого cron за потреби чекає завершення подальших дій дочірнього субагента і
пригнічує застарілий текст підтвердження від батьківського процесу замість його оголошення.
- Доставка завершення субагента надає перевагу найновішому видимому тексту асистента; якщо він порожній, вона переходить до санітизованого найновішого тексту tool/toolResult, а запуски tool-call, що завершилися лише тайм-аутом, можуть згортатися до короткого підсумку часткового прогресу.
- Збої очищення не маскують реальний результат завдання.
- Завершення субагента в межах best-effort закриває відстежувані вкладки браузера/процеси для дочірньої сесії перед продовженням оголошення про очищення.
- Завершення ізольованого cron у межах best-effort закриває відстежувані вкладки браузера/процеси для cron-сесії до повного завершення запуску.
- Доставка ізольованого cron за потреби очікує завершення дочірніх дій субагента й
пригнічує застарілий текст підтвердження батьківського процесу замість його оголошення.
- Доставка завершення субагента надає перевагу останньому видимому тексту асистента; якщо він порожній, використовується очищений останній текст `tool`/`toolResult`, а запуски лише з викликом інструмента, що завершилися тайм-аутом, можуть зводитися до короткого підсумку часткового прогресу.
- Помилки очищення не приховують реальний результат завдання.
### `tasks flow list|show|cancel`
@ -243,22 +245,22 @@ openclaw tasks flow show <lookup> [--json]
openclaw tasks flow cancel <lookup>
```
Використовуйте ці команди, коли вас цікавить саме оркеструвальний Task Flow,
Використовуйте це, коли вас цікавить саме оркеструвальний Task Flow,
а не окремий запис фонового завдання.
## Дошка завдань у чаті (`/tasks`)
## Дошка завдань чату (`/tasks`)
Використовуйте `/tasks` у будь-якій чат-сесії, щоб побачити фонові завдання, пов’язані з цією сесією. Дошка показує
активні та нещодавно завершені завдання з даними про середовище виконання, статус, час і подробиці прогресу або помилки.
активні й нещодавно завершені завдання з runtime, статусом, часовими даними та деталями прогресу або помилки.
Коли поточна сесія не має видимих пов’язаних завдань, `/tasks` повертається до локальних для агента підрахунків завдань,
щоб ви все одно бачили загальний огляд без розкриття подробиць інших сесій.
Коли в поточній сесії немає видимих пов’язаних завдань, `/tasks` повертається до локальних лічильників завдань агента,
щоб ви все одно отримали огляд без розкриття деталей інших сесій.
Для повного операторського журналу використовуйте CLI: `openclaw tasks list`.
## Інтеграція зі статусом (навантаження завдань)
`openclaw status` містить стислий підсумок завдань:
`openclaw status` містить короткий підсумок завдань:
```
Tasks: 3 queued · 2 running · 1 issues
@ -271,10 +273,10 @@ Tasks: 3 queued · 2 running · 1 issues
- **byRuntime** — розбивка за `acp`, `subagent`, `cron`, `cli`
І `/status`, і інструмент `session_status` використовують знімок завдань з урахуванням очищення: активним завданням
надається перевага, застарілі завершені рядки приховуються, а нещодавні збої показуються лише тоді, коли немає активної роботи.
Це допомагає картці статусу зосереджуватися на тому, що важливо саме зараз.
надається перевага, застарілі завершені рядки приховуються, а нещодавні збої відображаються лише тоді, коли активної роботи
вже не залишилося. Це допомагає картці статусу залишатися зосередженою на тому, що важливо саме зараз.
## Зберігання і обслуговування
## Зберігання й обслуговування
### Де зберігаються завдання
@ -284,50 +286,50 @@ Tasks: 3 queued · 2 running · 1 issues
$OPENCLAW_STATE_DIR/tasks/runs.sqlite
```
Реєстр завантажується в пам’ять під час запуску gateway і синхронізує записи в SQLite для збереження між перезапусками.
Реєстр завантажується в пам’ять під час запуску gateway і синхронізує записи в SQLite для збереження після перезапусків.
### Автоматичне обслуговування
Очищувач запускається кожні **60 секунд** і виконує три дії:
1. **Звірка** — перевіряє, чи активні завдання все ще мають авторитетний базовий стан у середовищі виконання. Завдання ACP/субагентів використовують стан дочірньої сесії, завдання cron — володіння активним завданням, а завдання CLI, прив’язані до чату, — контекст активного запуску-власника. Якщо цей базовий стан відсутній понад 5 хвилин, завдання позначається як `lost`.
2. **Позначення очищення** — встановлює часову позначку `cleanupAfter` для термінальних завдань (endedAt + 7 днів).
3. **Видалення** — видаляє записи після дати `cleanupAfter`.
1. **Звірка** — перевіряє, чи активні завдання все ще мають авторитетну базову підтримку runtime. Завдання ACP/субагентів використовують стан дочірньої сесії, cron-завдання — володіння активним завданням, а CLI-завдання з чат-підтримкою — базовий контекст виконання. Якщо цей базовий стан відсутній понад 5 хвилин, завдання позначається як `lost`.
2. **Виставлення міток очищення** — установлює часову мітку `cleanupAfter` на термінальних завданнях (`endedAt + 7 days`).
3. **Видалення** — видаляє записи, дата `cleanupAfter` яких уже минула.
**Термін зберігання**: записи термінальних завдань зберігаються **7 днів**, після чого автоматично видаляються. Налаштування не потрібне.
**Термін зберігання**: термінальні записи завдань зберігаються **7 днів**, а потім автоматично видаляються. Налаштування не потрібне.
## Як завдання пов’язані з іншими системами
### Завдання і Task Flow
[Task Flow](/uk/automation/taskflow) — це рівень оркестрації потоків над фоновими завданнями. Один потік може координувати кілька завдань протягом свого життєвого циклу, використовуючи керовані або дзеркальні режими синхронізації. Використовуйте `openclaw tasks`, щоб перевіряти окремі записи завдань, і `openclaw tasks flow`, щоб перевіряти оркеструвальний потік.
[Task Flow](/uk/automation/taskflow) — це рівень оркестрації потоків над фоновими завданнями. Один потік може координувати кілька завдань протягом свого життєвого циклу, використовуючи керовані або дзеркальні режими синхронізації. Використовуйте `openclaw tasks`, щоб переглядати окремі записи завдань, і `openclaw tasks flow`, щоб переглядати оркеструвальний потік.
Докладніше див. у [Task Flow](/uk/automation/taskflow).
Докладніше див. [Task Flow](/uk/automation/taskflow).
### Завдання і cron
**Визначення** cron-завдання зберігається в `~/.openclaw/cron/jobs.json`. **Кожне** виконання cron створює запис завдання — як в основній сесії, так і в ізольованій. Завдання cron в основній сесії за замовчуванням використовують політику сповіщень `silent`, тому вони відстежуються без створення сповіщень.
**Визначення** cron-завдання зберігається в `~/.openclaw/cron/jobs.json`. **Кожне** виконання cron створює запис завдання — і для основної сесії, і для ізольованої. Cron-завдання основної сесії типово використовують політику сповіщень `silent`, тому вони відстежуються без генерації сповіщень.
Див. [Cron Jobs](/uk/automation/cron-jobs).
### Завдання і heartbeat
Запуски heartbeat — це ходи основної сесії, вони не створюють записів завдань. Коли завдання завершується, воно може ініціювати пробудження heartbeat, щоб ви швидко побачили результат.
Запуски heartbeat — це цикли основної сесії; вони не створюють записи завдань. Коли завдання завершується, воно може ініціювати пробудження heartbeat, щоб ви швидко побачили результат.
Див. [Heartbeat](/uk/gateway/heartbeat).
### Завдання і сесії
Завдання може посилатися на `childSessionKey` (де виконується робота) і `requesterSessionKey` (хто її запустив). Сесії — це контекст розмови; завдання — це шар відстеження активності поверх нього.
Завдання може посилатися на `childSessionKey` (де виконується робота) і `requesterSessionKey` (хто її запустив). Сесії — це контекст розмови; завдання — це відстеження активності поверх нього.
### Завдання і запуски агента
### Завдання і запуски агентів
`runId` завдання пов’язує його із запуском агента, який виконує роботу. Події життєвого циклу агента (start, end, error) автоматично оновлюють статус завдання — вам не потрібно керувати життєвим циклом вручну.
`runId` завдання пов’язує його із запуском агента, який виконує роботу. Події життєвого циклу агента (початок, завершення, помилка) автоматично оновлюють статус завдання — вам не потрібно керувати життєвим циклом вручну.
## Пов’язане
- [Automation & Tasks](/uk/automation) — усі механізми автоматизації з першого погляду
- [Task Flow](/uk/automation/taskflow) — оркестрація потоків поверх завдань
- [Scheduled Tasks](/uk/automation/cron-jobs) — планування фонової роботи
- [Heartbeat](/uk/gateway/heartbeat) — періодичні ходи основної сесії
- [CLI: Tasks](/cli/index#tasks) — довідка щодо команд CLI
- [Автоматизація й завдання](/uk/automation) — усі механізми автоматизації в одному огляді
- [Task Flow](/uk/automation/taskflow) — оркестрація потоків над завданнями
- [Заплановані завдання](/uk/automation/cron-jobs) — планування фонової роботи
- [Heartbeat](/uk/gateway/heartbeat) — періодичні цикли основної сесії
- [CLI: Завдання](/cli/index#tasks) — довідка з команд CLI

File diff suppressed because it is too large Load Diff

View File

@ -1,65 +1,65 @@
---
read_when:
- Ви створюєте плагін OpenClaw
- Вам потрібно постачати схему конфігурації плагіна або налагодити помилки валідації плагіна
summary: Вимоги до маніфесту плагіна та JSON Schema (сувора валідація конфігурації)
title: Маніфест плагіна
- Ви створюєте plugin для OpenClaw
- Вам потрібно постачати схему конфігурації plugin або налагодити помилки валідації plugin
summary: Вимоги до маніфесту plugin + JSON Schema (сувора валідація конфігурації)
title: Маніфест plugin
x-i18n:
generated_at: "2026-04-05T23:26:52Z"
generated_at: "2026-04-06T00:20:44Z"
model: gpt-5.4
provider: openai
source_hash: 5f7af9bcbdc958448e83d2bc96f0acb37017a10b3848343bae1ed5fd2fe4c082
source_hash: 89a940d54bd18bf60368addd09aeef47d53ca9b07714397e1c43083e01aac6b6
source_path: plugins/manifest.md
workflow: 15
---
# Маніфест плагіна (openclaw.plugin.json)
# Маніфест plugin (`openclaw.plugin.json`)
Ця сторінка стосується лише **власного маніфесту плагіна OpenClaw**.
Ця сторінка стосується лише **власного маніфесту plugin OpenClaw**.
Сумісні макети пакетів описано в [Пакети плагінів](/uk/plugins/bundles).
Для сумісних макетів пакетів див. [Пакети plugin](/uk/plugins/bundles).
Сумісні формати пакетів використовують інші файли маніфесту:
- Пакет Codex: `.codex-plugin/plugin.json`
- Пакет Claude: `.claude-plugin/plugin.json` або типовий макет компонента Claude
- Пакет Claude: `.claude-plugin/plugin.json` або стандартний макет компонентів Claude
без маніфесту
- Пакет Cursor: `.cursor-plugin/plugin.json`
OpenClaw також автоматично виявляє ці макети пакетів, але вони не перевіряються
на відповідність схемі `openclaw.plugin.json`, описаній тут.
OpenClaw також автоматично виявляє ці макети пакетів, але вони не проходять валідацію
за схемою `openclaw.plugin.json`, описаною тут.
Для сумісних пакетів OpenClaw наразі зчитує метадані пакета, а також оголошені
кореневі каталоги Skills, кореневі каталоги команд Claude, значення за замовчуванням `settings.json` пакета Claude,
значення LSP за замовчуванням пакета Claude та підтримувані набори хуків, якщо макет відповідає очікуванням середовища виконання
OpenClaw.
Для сумісних пакетів OpenClaw наразі читає метадані пакета плюс оголошені
корені Skills, корені команд Claude, значення за замовчуванням `settings.json` пакета Claude,
значення за замовчуванням LSP пакета Claude і підтримувані набори хуків, коли макет відповідає
очікуванням середовища виконання OpenClaw.
Кожен власний плагін OpenClaw **має** постачатися з файлом `openclaw.plugin.json` у
**корені плагіна**. OpenClaw використовує цей маніфест для валідації конфігурації
**без виконання коду плагіна**. Відсутні або недійсні маніфести вважаються
помилками плагіна та блокують валідацію конфігурації.
Кожен власний plugin OpenClaw **повинен** постачати файл `openclaw.plugin.json` у
**корені plugin**. OpenClaw використовує цей маніфест для валідації конфігурації
**без виконання коду plugin**. Відсутні або недійсні маніфести розглядаються як
помилки plugin і блокують валідацію конфігурації.
Повний посібник по системі плагінів дивіться тут: [Плагіни](/uk/tools/plugin).
Про власну модель можливостей і актуальні рекомендації щодо зовнішньої сумісності:
Перегляньте повний посібник із системи plugin: [Plugins](/uk/tools/plugin).
Для власної моделі можливостей і поточних рекомендацій щодо зовнішньої сумісності:
[Модель можливостей](/uk/plugins/architecture#public-capability-model).
## Що робить цей файл
`openclaw.plugin.json` — це метадані, які OpenClaw зчитує до завантаження коду
вашого плагіна.
`openclaw.plugin.json` — це метадані, які OpenClaw читає перед завантаженням коду
вашого plugin.
Використовуйте його для:
- ідентифікації плагіна
- ідентичності plugin
- валідації конфігурації
- метаданих автентифікації та онбордингу, які мають бути доступні без запуску
середовища виконання плагіна
- метаданих псевдонімів і автоувімкнення, які мають визначатися до завантаження середовища виконання плагіна
- метаданих володіння скороченими сімействами моделей, які мають автоматично активувати
плагін до завантаження середовища виконання
- статичних знімків володіння можливостями, що використовуються для вбудованої сумісної прив’язки та
покриття контрактів
- метаданих конфігурації каналів, які мають об’єднуватися в каталоги та поверхні валідації
середовища виконання plugin
- метаданих псевдонімів і автоувімкнення, які мають визначатися до завантаження середовища виконання plugin
- скорочених метаданих належності до сімейств моделей, які мають автоматично активувати
plugin до завантаження середовища виконання
- статичних знімків належності можливостей, що використовуються для сумісної обв’язки комплектних plugin і
перевірки контрактів
- метаданих конфігурації, специфічних для каналу, які мають об’єднуватися в поверхні каталогу й валідації
без завантаження середовища виконання
- підказок для UI конфігурації
@ -69,7 +69,7 @@ OpenClaw.
- оголошення точок входу коду
- метаданих встановлення npm
Для цього використовуйте код плагіна та `package.json`.
Це належить вашому коду plugin і `package.json`.
## Мінімальний приклад
@ -135,54 +135,54 @@ OpenClaw.
## Довідник полів верхнього рівня
| Поле | Обов’язкове | Тип | Що це означає |
| Поле | Обов’язкове | Тип | Що воно означає |
| ----------------------------------- | ----------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | Так | `string` | Канонічний ідентифікатор плагіна. Це ідентифікатор, який використовується в `plugins.entries.<id>`. |
| `configSchema` | Так | `object` | Вбудована JSON Schema для конфігурації цього плагіна. |
| `enabledByDefault` | Ні | `true` | Позначає вбудований плагін як увімкнений за замовчуванням. Не вказуйте це поле або встановлюйте будь-яке значення, відмінне від `true`, щоб плагін залишався вимкненим за замовчуванням. |
| `legacyPluginIds` | Ні | `string[]` | Застарілі ідентифікатори, які нормалізуються до цього канонічного ідентифікатора плагіна. |
| `autoEnableWhenConfiguredProviders` | Ні | `string[]` | Ідентифікатори провайдерів, які мають автоматично вмикати цей плагін, коли автентифікація, конфігурація або посилання на моделі згадують їх. |
| `kind` | Ні | `"memory"` \| `"context-engine"` | Оголошує винятковий тип плагіна, який використовується `plugins.slots.*`. |
| `channels` | Ні | `string[]` | Ідентифікатори каналів, що належать цьому плагіну. Використовуються для виявлення та валідації конфігурації. |
| `providers` | Ні | `string[]` | Ідентифікатори провайдерів, що належать цьому плагіну. |
| `modelSupport` | Ні | `object` | Метадані скорочених сімейств моделей, що належать маніфесту та використовуються для автозавантаження плагіна до середовища виконання. |
| `providerAuthEnvVars` | Ні | `Record<string, string[]>` | Недорогі метадані змінних середовища для автентифікації провайдера, які OpenClaw може перевіряти без завантаження коду плагіна. |
| `providerAuthChoices` | Ні | `object[]` | Недорогі метадані варіантів автентифікації для засобів вибору під час онбордингу, визначення пріоритетного провайдера та простого зв’язування з прапорцями CLI. |
| `contracts` | Ні | `object` | Статичний знімок вбудованих можливостей для speech, realtime transcription, realtime voice, media-understanding, image-generation, video-generation, web-fetch, web search і володіння інструментами. |
| `channelConfigs` | Ні | `Record<string, object>` | Метадані конфігурації каналів, що належать маніфесту та об’єднуються з поверхнями виявлення й валідації до завантаження середовища виконання. |
| `skills` | Ні | `string[]` | Каталоги Skills для завантаження, відносно кореня плагіна. |
| `name` | Ні | `string` | Людинозрозуміла назва плагіна. |
| `description` | Ні | `string` | Короткий опис, що показується на поверхнях плагіна. |
| `version` | Ні | `string` | Інформаційна версія плагіна. |
| `uiHints` | Ні | `Record<string, object>` | Мітки UI, заповнювачі та підказки про чутливість для полів конфігурації. |
| `id` | Так | `string` | Канонічний id plugin. Це id, який використовується в `plugins.entries.<id>`. |
| `configSchema` | Так | `object` | Вбудована JSON Schema для конфігурації цього plugin. |
| `enabledByDefault` | Ні | `true` | Позначає комплектний plugin як увімкнений за замовчуванням. Пропустіть його або встановіть будь-яке значення, відмінне від `true`, щоб plugin залишався вимкненим за замовчуванням. |
| `legacyPluginIds` | Ні | `string[]` | Застарілі id, які нормалізуються до цього канонічного id plugin. |
| `autoEnableWhenConfiguredProviders` | Ні | `string[]` | Id провайдерів, які мають автоматично вмикати цей plugin, коли автентифікація, конфігурація або посилання на моделі згадують їх. |
| `kind` | Ні | `"memory"` \| `"context-engine"` | Оголошує ексклюзивний тип plugin, який використовується в `plugins.slots.*`. |
| `channels` | Ні | `string[]` | Id каналів, якими володіє цей plugin. Використовується для виявлення та валідації конфігурації. |
| `providers` | Ні | `string[]` | Id провайдерів, якими володіє цей plugin. |
| `modelSupport` | Ні | `object` | Скорочені метадані сімейств моделей, якими володіє маніфест і які використовуються для автозавантаження plugin до запуску середовища виконання. |
| `providerAuthEnvVars` | Ні | `Record<string, string[]>` | Недорогі метадані автентифікації провайдера через змінні середовища, які OpenClaw може перевіряти без завантаження коду plugin. |
| `providerAuthChoices` | Ні | `object[]` | Недорогі метадані варіантів автентифікації для селекторів онбордингу, визначення бажаного провайдера та простої обв’язки прапорців CLI. |
| `contracts` | Ні | `object` | Статичний знімок можливостей комплектного plugin для мовлення, транскрипції в реальному часі, голосу в реальному часі, розуміння медіа, генерації зображень, генерації відео, web-fetch, вебпошуку та належності інструментів. |
| `channelConfigs` | Ні | `Record<string, object>` | Метадані конфігурації каналу, якими володіє маніфест і які об’єднуються в поверхні виявлення та валідації до завантаження середовища виконання. |
| `skills` | Ні | `string[]` | Каталоги Skills для завантаження, відносно кореня plugin. |
| `name` | Ні | `string` | Людинозрозуміла назва plugin. |
| `description` | Ні | `string` | Короткий опис, що показується в поверхнях plugin. |
| `version` | Ні | `string` | Інформаційна версія plugin. |
| `uiHints` | Ні | `Record<string, object>` | Підказки UI для міток, заповнювачів і чутливості полів конфігурації. |
## Довідник `providerAuthChoices`
Кожен запис `providerAuthChoices` описує один варіант онбордингу або автентифікації.
OpenClaw зчитує це до завантаження середовища виконання провайдера.
OpenClaw читає це до завантаження середовища виконання провайдера.
| Поле | Обов’язкове | Тип | Що це означає |
| --------------------- | ----------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `provider` | Так | `string` | Ідентифікатор провайдера, до якого належить цей варіант. |
| `method` | Так | `string` | Ідентифікатор методу автентифікації, до якого слід диспетчеризувати. |
| `choiceId` | Так | `string` | Стабільний ідентифікатор варіанта автентифікації, який використовується в онбордингу та потоках CLI. |
| `choiceLabel` | Ні | `string` | Мітка для користувача. Якщо не вказано, OpenClaw використовує `choiceId` як запасний варіант. |
| `choiceHint` | Ні | `string` | Короткий допоміжний текст для засобу вибору. |
| `assistantPriority` | Ні | `number` | Менші значення сортуються раніше в інтерактивних засобах вибору, керованих асистентом. |
| `assistantVisibility` | Ні | `"visible"` \| `"manual-only"` | Приховує варіант із засобів вибору асистента, але все ще дозволяє ручний вибір через CLI. |
| `deprecatedChoiceIds` | Ні | `string[]` | Застарілі ідентифікатори варіантів, які мають перенаправляти користувачів до цього варіанта-замінника. |
| `groupId` | Ні | `string` | Необов’язковий ідентифікатор групи для групування пов’язаних варіантів. |
| `groupLabel` | Ні | `string` | Мітка для користувача для цієї групи. |
| `groupHint` | Ні | `string` | Короткий допоміжний текст для групи. |
| `optionKey` | Ні | `string` | Внутрішній ключ параметра для простих потоків автентифікації з одним прапорцем. |
| `cliFlag` | Ні | `string` | Назва прапорця CLI, наприклад `--openrouter-api-key`. |
| `cliOption` | Ні | `string` | Повна форма параметра CLI, наприклад `--openrouter-api-key <key>`. |
| `cliDescription` | Ні | `string` | Опис, який використовується в довідці CLI. |
| `onboardingScopes` | Ні | `Array<"text-inference" \| "image-generation">` | На яких поверхнях онбордингу має з’являтися цей варіант. Якщо не вказано, за замовчуванням це `["text-inference"]`. |
| Поле | Обов’язкове | Тип | Що воно означає |
| --------------------- | ----------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `provider` | Так | `string` | Id провайдера, до якого належить цей варіант. |
| `method` | Так | `string` | Id методу автентифікації, до якого виконуватиметься диспетчеризація. |
| `choiceId` | Так | `string` | Стабільний id варіанта автентифікації, який використовується в онбордингу та потоках CLI. |
| `choiceLabel` | Ні | `string` | Мітка для користувача. Якщо пропущено, OpenClaw використовує `choiceId`. |
| `choiceHint` | Ні | `string` | Короткий допоміжний текст для селектора. |
| `assistantPriority` | Ні | `number` | Менші значення сортуються раніше в інтерактивних селекторах, керованих помічником. |
| `assistantVisibility` | Ні | `"visible"` \| `"manual-only"` | Приховує варіант від селекторів помічника, але все ще дозволяє ручний вибір через CLI. |
| `deprecatedChoiceIds` | Ні | `string[]` | Застарілі id варіантів, які мають перенаправляти користувачів до цього варіанта-заміни. |
| `groupId` | Ні | `string` | Необов’язковий id групи для пов’язаних варіантів. |
| `groupLabel` | Ні | `string` | Мітка для користувача для цієї групи. |
| `groupHint` | Ні | `string` | Короткий допоміжний текст для групи. |
| `optionKey` | Ні | `string` | Внутрішній ключ опції для простих потоків автентифікації з одним прапорцем. |
| `cliFlag` | Ні | `string` | Назва прапорця CLI, наприклад `--openrouter-api-key`. |
| `cliOption` | Ні | `string` | Повна форма опції CLI, наприклад `--openrouter-api-key <key>`. |
| `cliDescription` | Ні | `string` | Опис, який використовується в довідці CLI. |
| `onboardingScopes` | Ні | `Array<"text-inference" \| "image-generation">` | У яких поверхнях онбордингу має відображатися цей варіант. Якщо пропущено, за замовчуванням це `["text-inference"]`. |
## Довідник `uiHints`
`uiHints` — це мапа від назв полів конфігурації до невеликих підказок для рендерингу.
`uiHints` — це мапа від назв полів конфігурації до невеликих підказок рендерингу.
```json
{
@ -197,21 +197,21 @@ OpenClaw зчитує це до завантаження середовища в
}
```
Кожна підказка поля може містити:
Кожна підказка для поля може містити:
| Поле | Тип | Що це означає |
| Поле | Тип | Що воно означає |
| ------------- | ---------- | --------------------------------------- |
| `label` | `string` | Мітка поля для користувача. |
| `help` | `string` | Короткий допоміжний текст. |
| `tags` | `string[]` | Необов’язкові теги UI. |
| `advanced` | `boolean` | Позначає поле як розширене. |
| `sensitive` | `boolean` | Позначає поле як секретне або чутливе. |
| `placeholder` | `string` | Текст заповнювача для полів форми. |
| `placeholder` | `string` | Текст-заповнювач для полів форми. |
## Довідник `contracts`
Використовуйте `contracts` лише для статичних метаданих володіння можливостями, які OpenClaw може
зчитувати без імпорту середовища виконання плагіна.
Використовуйте `contracts` лише для статичних метаданих належності можливостей, які OpenClaw може
прочитати без імпорту середовища виконання plugin.
```json
{
@ -231,21 +231,21 @@ OpenClaw зчитує це до завантаження середовища в
Кожен список необов’язковий:
| Поле | Тип | Що це означає |
| Поле | Тип | Що воно означає |
| -------------------------------- | ---------- | ------------------------------------------------------------ |
| `speechProviders` | `string[]` | Ідентифікатори speech-провайдерів, що належать цьому плагіну. |
| `realtimeTranscriptionProviders` | `string[]` | Ідентифікатори провайдерів realtime-transcription, що належать цьому плагіну. |
| `realtimeVoiceProviders` | `string[]` | Ідентифікатори провайдерів realtime-voice, що належать цьому плагіну. |
| `mediaUnderstandingProviders` | `string[]` | Ідентифікатори провайдерів media-understanding, що належать цьому плагіну. |
| `imageGenerationProviders` | `string[]` | Ідентифікатори провайдерів image-generation, що належать цьому плагіну. |
| `videoGenerationProviders` | `string[]` | Ідентифікатори провайдерів video-generation, що належать цьому плагіну. |
| `webFetchProviders` | `string[]` | Ідентифікатори провайдерів web-fetch, що належать цьому плагіну. |
| `webSearchProviders` | `string[]` | Ідентифікатори провайдерів web-search, що належать цьому плагіну. |
| `tools` | `string[]` | Назви агентських інструментів, що належать цьому плагіну для перевірок вбудованих контрактів. |
| `speechProviders` | `string[]` | Id провайдерів мовлення, якими володіє цей plugin. |
| `realtimeTranscriptionProviders` | `string[]` | Id провайдерів транскрипції в реальному часі, якими володіє цей plugin. |
| `realtimeVoiceProviders` | `string[]` | Id провайдерів голосу в реальному часі, якими володіє цей plugin. |
| `mediaUnderstandingProviders` | `string[]` | Id провайдерів розуміння медіа, якими володіє цей plugin. |
| `imageGenerationProviders` | `string[]` | Id провайдерів генерації зображень, якими володіє цей plugin. |
| `videoGenerationProviders` | `string[]` | Id провайдерів генерації відео, якими володіє цей plugin. |
| `webFetchProviders` | `string[]` | Id провайдерів web-fetch, якими володіє цей plugin. |
| `webSearchProviders` | `string[]` | Id провайдерів вебпошуку, якими володіє цей plugin. |
| `tools` | `string[]` | Назви інструментів агента, якими володіє цей plugin, для перевірок комплектних контрактів. |
## Довідник `channelConfigs`
Використовуйте `channelConfigs`, коли плагіну каналу потрібні недорогі метадані конфігурації до
Використовуйте `channelConfigs`, коли plugin каналу потребує недорогих метаданих конфігурації до
завантаження середовища виконання.
```json
@ -275,18 +275,18 @@ OpenClaw зчитує це до завантаження середовища в
Кожен запис каналу може містити:
| Поле | Тип | Що це означає |
| ------------- | ------------------------ | -------------------------------------------------------------------------------------------- |
| Поле | Тип | Що воно означає |
| ------------- | ------------------------ | ---------------------------------------------------------------------------------------------- |
| `schema` | `object` | JSON Schema для `channels.<id>`. Обов’язкова для кожного оголошеного запису конфігурації каналу. |
| `uiHints` | `Record<string, object>` | Необов’язкові мітки UI/заповнювачі/підказки чутливості для цього розділу конфігурації каналу. |
| `label` | `string` | Мітка каналу, що об’єднується із засобами вибору та поверхнями інспекції, коли метадані середовища виконання ще не готові. |
| `description` | `string` | Короткий опис каналу для поверхонь інспекції та каталогу. |
| `preferOver` | `string[]` | Застарілі або нижчі за пріоритетом ідентифікатори плагінів, які цей канал має випереджати на поверхнях вибору. |
| `uiHints` | `Record<string, object>` | Необов’язкові підказки UI для міток/заповнювачів/чутливості для цього розділу конфігурації каналу. |
| `label` | `string` | Мітка каналу, яка об’єднується в поверхнях вибору та інспекції, коли метадані середовища виконання ще не готові. |
| `description` | `string` | Короткий опис каналу для поверхонь інспекції та каталогу. |
| `preferOver` | `string[]` | Id застарілих або менш пріоритетних plugin, які цей канал має випереджати в поверхнях вибору. |
## Довідник `modelSupport`
Використовуйте `modelSupport`, коли OpenClaw має виводити ваш плагін провайдера зі
скорочених ідентифікаторів моделей, таких як `gpt-5.4` або `claude-sonnet-4.6`, до завантаження середовища виконання плагіна.
Використовуйте `modelSupport`, коли OpenClaw має визначати ваш plugin провайдера за
скороченими id моделей, такими як `gpt-5.4` або `claude-sonnet-4.6`, до завантаження середовища виконання plugin.
```json
{
@ -299,73 +299,74 @@ OpenClaw зчитує це до завантаження середовища в
OpenClaw застосовує такий пріоритет:
- явні посилання `provider/model` використовують метадані маніфесту `providers`, що належать відповідному власнику
- `modelPatterns` мають пріоритет над `modelPrefixes`
- якщо збігаються один невбудований плагін і один вбудований плагін, перемагає невбудований
плагін
- явні посилання `provider/model` використовують метадані маніфесту `providers`, що належать власнику
- `modelPatterns` мають перевагу над `modelPrefixes`
- якщо збігаються один некомплектний plugin і один комплектний plugin, перемагає некомплектний
plugin
- решта неоднозначностей ігнорується, доки користувач або конфігурація не вкаже провайдера
Поля:
| Поле | Тип | Що це означає |
| Поле | Тип | Що воно означає |
| --------------- | ---------- | -------------------------------------------------------------------------------- |
| `modelPrefixes` | `string[]` | Префікси, що зіставляються через `startsWith` зі скороченими ідентифікаторами моделей. |
| `modelPatterns` | `string[]` | Джерела regex, що зіставляються зі скороченими ідентифікаторами моделей після видалення суфікса профілю. |
| `modelPrefixes` | `string[]` | Префікси, що зіставляються через `startsWith` зі скороченими id моделей. |
| `modelPatterns` | `string[]` | Джерела regex, що зіставляються зі скороченими id моделей після видалення суфікса профілю. |
Застарілі ключі можливостей верхнього рівня більше не рекомендовані. Використовуйте `openclaw doctor --fix`, щоб
Застарілі ключі можливостей верхнього рівня не рекомендуються. Використовуйте `openclaw doctor --fix`, щоб
перемістити `speechProviders`, `realtimeTranscriptionProviders`,
`realtimeVoiceProviders`, `mediaUnderstandingProviders`,
`imageGenerationProviders`, `videoGenerationProviders`,
`webFetchProviders` і `webSearchProviders` до `contracts`; звичайне
завантаження маніфесту більше не розглядає ці поля верхнього рівня як
володіння можливостями.
належність можливостей.
## Маніфест порівняно з package.json
Ці два файли виконують різні завдання:
| Файл | Для чого використовувати |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `openclaw.plugin.json` | Виявлення, валідація конфігурації, метадані варіантів автентифікації та підказки UI, які мають існувати до запуску коду плагіна |
| `package.json` | Метадані npm, встановлення залежностей і блок `openclaw`, який використовується для точок входу, обмежень встановлення, налаштування або метаданих каталогу |
| Файл | Для чого використовувати |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `openclaw.plugin.json` | Виявлення, валідація конфігурації, метадані варіантів автентифікації та підказки UI, які мають існувати до запуску коду plugin |
| `package.json` | Метадані npm, встановлення залежностей і блок `openclaw`, що використовується для точок входу, обмежень встановлення, налаштування або метаданих каталогу |
Якщо ви не впевнені, куди має належати певний фрагмент метаданих, користуйтеся таким правилом:
Якщо ви не впевнені, куди належить певний фрагмент метаданих, користуйтеся таким правилом:
- якщо OpenClaw має знати це до завантаження коду плагіна, помістіть це в `openclaw.plugin.json`
- якщо OpenClaw повинен знати це до завантаження коду plugin, помістіть це в `openclaw.plugin.json`
- якщо це стосується пакування, файлів точок входу або поведінки встановлення npm, помістіть це в `package.json`
### Поля package.json, що впливають на виявлення
### Поля package.json, які впливають на виявлення
Деякі метадані плагіна до середовища виконання навмисно зберігаються в `package.json` у блоці
Деякі метадані plugin до запуску середовища виконання навмисно зберігаються в `package.json` у блоці
`openclaw`, а не в `openclaw.plugin.json`.
Важливі приклади:
| Поле | Що це означає |
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `openclaw.extensions` | Оголошує точки входу власних плагінів. |
| `openclaw.setupEntry` | Полегшена точка входу лише для налаштування, яка використовується під час онбордингу та відкладеного запуску каналу. |
| `openclaw.channel` | Недорогі метадані каталогу каналів, такі як мітки, шляхи документації, псевдоніми та текст для вибору. |
| `openclaw.channel.persistedAuthState` | Недорогі метадані перевірки збереженого стану автентифікації, які можуть відповісти на запитання «чи вже десь виконано вхід?» без завантаження повного середовища виконання каналу. |
| `openclaw.install.npmSpec` / `openclaw.install.localPath` | Підказки щодо встановлення/оновлення для вбудованих і зовнішньо опублікованих плагінів. |
| `openclaw.install.defaultChoice` | Пріоритетний шлях встановлення, коли доступно кілька джерел встановлення. |
| `openclaw.install.minHostVersion` | Мінімальна підтримувана версія хоста OpenClaw із нижньою межею semver, наприклад `>=2026.3.22`. |
| `openclaw.install.allowInvalidConfigRecovery` | Дозволяє вузький шлях відновлення перевстановлення вбудованого плагіна, коли конфігурація недійсна. |
| `openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen` | Дозволяє поверхням каналу лише для налаштування завантажуватися до повного плагіна каналу під час запуску. |
| Поле | Що воно означає |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `openclaw.extensions` | Оголошує власні точки входу plugin. |
| `openclaw.setupEntry` | Легка точка входу лише для налаштування, яка використовується під час онбордингу та відкладеного запуску каналу. |
| `openclaw.channel` | Недорогі метадані каталогу каналів, як-от мітки, шляхи до документації, псевдоніми та текст для вибору. |
| `openclaw.channel.configuredState` | Легкі метадані перевірки налаштованого стану, які можуть відповісти на запитання «чи вже існує налаштування лише через env?» без завантаження повного середовища виконання каналу. |
| `openclaw.channel.persistedAuthState` | Легкі метадані перевірки збереженого стану автентифікації, які можуть відповісти на запитання «чи вже десь виконано вхід?» без завантаження повного середовища виконання каналу. |
| `openclaw.install.npmSpec` / `openclaw.install.localPath` | Підказки для встановлення/оновлення комплектних і зовнішньо опублікованих plugin. |
| `openclaw.install.defaultChoice` | Бажаний шлях встановлення, коли доступно кілька джерел встановлення. |
| `openclaw.install.minHostVersion` | Мінімальна підтримувана версія хоста OpenClaw із semver-нижньою межею на кшталт `>=2026.3.22`. |
| `openclaw.install.allowInvalidConfigRecovery` | Дозволяє вузький шлях відновлення перевстановлення комплектного plugin, коли конфігурація недійсна. |
| `openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen` | Дозволяє завантажувати поверхні каналу лише для налаштування до повного plugin каналу під час запуску. |
`openclaw.install.minHostVersion` застосовується під час встановлення та завантаження
`openclaw.install.minHostVersion` перевіряється під час встановлення та завантаження
реєстру маніфестів. Недійсні значення відхиляються; новіші, але коректні значення пропускають
плагін на старіших хостах.
plugin на старіших хостах.
`openclaw.install.allowInvalidConfigRecovery` навмисно має вузьке застосування. Воно
не робить довільні зламані конфігурації придатними для встановлення. Сьогодні воно лише дозволяє
процесам встановлення відновлюватися після певних застарілих збоїв оновлення вбудованих плагінів, таких як
відсутній шлях до вбудованого плагіна або застарілий запис `channels.<id>` для того самого
вбудованого плагіна. Непов’язані помилки конфігурації, як і раніше, блокують встановлення та спрямовують операторів
`openclaw.install.allowInvalidConfigRecovery` є навмисно вузьким. Воно
не робить довільні зламані конфігурації придатними до встановлення. Сьогодні воно лише дозволяє
потокам встановлення відновлюватися після конкретних застарілих збоїв оновлення комплектних plugin, таких як
відсутній шлях до комплектного plugin або застарілий запис `channels.<id>` для того самого
комплектного plugin. Непов’язані помилки конфігурації все одно блокують встановлення та спрямовують операторів
до `openclaw doctor --fix`.
`openclaw.channel.persistedAuthState` — це метадані пакета для крихітного модуля
перевірки:
`openclaw.channel.persistedAuthState` — це метадані пакета для крихітного
модуля перевірки:
```json
{
@ -381,59 +382,80 @@ OpenClaw застосовує такий пріоритет:
}
```
Використовуйте це, коли налаштуванню, doctor або потокам стану налаштованої системи потрібна недорога перевірка автентифікації
у форматі так/ні до завантаження повного плагіна каналу. Цільовий експорт має бути невеликою
функцією, яка лише читає збережений стан; не спрямовуйте її через повний
barrel середовища виконання каналу.
Використовуйте це, коли налаштування, doctor або потоки налаштованого стану потребують недорогої
перевірки автентифікації типу так/ні до завантаження повного plugin каналу. Цільовий експорт має бути невеликою
функцією, яка читає лише збережений стан; не спрямовуйте її через повний barrel середовища виконання
каналу.
`openclaw.channel.configuredState` використовує ту саму форму для недорогих перевірок
налаштованого стану лише через env:
```json
{
"openclaw": {
"channel": {
"id": "telegram",
"configuredState": {
"specifier": "./configured-state",
"exportName": "hasTelegramConfiguredState"
}
}
}
}
```
Використовуйте це, коли канал може відповісти про налаштований стан на основі env або інших невеликих
невиконуваних вхідних даних. Якщо перевірка потребує повного визначення конфігурації або реального
середовища виконання каналу, залиште цю логіку в хуку plugin `config.hasConfiguredState`.
## Вимоги до JSON Schema
- **Кожен плагін має постачатися з JSON Schema**, навіть якщо він не приймає конфігурацію.
- Порожня схема є припустимою (наприклад, `{ "type": "object", "additionalProperties": false }`).
- Схеми перевіряються під час читання/запису конфігурації, а не під час виконання.
- **Кожен plugin повинен постачати JSON Schema**, навіть якщо він не приймає конфігурацію.
- Порожня схема допустима (наприклад, `{ "type": "object", "additionalProperties": false }`).
- Схеми проходять валідацію під час читання/запису конфігурації, а не під час виконання.
## Поведінка валідації
- Невідомі ключі `channels.*` є **помилками**, якщо тільки ідентифікатор каналу не оголошено
в маніфесті плагіна.
- Невідомі ключі `channels.*` є **помилками**, якщо тільки id каналу не оголошено
маніфестом plugin.
- `plugins.entries.<id>`, `plugins.allow`, `plugins.deny` і `plugins.slots.*`
мають посилатися на **виявлювані** ідентифікатори плагінів. Невідомі ідентифікатори є **помилками**.
- Якщо плагін встановлено, але його маніфест або схема зламані чи відсутні,
валідація завершується помилкою, а Doctor повідомляє про помилку плагіна.
- Якщо конфігурація плагіна існує, але плагін **вимкнено**, конфігурація зберігається, і
в Doctor + журналах відображається **попередження**.
повинні посилатися на **доступні для виявлення** id plugin. Невідомі id є **помилками**.
- Якщо plugin встановлено, але його маніфест або схема зламані чи відсутні,
валідація завершується помилкою, а Doctor повідомляє про помилку plugin.
- Якщо конфігурація plugin існує, але plugin **вимкнено**, конфігурація зберігається, і
у Doctor + журналах з’являється **попередження**.
Повну схему `plugins.*` дивіться в [Довіднику з конфігурації](/uk/gateway/configuration).
Див. [Довідник із конфігурації](/uk/gateway/configuration) для повної схеми `plugins.*`.
## Примітки
- Маніфест **обов’язковий для власних плагінів OpenClaw**, включно із завантаженням із локальної файлової системи.
- Середовище виконання, як і раніше, окремо завантажує модуль плагіна; маніфест призначений лише для
- Маніфест **обов’язковий для власних plugin OpenClaw**, включно із завантаженням із локальної файлової системи.
- Середовище виконання все одно завантажує модуль plugin окремо; маніфест призначений лише для
виявлення + валідації.
- Власні маніфести розбираються за допомогою JSON5, тому коментарі, кінцеві коми та
ключі без лапок допускаються, якщо кінцеве значення все ще є об’єктом.
- Завантажувач маніфеста зчитує лише задокументовані поля маніфеста. Уникайте додавання
власних ключів верхнього рівня тут.
- `providerAuthEnvVars` — це недорогий шлях метаданих для перевірок автентифікації, валідації маркерів змінних середовища
та подібних поверхонь автентифікації провайдера, які не повинні запускати
середовище виконання плагіна лише для перевірки назв змінних середовища.
- `providerAuthChoices` — це недорогий шлях метаданих для засобів вибору варіантів автентифікації,
визначення `--auth-choice`, зіставлення пріоритетного провайдера та простої реєстрації прапорців CLI
до завантаження середовища виконання провайдера. Для метаданих майстра під час виконання,
яким потрібен код провайдера, дивіться
- Власні маніфести аналізуються за допомогою JSON5, тому коментарі, завершальні коми та
ключі без лапок допускаються, якщо кінцеве значення все одно є об’єктом.
- Завантажувач маніфесту читає лише документовані поля маніфесту. Уникайте додавання
власних ключів верхнього рівня сюди.
- `providerAuthEnvVars` — це недорогий шлях метаданих для перевірок автентифікації, валідації
env-маркерів та подібних поверхонь автентифікації провайдера, які не повинні запускати
середовище виконання plugin лише для перевірки назв env.
- `providerAuthChoices` — це недорогий шлях метаданих для селекторів варіантів автентифікації,
визначення `--auth-choice`, зіставлення бажаного провайдера та простої реєстрації прапорців CLI
під час онбордингу до завантаження середовища виконання провайдера. Для метаданих
майстра під час виконання, які потребують коду провайдера, див.
[Хуки середовища виконання провайдера](/uk/plugins/architecture#provider-runtime-hooks).
- Виняткові типи плагінів вибираються через `plugins.slots.*`.
- Ексклюзивні типи plugin вибираються через `plugins.slots.*`.
- `kind: "memory"` вибирається через `plugins.slots.memory`.
- `kind: "context-engine"` вибирається через `plugins.slots.contextEngine`
(типово: вбудований `legacy`).
(за замовчуванням: вбудований `legacy`).
- `channels`, `providers` і `skills` можна не вказувати, якщо
плагіну вони не потрібні.
- Якщо ваш плагін залежить від native-модулів, задокументуйте кроки збирання та всі
plugin їх не потребує.
- Якщо ваш plugin залежить від власних модулів, задокументуйте кроки збірки та всі
вимоги до allowlist менеджера пакетів (наприклад, pnpm `allow-build-scripts`
- `pnpm rebuild <package>`).
## Пов’язане
## Пов’язані матеріали
- [Створення плагінів](/uk/plugins/building-plugins) — початок роботи з плагінами
- [Архітектура плагінів](/uk/plugins/architecture) — внутрішня архітектура
- [Огляд SDK](/uk/plugins/sdk-overview) — довідник по Plugin SDK
- [Створення Plugins](/uk/plugins/building-plugins) — початок роботи з plugins
- [Архітектура Plugin](/uk/plugins/architecture) — внутрішня архітектура
- [Огляд SDK](/uk/plugins/sdk-overview) — довідник з Plugin SDK

View File

@ -1,22 +1,21 @@
---
read_when:
- Ви хочете вибрати провайдера моделей
- Ви хочете швидкі приклади налаштування автентифікації LLM і вибору моделі
- Ви хочете вибрати провайдера моделі
- Вам потрібні приклади швидкого налаштування для автентифікації LLM і вибору моделі
summary: Провайдери моделей (LLM), які підтримує OpenClaw
title: Швидкий старт для провайдерів моделей
x-i18n:
generated_at: "2026-04-05T18:14:22Z"
generated_at: "2026-04-06T00:19:36Z"
model: gpt-5.4
provider: openai
source_hash: bc98c65af5737b2c820f4da3304118c2b449d8f0cd363d73922f81087331e93d
source_hash: 4836c7baa0a5af6b01c1369ebe2fdc6032d50d306dd10e2dbb778c6fce1384c4
source_path: providers/models.md
workflow: 15
---
# Провайдери моделей
OpenClaw може використовувати багато провайдерів LLM. Виберіть один, пройдіть автентифікацію, а потім задайте
модель за замовчуванням у форматі `provider/model`.
OpenClaw може використовувати багато провайдерів LLM. Виберіть один, пройдіть автентифікацію, а потім задайте модель за замовчуванням як `provider/model`.
## Швидкий старт (два кроки)
@ -29,33 +28,36 @@ OpenClaw може використовувати багато провайдер
}
```
## Підтримувані провайдери (стартовий набір)
## Підтримувані провайдери (початковий набір)
- [Anthropic (API + Claude CLI)](/providers/anthropic)
- [Amazon Bedrock](/providers/bedrock)
- [BytePlus (International)](/uk/concepts/model-providers#byteplus-international)
- [Chutes](/providers/chutes)
- [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway)
- [Fireworks](/providers/fireworks)
- [GLM models](/providers/glm)
- [MiniMax](/providers/minimax)
- [Mistral](/providers/mistral)
- [Moonshot AI (Kimi + Kimi Coding)](/providers/moonshot)
- [OpenAI (API + Codex)](/providers/openai)
- [OpenCode (Zen + Go)](/providers/opencode)
- [OpenRouter](/providers/openrouter)
- [Qianfan](/providers/qianfan)
- [Qwen](/providers/qwen)
- [StepFun](/providers/stepfun)
- [Synthetic](/providers/synthetic)
- [Vercel AI Gateway](/providers/vercel-ai-gateway)
- [Venice (Venice AI)](/providers/venice)
- [xAI](/providers/xai)
- [Z.AI](/providers/zai)
- [Alibaba Model Studio](/uk/providers/alibaba)
- [Anthropic (API + Claude CLI)](/uk/providers/anthropic)
- [Amazon Bedrock](/uk/providers/bedrock)
- [BytePlus (міжнародний)](/uk/concepts/model-providers#byteplus-international)
- [Chutes](/uk/providers/chutes)
- [Cloudflare AI Gateway](/uk/providers/cloudflare-ai-gateway)
- [fal](/uk/providers/fal)
- [Fireworks](/uk/providers/fireworks)
- [Моделі GLM](/uk/providers/glm)
- [MiniMax](/uk/providers/minimax)
- [Mistral](/uk/providers/mistral)
- [Moonshot AI (Kimi + Kimi Coding)](/uk/providers/moonshot)
- [OpenAI (API + Codex)](/uk/providers/openai)
- [OpenCode (Zen + Go)](/uk/providers/opencode)
- [OpenRouter](/uk/providers/openrouter)
- [Qianfan](/uk/providers/qianfan)
- [Qwen](/uk/providers/qwen)
- [Runway](/uk/providers/runway)
- [StepFun](/uk/providers/stepfun)
- [Synthetic](/uk/providers/synthetic)
- [Vercel AI Gateway](/uk/providers/vercel-ai-gateway)
- [Venice (Venice AI)](/uk/providers/venice)
- [xAI](/uk/providers/xai)
- [Z.AI](/uk/providers/zai)
## Додаткові bundled-варіанти провайдерів
## Додаткові вбудовані варіанти провайдерів
- `anthropic-vertex` - неявна підтримка Anthropic у Google Vertex, коли доступні облікові дані Vertex; окремий варіант автентифікації під час onboarding не потрібен
- `anthropic-vertex` - неявна підтримка Anthropic у Google Vertex, якщо доступні облікові дані Vertex; окремий вибір автентифікації під час онбордингу не потрібен
- `copilot-proxy` - локальний міст VS Code Copilot Proxy; використовуйте `openclaw onboard --auth-choice copilot-proxy`
Повний каталог провайдерів (xAI, Groq, Mistral тощо) і розширене налаштування див. у [Model providers](/uk/concepts/model-providers).
Повний каталог провайдерів (xAI, Groq, Mistral тощо) і розширену конфігурацію див. у [Провайдери моделей](/uk/concepts/model-providers).

View File

@ -1,22 +1,22 @@
---
read_when:
- Ви хочете використовувати генерацію відео Runway в OpenClaw
- Вам потрібне налаштування ключа API/env для Runway
- Вам потрібне налаштування ключа API / змінної середовища для Runway
- Ви хочете зробити Runway типовим провайдером відео
summary: Налаштування генерації відео Runway в OpenClaw
title: Runway
x-i18n:
generated_at: "2026-04-05T23:52:09Z"
generated_at: "2026-04-06T00:19:38Z"
model: gpt-5.4
provider: openai
source_hash: f86c0777841cde5b265bba5d6b3dd8fd05fa433ddd0f678860d8bfaa1b7483c5
source_hash: 87092da3f1a3cb137b0a3dffe1241a5a3d84eb29fa7c3a6b1df9c2871f1c80b6
source_path: providers/runway.md
workflow: 15
---
# Runway
OpenClaw постачається з вбудованим провайдером `runway` для хостованої генерації відео.
OpenClaw постачається з вбудованим провайдером `runway` для хостингової генерації відео.
- Провайдер: `runway`
- Автентифікація: `RUNWAYML_API_SECRET` (канонічний; `RUNWAY_API_KEY` також працює)
@ -48,11 +48,13 @@ openclaw onboard --auth-choice runway-api-key
Вбудований провайдер генерації відео `runway` типово використовує `runway/gen4.5`.
- Режими: text-to-video, image-to-video з одним зображенням і video-to-video з одним відео
- Режими: text-to-video, single-image image-to-video та single-video video-to-video
- Виконання: асинхронне надсилання завдання + опитування через `GET /v1/tasks/{id}`
- Локальні посилання на зображення/відео: підтримуються через URI даних
- Поточне застереження щодо video-to-video: наразі OpenClaw вимагає `runway/gen4_aleph` для відеовходів
- Поточне застереження щодо text-to-video: наразі OpenClaw підтримує `16:9` і `9:16` для запусків лише з текстом
- Сесії агента: `video_generate` запускає фонове завдання, а пізніші виклики в межах тієї самої сесії тепер повертають статус активного завдання замість створення дубльованого запуску
- Перевірка статусу: `video_generate action=status`
- Локальні посилання на зображення/відео: підтримуються через data URI
- Поточне застереження для video-to-video: OpenClaw наразі вимагає `runway/gen4_aleph` для відеовходів
- Поточне застереження для text-to-video: OpenClaw наразі надає `16:9` і `9:16` для запусків лише з текстом
Щоб використовувати Runway як типовий провайдер відео:

View File

@ -1,29 +1,29 @@
---
read_when:
- Створення відео через агента
- Налаштування провайдерів і моделей генерації відео
- Генерація відео через агента
- Налаштування провайдерів і моделей для генерації відео
- Розуміння параметрів інструмента video_generate
summary: Створюйте відео за допомогою налаштованих провайдерів, таких як Alibaba, OpenAI, Google, Qwen, MiniMax і Runway
title: Генерація відео
x-i18n:
generated_at: "2026-04-06T00:04:16Z"
generated_at: "2026-04-06T00:20:03Z"
model: gpt-5.4
provider: openai
source_hash: 64e95077eed9cbf28566de38ea31a0fd547e7d7013ed7093cb82a7774656d570
source_hash: 9917245069c39676a7e33afe4800d9c528300e8489a35a28aa6c0356d65b2282
source_path: tools/video-generation.md
workflow: 15
---
# Генерація відео
Інструмент `video_generate` дає змогу агенту створювати відео за допомогою ваших налаштованих провайдерів. У сеансах агента OpenClaw запускає генерацію відео як фонове завдання, відстежує її в журналі завдань, а потім знову пробуджує агента, коли кліп готовий, щоб агент міг опублікувати готове відео назад у вихідний канал.
Інструмент `video_generate` дає змогу агенту створювати відео за допомогою ваших налаштованих провайдерів. У сеансах агента OpenClaw запускає генерацію відео як фонове завдання, відстежує її в журналі завдань, а потім знову активує агента, коли кліп буде готовий, щоб агент міг надіслати завершене відео назад в оригінальний канал.
<Note>
Інструмент з’являється лише тоді, коли доступний принаймні один провайдер генерації відео. Якщо ви не бачите `video_generate` в інструментах вашого агента, налаштуйте `agents.defaults.videoGenerationModel` або задайте API-ключ провайдера.
Інструмент з’являється лише тоді, коли доступний принаймні один провайдер генерації відео. Якщо ви не бачите `video_generate` серед інструментів вашого агента, налаштуйте `agents.defaults.videoGenerationModel` або задайте API-ключ провайдера.
</Note>
<Note>
У сеансах агента `video_generate` повертається одразу з id завдання/run id. Фактичне завдання провайдера продовжується у фоновому режимі. Коли воно завершується, OpenClaw пробуджує той самий сеанс внутрішньою подією завершення, щоб агент міг надіслати звичайне подальше повідомлення разом із вкладенням згенерованого відео.
У сеансах агента `video_generate` одразу повертає id завдання/run id. Фактичне завдання провайдера продовжується у фоновому режимі. Коли воно завершується, OpenClaw надсилає в той самий сеанс внутрішню подію завершення, щоб агент міг надіслати звичайне подальше повідомлення разом із вкладенням згенерованого відео.
</Note>
## Швидкий старт
@ -43,26 +43,26 @@ x-i18n:
}
```
3. Попросіть агента: _"Згенеруй 5-секундне кінематографічне відео з дружнім лобстером, який катається на серфі на заході сонця."_
3. Попросіть агента: _"Згенеруй 5-секундне кінематографічне відео дружнього омара, який катається на серфі на заході сонця."_
Агент викликає `video_generate` автоматично. Дозвільний список інструментів не потрібен — інструмент увімкнений за замовчуванням, коли доступний провайдер.
Агент викликає `video_generate` автоматично. Додавати його до списку дозволених інструментів не потрібно — його ввімкнено за замовчуванням, коли провайдер доступний.
Для прямих синхронних контекстів без запуску агента на основі сеансу інструмент усе одно переходить до вбудованої генерації та повертає фінальний шлях до медіафайлу в результаті інструмента.
Для прямих синхронних контекстів без запуску агента на основі сеансу інструмент однаково повертається до вбудованої генерації та повертає фінальний шлях до медіафайлу в результаті інструмента.
## Підтримувані провайдери
| Провайдер | Модель за замовчуванням | Опорні вхідні дані | API-ключ |
| --------- | ------------------------------ | ------------------ | ---------------------------------------------------------- |
| Alibaba | `wan2.6-t2v` | Так, віддалені URL | `MODELSTUDIO_API_KEY`, `DASHSCOPE_API_KEY`, `QWEN_API_KEY` |
| BytePlus | `seedance-1-0-lite-t2v-250428` | 1 зображення | `BYTEPLUS_API_KEY` |
| fal | `fal-ai/minimax/video-01-live` | 1 зображення | `FAL_KEY` |
| Google | `veo-3.1-fast-generate-preview` | 1 зображення або 1 відео | `GEMINI_API_KEY`, `GOOGLE_API_KEY` |
| MiniMax | `MiniMax-Hailuo-2.3` | 1 зображення | `MINIMAX_API_KEY` |
| OpenAI | `sora-2` | 1 зображення або 1 відео | `OPENAI_API_KEY` |
| Qwen | `wan2.6-t2v` | Так, віддалені URL | `QWEN_API_KEY`, `MODELSTUDIO_API_KEY`, `DASHSCOPE_API_KEY` |
| Runway | `gen4.5` | 1 зображення або 1 відео | `RUNWAYML_API_SECRET`, `RUNWAY_API_KEY` |
| Together | `Wan-AI/Wan2.2-T2V-A14B` | 1 зображення | `TOGETHER_API_KEY` |
| xAI | `grok-imagine-video` | 1 зображення або 1 відео | `XAI_API_KEY` |
| Провайдер | Модель за замовчуванням | Вхідні референси | API-ключ |
| --------- | ------------------------------- | ----------------- | ---------------------------------------------------------- |
| Alibaba | `wan2.6-t2v` | Так, віддалені URL | `MODELSTUDIO_API_KEY`, `DASHSCOPE_API_KEY`, `QWEN_API_KEY` |
| BytePlus | `seedance-1-0-lite-t2v-250428` | 1 зображення | `BYTEPLUS_API_KEY` |
| fal | `fal-ai/minimax/video-01-live` | 1 зображення | `FAL_KEY` |
| Google | `veo-3.1-fast-generate-preview` | 1 зображення або 1 відео | `GEMINI_API_KEY`, `GOOGLE_API_KEY` |
| MiniMax | `MiniMax-Hailuo-2.3` | 1 зображення | `MINIMAX_API_KEY` |
| OpenAI | `sora-2` | 1 зображення або 1 відео | `OPENAI_API_KEY` |
| Qwen | `wan2.6-t2v` | Так, віддалені URL | `QWEN_API_KEY`, `MODELSTUDIO_API_KEY`, `DASHSCOPE_API_KEY` |
| Runway | `gen4.5` | 1 зображення або 1 відео | `RUNWAYML_API_SECRET`, `RUNWAY_API_KEY` |
| Together | `Wan-AI/Wan2.2-T2V-A14B` | 1 зображення | `TOGETHER_API_KEY` |
| xAI | `grok-imagine-video` | 1 зображення або 1 відео | `XAI_API_KEY` |
Використовуйте `action: "list"`, щоб переглянути доступні провайдери та моделі під час виконання:
@ -72,33 +72,36 @@ x-i18n:
## Параметри інструмента
| Параметр | Тип | Опис |
| ---------------- | -------- | -------------------------------------------------------------------------------------- |
| `prompt` | string | Запит для генерації відео (обов’язковий для `action: "generate"`) |
| `action` | string | `"generate"` (за замовчуванням) або `"list"` для перегляду провайдерів |
| `model` | string | Перевизначення провайдера/моделі, наприклад `qwen/wan2.6-t2v` |
| `image` | string | Шлях або URL одного опорного зображення |
| `images` | string[] | Кілька опорних зображень (до 5) |
| `video` | string | Шлях або URL одного опорного відео |
| `videos` | string[] | Кілька опорних відео (до 4) |
| `size` | string | Підказка щодо розміру, якщо провайдер це підтримує |
| `aspectRatio` | string | Співвідношення сторін: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
| `resolution` | string | Підказка щодо роздільної здатності: `480P`, `720P` або `1080P` |
| `durationSeconds`| number | Цільова тривалість у секундах. OpenClaw може округлити її до найближчого значення, яке підтримує провайдер |
| `audio` | boolean | Увімкнути згенерований звук, якщо провайдер це підтримує |
| `watermark` | boolean | Увімкнути або вимкнути водяні знаки провайдера, якщо підтримується |
| `filename` | string | Підказка щодо імені вихідного файлу |
| Параметр | Тип | Опис |
| ---------------- | -------- | ------------------------------------------------------------------------------------------------- |
| `prompt` | string | Запит для генерації відео (обов’язковий для `action: "generate"`) |
| `action` | string | `"generate"` (типово), `"status"` для поточного завдання сеансу або `"list"` для перегляду провайдерів |
| `model` | string | Перевизначення провайдера/моделі, наприклад `qwen/wan2.6-t2v` |
| `image` | string | Шлях або URL одного референсного зображення |
| `images` | string[] | Кілька референсних зображень (до 5) |
| `video` | string | Шлях або URL одного референсного відео |
| `videos` | string[] | Кілька референсних відео (до 4) |
| `size` | string | Підказка щодо розміру, якщо провайдер це підтримує |
| `aspectRatio` | string | Співвідношення сторін: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` |
| `resolution` | string | Підказка щодо роздільної здатності: `480P`, `720P` або `1080P` |
| `durationSeconds` | number | Цільова тривалість у секундах. OpenClaw може округлити її до найближчого значення, підтримуваного провайдером |
| `audio` | boolean | Увімкнути генерацію аудіо, якщо провайдер це підтримує |
| `watermark` | boolean | Увімкнути або вимкнути водяний знак провайдера, якщо підтримується |
| `filename` | string | Підказка щодо імені вихідного файлу |
Не всі провайдери підтримують усі параметри. Непідтримувані необов’язкові перевизначення ігноруються в межах можливого та повертаються в результаті інструмента як попередження. Жорсткі обмеження можливостей, як-от надто велика кількість опорних вхідних даних, усе ще призводять до помилки до надсилання. Коли провайдер або модель підтримує лише дискретний набір тривалостей відео, OpenClaw округлює `durationSeconds` до найближчого підтримуваного значення та повідомляє нормалізовану тривалість у результаті інструмента.
Не всі провайдери підтримують усі параметри. Непідтримувані необов’язкові перевизначення ігноруються в міру можливості та повертаються в результаті інструмента як попередження. Жорсткі обмеження можливостей, як-от надто велика кількість референсних вхідних даних, усе ж спричиняють помилку до надсилання. Коли провайдер або модель підтримує лише дискретний набір тривалостей відео, OpenClaw округлює `durationSeconds` до найближчого підтримуваного значення та повідомляє нормалізовану тривалість у результаті інструмента.
## Асинхронна поведінка
- Запуски агента на основі сеансу: `video_generate` створює фонове завдання, одразу повертає відповідь про запуск/завдання, а готове відео публікує пізніше в подальшому повідомленні агента.
- Відстеження завдань: використовуйте `openclaw tasks list` / `openclaw tasks show <taskId>`, щоб переглядати статуси генерації в черзі, у виконанні та кінцеві статуси.
- Пробудження після завершення: OpenClaw вставляє внутрішню подію завершення назад у той самий сеанс, щоб модель могла сама написати подальше повідомлення для користувача.
- Запуски агента з підтримкою сеансів: `video_generate` створює фонове завдання, одразу повертає відповідь про запуск/завдання та пізніше надсилає готове відео в подальшому повідомленні агента.
- Запобігання дублюванню: поки це фонове завдання все ще має стан `queued` або `running`, подальші виклики `video_generate` у тому самому сеансі повертають стан завдання замість запуску нової генерації.
- Перевірка стану: використовуйте `action: "status"`, щоб переглянути активне відеозавдання, пов’язане з поточним сеансом, без запуску нового.
- Відстеження завдань: використовуйте `openclaw tasks list` / `openclaw tasks show <taskId>`, щоб переглядати статуси queued, running і terminal для генерації.
- Активація після завершення: OpenClaw вставляє внутрішню подію завершення назад у той самий сеанс, щоб модель могла сама написати видиме для користувача подальше повідомлення.
- Підказка для запиту: пізніші користувацькі/ручні ходи в тому самому сеансі отримують невелику підказку під час виконання, коли завдання відео вже виконується, щоб модель не викликала `video_generate` повторно навмання.
- Резервний режим без сеансу: прямі/локальні контексти без реального сеансу агента все одно виконуються вбудовано та повертають фінальний результат відео в тому самому ході.
## Конфігурація
## Налаштування
### Вибір моделі
@ -115,35 +118,35 @@ x-i18n:
}
```
### Порядок вибору провайдерів
### Порядок вибору провайдера
Під час генерації відео OpenClaw пробує провайдерів у такому порядку:
Під час генерації відео OpenClaw намагається використати провайдерів у такому порядку:
1. Параметр **`model`** з виклику інструмента (якщо агент його вказує)
2. **`videoGenerationModel.primary`** із конфігурації
2. **`videoGenerationModel.primary`** з конфігурації
3. **`videoGenerationModel.fallbacks`** у заданому порядку
4. **Автовиявлення** — використовує лише типові налаштування провайдерів, підкріплені автентифікацією:
- спочатку поточний провайдер за замовчуванням
4. **Автовизначення** — використовує лише типові значення провайдерів, підкріплені автентифікацією:
- спочатку поточний типовий провайдер
- решта зареєстрованих провайдерів генерації відео в порядку id провайдера
Якщо провайдер не спрацьовує, автоматично пробується наступний кандидат. Якщо не спрацьовують усі, помилка містить відомості про кожну спробу.
Якщо провайдер завершується помилкою, автоматично пробується наступний кандидат. Якщо завершується помилкою все, помилка містить подробиці про кожну спробу.
## Примітки щодо провайдерів
- Alibaba використовує асинхронну кінцеву точку відео DashScope / Model Studio і наразі вимагає віддалені URL `http(s)` для опорних ресурсів.
- Google використовує Gemini/Veo і підтримує один опорний вхід у вигляді зображення або відео.
- MiniMax, Together, BytePlus і fal наразі підтримують один опорний вхід у вигляді зображення.
- OpenAI використовує нативну кінцеву точку відео і наразі за замовчуванням використовує `sora-2`.
- Qwen підтримує опорні зображення/відео, але вхідна відеокінцева точка DashScope наразі вимагає віддалені URL `http(s)` для цих опорних даних.
- Runway використовує нативний API асинхронних завдань з опитуванням `GET /v1/tasks/{id}` і наразі за замовчуванням використовує `gen4.5`.
- xAI використовує нативний API відео xAI і підтримує сценарії text-to-video, image-to-video та віддалене редагування/розширення відео.
- fal використовує потік відео fal на основі черги для довготривалих завдань замість одного блокувального запиту інференсу.
- Alibaba використовує асинхронний відеоендпойнт DashScope / Model Studio і наразі вимагає віддалених URL `http(s)` для референсних ресурсів.
- Google використовує Gemini/Veo і підтримує одне референсне зображення або відео.
- MiniMax, Together, BytePlus і fal наразі підтримують одне референсне зображення.
- OpenAI використовує нативний відеоендпойнт і наразі типово використовує `sora-2`.
- Qwen підтримує референсні зображення/відео, але вихідний відеоендпойнт DashScope наразі вимагає для них віддалені URL `http(s)`.
- Runway використовує нативний API асинхронних завдань з опитуванням `GET /v1/tasks/{id}` і наразі типово використовує `gen4.5`.
- xAI використовує нативний API відео xAI і підтримує сценарії text-to-video, image-to-video, а також віддалене редагування/подовження відео.
- fal використовує чергу fal для відео завдань із тривалим виконанням замість одного блокувального запиту інференсу.
## Опорні вхідні дані Qwen
## Референсні входи Qwen
Вбудований провайдер Qwen підтримує text-to-video, а також режими з опорними зображеннями/відео, але вхідна відеокінцева точка DashScope наразі вимагає **віддалені URL `http(s)`** для опорних вхідних даних. Шляхи до локальних файлів і вивантажені буфери відхиляються одразу, а не тихо ігноруються.
Вбудований провайдер Qwen підтримує text-to-video, а також режими з референсними зображеннями/відео, але вихідний відеоендпойнт DashScope наразі вимагає **віддалені URL `http(s)`** для референсних вхідних даних. Локальні шляхи до файлів і завантажені буфери відхиляються одразу, а не тихо ігноруються.
## Пов’язане
## Пов’язані матеріали
- [Огляд інструментів](/uk/tools) — усі доступні інструменти агента
- [Фонові завдання](/uk/automation/tasks) — відстеження завдань для відокремлених запусків `video_generate`
@ -154,6 +157,6 @@ x-i18n:
- [Qwen](/uk/providers/qwen) — налаштування та обмеження, специфічні для Qwen
- [Runway](/uk/providers/runway) — налаштування Runway і поточні примітки щодо моделей/вхідних даних
- [Together AI](/uk/providers/together) — налаштування провайдера Together Wan
- [xAI](/uk/providers/xai) — налаштування відеопровайдера Grok
- [Довідник із конфігурації](/uk/gateway/configuration-reference#agent-defaults) — конфігурація `videoGenerationModel`
- [xAI](/uk/providers/xai) — налаштування провайдера відео Grok
- [Довідник з конфігурації](/uk/gateway/configuration-reference#agent-defaults) — конфігурація `videoGenerationModel`
- [Моделі](/uk/concepts/models) — конфігурація моделей і резервне перемикання