diff --git a/docs/uk/automation/tasks.md b/docs/uk/automation/tasks.md index d4027b5cc..85c3a5c84 100644 --- a/docs/uk/automation/tasks.md +++ b/docs/uk/automation/tasks.md @@ -1,41 +1,45 @@ --- read_when: - - Перевірка фонової роботи, що виконується або нещодавно завершилася - - Налагодження збоїв доставки для відокремлених запусків агентів + - Перевірка фонового виконання, яке триває або нещодавно завершилося + - Налагодження збоїв доставки для відокремлених запусків агента - Розуміння того, як фонові запуски пов’язані із сесіями, cron і heartbeat -summary: Відстеження фонових завдань для запусків ACP, субагентів, ізольованих cron-завдань і CLI-операцій +summary: Відстеження фонових завдань для запусків ACP, субагентів, ізольованих cron-завдань і операцій CLI title: Фонові завдання x-i18n: - generated_at: "2026-04-05T17:57:34Z" + generated_at: "2026-04-05T23:52:58Z" model: gpt-5.4 provider: openai - source_hash: 6c95ccf4388d07e60a7bb68746b161793f4bb5ff2ba3d5ce9e51f2225dab2c4d + source_hash: 68ba60b352c8d8fc57fed081856581107c6c0eb09ef4047264c3052abc30520d source_path: automation/tasks.md workflow: 15 --- # Фонові завдання -> **Шукаєте планування?** Див. [Автоматизація й завдання](/automation), щоб вибрати правильний механізм. Ця сторінка описує **відстеження** фонової роботи, а не її планування. +> **Шукаєте планування?** Див. [Automation & Tasks](/uk/automation), щоб вибрати правильний механізм. Ця сторінка описує **відстеження** фонового виконання, а не його планування. Фонові завдання відстежують роботу, яка виконується **поза межами вашої основної сесії розмови**: запуски ACP, запуск субагентів, виконання ізольованих cron-завдань і операції, ініційовані через CLI. -Завдання **не** замінюють сесії, cron-завдання або heartbeat — це **журнал активності**, який фіксує, яка відокремлена робота відбулася, коли саме і чи була вона успішною. +Завдання **не** замінюють сесії, cron-завдання або heartbeat — це **журнал активності**, який фіксує, яка відокремлена робота виконувалася, коли саме та чи була вона успішною. -Не кожен запуск агента створює завдання. Кроки heartbeat і звичайний інтерактивний чат — ні. Усі виконання cron, запуски ACP, запуски субагентів і команди агента CLI — так. +Не кожен запуск агента створює завдання. Ходи heartbeat і звичайний інтерактивний чат — ні. Усі виконання cron, запуски ACP, запуски субагентів і команди агента CLI — так. ## Коротко -- Завдання — це **записи**, а не планувальники: 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 вирішують, _коли_ виконується робота, а завдання відстежують, _що сталося_. +- ACP, субагенти, усі cron-завдання та операції CLI створюють завдання. Ходи heartbeat — ні. +- Кожне завдання проходить стани `queued → running → terminal` (succeeded, failed, timed_out, cancelled або lost). +- Завдання cron залишаються активними, доки середовище виконання cron усе ще володіє завданням; завдання CLI, прив’язані до чату, залишаються активними лише доки їхній контекст виконання-власник іще активний. +- Завершення керується подіями push: відокремлена робота може напряму сповіщати або пробуджувати + сесію/heartbeat запитувача після завершення, тому цикли опитування стану + зазвичай не є правильним підходом. +- Ізольовані запуски cron і завершення субагентів у межах best-effort очищають відстежувані вкладки браузера/процеси для своєї дочірньої сесії перед фінальним обліком очищення. +- Ізольована доставка cron пригнічує застарілі проміжні відповіді батьківського процесу, поки + ще триває завершення дочірньої роботи субагента, і надає перевагу фінальному виводу нащадка, + якщо він надходить до моменту доставки. - Сповіщення про завершення доставляються безпосередньо в канал або ставляться в чергу до наступного heartbeat. - `openclaw tasks list` показує всі завдання; `openclaw tasks audit` виявляє проблеми. - Термінальні записи зберігаються 7 днів, після чого автоматично видаляються. @@ -43,7 +47,7 @@ x-i18n: ## Швидкий старт ```bash -# Перелічити всі завдання (найновіші спочатку) +# Показати всі завдання (найновіші спочатку) openclaw tasks list # Фільтрувати за середовищем виконання або статусом @@ -53,7 +57,7 @@ openclaw tasks list --status running # Показати подробиці конкретного завдання (за ID, ID запуску або ключем сесії) openclaw tasks show -# Скасувати запущене завдання (завершує дочірню сесію) +# Скасувати завдання, що виконується (завершує дочірню сесію) openclaw tasks cancel # Змінити політику сповіщень для завдання @@ -74,19 +78,22 @@ openclaw tasks flow cancel ## Що створює завдання -| Джерело | Тип середовища виконання | Коли створюється запис завдання | Типова політика сповіщень | -| ---------------------- | ------------------------ | --------------------------------------------------- | ------------------------- | -| Фонові запуски ACP | `acp` | Під час створення дочірньої сесії ACP | `done_only` | -| Оркестрація субагентів | `subagent` | Під час запуску субагента через `sessions_spawn` | `done_only` | -| Cron-завдання (усі типи) | `cron` | Для кожного виконання cron (основна сесія й ізольоване) | `silent` | -| CLI-операції | `cli` | Команди `openclaw agent`, що виконуються через gateway | `silent` | +| Джерело | Тип середовища виконання | Коли створюється запис завдання | Політика сповіщень за замовчуванням | +| ---------------------- | ------------------------ | ------------------------------------------------------ | ----------------------------------- | +| Фонові запуски 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`. Вони все одно створюють записи завдань, але завершення повертається до початкової сесії агента як внутрішнє пробудження, щоб агент міг сам написати подальше повідомлення та прикріпити готове відео. -- Кроки heartbeat — основна сесія; див. [Heartbeat](/gateway/heartbeat) -- Звичайні інтерактивні кроки чату +**Що не створює завдань:** + +- Ходи heartbeat — основна сесія; див. [Heartbeat](/uk/gateway/heartbeat) +- Звичайні інтерактивні ходи чату - Прямі відповіді `/command` ## Життєвий цикл завдання @@ -94,59 +101,61 @@ Cron-завдання основної сесії типово використ ```mermaid stateDiagram-v2 [*] --> queued - 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 : агент запускається + running --> succeeded : успішне завершення + running --> failed : помилка + running --> timed_out : перевищено тайм-аут + running --> cancelled : оператор скасовує + queued --> lost : сесія відсутня > 5 хв + running --> lost : сесія відсутня > 5 хв ``` | Статус | Що це означає | | ----------- | ------------------------------------------------------------------------ | -| `queued` | Створено, очікує на запуск агента | -| `running` | Крок агента активно виконується | +| `queued` | Створено, очікує запуску агента | +| `running` | Хід агента зараз активно виконується | | `succeeded` | Успішно завершено | | `failed` | Завершено з помилкою | | `timed_out` | Перевищено налаштований тайм-аут | -| `cancelled` | Зупинено оператором через `openclaw tasks cancel` | +| `cancelled` | Зупинено оператором через `openclaw tasks cancel` | | `lost` | Середовище виконання втратило авторитетний базовий стан після 5-хвилинного пільгового періоду | -Переходи відбуваються автоматично — коли пов’язаний запуск агента завершується, статус завдання оновлюється відповідно. +Переходи відбуваються автоматично — коли завершується пов’язаний запуск агента, статус завдання оновлюється відповідно. `lost` залежить від середовища виконання: - Завдання ACP: зникли метадані дочірньої сесії ACP. -- Завдання субагента: дочірня сесія зникла зі сховища цільового агента. -- Cron-завдання: середовище виконання cron більше не відстежує завдання як активне. -- CLI-завдання: ізольовані завдання дочірніх сесій використовують дочірню сесію; CLI-завдання, пов’язані з чатом, натомість використовують живий контекст запуску, тому рядки сесій каналу/групи/прямих повідомлень, що лишилися, не підтримують їх активність. +- Завдання субагентів: дочірня сесія зникла зі сховища цільового агента. +- Завдання cron: середовище виконання cron більше не відстежує завдання як активне. +- Завдання CLI: ізольовані завдання дочірньої сесії використовують дочірню сесію; завдання CLI, прив’язані до чату, натомість використовують живий контекст виконання, тому наявність рядків сесії каналу/групи/прямих повідомлень не підтримує їх активність. -## Доставка та сповіщення +## Доставка і сповіщення -Коли завдання досягає термінального стану, OpenClaw сповіщає вас. Є два шляхи доставки: +Коли завдання переходить у термінальний стан, OpenClaw сповіщає вас. Є два шляхи доставки: -**Пряма доставка** — якщо завдання має ціль каналу (`requesterOrigin`), повідомлення про завершення надсилається прямо в цей канал (Telegram, Discord, Slack тощо). Для завершень субагентів OpenClaw також зберігає прив’язану маршрутизацію потоку/теми, якщо вона доступна, і може заповнити відсутній `to` / обліковий запис із збереженого маршруту сесії запитувача (`lastChannel` / `lastTo` / `lastAccountId`) перед тим, як відмовитися від прямої доставки. +**Пряма доставка** — якщо завдання має ціль каналу (`requesterOrigin`), повідомлення про завершення надсилається безпосередньо в цей канал (Telegram, Discord, Slack тощо). Для завершень субагентів OpenClaw також зберігає прив’язану маршрутизацію thread/topic, коли вона доступна, і може підставити відсутній `to` / обліковий запис із збереженого маршруту сесії запитувача (`lastChannel` / `lastTo` / `lastAccountId`) перед тим, як відмовитися від прямої доставки. -**Доставка через чергу сесії** — якщо пряма доставка не вдається або origin не задано, оновлення ставиться в чергу як системна подія в сесії запитувача й відображається під час наступного heartbeat. +**Доставка через чергу сесії** — якщо пряма доставка не вдається або origin не задано, оновлення ставиться в чергу як системна подія в сесії запитувача й з’являється під час наступного heartbeat. -Завершення завдання негайно пробуджує heartbeat, щоб ви швидко побачили результат — вам не потрібно чекати наступного запланованого кроку heartbeat. +Завершення завдання негайно запускає пробудження heartbeat, щоб ви швидко побачили результат — вам не потрібно чекати наступного запланованого тіку heartbeat. -Це означає, що звичайний робочий процес є push-орієнтованим: один раз запустіть відокремлену роботу, а потім дозвольте середовищу виконання пробудити або сповістити вас після завершення. Опитуйте стан завдання лише тоді, коли вам потрібні налагодження, втручання або явний аудит. +Це означає, що типовий робочий процес базується на push-подіях: один раз запустіть відокремлену роботу, а потім +дозвольте середовищу виконання пробудити вас або сповістити після завершення. Опитуйте стан завдання лише тоді, коли +потрібні налагодження, втручання або явний аудит. ### Політики сповіщень -Керуйте тим, скільки ви будете чути про кожне завдання: +Керуйте тим, скільки ви отримуєте повідомлень про кожне завдання: | Політика | Що доставляється | | --------------------- | ------------------------------------------------------------------------ | -| `done_only` (типово) | Лише термінальний стан (succeeded, failed тощо) — **це типове значення** | -| `state_changes` | Кожна зміна стану та оновлення прогресу | -| `silent` | Узагалі нічого | +| `done_only` (типово) | Лише термінальний стан (succeeded, failed тощо) — **це значення за замовчуванням** | +| `state_changes` | Кожен перехід стану та оновлення прогресу | +| `silent` | Узагалі нічого | -Змінити політику під час виконання завдання: +Змініть політику під час виконання завдання: ```bash openclaw tasks notify state_changes @@ -168,7 +177,7 @@ openclaw tasks list [--runtime ] [--status ] [--j openclaw tasks show ``` -Токен lookup приймає ID завдання, ID запуску або ключ сесії. Показує повний запис, зокрема таймінг, стан доставки, помилку та підсумок термінального стану. +Токен lookup приймає ID завдання, ID запуску або ключ сесії. Показує повний запис, включно з часом, станом доставки, помилкою та термінальним підсумком. ### `tasks cancel` @@ -190,16 +199,16 @@ openclaw tasks notify 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 | Перебуває в черзі більше 10 хвилин | +| `stale_running` | error | Виконується більше 30 хвилин | +| `lost` | error | Зникло володіння завданням, прив’язане до середовища виконання | +| `delivery_failed` | warn | Доставка не вдалася, а політика сповіщень не `silent` | +| `missing_cleanup` | warn | Термінальне завдання без позначки часу очищення | +| `inconsistent_timestamps` | warn | Порушення часової послідовності (наприклад, завершено раніше, ніж почато) | ### `tasks maintenance` @@ -208,21 +217,23 @@ openclaw tasks maintenance [--json] openclaw tasks maintenance --apply [--json] ``` -Використовуйте це, щоб переглянути або застосувати звірку, проставлення очищення та видалення для завдань і стану Task Flow. +Використовуйте це, щоб переглянути або застосувати звірку, позначення очищення та видалення +для завдань і стану Task Flow. Звірка залежить від середовища виконання: -- Завдання ACP/субагентів перевіряють свою базову дочірню сесію. -- Cron-завдання перевіряють, чи середовище виконання cron усе ще володіє завданням. -- CLI-завдання, пов’язані з чатом, перевіряють контекст живого запуску-власника, а не лише рядок сесії чату. +- Завдання ACP/субагентів перевіряють свою дочірню сесію. +- Завдання cron перевіряють, чи середовище виконання cron усе ще володіє завданням. +- Завдання CLI, прив’язані до чату, перевіряють контекст активного запуску-власника, а не лише рядок сесії чату. Очищення після завершення також залежить від середовища виконання: -- Завершення субагента в режимі best-effort закриває відстежувані вкладки браузера/процеси для дочірньої сесії, перш ніж продовжується оголошення очищення. -- Завершення ізольованого cron у режимі best-effort закриває відстежувані вкладки браузера/процеси для cron-сесії, перш ніж запуск буде повністю згорнуто. -- Доставка ізольованого cron за потреби чекає на подальші дочірні дії субагента та пригнічує застарілий текст підтвердження батьківського процесу замість його оголошення. -- Доставка завершення субагента надає перевагу останньому видимому тексту асистента; якщо він порожній, використовується санітизований останній текст tool/toolResult, а запуски виклику інструментів лише з тайм-аутом можуть зводитися до короткого підсумку часткового прогресу. -- Помилки очищення не маскують реальний результат завдання. +- Завершення субагента в межах best-effort закриває відстежувані вкладки браузера/процеси для дочірньої сесії перед подальшим оголошенням очищення. +- Завершення ізольованого cron у межах best-effort закриває відстежувані вкладки браузера/процеси для сесії cron до повного завершення виконання. +- Доставка для ізольованого cron за потреби чекає завершення подальших дій дочірнього субагента і + пригнічує застарілий текст підтвердження від батьківського процесу замість його оголошення. +- Доставка завершення субагента надає перевагу найновішому видимому тексту асистента; якщо він порожній, вона переходить до санітизованого найновішого тексту tool/toolResult, а запуски tool-call, що завершилися лише тайм-аутом, можуть згортатися до короткого підсумку часткового прогресу. +- Збої очищення не маскують реальний результат завдання. ### `tasks flow list|show|cancel` @@ -232,19 +243,22 @@ openclaw tasks flow show [--json] openclaw tasks flow cancel ``` -Використовуйте це, коли вас цікавить оркеструвальний Task Flow, а не окремий запис фонового завдання. +Використовуйте ці команди, коли вас цікавить саме оркеструвальний Task Flow, +а не окремий запис фонового завдання. ## Дошка завдань у чаті (`/tasks`) -Використовуйте `/tasks` у будь-якій чат-сесії, щоб побачити фонові завдання, пов’язані із цією сесією. Дошка показує активні й нещодавно завершені завдання з даними про середовище виконання, статус, таймінг, а також подробицями прогресу або помилки. +Використовуйте `/tasks` у будь-якій чат-сесії, щоб побачити фонові завдання, пов’язані з цією сесією. Дошка показує +активні та нещодавно завершені завдання з даними про середовище виконання, статус, час і подробиці прогресу або помилки. -Коли поточна сесія не має видимих пов’язаних завдань, `/tasks` повертається до локальних для агента лічильників завдань, щоб ви все одно мали огляд без розкриття подробиць інших сесій. +Коли поточна сесія не має видимих пов’язаних завдань, `/tasks` повертається до локальних для агента підрахунків завдань, +щоб ви все одно бачили загальний огляд без розкриття подробиць інших сесій. -Для повного журналу оператора використовуйте CLI: `openclaw tasks list`. +Для повного операторського журналу використовуйте CLI: `openclaw tasks list`. ## Інтеграція зі статусом (навантаження завдань) -`openclaw status` містить короткий підсумок завдань: +`openclaw status` містить стислий підсумок завдань: ``` Tasks: 3 queued · 2 running · 1 issues @@ -256,9 +270,11 @@ Tasks: 3 queued · 2 running · 1 issues - **failures** — кількість `failed` + `timed_out` + `lost` - **byRuntime** — розбивка за `acp`, `subagent`, `cron`, `cli` -І `/status`, і інструмент `session_status` використовують знімок завдань з урахуванням очищення: активні завдання мають пріоритет, застарілі завершені рядки приховуються, а нещодавні збої показуються лише тоді, коли не лишається активної роботи. Це допомагає картці стану зосереджуватися на тому, що важливо саме зараз. +І `/status`, і інструмент `session_status` використовують знімок завдань з урахуванням очищення: активним завданням +надається перевага, застарілі завершені рядки приховуються, а нещодавні збої показуються лише тоді, коли немає активної роботи. +Це допомагає картці статусу зосереджуватися на тому, що важливо саме зараз. -## Зберігання та обслуговування +## Зберігання і обслуговування ### Де зберігаються завдання @@ -268,15 +284,15 @@ 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 days`). -3. **Видалення** — видаляє записи, дата `cleanupAfter` яких уже минула. +1. **Звірка** — перевіряє, чи активні завдання все ще мають авторитетний базовий стан у середовищі виконання. Завдання ACP/субагентів використовують стан дочірньої сесії, завдання cron — володіння активним завданням, а завдання CLI, прив’язані до чату, — контекст активного запуску-власника. Якщо цей базовий стан відсутній понад 5 хвилин, завдання позначається як `lost`. +2. **Позначення очищення** — встановлює часову позначку `cleanupAfter` для термінальних завдань (endedAt + 7 днів). +3. **Видалення** — видаляє записи після дати `cleanupAfter`. **Термін зберігання**: записи термінальних завдань зберігаються **7 днів**, після чого автоматично видаляються. Налаштування не потрібне. @@ -284,34 +300,34 @@ $OPENCLAW_STATE_DIR/tasks/runs.sqlite ### Завдання і Task Flow -[Task Flow](/automation/taskflow) — це рівень оркестрації потоків над фоновими завданнями. Один потік протягом свого життєвого циклу може координувати кілька завдань, використовуючи керовані або дзеркальні режими синхронізації. Використовуйте `openclaw tasks`, щоб переглядати окремі записи завдань, і `openclaw tasks flow`, щоб переглядати оркеструвальний потік. +[Task Flow](/uk/automation/taskflow) — це рівень оркестрації потоків над фоновими завданнями. Один потік може координувати кілька завдань протягом свого життєвого циклу, використовуючи керовані або дзеркальні режими синхронізації. Використовуйте `openclaw tasks`, щоб перевіряти окремі записи завдань, і `openclaw tasks flow`, щоб перевіряти оркеструвальний потік. -Докладніше див. у [Task Flow](/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-завдання](/automation/cron-jobs). +Див. [Cron Jobs](/uk/automation/cron-jobs). ### Завдання і heartbeat -Запуски heartbeat — це кроки основної сесії, вони не створюють записи завдань. Коли завдання завершується, воно може пробудити heartbeat, щоб ви швидко побачили результат. +Запуски heartbeat — це ходи основної сесії, вони не створюють записів завдань. Коли завдання завершується, воно може ініціювати пробудження heartbeat, щоб ви швидко побачили результат. -Див. [Heartbeat](/gateway/heartbeat). +Див. [Heartbeat](/uk/gateway/heartbeat). ### Завдання і сесії -Завдання може посилатися на `childSessionKey` (де виконується робота) і `requesterSessionKey` (хто її запустив). Сесії — це контекст розмови; завдання — це відстеження активності поверх нього. +Завдання може посилатися на `childSessionKey` (де виконується робота) і `requesterSessionKey` (хто її запустив). Сесії — це контекст розмови; завдання — це шар відстеження активності поверх нього. -### Завдання і запуски агентів +### Завдання і запуски агента -`runId` завдання пов’язує його із запуском агента, який виконує роботу. Події життєвого циклу агента (запуск, завершення, помилка) автоматично оновлюють статус завдання — вам не потрібно керувати життєвим циклом вручну. +`runId` завдання пов’язує його із запуском агента, який виконує роботу. Події життєвого циклу агента (start, end, error) автоматично оновлюють статус завдання — вам не потрібно керувати життєвим циклом вручну. ## Пов’язане -- [Автоматизація й завдання](/automation) — усі механізми автоматизації з першого погляду -- [Task Flow](/automation/taskflow) — оркестрація потоків над завданнями -- [Заплановані завдання](/automation/cron-jobs) — планування фонової роботи -- [Heartbeat](/gateway/heartbeat) — періодичні кроки основної сесії +- [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 diff --git a/docs/uk/concepts/model-providers.md b/docs/uk/concepts/model-providers.md index 301444988..e20554903 100644 --- a/docs/uk/concepts/model-providers.md +++ b/docs/uk/concepts/model-providers.md @@ -1,40 +1,40 @@ --- read_when: - Вам потрібен довідник із налаштування моделей для кожного постачальника окремо - - Ви хочете приклади конфігурацій або команд онбордингу CLI для постачальників моделей + - Ви хочете приклади конфігурацій або команд CLI для онбордингу постачальників моделей summary: Огляд постачальників моделей із прикладами конфігурацій і потоків CLI title: Постачальники моделей x-i18n: - generated_at: "2026-04-05T22:25:09Z" + generated_at: "2026-04-05T23:54:07Z" model: gpt-5.4 provider: openai - source_hash: 2d1abbc3c1937637e25d77123b770e56e64d674db5b8521967af1143e59c83ab + source_hash: 15e4b82e07221018a723279d309e245bb4023bc06e64b3c910ef2cae3dfa2599 source_path: concepts/model-providers.md workflow: 15 --- # Постачальники моделей -На цій сторінці описано **LLM/постачальників моделей** (а не канали чату, як-от WhatsApp/Telegram). +Ця сторінка охоплює **постачальників LLM/моделей** (а не канали чату, як-от WhatsApp/Telegram). Правила вибору моделей див. у [/concepts/models](/uk/concepts/models). ## Швидкі правила - Посилання на моделі використовують формат `provider/model` (приклад: `opencode/claude-opus-4-6`). -- Якщо ви задаєте `agents.defaults.models`, це стає списком дозволених. +- Якщо ви задаєте `agents.defaults.models`, це стає списком дозволених значень. - Допоміжні команди CLI: `openclaw onboard`, `openclaw models list`, `openclaw models set `. -- Резервні правила часу виконання, перевірки cool-down і збереження перевизначень сесії +- Правила резервного перемикання під час виконання, перевірки стану після cooldown і збереження перевизначень сесії задокументовано в [/concepts/model-failover](/uk/concepts/model-failover). -- `models.providers.*.models[].contextWindow` — це рідні метадані моделі; - `models.providers.*.models[].contextTokens` — це фактичне обмеження часу виконання. -- Плагіни постачальників можуть додавати каталоги моделей через `registerProvider({ catalog })`; +- `models.providers.*.models[].contextWindow` — це нативні метадані моделі; + `models.providers.*.models[].contextTokens` — це фактичне обмеження під час виконання. +- Плагіни постачальників можуть впроваджувати каталоги моделей через `registerProvider({ catalog })`; OpenClaw об’єднує цей вивід у `models.providers` перед записом `models.json`. -- Маніфести постачальників можуть оголошувати `providerAuthEnvVars`, щоб загальні перевірки - автентифікації на основі змінних середовища не потребували завантаження часу виконання плагіна. Мапа - змінних середовища в ядрі, що лишається, тепер використовується лише для постачальників ядра/без плагінів - і кількох випадків загального пріоритету, як-от онбординг Anthropic із пріоритетом API-ключа. -- Плагіни постачальників також можуть володіти поведінкою постачальника під час виконання через +- Маніфести постачальників можуть оголошувати `providerAuthEnvVars`, щоб загальним перевіркам + автентифікації через змінні середовища не потрібно було завантажувати код плагіна під час виконання. Решта мапи змінних середовища в core + тепер призначена лише для неплагінових/core постачальників і кількох випадків + загального пріоритету, як-от онбординг Anthropic зі сценарієм «спочатку API-ключ». +- Плагіни постачальників також можуть керувати поведінкою постачальника під час виконання через `normalizeModelId`, `normalizeTransport`, `normalizeConfig`, `applyNativeStreamingUsageCompat`, `resolveConfigApiKey`, `resolveSyntheticAuth`, `shouldDeferSyntheticProfileAuth`, @@ -52,213 +52,212 @@ x-i18n: `resolveDefaultThinkingLevel`, `applyConfigDefaults`, `isModernModelRef`, `prepareRuntimeAuth`, `resolveUsageAuth`, `fetchUsageSnapshot`, and `onModelSelected`. -- Примітка: `capabilities` постачальника під час виконання — це спільні метадані раннера - (сімейство постачальника, особливості transcript/tooling, підказки щодо transport/cache). Це не те - саме, що [публічна модель можливостей](/uk/plugins/architecture#public-capability-model), - яка описує, що реєструє плагін (текстовий inference, мовлення тощо). +- Примітка: `capabilities` постачальника під час виконання — це спільні метадані runner-а (сімейство постачальника, особливості transcript/tooling, підказки щодо transport/cache). Це не те саме, що [публічна модель можливостей](/uk/plugins/architecture#public-capability-model), + яка описує, що саме реєструє плагін (текстовий inference, speech тощо). ## Поведінка постачальника, якою володіє плагін -Тепер плагіни постачальників можуть володіти більшістю специфічної для постачальника логіки, тоді як OpenClaw зберігає +Плагіни постачальників тепер можуть керувати більшістю логіки, специфічної для постачальника, тоді як OpenClaw зберігає загальний цикл inference. Типовий розподіл: -- `auth[].run` / `auth[].runNonInteractive`: постачальник володіє потоками онбордингу/входу +- `auth[].run` / `auth[].runNonInteractive`: постачальник керує потоками онбордингу/входу для `openclaw onboard`, `openclaw models auth` і безголового налаштування -- `wizard.setup` / `wizard.modelPicker`: постачальник володіє мітками вибору автентифікації, - застарілими псевдонімами, підказками списку дозволених для онбордингу та елементами - налаштування в засобах вибору онбордингу/моделей +- `wizard.setup` / `wizard.modelPicker`: постачальник керує мітками вибору автентифікації, + застарілими псевдонімами, підказками щодо allowlist під час онбордингу та записами налаштування у вибірниках онбордингу/моделей - `catalog`: постачальник з’являється в `models.providers` - `normalizeModelId`: постачальник нормалізує застарілі/preview ідентифікатори моделей перед пошуком або канонізацією -- `normalizeTransport`: постачальник нормалізує `api` / `baseUrl` сімейства transport - перед загальним складанням моделі; OpenClaw спочатку перевіряє відповідного постачальника, - потім інші плагіни постачальників із підтримкою хуків, доки один із них справді не змінить +- `normalizeTransport`: постачальник нормалізує transport-family `api` / `baseUrl` + перед загальним збиранням моделі; OpenClaw спочатку перевіряє відповідного постачальника, + потім інші плагіни постачальників, здатні виконувати цей hook, доки один із них справді не змінить transport - `normalizeConfig`: постачальник нормалізує конфігурацію `models.providers.` перед використанням під час виконання; OpenClaw спочатку перевіряє відповідного постачальника, потім інші - плагіни постачальників із підтримкою хуків, доки один із них справді не змінить конфігурацію. Якщо жоден - хук постачальника не переписує конфігурацію, вбудовані допоміжні засоби сімейства Google все одно + плагіни постачальників, здатні виконувати цей hook, доки один із них справді не змінить конфігурацію. Якщо жоден + hook постачальника не переписує конфігурацію, вбудовані допоміжні засоби для сімейства Google все одно нормалізують підтримувані записи постачальників Google. -- `applyNativeStreamingUsageCompat`: постачальник застосовує переписування сумісності використання native streaming, керовані endpoint, для конфігураційних постачальників -- `resolveConfigApiKey`: постачальник визначає автентифікацію через маркер змінної середовища для конфігураційних постачальників - без примусового завантаження повної runtime-автентифікації. `amazon-bedrock` також має - вбудований розв’язувач AWS env-marker тут, хоча runtime-автентифікація Bedrock використовує +- `applyNativeStreamingUsageCompat`: постачальник застосовує переписування сумісності для нативного streaming-usage, зумовлене endpoint, для конфігурованих постачальників +- `resolveConfigApiKey`: постачальник визначає автентифікацію через env-marker для конфігурованих постачальників + без примусового повного завантаження runtime-автентифікації. `amazon-bedrock` також має тут + вбудований resolver AWS env-marker, хоча runtime-автентифікація Bedrock використовує стандартний ланцюжок AWS SDK. -- `resolveSyntheticAuth`: постачальник може надавати локальну/self-hosted або іншу - доступність автентифікації, що спирається на конфігурацію, без збереження відкритих секретів -- `shouldDeferSyntheticProfileAuth`: постачальник може позначати збережені synthetic profile - placeholders як менш пріоритетні, ніж автентифікація на основі env/config +- `resolveSyntheticAuth`: постачальник може повідомляти про доступність локальної/self-hosted або іншої + автентифікації, що базується на конфігурації, без збереження відкритих секретів +- `shouldDeferSyntheticProfileAuth`: постачальник може позначати збережені синтетичні заповнювачі профілю + як менш пріоритетні, ніж автентифікація через env/config - `resolveDynamicModel`: постачальник приймає ідентифікатори моделей, яких ще немає в локальному статичному каталозі - `prepareDynamicModel`: постачальнику потрібне оновлення метаданих перед повторною спробою динамічного визначення - `normalizeResolvedModel`: постачальнику потрібні переписування transport або base URL - `contributeResolvedModelCompat`: постачальник додає прапорці сумісності для своїх - vendor-моделей, навіть якщо вони надходять через інший сумісний transport + моделей постачальника, навіть коли вони надходять через інший сумісний transport - `capabilities`: постачальник публікує особливості transcript/tooling/provider-family -- `normalizeToolSchemas`: постачальник очищає схеми інструментів перед тим, як вбудований - раннер їх побачить -- `inspectToolSchemas`: постачальник показує попередження про схеми, специфічні для transport, +- `normalizeToolSchemas`: постачальник очищує схеми інструментів перед тим, як вбудований + runner їх побачить +- `inspectToolSchemas`: постачальник показує транспортно-специфічні попередження щодо схем після нормалізації -- `resolveReasoningOutputMode`: постачальник вибирає native чи tagged - контракти виводу reasoning -- `prepareExtraParams`: постачальник задає типові або нормалізує параметри запиту для кожної моделі +- `resolveReasoningOutputMode`: постачальник обирає нативні або теговані + контракти reasoning-output +- `prepareExtraParams`: постачальник задає типові значення або нормалізує параметри запиту для кожної моделі - `createStreamFn`: постачальник замінює звичайний шлях stream повністю - кастомним transport + користувацьким transport - `wrapStreamFn`: постачальник застосовує обгортки сумісності для заголовків/тіла/моделі запиту -- `resolveTransportTurnState`: постачальник надає native заголовки transport - або метадані для кожного turn -- `resolveWebSocketSessionPolicy`: постачальник надає native заголовки WebSocket-сесії - або політику cool-down сесії -- `createEmbeddingProvider`: постачальник володіє поведінкою embedding пам’яті, коли вона - має належати плагіну постачальника, а не основному перемикачу embedding +- `resolveTransportTurnState`: постачальник надає нативні заголовки transport або метадані + для кожного turn +- `resolveWebSocketSessionPolicy`: постачальник надає нативні заголовки сесії WebSocket + або політику cooldown сесії +- `createEmbeddingProvider`: постачальник керує поведінкою embedding для пам’яті, коли вона + належить плагіну постачальника, а не core-перемикачу embedding - `formatApiKey`: постачальник форматує збережені профілі автентифікації в runtime-рядок `apiKey`, який очікує transport -- `refreshOAuth`: постачальник володіє оновленням OAuth, коли спільних засобів оновлення `pi-ai` - недостатньо -- `buildAuthDoctorHint`: постачальник додає рекомендації з виправлення, коли оновлення OAuth - не вдається +- `refreshOAuth`: постачальник керує оновленням OAuth, коли спільних + refresher-ів `pi-ai` недостатньо +- `buildAuthDoctorHint`: постачальник додає підказку щодо виправлення, коли оновлення OAuth + завершується помилкою - `matchesContextOverflowError`: постачальник розпізнає специфічні для постачальника - помилки переповнення контекстного вікна, які загальні евристики не виявлять + помилки переповнення контекстного вікна, які загальні евристики не виявляють - `classifyFailoverReason`: постачальник зіставляє специфічні для постачальника сирі помилки transport/API - з причинами failover, як-от обмеження швидкості або перевантаження -- `isCacheTtlEligible`: постачальник вирішує, які upstream-ідентифікатори моделей підтримують TTL кешу prompt + із причинами резервного перемикання, наприклад обмеження швидкості або перевантаження +- `isCacheTtlEligible`: постачальник визначає, які upstream-ідентифікатори моделей підтримують TTL кешу prompt - `buildMissingAuthMessage`: постачальник замінює загальну помилку сховища автентифікації - на специфічну для постачальника підказку з відновлення -- `suppressBuiltInModel`: постачальник приховує застарілі upstream-рядки та може повернути - помилку, керовану vendor, для прямих помилок визначення -- `augmentModelCatalog`: постачальник додає synthetic/final рядки каталогу після - виявлення та об’єднання конфігурацій -- `isBinaryThinking`: постачальник володіє UX бінарного ввімкнення/вимкнення thinking + на специфічну для постачальника підказку щодо відновлення +- `suppressBuiltInModel`: постачальник приховує застарілі upstream-рядки й може повертати + помилку від постачальника у разі збоїв прямого визначення +- `augmentModelCatalog`: постачальник додає синтетичні/фінальні рядки каталогу після + виявлення та злиття конфігурації +- `isBinaryThinking`: постачальник керує UX двійкового thinking увімк./вимк. - `supportsXHighThinking`: постачальник додає вибраним моделям підтримку `xhigh` -- `resolveDefaultThinkingLevel`: постачальник володіє типовою політикою `/think` для +- `resolveDefaultThinkingLevel`: постачальник керує типовою політикою `/think` для сімейства моделей - `applyConfigDefaults`: постачальник застосовує специфічні для постачальника глобальні значення за замовчуванням під час матеріалізації конфігурації на основі режиму автентифікації, env або сімейства моделей -- `isModernModelRef`: постачальник володіє зіставленням бажаної моделі для live/smoke -- `prepareRuntimeAuth`: постачальник перетворює налаштовані облікові дані на короткоживучий +- `isModernModelRef`: постачальник керує зіставленням пріоритетних моделей для live/smoke +- `prepareRuntimeAuth`: постачальник перетворює налаштовані облікові дані на короткочасний runtime-токен -- `resolveUsageAuth`: постачальник визначає облікові дані використання/квот для `/usage` - і пов’язаних поверхонь статусу/звітності -- `fetchUsageSnapshot`: постачальник володіє отриманням/розбором endpoint використання, тоді як - ядро все ще володіє оболонкою підсумку та форматуванням -- `onModelSelected`: постачальник виконує побічні дії після вибору моделі, як-от - telemetry або ведення сесії, яким володіє постачальник +- `resolveUsageAuth`: постачальник визначає облікові дані usage/quota для `/usage` + і пов’язаних поверхонь status/reporting +- `fetchUsageSnapshot`: постачальник керує отриманням/парсингом endpoint usage, тоді як + core усе ще керує оболонкою зведення та форматуванням +- `onModelSelected`: постачальник виконує побічні ефекти після вибору моделі, наприклад + телеметрію або ведення сесії, що належить постачальнику Поточні вбудовані приклади: -- `anthropic`: резервна сумісність уперед для Claude 4.6, підказки з відновлення автентифікації, отримання - endpoint використання, метадані cache-TTL/provider-family і глобальні - значення конфігурації за замовчуванням з урахуванням автентифікації -- `amazon-bedrock`: зіставлення переповнення контексту та класифікація - причин failover для специфічних для Bedrock помилок throttle/not-ready, а також - спільне сімейство повторів `anthropic-by-model` для захисту політики повторів лише для Claude +- `anthropic`: резервна сумісність уперед для Claude 4.6, підказки щодо ремонту автентифікації, отримання + endpoint usage, метадані cache-TTL/provider-family та глобальні + значення конфігурації за замовчуванням, що враховують автентифікацію +- `amazon-bedrock`: визначення переповнення контексту й класифікація + причин failover для специфічних помилок Bedrock про throttle/not-ready, а також + спільне сімейство повторного програвання `anthropic-by-model` для захистів політики replay лише для Claude на трафіку Anthropic -- `anthropic-vertex`: захист політики повторів лише для Claude на Anthropic-message +- `anthropic-vertex`: захисти політики replay лише для Claude на Anthropic-message трафіку -- `openrouter`: наскрізні ідентифікатори моделей, обгортки запитів, підказки можливостей постачальника, - санітизація thought-signature Gemini на проксійованому трафіку Gemini, - ін’єкція reasoning через проксі через сімейство stream `openrouter-thinking`, - пересилання метаданих маршрутизації та політика cache-TTL +- `openrouter`: наскрізні ідентифікатори моделей, обгортки запитів, підказки щодо + можливостей постачальника, очищення thought-signature Gemini на проксійованому Gemini-трафіку, + впровадження reasoning для proxy через сімейство stream `openrouter-thinking`, + передавання метаданих маршрутизації та політика cache-TTL - `github-copilot`: онбординг/вхід із пристрою, резервна сумісність моделей уперед, - підказки transcript thinking для Claude, обмін runtime-токенів і отримання endpoint використання -- `openai`: резервна сумісність уперед для GPT-5.4, пряма нормалізація - transport OpenAI, підказки про відсутню автентифікацію з урахуванням Codex, приглушення Spark, synthetic - рядки каталогу OpenAI/Codex, політика thinking/live-model, нормалізація псевдонімів токенів використання - (`input` / `output` і сімейства `prompt` / `completion`), спільне - сімейство stream `openai-responses-defaults` для native обгорток OpenAI/Codex, - метадані сімейства постачальника, реєстрація вбудованого постачальника генерації зображень - для `gpt-image-1` і вбудована реєстрація постачальника генерації відео - для `sora-2` -- `google`: резервна сумісність уперед для Gemini 3.1, native валідація повторів Gemini, - санітизація bootstrap replay, режим tagged reasoning-output, - зіставлення modern-model, вбудована реєстрація постачальника генерації зображень для - моделей Gemini image-preview і вбудована реєстрація постачальника генерації відео + підказки щодо transcript для Claude-thinking, обмін runtime-токенів і отримання endpoint + usage +- `openai`: резервна сумісність уперед для GPT-5.4, пряма нормалізація transport OpenAI, + підказки про відсутню автентифікацію з урахуванням Codex, приглушення Spark, синтетичні + рядки каталогу OpenAI/Codex, політика thinking/live-model, нормалізація псевдонімів usage-token + (`input` / `output` і сімейства `prompt` / `completion`), спільне сімейство stream `openai-responses-defaults` для нативних + обгорток OpenAI/Codex, метадані сімейства постачальника, реєстрація + вбудованого постачальника генерації зображень для `gpt-image-1` і вбудованого постачальника + генерації відео для `sora-2` +- `google`: резервна сумісність уперед для Gemini 3.1, нативна перевірка replay Gemini, + очищення bootstrap replay, режим тегованого reasoning-output, + зіставлення modern-model, реєстрація вбудованого постачальника генерації зображень для + Gemini image-preview models і вбудованого постачальника генерації відео для моделей Veo - `moonshot`: спільний transport, нормалізація payload thinking, якою володіє плагін - `kilocode`: спільний transport, заголовки запитів, якими володіє плагін, нормалізація payload reasoning, - санітизація thought-signature Gemini через проксі та політика cache-TTL -- `zai`: резервна сумісність уперед для GLM-5, типові значення `tool_stream`, політика cache-TTL, - політика binary-thinking/live-model, а також автентифікація використання + отримання квот; - невідомі ідентифікатори `glm-5*` синтезуються з шаблону вбудованого `glm-4.7` -- `xai`: native нормалізація transport Responses, переписування псевдонімів `/fast` для - швидких варіантів Grok, типове `tool_stream`, очищення специфічних для xAI схем інструментів / - payload reasoning і вбудована реєстрація постачальника генерації відео + очищення thought-signature для proxy-Gemini та політика cache-TTL +- `zai`: резервна сумісність уперед для GLM-5, значення `tool_stream` за замовчуванням, cache-TTL + policy, binary-thinking/live-model policy, а також usage auth + отримання квот; + невідомі ідентифікатори `glm-5*` синтезуються на основі вбудованого шаблону `glm-4.7` +- `xai`: нативна нормалізація transport Responses, переписування псевдонімів `/fast` для + швидких варіантів Grok, типове `tool_stream`, очищення схем інструментів / + payload reasoning, специфічне для xAI, і реєстрація вбудованого постачальника генерації відео для `grok-imagine-video` - `mistral`: метадані можливостей, якими володіє плагін - `opencode` і `opencode-go`: метадані можливостей, якими володіє плагін, плюс - санітизація thought-signature Gemini через проксі + очищення thought-signature для proxy-Gemini - `alibaba`: каталог генерації відео, яким володіє плагін, для прямих посилань на моделі Wan - як-от `alibaba/wan2.6-t2v` -- `byteplus`: каталоги, якими володіє плагін, плюс вбудована реєстрація постачальника генерації відео - для моделей text-to-video/image-to-video Seedance -- `fal`: вбудована реєстрація постачальника генерації відео для розміщених сторонніх + таких як `alibaba/wan2.6-t2v` +- `byteplus`: каталоги, якими володіє плагін, плюс реєстрація вбудованого постачальника генерації відео + для моделей Seedance text-to-video/image-to-video +- `fal`: реєстрація вбудованого постачальника генерації відео для розміщених сторонніх моделей, реєстрація постачальника генерації зображень для моделей FLUX плюс вбудована реєстрація постачальника генерації відео для розміщених сторонніх відеомоделей - `cloudflare-ai-gateway`, `huggingface`, `kimi`, `nvidia`, `qianfan`, `stepfun`, `synthetic`, `venice`, `vercel-ai-gateway` і `volcengine`: лише каталоги, якими володіє плагін -- `qwen`: каталоги, якими володіє плагін, для текстових моделей плюс спільні - реєстрації постачальників media-understanding і video-generation для його - мультимодальних поверхонь; генерація відео Qwen використовує стандартні video-endpoint-и DashScope - з вбудованими моделями Wan, як-от `wan2.6-t2v` і `wan2.7-r2v` +- `qwen`: каталоги текстових моделей, якими володіє плагін, плюс спільні + реєстрації постачальників media-understanding і генерації відео для його + мультимодальних поверхонь; генерація відео Qwen використовує стандартні відеоendpoint-и DashScope з вбудованими моделями Wan, такими як `wan2.6-t2v` і `wan2.7-r2v` +- `runway`: реєстрація постачальника генерації відео, якою володіє плагін, для нативних + моделей Runway на основі завдань, таких як `gen4.5` - `minimax`: каталоги, якими володіє плагін, вбудована реєстрація постачальника генерації відео - для моделей відео Hailuo, вбудована реєстрація постачальника генерації зображень - для `image-01`, гібридний вибір політики повторів Anthropic/OpenAI та логіка - автентифікації/знімка використання -- `together`: каталоги, якими володіє плагін, плюс вбудована реєстрація постачальника генерації відео - для моделей відео Wan -- `xiaomi`: каталоги, якими володіє плагін, плюс логіка автентифікації/знімка використання + для моделей Hailuo video, вбудована реєстрація постачальника генерації зображень + для `image-01`, гібридний вибір політики replay Anthropic/OpenAI, + а також логіка usage auth/snapshot +- `together`: каталоги, якими володіє плагін, плюс реєстрація вбудованого постачальника генерації відео + для моделей Wan video +- `xiaomi`: каталоги, якими володіє плагін, плюс логіка usage auth/snapshot Вбудований плагін `openai` тепер володіє обома ідентифікаторами постачальника: `openai` і `openai-codex`. -Це охоплює постачальників, які ще вписуються у звичайні transport-и OpenClaw. Постачальник, -якому потрібен повністю кастомний виконавець запитів, — це окрема, глибша поверхня розширення. +Це охоплює постачальників, які все ще вписуються в звичайні transports OpenClaw. Постачальник, +якому потрібен повністю користувацький виконавець запитів, — це окрема, глибша +поверхня розширення. ## Ротація API-ключів - Підтримує загальну ротацію постачальників для вибраних постачальників. - Налаштуйте кілька ключів через: - - `OPENCLAW_LIVE__KEY` (єдине live-перевизначення, найвищий пріоритет) + - `OPENCLAW_LIVE__KEY` (одне live-перевизначення, найвищий пріоритет) - `_API_KEYS` (список через кому або крапку з комою) - `_API_KEY` (основний ключ) - `_API_KEY_*` (нумерований список, наприклад `_API_KEY_1`) - Для постачальників Google `GOOGLE_API_KEY` також включається як резервний варіант. - Порядок вибору ключів зберігає пріоритет і прибирає дублікати значень. -- Запити повторюються з наступним ключем лише у відповідях із обмеженням швидкості (наприклад +- Запити повторюються з наступним ключем лише у відповідь на обмеження швидкості (наприклад `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, - `workers_ai ... quota limit exceeded` або періодичних повідомленнях про обмеження використання). -- Помилки, не пов’язані з обмеженням швидкості, одразу завершуються помилкою; ротація ключів не виконується. -- Коли всі можливі ключі не спрацьовують, повертається фінальна помилка з останньої спроби. + `workers_ai ... quota limit exceeded` або періодичні повідомлення про ліміт використання). +- Збої, не пов’язані з обмеженням швидкості, завершуються помилкою одразу; ротація ключів не виконується. +- Коли всі кандидати-ключі не спрацьовують, повертається фінальна помилка з останньої спроби. ## Вбудовані постачальники (каталог pi-ai) -OpenClaw постачається з каталогом pi‑ai. Для цих постачальників **не потрібна** -конфігурація `models.providers`; достатньо налаштувати автентифікацію та вибрати модель. +OpenClaw постачається з каталогом pi‑ai. Ці постачальники **не** +потребують конфігурації `models.providers`; просто налаштуйте автентифікацію й оберіть модель. ### OpenAI - Постачальник: `openai` - Автентифікація: `OPENAI_API_KEY` -- Необов’язкова ротація: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2`, плюс `OPENCLAW_LIVE_OPENAI_KEY` (єдине перевизначення) +- Необов’язкова ротація: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2`, плюс `OPENCLAW_LIVE_OPENAI_KEY` (одне перевизначення) - Приклади моделей: `openai/gpt-5.4`, `openai/gpt-5.4-pro` - CLI: `openclaw onboard --auth-choice openai-api-key` -- Типовий transport — `auto` (спочатку WebSocket, резервно SSE) -- Перевизначення для кожної моделі через `agents.defaults.models["openai/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) +- Transport за замовчуванням — `auto` (спочатку WebSocket, потім резервно SSE) +- Перевизначення для окремої моделі через `agents.defaults.models["openai/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) - Прогрівання OpenAI Responses WebSocket типово ввімкнене через `params.openaiWsWarmup` (`true`/`false`) - Пріоритетну обробку OpenAI можна ввімкнути через `agents.defaults.models["openai/"].params.serviceTier` -- `/fast` і `params.fastMode` зіставляють прямі запити Responses `openai/*` до `service_tier=priority` на `api.openai.com` -- Використовуйте `params.serviceTier`, якщо вам потрібен явний рівень замість спільного перемикача `/fast` +- `/fast` і `params.fastMode` зіставляють прямі запити `openai/*` Responses із `service_tier=priority` на `api.openai.com` +- Використовуйте `params.serviceTier`, якщо вам потрібен явний tier замість спільного перемикача `/fast` - Приховані заголовки атрибуції OpenClaw (`originator`, `version`, - `User-Agent`) застосовуються лише до native-трафіку OpenAI на `api.openai.com`, а не - до загальних сумісних із OpenAI проксі -- Native-маршрути OpenAI також зберігають Responses `store`, підказки кешу prompt і - формування payload для сумісності reasoning OpenAI; маршрути через проксі цього не роблять -- `openai/gpt-5.3-codex-spark` навмисно приглушено в OpenClaw, оскільки live OpenAI API його відхиляє; Spark вважається лише Codex + `User-Agent`) застосовуються лише до нативного трафіку OpenAI на `api.openai.com`, а не до + загальних OpenAI-сумісних proxy +- Нативні маршрути OpenAI також зберігають `store` Responses, підказки кешу prompt і + формування payload сумісності reasoning OpenAI; proxy-маршрути — ні +- `openai/gpt-5.3-codex-spark` навмисно приглушено в OpenClaw, оскільки live API OpenAI його відхиляє; Spark розглядається лише як Codex ```json5 { @@ -270,12 +269,12 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Постачальник: `anthropic` - Автентифікація: `ANTHROPIC_API_KEY` -- Необов’язкова ротація: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2`, плюс `OPENCLAW_LIVE_ANTHROPIC_KEY` (єдине перевизначення) +- Необов’язкова ротація: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2`, плюс `OPENCLAW_LIVE_ANTHROPIC_KEY` (одне перевизначення) - Приклад моделі: `anthropic/claude-opus-4-6` - CLI: `openclaw onboard --auth-choice apiKey` -- Прямі публічні запити Anthropic підтримують спільний перемикач `/fast` і `params.fastMode`, включно з трафіком із автентифікацією через API-ключ і OAuth, який надсилається на `api.anthropic.com`; OpenClaw зіставляє це з Anthropic `service_tier` (`auto` проти `standard_only`) -- Примітка щодо білінгу: для Anthropic в OpenClaw практичний поділ — це **API key** або **підписка Claude з Extra Usage**. Anthropic повідомив користувачів OpenClaw **4 квітня 2026 року о 12:00 PM PT / 8:00 PM BST**, що шлях входу Claude в **OpenClaw** вважається використанням стороннього harness і вимагає **Extra Usage**, що оплачується окремо від підписки. Наші локальні відтворення також показують, що prompt-рядок із ідентифікацією OpenClaw не відтворюється на шляху Anthropic SDK + API-key. -- Setup-token Anthropic знову доступний як застарілий/ручний шлях OpenClaw. Використовуйте його з розумінням того, що Anthropic повідомив користувачам OpenClaw, що цей шлях вимагає **Extra Usage**. +- Прямі публічні запити Anthropic підтримують спільний перемикач `/fast` і `params.fastMode`, включно з трафіком, автентифікованим через API-ключ і OAuth, який надсилається на `api.anthropic.com`; OpenClaw зіставляє це з Anthropic `service_tier` (`auto` або `standard_only`) +- Примітка щодо білінгу: для Anthropic в OpenClaw практичний поділ — це **API key** або **Claude subscription with Extra Usage**. Anthropic повідомив користувачам OpenClaw **4 квітня 2026 року о 12:00 PT / 8:00 PM BST**, що шлях входу Claude через **OpenClaw** вважається використанням через сторонній harness і потребує **Extra Usage**, що тарифікується окремо від підписки. Наші локальні відтворення також показують, що рядок prompt, який ідентифікує OpenClaw, не відтворюється на шляху Anthropic SDK + API key. +- Setup-токен Anthropic знову доступний як застарілий/ручний шлях OpenClaw. Використовуйте його з урахуванням того, що Anthropic повідомив користувачам OpenClaw, що цей шлях потребує **Extra Usage**. ```json5 { @@ -289,16 +288,16 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Автентифікація: OAuth (ChatGPT) - Приклад моделі: `openai-codex/gpt-5.4` - CLI: `openclaw onboard --auth-choice openai-codex` або `openclaw models auth login --provider openai-codex` -- Типовий transport — `auto` (спочатку WebSocket, резервно SSE) -- Перевизначення для кожної моделі через `agents.defaults.models["openai-codex/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) -- `params.serviceTier` також пересилається в native-запитах Codex Responses (`chatgpt.com/backend-api`) +- Transport за замовчуванням — `auto` (спочатку WebSocket, потім резервно SSE) +- Перевизначення для окремої моделі через `agents.defaults.models["openai-codex/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) +- `params.serviceTier` також пересилається в нативних запитах Codex Responses (`chatgpt.com/backend-api`) - Приховані заголовки атрибуції OpenClaw (`originator`, `version`, - `User-Agent`) додаються лише до native-трафіку Codex на - `chatgpt.com/backend-api`, а не до загальних сумісних із OpenAI проксі + `User-Agent`) додаються лише до нативного трафіку Codex на + `chatgpt.com/backend-api`, а не до загальних OpenAI-сумісних proxy - Використовує той самий перемикач `/fast` і конфігурацію `params.fastMode`, що й прямий `openai/*`; OpenClaw зіставляє це з `service_tier=priority` -- `openai-codex/gpt-5.3-codex-spark` залишається доступною, коли каталог Codex OAuth її показує; залежить від entitlement -- `openai-codex/gpt-5.4` зберігає native `contextWindow = 1050000` і типове runtime-значення `contextTokens = 272000`; перевизначте runtime-обмеження через `models.providers.openai-codex.models[].contextTokens` -- Примітка щодо політики: OpenAI Codex OAuth явно підтримується для зовнішніх інструментів/потоків роботи, як-от OpenClaw. +- `openai-codex/gpt-5.3-codex-spark` залишається доступною, коли її надає каталог Codex OAuth; залежить від entitlement +- `openai-codex/gpt-5.4` зберігає нативні `contextWindow = 1050000` і типове runtime-значення `contextTokens = 272000`; перевизначте runtime-ліміт через `models.providers.openai-codex.models[].contextTokens` +- Примітка щодо політики: OAuth OpenAI Codex явно підтримується для зовнішніх інструментів/потоків роботи, таких як OpenClaw. ```json5 { @@ -318,17 +317,17 @@ OpenClaw постачається з каталогом pi‑ai. Для цих } ``` -### Інші розміщені варіанти в стилі підписки +### Інші розміщені варіанти у стилі підписки -- [Qwen Cloud](/uk/providers/qwen): поверхня постачальника Qwen Cloud плюс зіставлення endpoint-ів Alibaba DashScope і Coding Plan -- [MiniMax](/uk/providers/minimax): доступ через OAuth або API key MiniMax Coding Plan -- [GLM Models](/uk/providers/glm): Z.AI Coding Plan або загальні API-endpoint-и +- [Qwen Cloud](/uk/providers/qwen): поверхня постачальника Qwen Cloud плюс зіставлення endpoint Alibaba DashScope і Coding Plan +- [MiniMax](/uk/providers/minimax): OAuth або доступ за API key для MiniMax Coding Plan +- [GLM Models](/uk/providers/glm): Z.AI Coding Plan або загальні API endpoint-и ### OpenCode - Автентифікація: `OPENCODE_API_KEY` (або `OPENCODE_ZEN_API_KEY`) -- Постачальник runtime Zen: `opencode` -- Постачальник runtime Go: `opencode-go` +- Постачальник Zen runtime: `opencode` +- Постачальник Go runtime: `opencode-go` - Приклади моделей: `opencode/claude-opus-4-6`, `opencode-go/kimi-k2.5` - CLI: `openclaw onboard --auth-choice opencode-zen` або `openclaw onboard --auth-choice opencode-go` @@ -342,19 +341,19 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Постачальник: `google` - Автентифікація: `GEMINI_API_KEY` -- Необов’язкова ротація: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, резервний `GOOGLE_API_KEY` і `OPENCLAW_LIVE_GEMINI_KEY` (єдине перевизначення) +- Необов’язкова ротація: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, резервний варіант `GOOGLE_API_KEY` і `OPENCLAW_LIVE_GEMINI_KEY` (одне перевизначення) - Приклади моделей: `google/gemini-3.1-pro-preview`, `google/gemini-3-flash-preview` - Сумісність: застаріла конфігурація OpenClaw з `google/gemini-3.1-flash-preview` нормалізується до `google/gemini-3-flash-preview` - CLI: `openclaw onboard --auth-choice gemini-api-key` - Прямі запуски Gemini також приймають `agents.defaults.models["google/"].params.cachedContent` - (або застаріле `cached_content`) для пересилання native-дескриптора постачальника - `cachedContents/...`; попадання в кеш Gemini відображаються як OpenClaw `cacheRead` + (або застаріле `cached_content`) для пересилання нативного для постачальника + дескриптора `cachedContents/...`; збіги кешу Gemini відображаються як OpenClaw `cacheRead` ### Google Vertex - Постачальник: `google-vertex` - Автентифікація: gcloud ADC - - JSON-відповіді Gemini CLI розбираються з `response`; використання резервно береться з + - JSON-відповіді Gemini CLI парсяться з `response`; usage резервно береться з `stats`, а `stats.cached` нормалізується в OpenClaw `cacheRead`. ### Z.AI (GLM) @@ -364,7 +363,7 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Приклад моделі: `zai/glm-5` - CLI: `openclaw onboard --auth-choice zai-api-key` - Псевдоніми: `z.ai/*` і `z-ai/*` нормалізуються до `zai/*` - - `zai-api-key` автоматично визначає відповідний endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово вибирають певну поверхню + - `zai-api-key` автоматично визначає відповідний endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово вибирають конкретну поверхню ### Vercel AI Gateway @@ -380,37 +379,37 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Приклад моделі: `kilocode/kilo/auto` - CLI: `openclaw onboard --auth-choice kilocode-api-key` - Base URL: `https://api.kilo.ai/api/gateway/` -- Статичний резервний каталог постачається з `kilocode/kilo/auto`; live-виявлення через - `https://api.kilo.ai/api/gateway/models` може додатково розширити runtime-каталог. +- Статичний резервний каталог постачається з `kilocode/kilo/auto`; live-виявлення + `https://api.kilo.ai/api/gateway/models` може додатково розширювати runtime-каталог. - Точна upstream-маршрутизація за `kilocode/kilo/auto` належить Kilo Gateway, а не жорстко закодована в OpenClaw. -Докладні відомості про налаштування див. у [/providers/kilocode](/uk/providers/kilocode). +Деталі налаштування див. у [/providers/kilocode](/uk/providers/kilocode). ### Інші вбудовані плагіни постачальників - OpenRouter: `openrouter` (`OPENROUTER_API_KEY`) - Приклад моделі: `openrouter/auto` -- OpenClaw застосовує задокументовані заголовки атрибуції застосунку OpenRouter лише тоді, коли - запит справді надсилається на `openrouter.ai` -- Маркери `cache_control`, специфічні для OpenRouter Anthropic, так само обмежуються +- OpenClaw застосовує задокументовані OpenRouter заголовки атрибуції застосунку лише тоді, коли + запит справді спрямований на `openrouter.ai` +- Специфічні для OpenRouter маркери Anthropic `cache_control` так само обмежуються перевіреними маршрутами OpenRouter, а не довільними proxy URL -- OpenRouter лишається на проксійному шляху, сумісному з OpenAI, тож native-формування - запитів лише для OpenAI (`serviceTier`, Responses `store`, - підказки кешу prompt, payload для сумісності reasoning OpenAI) не пересилається -- Посилання OpenRouter на основі Gemini зберігають лише санітизацію thought-signature Gemini через проксі; - native-валідація повторів Gemini і переписування bootstrap лишаються вимкненими +- OpenRouter лишається на шляху proxy-стилю OpenAI-compatible, тому специфічне лише для нативного + OpenAI формування запитів (`serviceTier`, Responses `store`, + підказки кешу prompt, payload сумісності reasoning OpenAI) не пересилається +- Посилання OpenRouter на базі Gemini зберігають лише очищення thought-signature для proxy-Gemini; + нативна перевірка replay Gemini та переписування bootstrap залишаються вимкненими - Kilo Gateway: `kilocode` (`KILOCODE_API_KEY`) - Приклад моделі: `kilocode/kilo/auto` -- Посилання Kilo на основі Gemini зберігають той самий шлях санітизації thought-signature - Gemini через проксі; підказки `kilocode/kilo/auto` та інші підказки про непідтримку proxy reasoning - пропускають ін’єкцію reasoning через проксі +- Посилання Kilo на базі Gemini зберігають той самий шлях очищення thought-signature + для proxy-Gemini; `kilocode/kilo/auto` та інші підказки, які не підтримують proxy-reasoning, + пропускають упровадження reasoning для proxy - MiniMax: `minimax` (API key) і `minimax-portal` (OAuth) - Автентифікація: `MINIMAX_API_KEY` для `minimax`; `MINIMAX_OAUTH_TOKEN` або `MINIMAX_API_KEY` для `minimax-portal` - Приклад моделі: `minimax/MiniMax-M2.7` або `minimax-portal/MiniMax-M2.7` -- Налаштування MiniMax через онбординг/API-key записує явні визначення моделі M2.7 з - `input: ["text", "image"]`; вбудований каталог постачальника зберігає посилання чату - лише текстовими, доки не буде матеріалізовано конфігурацію постачальника +- Налаштування MiniMax через онбординг/API key записує явні визначення моделей M2.7 з + `input: ["text", "image"]`; вбудований каталог постачальника зберігає chat-посилання + лише для тексту, доки конфігурація цього постачальника не буде матеріалізована - Moonshot: `moonshot` (`MOONSHOT_API_KEY`) - Приклад моделі: `moonshot/kimi-k2.5` - Kimi Coding: `kimi` (`KIMI_API_KEY` або `KIMICODE_API_KEY`) @@ -436,7 +435,7 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - BytePlus: `byteplus` (`BYTEPLUS_API_KEY`) - Приклад моделі: `byteplus-plan/ark-code-latest` - xAI: `xai` (`XAI_API_KEY`) - - Native-вбудовані запити xAI використовують шлях xAI Responses + - Нативні вбудовані запити xAI використовують шлях xAI Responses - `/fast` або `params.fastMode: true` переписує `grok-3`, `grok-3-mini`, `grok-4` і `grok-4-0709` на їхні варіанти `*-fast` - `tool_stream` типово ввімкнений; установіть @@ -448,14 +447,14 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Groq: `groq` (`GROQ_API_KEY`) - Cerebras: `cerebras` (`CEREBRAS_API_KEY`) - Моделі GLM у Cerebras використовують ідентифікатори `zai-glm-4.7` і `zai-glm-4.6`. - - Base URL, сумісний із OpenAI: `https://api.cerebras.ai/v1`. + - Base URL, сумісний з OpenAI: `https://api.cerebras.ai/v1`. - GitHub Copilot: `github-copilot` (`COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN`) - Приклад моделі Hugging Face Inference: `huggingface/deepseek-ai/DeepSeek-R1`; CLI: `openclaw onboard --auth-choice huggingface-api-key`. Див. [Hugging Face (Inference)](/uk/providers/huggingface). ## Постачальники через `models.providers` (custom/base URL) -Використовуйте `models.providers` (або `models.json`), щоб додати **кастомних** постачальників або -проксі, сумісні з OpenAI/Anthropic. +Використовуйте `models.providers` (або `models.json`), щоб додати **custom** постачальників або +OpenAI/Anthropic‑сумісні proxy. Багато з наведених нижче вбудованих плагінів постачальників уже публікують типовий каталог. Використовуйте явні записи `models.providers.` лише тоді, коли хочете перевизначити @@ -463,8 +462,8 @@ OpenClaw постачається з каталогом pi‑ai. Для цих ### Moonshot AI (Kimi) -Moonshot постачається як вбудований плагін постачальника. Типово використовуйте вбудованого постачальника, -а явний запис `models.providers.moonshot` додавайте лише тоді, коли +Moonshot постачається як вбудований плагін постачальника. Використовуйте вбудованого постачальника +типово, а явний запис `models.providers.moonshot` додавайте лише тоді, коли потрібно перевизначити base URL або метадані моделі: - Постачальник: `moonshot` @@ -504,7 +503,7 @@ Moonshot постачається як вбудований плагін пос ### Kimi Coding -Kimi Coding використовує endpoint Moonshot AI, сумісний із Anthropic: +Kimi Coding використовує Anthropic-compatible endpoint Moonshot AI: - Постачальник: `kimi` - Автентифікація: `KIMI_API_KEY` @@ -519,7 +518,7 @@ Kimi Coding використовує endpoint Moonshot AI, сумісний із } ``` -Застарілий `kimi/k2p5` все ще приймається як сумісний ідентифікатор моделі. +Застарілий `kimi/k2p5` усе ще приймається як ідентифікатор моделі для сумісності. ### Volcano Engine (Doubao) @@ -538,13 +537,13 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши } ``` -Онбординг типово використовує поверхню coding, але загальний каталог `volcengine/*` +Під час онбордингу типово використовується coding-поверхня, але загальний каталог `volcengine/*` реєструється одночасно. -У засобах вибору моделі під час онбордингу/налаштування вибір автентифікації Volcengine віддає перевагу і рядкам -`volcengine/*`, і `volcengine-plan/*`. Якщо ці моделі ще не завантажено, -OpenClaw резервно використовує нефільтрований каталог замість порожнього -засобу вибору постачальника. +У вибірниках моделей онбордингу/налаштування Volcengine варіант автентифікації +віддає перевагу рядкам `volcengine/*` і `volcengine-plan/*`. Якщо ці моделі ще не завантажено, +OpenClaw повертається до нефільтрованого каталогу замість того, щоб показувати порожній +вибірник, прив’язаний до постачальника. Доступні моделі: @@ -554,7 +553,7 @@ OpenClaw резервно використовує нефільтрований - `volcengine/glm-4-7-251222` (GLM 4.7) - `volcengine/deepseek-v3-2-251201` (DeepSeek V3.2 128K) -Моделі coding (`volcengine-plan`): +Coding-моделі (`volcengine-plan`): - `volcengine-plan/ark-code-latest` - `volcengine-plan/doubao-seed-code` @@ -564,7 +563,7 @@ OpenClaw резервно використовує нефільтрований ### BytePlus (International) -BytePlus ARK надає міжнародним користувачам доступ до тих самих моделей, що й Volcano Engine. +BytePlus ARK надає доступ до тих самих моделей, що й Volcano Engine, для міжнародних користувачів. - Постачальник: `byteplus` (coding: `byteplus-plan`) - Автентифікація: `BYTEPLUS_API_KEY` @@ -579,13 +578,13 @@ BytePlus ARK надає міжнародним користувачам дост } ``` -Онбординг типово використовує поверхню coding, але загальний каталог `byteplus/*` +Під час онбордингу типово використовується coding-поверхня, але загальний каталог `byteplus/*` реєструється одночасно. -У засобах вибору моделі під час онбордингу/налаштування вибір автентифікації BytePlus віддає перевагу і рядкам -`byteplus/*`, і `byteplus-plan/*`. Якщо ці моделі ще не завантажено, -OpenClaw резервно використовує нефільтрований каталог замість порожнього -засобу вибору постачальника. +У вибірниках моделей онбордингу/налаштування варіант автентифікації BytePlus віддає перевагу як +рядкам `byteplus/*`, так і `byteplus-plan/*`. Якщо ці моделі ще не завантажено, +OpenClaw повертається до нефільтрованого каталогу замість того, щоб показувати порожній +вибірник, прив’язаний до постачальника. Доступні моделі: @@ -593,7 +592,7 @@ OpenClaw резервно використовує нефільтрований - `byteplus/kimi-k2-5-260127` (Kimi K2.5) - `byteplus/glm-4-7-251222` (GLM 4.7) -Моделі coding (`byteplus-plan`): +Coding-моделі (`byteplus-plan`): - `byteplus-plan/ark-code-latest` - `byteplus-plan/doubao-seed-code` @@ -603,7 +602,7 @@ OpenClaw резервно використовує нефільтрований ### Synthetic -Synthetic надає моделі, сумісні з Anthropic, через постачальника `synthetic`: +Synthetic надає Anthropic-compatible моделі через постачальника `synthetic`: - Постачальник: `synthetic` - Автентифікація: `SYNTHETIC_API_KEY` @@ -631,7 +630,7 @@ Synthetic надає моделі, сумісні з Anthropic, через по ### MiniMax -MiniMax налаштовується через `models.providers`, оскільки використовує кастомні endpoint-и: +MiniMax налаштовується через `models.providers`, оскільки використовує custom endpoint-и: - MiniMax OAuth (Global): `--auth-choice minimax-global-oauth` - MiniMax OAuth (CN): `--auth-choice minimax-cn-oauth` @@ -640,22 +639,22 @@ MiniMax налаштовується через `models.providers`, оскіль - Автентифікація: `MINIMAX_API_KEY` для `minimax`; `MINIMAX_OAUTH_TOKEN` або `MINIMAX_API_KEY` для `minimax-portal` -Докладні відомості про налаштування, варіанти моделей і фрагменти конфігурацій див. у [/providers/minimax](/uk/providers/minimax). +Деталі налаштування, варіанти моделей і фрагменти конфігурації див. у [/providers/minimax](/uk/providers/minimax). -На Anthropic-сумісному шляху streaming MiniMax OpenClaw типово вимикає thinking, -якщо ви не задасте його явно, а `/fast on` переписує +На Anthropic-compatible streaming-шляху MiniMax OpenClaw типово вимикає thinking, +якщо ви явно його не вкажете, а `/fast on` переписує `MiniMax-M2.7` на `MiniMax-M2.7-highspeed`. -Розподіл можливостей, яким володіє плагін: +Розподіл можливостей, якими володіє плагін: -- Типові значення text/chat лишаються на `minimax/MiniMax-M2.7` +- Типові значення для тексту/chat лишаються на `minimax/MiniMax-M2.7` - Генерація зображень — це `minimax/image-01` або `minimax-portal/image-01` - Розуміння зображень — це `MiniMax-VL-01`, яким володіє плагін, на обох шляхах автентифікації MiniMax - Вебпошук лишається на ідентифікаторі постачальника `minimax` ### Ollama -Ollama постачається як вбудований плагін постачальника й використовує native API Ollama: +Ollama постачається як вбудований плагін постачальника й використовує нативний API Ollama: - Постачальник: `ollama` - Автентифікація: не потрібна (локальний сервер) @@ -663,7 +662,7 @@ Ollama постачається як вбудований плагін пост - Установлення: [https://ollama.com/download](https://ollama.com/download) ```bash -# Установіть Ollama, потім завантажте модель: +# Install Ollama, then pull a model: ollama pull llama3.3 ``` @@ -675,21 +674,21 @@ ollama pull llama3.3 } ``` -Ollama локально виявляється за адресою `http://127.0.0.1:11434`, коли ви вмикаєте її через +Ollama локально виявляється за адресою `http://127.0.0.1:11434`, коли ви ввімкнули її через `OLLAMA_API_KEY`, а вбудований плагін постачальника додає Ollama безпосередньо до -`openclaw onboard` і засобу вибору моделей. Див. [/providers/ollama](/uk/providers/ollama) -щодо онбордингу, хмарного/локального режиму та кастомної конфігурації. +`openclaw onboard` і вибірника моделей. Див. [/providers/ollama](/uk/providers/ollama) +для онбордингу, режиму cloud/local і custom-конфігурації. ### vLLM vLLM постачається як вбудований плагін постачальника для локальних/self-hosted -серверів, сумісних із OpenAI: +серверів, сумісних з OpenAI: - Постачальник: `vllm` - Автентифікація: необов’язкова (залежить від вашого сервера) -- Типовий base URL: `http://127.0.0.1:8000/v1` +- Base URL за замовчуванням: `http://127.0.0.1:8000/v1` -Щоб увімкнути локальне автоматичне виявлення (підійде будь-яке значення, якщо ваш сервер не вимагає автентифікації): +Щоб увімкнути автоматичне локальне виявлення (підійде будь-яке значення, якщо ваш сервер не вимагає автентифікації): ```bash export VLLM_API_KEY="vllm-local" @@ -705,18 +704,18 @@ export VLLM_API_KEY="vllm-local" } ``` -Докладні відомості див. у [/providers/vllm](/uk/providers/vllm). +Деталі див. у [/providers/vllm](/uk/providers/vllm). ### SGLang SGLang постачається як вбудований плагін постачальника для швидких self-hosted -серверів, сумісних із OpenAI: +серверів, сумісних з OpenAI: - Постачальник: `sglang` - Автентифікація: необов’язкова (залежить від вашого сервера) -- Типовий base URL: `http://127.0.0.1:30000/v1` +- Base URL за замовчуванням: `http://127.0.0.1:30000/v1` -Щоб увімкнути локальне автоматичне виявлення (підійде будь-яке значення, якщо ваш сервер не +Щоб увімкнути автоматичне локальне виявлення (підійде будь-яке значення, якщо ваш сервер не вимагає автентифікації): ```bash @@ -733,11 +732,11 @@ export SGLANG_API_KEY="sglang-local" } ``` -Докладні відомості див. у [/providers/sglang](/uk/providers/sglang). +Деталі див. у [/providers/sglang](/uk/providers/sglang). -### Локальні проксі (LM Studio, vLLM, LiteLLM тощо) +### Локальні proxy (LM Studio, vLLM, LiteLLM тощо) -Приклад (сумісний із OpenAI): +Приклад (сумісний з OpenAI): ```json5 { @@ -772,20 +771,21 @@ export SGLANG_API_KEY="sglang-local" Примітки: -- Для кастомних постачальників `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов’язковими. - Якщо їх пропущено, OpenClaw типово використовує: +- Для custom-постачальників `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов’язковими. + Якщо їх пропущено, OpenClaw використовує такі типові значення: - `reasoning: false` - `input: ["text"]` - `cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }` - `contextWindow: 200000` - `maxTokens: 8192` -- Рекомендовано: задавайте явні значення, що відповідають обмеженням вашого проксі/моделі. -- Для `api: "openai-completions"` на не-native endpoint-ах (будь-який непорожній `baseUrl`, чий хост не є `api.openai.com`) OpenClaw примусово встановлює `compat.supportsDeveloperRole: false`, щоб уникнути помилок 400 від постачальника через непідтримувані ролі `developer`. -- Маршрути через проксі, сумісні з OpenAI, також пропускають native-формування - запитів лише для OpenAI: без `service_tier`, без Responses `store`, без підказок кешу prompt, без - формування payload для сумісності reasoning OpenAI і без прихованих заголовків атрибуції OpenClaw. -- Якщо `baseUrl` порожній/не заданий, OpenClaw зберігає типову поведінку OpenAI (яка зіставляється з `api.openai.com`). -- З міркувань безпеки явне `compat.supportsDeveloperRole: true` все одно перевизначається на не-native endpoint-ах `openai-completions`. +- Рекомендовано: задавайте явні значення, які відповідають лімітам вашого proxy/моделі. +- Для `api: "openai-completions"` на ненативних endpoint-ах (будь-який непорожній `baseUrl`, у якого host не є `api.openai.com`) OpenClaw примусово встановлює `compat.supportsDeveloperRole: false`, щоб уникати помилок 400 від постачальника для непідтримуваних ролей `developer`. +- Маршрути OpenAI-compatible у стилі proxy також пропускають специфічне лише для нативного OpenAI + формування запиту: без `service_tier`, без `store` у Responses, без підказок кешу prompt, без + формування payload сумісності reasoning OpenAI та без прихованих заголовків атрибуції + OpenClaw. +- Якщо `baseUrl` порожній/пропущений, OpenClaw зберігає типову поведінку OpenAI (яка зіставляється з `api.openai.com`). +- З міркувань безпеки явне `compat.supportsDeveloperRole: true` усе одно перевизначається на ненативних endpoint-ах `openai-completions`. ## Приклади CLI @@ -797,9 +797,9 @@ openclaw models list Див. також: [/gateway/configuration](/uk/gateway/configuration) для повних прикладів конфігурації. -## Пов’язані сторінки +## Пов’язане - [Models](/uk/concepts/models) — конфігурація моделей і псевдоніми - [Model Failover](/uk/concepts/model-failover) — ланцюжки резервного перемикання та поведінка повторних спроб -- [Configuration Reference](/uk/gateway/configuration-reference#agent-defaults) — ключі конфігурації моделей +- [Configuration Reference](/uk/gateway/configuration-reference#agent-defaults) — ключі конфігурації моделі - [Providers](/uk/providers) — інструкції з налаштування для кожного постачальника diff --git a/docs/uk/providers/index.md b/docs/uk/providers/index.md index d6378d7b8..9884fff8f 100644 --- a/docs/uk/providers/index.md +++ b/docs/uk/providers/index.md @@ -1,28 +1,29 @@ --- read_when: - - Ви хочете вибрати постачальника моделей - - Вам потрібен короткий огляд підтримуваних бекендів LLM -summary: Постачальники моделей (LLM), які підтримує OpenClaw -title: Каталог постачальників + - Ви хочете вибрати провайдера моделей + - Вам потрібен швидкий огляд підтримуваних бекендів LLM +summary: Провайдери моделей (LLM), які підтримує OpenClaw +title: Каталог провайдерів x-i18n: - generated_at: "2026-04-05T22:36:52Z" + generated_at: "2026-04-05T23:52:16Z" model: gpt-5.4 provider: openai - source_hash: 83911cf9bba0d0711fd49081529becf4eb1eea08b61079d71eac927a1d069061 + source_hash: 93aa6ecf3c6f34e01654e45140eaf57b76b371bc4a215c643418da543bb769f5 source_path: providers/index.md workflow: 15 --- -# Постачальники моделей +# Провайдери моделей -OpenClaw може використовувати багато постачальників LLM. Виберіть постачальника, пройдіть автентифікацію, а потім установіть модель за замовчуванням у форматі `provider/model`. +OpenClaw може використовувати багато провайдерів LLM. Виберіть провайдера, пройдіть автентифікацію, а потім задайте +модель за замовчуванням як `provider/model`. -Шукаєте документацію про канали чату (WhatsApp/Telegram/Discord/Slack/Mattermost (plugin)/тощо)? Див. [Channels](/uk/channels). +Шукаєте документацію про канали чату (WhatsApp/Telegram/Discord/Slack/Mattermost (plugin)/тощо)? Див. [Канали](/uk/channels). ## Швидкий старт -1. Пройдіть автентифікацію у постачальника (зазвичай через `openclaw onboard`). -2. Установіть модель за замовчуванням: +1. Пройдіть автентифікацію у провайдера (зазвичай через `openclaw onboard`). +2. Задайте модель за замовчуванням: ```json5 { @@ -30,12 +31,12 @@ OpenClaw може використовувати багато постачаль } ``` -## Документація постачальників +## Документація провайдерів - [Alibaba Model Studio](/uk/providers/alibaba) - [Amazon Bedrock](/uk/providers/bedrock) - [Anthropic (API + Claude CLI)](/uk/providers/anthropic) -- [BytePlus (Міжнародний)](/uk/concepts/model-providers#byteplus-international) +- [BytePlus (International)](/uk/concepts/model-providers#byteplus-international) - [Chutes](/uk/providers/chutes) - [Cloudflare AI Gateway](/uk/providers/cloudflare-ai-gateway) - [DeepSeek](/uk/providers/deepseek) @@ -44,8 +45,8 @@ OpenClaw може використовувати багато постачаль - [GitHub Copilot](/uk/providers/github-copilot) - [Моделі GLM](/uk/providers/glm) - [Google (Gemini)](/uk/providers/google) -- [Groq (LPU inference)](/uk/providers/groq) -- [Hugging Face (Inference)](/uk/providers/huggingface) +- [Groq (LPU-інференс)](/uk/providers/groq) +- [Hugging Face (інференс)](/uk/providers/huggingface) - [Kilocode](/uk/providers/kilocode) - [LiteLLM (уніфікований шлюз)](/uk/providers/litellm) - [MiniMax](/uk/providers/minimax) @@ -60,6 +61,7 @@ OpenClaw може використовувати багато постачаль - [Perplexity (вебпошук)](/uk/providers/perplexity-provider) - [Qianfan](/uk/providers/qianfan) - [Qwen Cloud](/uk/providers/qwen) +- [Runway](/providers/runway) - [SGLang (локальні моделі)](/uk/providers/sglang) - [StepFun](/uk/providers/stepfun) - [Synthetic](/uk/providers/synthetic) @@ -72,18 +74,19 @@ OpenClaw може використовувати багато постачаль - [Xiaomi](/uk/providers/xiaomi) - [Z.AI](/uk/providers/zai) -## Спільні сторінки огляду +## Спільні оглядові сторінки - [Додаткові вбудовані варіанти](/uk/providers/models#additional-bundled-provider-variants) - Anthropic Vertex, Copilot Proxy і Gemini CLI OAuth -- [Генерація зображень](/uk/tools/image-generation) - Спільний інструмент `image_generate`, вибір постачальника та failover -- [Генерація відео](/uk/tools/video-generation) - Спільний інструмент `video_generate`, вибір постачальника та failover +- [Генерація зображень](/uk/tools/image-generation) - Спільний інструмент `image_generate`, вибір провайдера та аварійне перемикання +- [Генерація відео](/uk/tools/video-generation) - Спільний інструмент `video_generate`, вибір провайдера та аварійне перемикання -## Постачальники транскрипції +## Провайдери транскрибування -- [Deepgram (транскрипція аудіо)](/uk/providers/deepgram) +- [Deepgram (транскрибування аудіо)](/uk/providers/deepgram) ## Інструменти спільноти -- [Claude Max API Proxy](/uk/providers/claude-max-api-proxy) - Проксі спільноти для облікових даних підписки Claude (перед використанням перевірте політику/умови Anthropic) +- [Claude Max API Proxy](/uk/providers/claude-max-api-proxy) - Проксі від спільноти для облікових даних підписки Claude (перед використанням перевірте політику/умови Anthropic) -Для повного каталогу постачальників (xAI, Groq, Mistral тощо) і розширеної конфігурації див. [Model providers](/uk/concepts/model-providers). +Повний каталог провайдерів (xAI, Groq, Mistral тощо) і розширену конфігурацію +див. у [Провайдери моделей](/uk/concepts/model-providers). diff --git a/docs/uk/providers/runway.md b/docs/uk/providers/runway.md new file mode 100644 index 000000000..82b4b3665 --- /dev/null +++ b/docs/uk/providers/runway.md @@ -0,0 +1,74 @@ +--- +read_when: + - Ви хочете використовувати генерацію відео Runway в OpenClaw + - Вам потрібне налаштування ключа API/env для Runway + - Ви хочете зробити Runway типовим провайдером відео +summary: Налаштування генерації відео Runway в OpenClaw +title: Runway +x-i18n: + generated_at: "2026-04-05T23:52:09Z" + model: gpt-5.4 + provider: openai + source_hash: f86c0777841cde5b265bba5d6b3dd8fd05fa433ddd0f678860d8bfaa1b7483c5 + source_path: providers/runway.md + workflow: 15 +--- + +# Runway + +OpenClaw постачається з вбудованим провайдером `runway` для хостованої генерації відео. + +- Провайдер: `runway` +- Автентифікація: `RUNWAYML_API_SECRET` (канонічний; `RUNWAY_API_KEY` також працює) +- API: API генерації відео Runway на основі завдань + +## Швидкий старт + +1. Установіть ключ API: + +```bash +openclaw onboard --auth-choice runway-api-key +``` + +2. Установіть типову модель відео: + +```json5 +{ + agents: { + defaults: { + videoGenerationModel: { + primary: "runway/gen4.5", + }, + }, + }, +} +``` + +## Генерація відео + +Вбудований провайдер генерації відео `runway` типово використовує `runway/gen4.5`. + +- Режими: text-to-video, image-to-video з одним зображенням і video-to-video з одним відео +- Виконання: асинхронне надсилання завдання + опитування через `GET /v1/tasks/{id}` +- Локальні посилання на зображення/відео: підтримуються через URI даних +- Поточне застереження щодо video-to-video: наразі OpenClaw вимагає `runway/gen4_aleph` для відеовходів +- Поточне застереження щодо text-to-video: наразі OpenClaw підтримує `16:9` і `9:16` для запусків лише з текстом + +Щоб використовувати Runway як типовий провайдер відео: + +```json5 +{ + agents: { + defaults: { + videoGenerationModel: { + primary: "runway/gen4.5", + }, + }, + }, +} +``` + +## Пов’язане + +- [Генерація відео](/uk/tools/video-generation) +- [Довідник із конфігурації](/uk/gateway/configuration-reference#agent-defaults) diff --git a/docs/uk/tools/video-generation.md b/docs/uk/tools/video-generation.md index 7944a10ab..65ce0d301 100644 --- a/docs/uk/tools/video-generation.md +++ b/docs/uk/tools/video-generation.md @@ -1,34 +1,34 @@ --- read_when: - - Генерування відео через агента + - Генерація відео через агента - Налаштування провайдерів і моделей для генерації відео - Розуміння параметрів інструмента video_generate -summary: Генеруйте відео за допомогою налаштованих провайдерів, таких як Alibaba, OpenAI, Google, Qwen і MiniMax +summary: Генеруйте відео за допомогою налаштованих провайдерів, таких як Alibaba, OpenAI, Google, Qwen, MiniMax і Runway title: Генерація відео x-i18n: - generated_at: "2026-04-05T23:14:42Z" + generated_at: "2026-04-05T23:52:34Z" model: gpt-5.4 provider: openai - source_hash: 992068bc687982044023920557d9a839540175f62ac83e26b579c420c2a010fd + source_hash: f501a2e843aa0f095b9a943728d285905687ee3b35369558fd2ceaa2582f3d38 source_path: tools/video-generation.md workflow: 15 --- # Генерація відео -Інструмент `video_generate` дає агенту змогу створювати відео за допомогою ваших налаштованих провайдерів. Згенеровані відео автоматично доставляються як медіавкладення у відповіді агента. +Інструмент `video_generate` дає змогу агенту створювати відео за допомогою ваших налаштованих провайдерів. У сеансах агента OpenClaw запускає генерацію відео як фонове завдання, відстежує її в журналі завдань, а потім знову пробуджує агента, коли кліп готовий, щоб агент міг опублікувати завершене відео назад у вихідний канал. -Інструмент з’являється лише тоді, коли доступний принаймні один провайдер генерації відео. Якщо ви не бачите `video_generate` в інструментах вашого агента, налаштуйте `agents.defaults.videoGenerationModel` або задайте API-ключ провайдера. +Інструмент з’являється лише тоді, коли доступний принаймні один провайдер генерації відео. Якщо ви не бачите `video_generate` серед інструментів вашого агента, налаштуйте `agents.defaults.videoGenerationModel` або задайте API-ключ провайдера. -OpenClaw тепер записує запуски `video_generate` у журнал завдань, коли агент має ключ сесії, тож довгі генерації можна відстежувати за ідентифікаторами завдань/запусків, хоча інструмент усе ще очікує завершення в межах поточного ходу. +У сеансах агента `video_generate` одразу повертає id завдання/id запуску. Фактичне завдання провайдера продовжує виконуватися у фоновому режимі. Коли воно завершується, OpenClaw пробуджує той самий сеанс внутрішньою подією завершення, щоб агент міг надіслати звичайне подальше повідомлення разом із вкладенням згенерованого відео. ## Швидкий старт -1. Установіть API-ключ принаймні для одного провайдера (наприклад, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `MODELSTUDIO_API_KEY` або `QWEN_API_KEY`). +1. Задайте API-ключ принаймні для одного провайдера (наприклад, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `MODELSTUDIO_API_KEY`, `QWEN_API_KEY` або `RUNWAYML_API_SECRET`). 2. За бажанням задайте бажану модель: ```json5 @@ -43,23 +43,26 @@ OpenClaw тепер записує запуски `video_generate` у журна } ``` -3. Попросіть агента: _"Згенеруй 5-секундне кінематографічне відео дружнього омара, який займається серфінгом на заході сонця."_ +3. Попросіть агента: _"Згенеруй 5-секундне кінематографічне відео дружнього лобстера, який катається на серфі на заході сонця."_ -Агент автоматично викликає `video_generate`. Жодного allowlist для інструмента не потрібно — його ввімкнено за замовчуванням, коли доступний провайдер. +Агент автоматично викликає `video_generate`. Дозволений список інструментів не потрібен — інструмент увімкнено за замовчуванням, коли доступний провайдер. + +Для прямих синхронних контекстів без запуску агента з підтримкою сеансу інструмент усе одно переходить до вбудованої генерації та повертає фінальний шлях до медіафайлу в результаті інструмента. ## Підтримувані провайдери -| Провайдер | Модель за замовчуванням | Вхідні референси | API-ключ | -| --------- | ------------------------------- | ----------------- | ---------------------------------------------------------- | +| Провайдер | Модель за замовчуванням | Опорні вхідні дані | 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` | +| 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` | -| Together | `Wan-AI/Wan2.2-T2V-A14B` | 1 зображення | `TOGETHER_API_KEY` | -| xAI | `grok-imagine-video` | 1 зображення або 1 відео | `XAI_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"`, щоб переглянути доступні провайдери та моделі під час виконання: @@ -69,25 +72,32 @@ OpenClaw тепер записує запуски `video_generate` у журна ## Параметри інструмента -| Параметр | Тип | Опис | -| ---------------- | -------- | ------------------------------------------------------------------------------------- | -| `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 | Підказка щодо розміру, якщо провайдер це підтримує | +| Параметр | Тип | Опис | +| ---------------- | -------- | -------------------------------------------------------------------------------------- | +| `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 | Підказка для імені вихідного файла | +| `resolution` | string | Підказка щодо роздільної здатності: `480P`, `720P` або `1080P` | +| `durationSeconds`| number | Цільова тривалість у секундах. OpenClaw може округлити її до найближчого значення, що підтримується провайдером | +| `audio` | boolean | Увімкнути згенерований звук, якщо провайдер це підтримує | +| `watermark` | boolean | Увімкнути або вимкнути водяний знак провайдера, якщо це підтримується | +| `filename` | string | Підказка щодо назви вихідного файлу | Не всі провайдери підтримують усі параметри. Інструмент перевіряє обмеження можливостей провайдера перед надсиланням запиту. Коли провайдер або модель підтримує лише дискретний набір тривалостей відео, OpenClaw округлює `durationSeconds` до найближчого підтримуваного значення та повідомляє нормалізовану тривалість у результаті інструмента. +## Асинхронна поведінка + +- Запуски агента з підтримкою сеансу: `video_generate` створює фонове завдання, одразу повертає відповідь про старт/завдання, а завершене відео надсилає пізніше в подальшому повідомленні агента. +- Відстеження завдань: використовуйте `openclaw tasks list` / `openclaw tasks show `, щоб переглядати статуси генерації: у черзі, виконується та завершені. +- Пробудження після завершення: OpenClaw вставляє внутрішню подію завершення назад у той самий сеанс, щоб модель могла сама написати орієнтоване на користувача подальше повідомлення. +- Резервний режим без сеансу: прямі/локальні контексти без реального сеансу агента все одно виконуються вбудовано та повертають фінальний результат відео в тому самому ході. + ## Конфігурація ### Вибір моделі @@ -105,42 +115,45 @@ OpenClaw тепер записує запуски `video_generate` у журна } ``` -### Порядок вибору провайдера +### Порядок вибору провайдерів -Під час генерації відео OpenClaw пробує провайдерів у такому порядку: +Під час генерації відео OpenClaw намагається використовувати провайдерів у такому порядку: -1. Параметр **`model`** із виклику інструмента (якщо агент його вказує) -2. **`videoGenerationModel.primary`** із конфігурації -3. **`videoGenerationModel.fallbacks`** по порядку -4. **Автовизначення** — використовує лише типові значення провайдерів, підкріплені автентифікацією: +1. Параметр **`model`** з виклику інструмента (якщо агент його задає) +2. **`videoGenerationModel.primary`** з конфігурації +3. **`videoGenerationModel.fallbacks`** у заданому порядку +4. **Автовиявлення** — використовує лише стандартні значення провайдерів, підкріплені автентифікацією: - спочатку поточний провайдер за замовчуванням - - решта зареєстрованих провайдерів генерації відео в порядку ідентифікаторів провайдерів + - решта зареєстрованих провайдерів генерації відео в порядку id провайдера -Якщо провайдер зазнає невдачі, автоматично пробується наступний кандидат. Якщо зазнають невдачі всі, помилка міститиме подробиці кожної спроби. +Якщо один провайдер завершується помилкою, автоматично пробується наступний кандидат. Якщо помиляються всі, помилка містить подробиці кожної спроби. ## Примітки щодо провайдерів -- Alibaba використовує асинхронну відеокінцеву точку DashScope / Model Studio і наразі вимагає віддалені URL `http(s)` для референсних ресурсів. -- Google використовує Gemini/Veo і підтримує одне референсне зображення або відео. -- MiniMax, Together, BytePlus і fal наразі підтримують одне референсне зображення. -- OpenAI використовує нативну відеокінцеву точку і наразі типово використовує `sora-2`. -- Qwen підтримує референси зображень/відео, але висхідна відеокінцева точка DashScope наразі вимагає віддалені URL `http(s)` для цих референсів. -- xAI використовує нативний відео API xAI і підтримує сценарії text-to-video, image-to-video та віддалене редагування/розширення відео. -- fal використовує чергу з підтримкою відеопотоку fal для довготривалих завдань замість одного блокувального запиту інференсу. +- Alibaba використовує асинхронний відеоендпоінт DashScope / Model Studio і наразі вимагає віддалені `http(s)` URL для опорних ресурсів. +- Google використовує Gemini/Veo і підтримує один опорний вхід: зображення або відео. +- MiniMax, Together, BytePlus і fal наразі підтримують один опорний вхід зображення. +- OpenAI використовує нативний відеоендпоінт і наразі за замовчуванням використовує `sora-2`. +- Qwen підтримує опорні зображення/відео, але вищестоящий відеоендпоінт DashScope наразі вимагає віддалені `http(s)` URL для цих опорних даних. +- 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 наразі вимагає **віддалені http(s) URL** для опорних вхідних даних. Шляхи до локальних файлів і завантажені буфери відхиляються одразу, а не ігноруються непомітно. ## Пов’язане - [Огляд інструментів](/uk/tools) — усі доступні інструменти агента +- [Фонові завдання](/uk/automation/tasks) — відстеження завдань для відокремлених запусків `video_generate` - [Alibaba Model Studio](/uk/providers/alibaba) — пряме налаштування провайдера Wan - [Google (Gemini)](/uk/providers/google) — налаштування провайдера Veo - [MiniMax](/uk/providers/minimax) — налаштування провайдера Hailuo - [OpenAI](/uk/providers/openai) — налаштування провайдера Sora - [Qwen](/uk/providers/qwen) — налаштування та обмеження, специфічні для Qwen -- [Together AI](/uk/providers/together) — налаштування провайдера Together Wan +- [Runway](/providers/runway) — налаштування Runway і поточні примітки щодо моделей/вхідних даних +- [Together AI](/uk/providers/together) — налаштування провайдера Wan у Together - [xAI](/uk/providers/xai) — налаштування провайдера відео Grok - [Довідник із конфігурації](/uk/gateway/configuration-reference#agent-defaults) — конфігурація `videoGenerationModel` -- [Моделі](/uk/concepts/models) — конфігурація моделей і перемикання у разі збою +- [Моделі](/uk/concepts/models) — конфігурація моделей і перемикання на резервні варіанти