chore(i18n): refresh uk translations
This commit is contained in:
parent
ac10b4c2ec
commit
4e1b5f9389
@ -1,46 +1,46 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви хочете використовувати локальні workflow ComfyUI з OpenClaw
|
||||
- Ви хочете використовувати Comfy Cloud із workflow для зображень, відео або музики
|
||||
- Ви хочете використовувати локальні робочі процеси ComfyUI з OpenClaw
|
||||
- Ви хочете використовувати Comfy Cloud із робочими процесами зображень, відео або музики
|
||||
- Вам потрібні ключі конфігурації вбудованого плагіна comfy
|
||||
summary: Налаштування генерації зображень, відео та музики у workflow ComfyUI в OpenClaw
|
||||
summary: Налаштування генерації зображень, відео та музики через робочі процеси ComfyUI в OpenClaw
|
||||
title: ComfyUI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T00:47:33Z"
|
||||
generated_at: "2026-04-06T01:05:21Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: b15d826622787bfc5fec057007495145366c88e36100e7b4923ef581d801e2a3
|
||||
source_hash: e645f32efdffdf4cd498684f1924bb953a014d3656b48f4b503d64e38c61ba9c
|
||||
source_path: providers/comfy.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# ComfyUI
|
||||
|
||||
OpenClaw постачається з вбудованим плагіном `comfy` для запусків ComfyUI на основі workflow.
|
||||
OpenClaw постачається з вбудованим плагіном `comfy` для запусків ComfyUI на основі робочих процесів.
|
||||
|
||||
- Провайдер: `comfy`
|
||||
- Моделі: `comfy/workflow`
|
||||
- Спільні поверхні: `image_generate`, `video_generate`
|
||||
- Інструмент плагіна: `music_generate`
|
||||
- Спільні поверхні: `image_generate`, `video_generate`, `music_generate`
|
||||
- Автентифікація: не потрібна для локального ComfyUI; `COMFY_API_KEY` або `COMFY_CLOUD_API_KEY` для Comfy Cloud
|
||||
- API: ComfyUI `/prompt` / `/history` / `/view` і Comfy Cloud `/api/*`
|
||||
|
||||
## Що підтримується
|
||||
|
||||
- Генерація зображень із JSON workflow
|
||||
- Генерація зображень із JSON робочого процесу
|
||||
- Редагування зображень з 1 завантаженим еталонним зображенням
|
||||
- Генерація відео з JSON workflow
|
||||
- Генерація відео з JSON робочого процесу
|
||||
- Генерація відео з 1 завантаженим еталонним зображенням
|
||||
- Генерація музики або аудіо через вбудований інструмент `music_generate`
|
||||
- Генерація музики або аудіо через спільний інструмент `music_generate`
|
||||
- Завантаження результатів із налаштованого вузла або з усіх відповідних вузлів виводу
|
||||
|
||||
Вбудований плагін працює на основі workflow, тому OpenClaw не намагається зіставити
|
||||
з вашим графом такі загальні параметри, як `size`, `aspectRatio`, `resolution`, `durationSeconds` або елементи керування у стилі TTS.
|
||||
Вбудований плагін керується робочими процесами, тому OpenClaw не намагається зіставляти загальні
|
||||
`size`, `aspectRatio`, `resolution`, `durationSeconds` або елементи керування у стилі TTS
|
||||
з вашим графом.
|
||||
|
||||
## Структура конфігурації
|
||||
|
||||
Comfy підтримує спільні налаштування з’єднання верхнього рівня, а також розділи
|
||||
workflow для кожної можливості:
|
||||
Comfy підтримує спільні налаштування з'єднання верхнього рівня, а також розділи
|
||||
робочих процесів для кожної можливості:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -74,21 +74,21 @@ workflow для кожної можливості:
|
||||
|
||||
- `mode`: `local` або `cloud`
|
||||
- `baseUrl`: типово `http://127.0.0.1:8188` для локального режиму або `https://cloud.comfy.org` для хмарного
|
||||
- `apiKey`: необов’язкова вбудована альтернатива ключу через змінні середовища
|
||||
- `allowPrivateNetwork`: дозволити приватний/LAN `baseUrl` у хмарному режимі
|
||||
- `apiKey`: необов'язкова вбудована альтернатива ключу через змінні середовища
|
||||
- `allowPrivateNetwork`: дозволяє приватний/LAN `baseUrl` у хмарному режимі
|
||||
|
||||
Ключі для кожної можливості в розділах `image`, `video` або `music`:
|
||||
Ключі для кожної можливості в `image`, `video` або `music`:
|
||||
|
||||
- `workflow` або `workflowPath`: обов’язково
|
||||
- `promptNodeId`: обов’язково
|
||||
- `workflow` або `workflowPath`: обов'язково
|
||||
- `promptNodeId`: обов'язково
|
||||
- `promptInputName`: типово `text`
|
||||
- `outputNodeId`: необов’язково
|
||||
- `pollIntervalMs`: необов’язково
|
||||
- `timeoutMs`: необов’язково
|
||||
- `outputNodeId`: необов'язково
|
||||
- `pollIntervalMs`: необов'язково
|
||||
- `timeoutMs`: необов'язково
|
||||
|
||||
Розділи зображень і відео також підтримують:
|
||||
|
||||
- `inputImageNodeId`: обов’язково, якщо ви передаєте еталонне зображення
|
||||
- `inputImageNodeId`: обов'язково, коли ви передаєте еталонне зображення
|
||||
- `inputImageInputName`: типово `image`
|
||||
|
||||
## Зворотна сумісність
|
||||
@ -109,11 +109,11 @@ workflow для кожної можливості:
|
||||
}
|
||||
```
|
||||
|
||||
OpenClaw трактує цю застарілу форму як конфігурацію workflow для зображень.
|
||||
OpenClaw розглядає цю застарілу форму як конфігурацію робочого процесу зображень.
|
||||
|
||||
## Workflow зображень
|
||||
## Робочі процеси зображень
|
||||
|
||||
Установіть типову модель для генерації зображень:
|
||||
Установіть типову модель зображень:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -147,9 +147,9 @@ OpenClaw трактує цю застарілу форму як конфігур
|
||||
}
|
||||
```
|
||||
|
||||
## Workflow відео
|
||||
## Робочі процеси відео
|
||||
|
||||
Установіть типову модель для генерації відео:
|
||||
Установіть типову модель відео:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -163,46 +163,47 @@ OpenClaw трактує цю застарілу форму як конфігур
|
||||
}
|
||||
```
|
||||
|
||||
Workflow відео Comfy наразі підтримують text-to-video та image-to-video через
|
||||
налаштований граф. OpenClaw не передає вхідні відео в workflow Comfy.
|
||||
Робочі процеси відео Comfy наразі підтримують перетворення тексту на відео та
|
||||
зображення на відео через налаштований граф. OpenClaw не передає вхідні відео
|
||||
до робочих процесів Comfy.
|
||||
|
||||
## Workflow музики
|
||||
## Робочі процеси музики
|
||||
|
||||
Вбудований плагін реєструє інструмент `music_generate` для визначених workflow
|
||||
аудіо- або музичних результатів:
|
||||
Вбудований плагін реєструє провайдера генерації музики для визначених робочим процесом
|
||||
аудіо- або музичних результатів, доступних через спільний інструмент `music_generate`:
|
||||
|
||||
```text
|
||||
/tool music_generate prompt="Warm ambient synth loop with soft tape texture"
|
||||
```
|
||||
|
||||
Використовуйте розділ конфігурації `music`, щоб вказати ваш JSON workflow аудіо та
|
||||
Використовуйте розділ конфігурації `music`, щоб указати JSON вашого аудіоробочого процесу та
|
||||
вузол виводу.
|
||||
|
||||
## Comfy Cloud
|
||||
|
||||
Використовуйте `mode: "cloud"` і один із таких варіантів:
|
||||
Використовуйте `mode: "cloud"` плюс один із варіантів:
|
||||
|
||||
- `COMFY_API_KEY`
|
||||
- `COMFY_CLOUD_API_KEY`
|
||||
- `models.providers.comfy.apiKey`
|
||||
|
||||
Хмарний режим усе ще використовує ті самі розділи workflow `image`, `video` і `music`.
|
||||
Хмарний режим, як і раніше, використовує ті самі розділи робочих процесів `image`, `video` і `music`.
|
||||
|
||||
## Live-тести
|
||||
## Live тести
|
||||
|
||||
Для вбудованого плагіна доступне opt-in покриття Live-тестами:
|
||||
Для вбудованого плагіна є покриття Live тестами за явним увімкненням:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
|
||||
```
|
||||
|
||||
Live-тест пропускає окремі сценарії для зображень, відео або музики, якщо не
|
||||
налаштовано відповідний розділ workflow Comfy.
|
||||
Live тест пропускає окремі сценарії для зображень, відео або музики, якщо відповідний
|
||||
розділ робочого процесу Comfy не налаштовано.
|
||||
|
||||
## Пов’язане
|
||||
## Пов'язане
|
||||
|
||||
- [Генерація зображень](/uk/tools/image-generation)
|
||||
- [Генерація відео](/uk/tools/video-generation)
|
||||
- [Генерація музики](/tools/music-generation)
|
||||
- [Генерація музики](/uk/tools/music-generation)
|
||||
- [Каталог провайдерів](/uk/providers/index)
|
||||
- [Довідник із конфігурації](/uk/gateway/configuration-reference#agent-defaults)
|
||||
|
||||
@ -3,26 +3,26 @@ read_when:
|
||||
- Ви хочете зрозуміти, які інструменти надає OpenClaw
|
||||
- Вам потрібно налаштувати, дозволити або заборонити інструменти
|
||||
- Ви обираєте між вбудованими інструментами, Skills і плагінами
|
||||
summary: 'Огляд інструментів і плагінів OpenClaw: що агент може робити та як його розширювати'
|
||||
summary: 'Огляд інструментів і плагінів OpenClaw: що може робити агент і як його розширювати'
|
||||
title: Інструменти та плагіни
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T01:01:09Z"
|
||||
generated_at: "2026-04-06T01:05:38Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ce14e03c4b090dd183db86c509c248e21e5e882ae0900676166429fa33a940b6
|
||||
source_hash: b2371239316997b0fe389bfa2ec38404e1d3e177755ad81ff8035ac583d9adeb
|
||||
source_path: tools/index.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Інструменти та плагіни
|
||||
|
||||
Усе, що агент робить окрім генерування тексту, відбувається через **інструменти**.
|
||||
Саме через інструменти агент читає файли, виконує команди, переглядає вебсторінки, надсилає
|
||||
Усе, що агент робить, окрім генерування тексту, відбувається через **інструменти**.
|
||||
Інструменти — це спосіб, у який агент читає файли, запускає команди, переглядає вебсторінки, надсилає
|
||||
повідомлення та взаємодіє з пристроями.
|
||||
|
||||
## Інструменти, Skills і плагіни
|
||||
|
||||
OpenClaw має три шари, які працюють разом:
|
||||
OpenClaw має три рівні, які працюють разом:
|
||||
|
||||
<Steps>
|
||||
<Step title="Інструменти — це те, що викликає агент">
|
||||
@ -34,24 +34,24 @@ OpenClaw має три шари, які працюють разом:
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Skills навчають агента коли і як">
|
||||
Skill — це markdown-файл (`SKILL.md`), що додається до системного prompt.
|
||||
<Step title="Skills навчають агента коли і як діяти">
|
||||
Skill — це markdown-файл (`SKILL.md`), який вбудовується в системний промпт.
|
||||
Skills надають агенту контекст, обмеження та покрокові вказівки для
|
||||
ефективного використання інструментів. Skills розміщуються у вашому робочому просторі, у спільних папках
|
||||
ефективного використання інструментів. Skills зберігаються у вашому робочому просторі, у спільних теках
|
||||
або постачаються всередині плагінів.
|
||||
|
||||
[Довідник зі Skills](/uk/tools/skills) | [Створення Skills](/uk/tools/creating-skills)
|
||||
[Довідка про Skills](/uk/tools/skills) | [Створення Skills](/uk/tools/creating-skills)
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Плагіни пакують усе разом">
|
||||
Плагін — це пакет, який може реєструвати будь-яку комбінацію можливостей:
|
||||
канали, постачальників моделей, інструменти, Skills, мовлення, транскрипцію в реальному часі,
|
||||
канали, провайдери моделей, інструменти, Skills, мовлення, транскрибування в реальному часі,
|
||||
голос у реальному часі, розуміння медіа, генерацію зображень, генерацію відео,
|
||||
web fetch, web search тощо. Деякі плагіни є **core** (постачаються разом з
|
||||
OpenClaw), інші — **external** (публікуються спільнотою на npm).
|
||||
отримання вебданих, вебпошук тощо. Деякі плагіни є **core** (постачаються з
|
||||
OpenClaw), інші — **external** (опубліковані в npm спільнотою).
|
||||
|
||||
[Встановлення та налаштування плагінів](/uk/tools/plugin) | [Створіть власний](/uk/plugins/building-plugins)
|
||||
[Установлення та налаштування плагінів](/uk/tools/plugin) | [Створіть власний](/uk/plugins/building-plugins)
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
@ -62,66 +62,66 @@ OpenClaw має три шари, які працюють разом:
|
||||
|
||||
| Інструмент | Що він робить | Сторінка |
|
||||
| ------------------------------------------ | -------------------------------------------------------------------- | ------------------------------------------- |
|
||||
| `exec` / `process` | Виконує команди оболонки, керує фоновими процесами | [Exec](/uk/tools/exec) |
|
||||
| `exec` / `process` | Запускає команди оболонки, керує фоновими процесами | [Exec](/uk/tools/exec) |
|
||||
| `code_execution` | Виконує ізольований віддалений аналіз Python | [Code Execution](/uk/tools/code-execution) |
|
||||
| `browser` | Керує браузером Chromium (навігація, натискання, знімки екрана) | [Browser](/uk/tools/browser) |
|
||||
| `web_search` / `x_search` / `web_fetch` | Шукає у вебі, шукає дописи в X, отримує вміст сторінок | [Веб](/uk/tools/web) |
|
||||
| `read` / `write` / `edit` | Ввід/вивід файлів у робочому просторі | |
|
||||
| `browser` | Керує браузером Chromium (перехід, натискання, знімок екрана) | [Browser](/uk/tools/browser) |
|
||||
| `web_search` / `x_search` / `web_fetch` | Шукає у вебі, шукає дописи в X, отримує вміст сторінок | [Web](/uk/tools/web) |
|
||||
| `read` / `write` / `edit` | Введення/виведення файлів у робочому просторі | |
|
||||
| `apply_patch` | Багатофрагментні патчі файлів | [Apply Patch](/uk/tools/apply-patch) |
|
||||
| `message` | Надсилає повідомлення через усі канали | [Надсилання агентом](/uk/tools/agent-send) |
|
||||
| `message` | Надсилає повідомлення в усі канали | [Agent Send](/uk/tools/agent-send) |
|
||||
| `canvas` | Керує node Canvas (present, eval, snapshot) | |
|
||||
| `nodes` | Виявляє та адресує спарені пристрої | |
|
||||
| `nodes` | Виявляє та вибирає спарені пристрої | |
|
||||
| `cron` / `gateway` | Керує запланованими завданнями; перевіряє, патчить, перезапускає або оновлює gateway | |
|
||||
| `image` / `image_generate` | Аналізує або генерує зображення | [Генерація зображень](/uk/tools/image-generation) |
|
||||
| `music_generate` | Генерує музичні треки | [Генерація музики](/uk/tools/music-generation) |
|
||||
| `video_generate` | Генерує відео | [Генерація відео](/uk/tools/video-generation) |
|
||||
| `image` / `image_generate` | Аналізує або генерує зображення | [Image Generation](/uk/tools/image-generation) |
|
||||
| `music_generate` | Генерує музичні треки | [Music Generation](/uk/tools/music-generation) |
|
||||
| `video_generate` | Генерує відео | [Video Generation](/uk/tools/video-generation) |
|
||||
| `tts` | Одноразове перетворення тексту на мовлення | [TTS](/uk/tools/tts) |
|
||||
| `sessions_*` / `subagents` / `agents_list` | Керування сесіями, статус і оркестрація субагентів | [Субагенти](/uk/tools/subagents) |
|
||||
| `session_status` | Полегшене зчитування у стилі `/status` і перевизначення моделі для сесії | [Інструменти сесії](/uk/concepts/session-tool) |
|
||||
| `sessions_*` / `subagents` / `agents_list` | Керування сесіями, статус і оркестрація субагентів | [Sub-agents](/uk/tools/subagents) |
|
||||
| `session_status` | Полегшене зчитування у стилі `/status` та перевизначення моделі для сесії | [Session Tools](/uk/concepts/session-tool) |
|
||||
|
||||
Для роботи із зображеннями використовуйте `image` для аналізу та `image_generate` для генерації або редагування. Якщо ви націлюєтеся на `openai/*`, `google/*`, `fal/*` або іншого неосновного постачальника зображень, спочатку налаштуйте автентифікацію/API-ключ цього постачальника.
|
||||
Для роботи із зображеннями використовуйте `image` для аналізу і `image_generate` для генерації або редагування. Якщо ви використовуєте `openai/*`, `google/*`, `fal/*` або іншого не стандартного провайдера зображень, спочатку налаштуйте автентифікацію/API-ключ цього провайдера.
|
||||
|
||||
Для роботи з музикою використовуйте `music_generate`. Якщо ви націлюєтеся на `google/*`, `minimax/*` або іншого неосновного постачальника музики, спочатку налаштуйте автентифікацію/API-ключ цього постачальника.
|
||||
Для роботи з музикою використовуйте `music_generate`. Якщо ви використовуєте `google/*`, `minimax/*` або іншого не стандартного музичного провайдера, спочатку налаштуйте автентифікацію/API-ключ цього провайдера.
|
||||
|
||||
Для роботи з відео використовуйте `video_generate`. Якщо ви націлюєтеся на `qwen/*` або іншого неосновного постачальника відео, спочатку налаштуйте автентифікацію/API-ключ цього постачальника.
|
||||
Для роботи з відео використовуйте `video_generate`. Якщо ви використовуєте `qwen/*` або іншого не стандартного відеопровайдера, спочатку налаштуйте автентифікацію/API-ключ цього провайдера.
|
||||
|
||||
Для аудіогенерації на основі робочих процесів використовуйте `music_generate`, коли плагін на кшталт
|
||||
ComfyUI реєструє його. Це окремо від `tts`, який є перетворенням тексту на мовлення.
|
||||
Для генерації аудіо на основі робочих процесів використовуйте `music_generate`, коли його реєструє
|
||||
плагін на кшталт ComfyUI. Це окремо від `tts`, який є перетворенням тексту на мовлення.
|
||||
|
||||
`session_status` — це полегшений інструмент статусу/зчитування в групі sessions.
|
||||
Він відповідає на запитання у стилі `/status` про поточну сесію та може
|
||||
за потреби встановлювати перевизначення моделі для окремої сесії; `model=default` скидає це
|
||||
перевизначення. Як і `/status`, він може заповнювати пропущені лічильники токенів/кешу та
|
||||
мітку активної моделі середовища виконання з останнього запису використання у транскрипті.
|
||||
`session_status` — це полегшений інструмент статусу/зчитування в групі сесій.
|
||||
Він відповідає на запитання у стилі `/status` про поточну сесію і може
|
||||
за бажанням встановити перевизначення моделі для окремої сесії; `model=default` скасовує це
|
||||
перевизначення. Як і `/status`, він може заповнювати відсутні лічильники токенів/кешу та
|
||||
мітку активної моделі середовища виконання з останнього запису про використання в транскрипті.
|
||||
|
||||
`gateway` — це інструмент середовища виконання лише для власника для операцій gateway:
|
||||
|
||||
- `config.schema.lookup` для одного піддерева конфігурації в межах шляху перед редагуванням
|
||||
- `config.schema.lookup` для однієї підгілки конфігурації за шляхом перед редагуванням
|
||||
- `config.get` для поточного знімка конфігурації + хешу
|
||||
- `config.patch` для часткових оновлень конфігурації з перезапуском
|
||||
- `config.apply` лише для повної заміни конфігурації
|
||||
- `update.run` для явного самооновлення + перезапуску
|
||||
|
||||
Для часткових змін надавайте перевагу `config.schema.lookup`, а потім `config.patch`. Використовуйте
|
||||
`config.apply` лише тоді, коли ви навмисно замінюєте всю конфігурацію.
|
||||
Для часткових змін віддавайте перевагу `config.schema.lookup`, а потім `config.patch`. Використовуйте
|
||||
`config.apply` лише тоді, коли ви свідомо замінюєте всю конфігурацію.
|
||||
Інструмент також відмовляється змінювати `tools.exec.ask` або `tools.exec.security`;
|
||||
застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec.
|
||||
|
||||
### Інструменти, що надаються плагінами
|
||||
### Інструменти, надані плагінами
|
||||
|
||||
Плагіни можуть реєструвати додаткові інструменти. Деякі приклади:
|
||||
Плагіни можуть реєструвати додаткові інструменти. Декілька прикладів:
|
||||
|
||||
- [Lobster](/uk/tools/lobster) — типізоване середовище виконання робочих процесів із відновлюваними погодженнями
|
||||
- [LLM Task](/uk/tools/llm-task) — крок LLM лише з JSON для структурованого виводу
|
||||
- [Music Generation](/uk/tools/music-generation) — спільний інструмент `music_generate` плюс варіанти робочих процесів, надані плагінами
|
||||
- [Music Generation](/uk/tools/music-generation) — спільний інструмент `music_generate` із провайдерами на основі робочих процесів
|
||||
- [Diffs](/uk/tools/diffs) — переглядач і рендерер diff
|
||||
- [OpenProse](/uk/prose) — оркестрація робочих процесів із пріоритетом на markdown
|
||||
- [OpenProse](/uk/prose) — оркестрація робочих процесів із пріоритетом markdown
|
||||
|
||||
## Налаштування інструментів
|
||||
|
||||
### Списки дозволів і заборон
|
||||
|
||||
Керуйте тим, які інструменти агент може викликати, за допомогою `tools.allow` / `tools.deny` у
|
||||
Керуйте тим, які інструменти агент може викликати, через `tools.allow` / `tools.deny` у
|
||||
конфігурації. Заборона завжди має пріоритет над дозволом.
|
||||
|
||||
```json5
|
||||
@ -135,12 +135,12 @@ ComfyUI реєструє його. Це окремо від `tts`, який є
|
||||
|
||||
### Профілі інструментів
|
||||
|
||||
`tools.profile` встановлює базовий список дозволів перед застосуванням `allow`/`deny`.
|
||||
`tools.profile` задає базовий список дозволів перед застосуванням `allow`/`deny`.
|
||||
Перевизначення для окремого агента: `agents.list[].tools.profile`.
|
||||
|
||||
| Профіль | Що він включає |
|
||||
| Профіль | Що він містить |
|
||||
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `full` | Без обмежень (так само, як якщо не встановлено) |
|
||||
| `full` | Без обмежень (те саме, що не задано) |
|
||||
| `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `image`, `image_generate`, `music_generate`, `video_generate` |
|
||||
| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` |
|
||||
| `minimal` | Лише `session_status` |
|
||||
@ -149,34 +149,34 @@ ComfyUI реєструє його. Це окремо від `tts`, який є
|
||||
|
||||
Використовуйте скорочення `group:*` у списках дозволів/заборон:
|
||||
|
||||
| Група | Інструменти |
|
||||
| ------------------ | ---------------------------------------------------------------------------------------------------------- |
|
||||
| `group:runtime` | exec, process, code_execution (`bash` приймається як псевдонім для `exec`) |
|
||||
| `group:fs` | read, write, edit, apply_patch |
|
||||
| Група | Інструменти |
|
||||
| ------------------ | --------------------------------------------------------------------------------------------------------- |
|
||||
| `group:runtime` | exec, process, code_execution (`bash` приймається як псевдонім для `exec`) |
|
||||
| `group:fs` | read, write, edit, apply_patch |
|
||||
| `group:sessions` | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
|
||||
| `group:memory` | memory_search, memory_get |
|
||||
| `group:web` | web_search, x_search, web_fetch |
|
||||
| `group:ui` | browser, canvas |
|
||||
| `group:automation` | cron, gateway |
|
||||
| `group:messaging` | message |
|
||||
| `group:nodes` | nodes |
|
||||
| `group:agents` | agents_list |
|
||||
| `group:media` | image, image_generate, music_generate, video_generate, tts |
|
||||
| `group:openclaw` | Усі вбудовані інструменти OpenClaw (без інструментів плагінів) |
|
||||
| `group:memory` | memory_search, memory_get |
|
||||
| `group:web` | web_search, x_search, web_fetch |
|
||||
| `group:ui` | browser, canvas |
|
||||
| `group:automation` | cron, gateway |
|
||||
| `group:messaging` | message |
|
||||
| `group:nodes` | nodes |
|
||||
| `group:agents` | agents_list |
|
||||
| `group:media` | image, image_generate, music_generate, video_generate, tts |
|
||||
| `group:openclaw` | Усі вбудовані інструменти OpenClaw (крім інструментів плагінів) |
|
||||
|
||||
`sessions_history` повертає обмежене, відфільтроване з погляду безпеки представлення для пригадування. Воно видаляє
|
||||
теги thinking, каркас `<relevant-memories>`, XML-пейлоади викликів інструментів у відкритому тексті
|
||||
(включно з `<tool_call>...</tool_call>`,
|
||||
`sessions_history` повертає обмежене, відфільтроване з погляду безпеки представлення для пригадування. Він прибирає
|
||||
теги thinking, каркас `<relevant-memories>`, XML-навантаження викликів інструментів у простому тексті
|
||||
(зокрема `<tool_call>...</tool_call>`,
|
||||
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
|
||||
`<function_calls>...</function_calls>` і обрізаними блоками викликів інструментів),
|
||||
понижений каркас викликів інструментів, витеклі ASCII/повноширинні токени керування
|
||||
моделлю та некоректний XML викликів інструментів MiniMax з тексту асистента, а потім застосовує
|
||||
редагування/обрізання та, за потреби, заповнювачі для надто великих рядків замість того, щоб діяти
|
||||
`<function_calls>...</function_calls>` і усічені блоки викликів інструментів),
|
||||
понижений каркас викликів інструментів, витеклі ASCII/повноширинні токени
|
||||
керування моделлю та некоректний XML викликів інструментів MiniMax із тексту помічника, а потім застосовує
|
||||
редагування/усічення та, за потреби, заповнювачі для надто великих рядків замість того, щоб працювати
|
||||
як необроблений дамп транскрипту.
|
||||
|
||||
### Обмеження для конкретних постачальників
|
||||
### Обмеження для конкретних провайдерів
|
||||
|
||||
Використовуйте `tools.byProvider`, щоб обмежувати інструменти для конкретних постачальників без
|
||||
Використовуйте `tools.byProvider`, щоб обмежувати інструменти для певних провайдерів без
|
||||
зміни глобальних значень за замовчуванням:
|
||||
|
||||
```json5
|
||||
|
||||
@ -3,40 +3,39 @@ read_when:
|
||||
- Генерація музики або аудіо через агента
|
||||
- Налаштування провайдерів і моделей для генерації музики
|
||||
- Розуміння параметрів інструмента music_generate
|
||||
summary: Створюйте музику через спільні провайдери або робочі процеси, надані плагінами
|
||||
summary: Генеруйте музику за допомогою спільних провайдерів, зокрема плагінів на основі workflow
|
||||
title: Генерація музики
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T01:01:03Z"
|
||||
generated_at: "2026-04-06T01:05:30Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 10a310920a34a6d2aa90b82703b00dbd9944ec349ada948c3fdb12e9d45246a0
|
||||
source_hash: 7e5dc234b14aee2f5ef766985479b0ba262cceb4510596f6b1cc343a3732838c
|
||||
source_path: tools/music-generation.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Генерація музики
|
||||
|
||||
Інструмент `music_generate` дає агенту змогу створювати музику або аудіо через:
|
||||
Інструмент `music_generate` дає агенту змогу створювати музику або аудіо через
|
||||
спільну можливість генерації музики з налаштованими провайдерами, такими як Google,
|
||||
MiniMax і налаштований через workflow ComfyUI.
|
||||
|
||||
- спільну можливість генерації музики з налаштованими провайдерами, такими як Google і MiniMax
|
||||
- поверхні інструментів, надані плагінами, наприклад граф ComfyUI, налаштований через workflow
|
||||
|
||||
Для спільних агентських сесій, що працюють через провайдерів, OpenClaw запускає генерацію музики як фонове завдання, відстежує її в журналі завдань, а потім знову пробуджує агента, коли трек готовий, щоб агент міг надіслати готове аудіо назад у початковий канал.
|
||||
Для сеансів агента зі спільними провайдерами OpenClaw запускає генерацію музики як
|
||||
фонове завдання, відстежує його в реєстрі завдань, а потім знову пробуджує агента,
|
||||
коли трек готовий, щоб агент міг надіслати готове аудіо назад у
|
||||
початковий канал.
|
||||
|
||||
<Note>
|
||||
Вбудований спільний інструмент з’являється лише тоді, коли доступний принаймні один провайдер генерації музики. Якщо ви не бачите `music_generate` серед інструментів вашого агента, налаштуйте `agents.defaults.musicGenerationModel` або задайте API-ключ провайдера.
|
||||
Вбудований спільний інструмент з’являється лише тоді, коли доступний принаймні один провайдер генерації музики. Якщо ви не бачите `music_generate` серед інструментів вашого агента, налаштуйте `agents.defaults.musicGenerationModel` або вкажіть API-ключ провайдера.
|
||||
</Note>
|
||||
|
||||
<Note>
|
||||
Реалізації `music_generate`, надані плагінами, можуть мати інші параметри або іншу поведінку під час виконання. Наведений нижче асинхронний потік завдань/статусу застосовується до вбудованого спільного шляху на основі провайдерів.
|
||||
</Note>
|
||||
|
||||
## Швидкий старт
|
||||
## Швидкий початок
|
||||
|
||||
### Генерація через спільних провайдерів
|
||||
|
||||
1. Установіть API-ключ принаймні для одного провайдера, наприклад `GEMINI_API_KEY` або `MINIMAX_API_KEY`.
|
||||
2. За потреби задайте бажану модель:
|
||||
1. Установіть API-ключ принаймні для одного провайдера, наприклад `GEMINI_API_KEY` або
|
||||
`MINIMAX_API_KEY`.
|
||||
2. За бажанням установіть бажану модель:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -50,28 +49,32 @@ x-i18n:
|
||||
}
|
||||
```
|
||||
|
||||
3. Попросіть агента: _"Згенеруй життєрадісний synthpop-трек про нічну поїздку неоновим містом."_
|
||||
3. Попросіть агента: _"Згенеруй енергійний synthpop-трек про нічну поїздку
|
||||
неоновим містом."_
|
||||
|
||||
Агент автоматично викликає `music_generate`. Додавати інструмент до списку дозволених не потрібно.
|
||||
Агент викликає `music_generate` автоматично. Додавання інструмента до allow-list не потрібне.
|
||||
|
||||
Для прямих синхронних контекстів без запуску агента з прив’язкою до сесії вбудований інструмент усе одно переходить до вбудованої генерації та повертає фінальний шлях до медіафайлу в результаті інструмента.
|
||||
Для прямих синхронних контекстів без запуску агента на основі сеансу вбудований
|
||||
інструмент усе одно переходить до вбудованої генерації та повертає фінальний шлях до медіафайлу в результаті інструмента.
|
||||
|
||||
Приклади запитів:
|
||||
|
||||
```text
|
||||
Згенеруй кінематографічний фортепіанний трек із м’якими струнними й без вокалу.
|
||||
Згенеруй кінематографічний фортепіанний трек із м’якими струнними та без вокалу.
|
||||
```
|
||||
|
||||
```text
|
||||
Згенеруй енергійний chiptune-луп про запуск ракети на світанку.
|
||||
```
|
||||
|
||||
### Генерація через workflow у плагіні
|
||||
### Генерація через Comfy на основі workflow
|
||||
|
||||
Комплектний плагін `comfy` також може надавати `music_generate` за допомогою графа ComfyUI, налаштованого через workflow.
|
||||
Вбудований плагін `comfy` підключається до спільного інструмента `music_generate` через
|
||||
реєстр провайдерів генерації музики.
|
||||
|
||||
1. Налаштуйте `models.providers.comfy.music` за допомогою JSON workflow та вузлів prompt/output.
|
||||
2. Якщо ви використовуєте Comfy Cloud, задайте `COMFY_API_KEY` або `COMFY_CLOUD_API_KEY`.
|
||||
1. Налаштуйте `models.providers.comfy.music` за допомогою JSON workflow і
|
||||
вузлів prompt/output.
|
||||
2. Якщо ви використовуєте Comfy Cloud, установіть `COMFY_API_KEY` або `COMFY_CLOUD_API_KEY`.
|
||||
3. Попросіть агента створити музику або викличте інструмент безпосередньо.
|
||||
|
||||
Приклад:
|
||||
@ -80,26 +83,23 @@ x-i18n:
|
||||
/tool music_generate prompt="Warm ambient synth loop with soft tape texture"
|
||||
```
|
||||
|
||||
## Підтримка спільних комплектних провайдерів
|
||||
## Підтримка вбудованих спільних провайдерів
|
||||
|
||||
| Провайдер | Модель за замовчуванням | Вхідні посилання | Підтримувані елементи керування | API-ключ |
|
||||
| --------- | ----------------------- | ---------------- | ------------------------------------------------------ | ---------------------------------- |
|
||||
| Google | `lyria-3-clip-preview` | До 10 зображень | `lyrics`, `instrumental`, `format` | `GEMINI_API_KEY`, `GOOGLE_API_KEY` |
|
||||
| MiniMax | `music-2.5+` | Немає | `lyrics`, `instrumental`, `durationSeconds`, `format=mp3` | `MINIMAX_API_KEY` |
|
||||
| Провайдер | Модель за замовчуванням | Вхідні reference-дані | Підтримувані параметри керування | API-ключ |
|
||||
| --------- | ----------------------- | --------------------- | ------------------------------------------------------ | -------------------------------------- |
|
||||
| ComfyUI | `workflow` | До 1 зображення | Музика або аудіо, визначені workflow | `COMFY_API_KEY`, `COMFY_CLOUD_API_KEY` |
|
||||
| Google | `lyria-3-clip-preview` | До 10 зображень | `lyrics`, `instrumental`, `format` | `GEMINI_API_KEY`, `GOOGLE_API_KEY` |
|
||||
| MiniMax | `music-2.5+` | Немає | `lyrics`, `instrumental`, `durationSeconds`, `format=mp3` | `MINIMAX_API_KEY` |
|
||||
|
||||
## Підтримка, надана плагінами
|
||||
|
||||
| Провайдер | Модель | Примітки |
|
||||
| --------- | ---------- | -------------------------------- |
|
||||
| ComfyUI | `workflow` | Музика або аудіо, визначені workflow |
|
||||
|
||||
Використовуйте `action: "list"`, щоб переглянути доступні спільні провайдери й моделі під час виконання:
|
||||
Використовуйте `action: "list"`, щоб переглянути доступні спільні провайдери та моделі
|
||||
під час виконання:
|
||||
|
||||
```text
|
||||
/tool music_generate action=list
|
||||
```
|
||||
|
||||
Використовуйте `action: "status"`, щоб переглянути активне завдання генерації музики, прив’язане до сесії:
|
||||
Використовуйте `action: "status"`, щоб переглянути активне музичне завдання,
|
||||
пов’язане із сеансом:
|
||||
|
||||
```text
|
||||
/tool music_generate action=status
|
||||
@ -116,29 +116,30 @@ x-i18n:
|
||||
| Параметр | Тип | Опис |
|
||||
| ---------------- | -------- | ------------------------------------------------------------------------------------------------- |
|
||||
| `prompt` | string | Запит для генерації музики (обов’язковий для `action: "generate"`) |
|
||||
| `action` | string | `"generate"` (типово), `"status"` для поточного завдання сесії або `"list"` для перегляду провайдерів |
|
||||
| `action` | string | `"generate"` (типово), `"status"` для поточного завдання сеансу або `"list"` для перегляду провайдерів |
|
||||
| `model` | string | Перевизначення провайдера/моделі, наприклад `google/lyria-3-pro-preview` або `comfy/workflow` |
|
||||
| `lyrics` | string | Необов’язковий текст пісні, якщо провайдер підтримує явне введення лірики |
|
||||
| `instrumental` | boolean | Запитати інструментальний результат без вокалу, якщо провайдер це підтримує |
|
||||
| `image` | string | Шлях або URL одного зображення-посилання |
|
||||
| `images` | string[] | Кілька зображень-посилань (до 10) |
|
||||
| `lyrics` | string | Необов’язковий текст пісні, якщо провайдер підтримує явне введення тексту |
|
||||
| `instrumental` | boolean | Запитати лише інструментальний результат, якщо провайдер це підтримує |
|
||||
| `image` | string | Шлях або URL одного reference-зображення |
|
||||
| `images` | string[] | Кілька reference-зображень (до 10) |
|
||||
| `durationSeconds`| number | Цільова тривалість у секундах, якщо провайдер підтримує підказки щодо тривалості |
|
||||
| `format` | string | Підказка щодо формату виводу (`mp3` або `wav`), якщо провайдер це підтримує |
|
||||
| `filename` | string | Підказка щодо імені вихідного файлу |
|
||||
| `format` | string | Підказка формату виводу (`mp3` або `wav`), якщо провайдер це підтримує |
|
||||
| `filename` | string | Підказка імені вихідного файлу |
|
||||
|
||||
Не всі провайдери або плагіни підтримують усі параметри. Спільний вбудований інструмент перевіряє обмеження можливостей провайдера перед надсиланням запиту.
|
||||
Не всі провайдери підтримують усі параметри. Спільний інструмент перевіряє
|
||||
обмеження можливостей провайдера перед надсиланням запиту.
|
||||
|
||||
## Асинхронна поведінка для спільного шляху на основі провайдерів
|
||||
## Асинхронна поведінка для шляху через спільних провайдерів
|
||||
|
||||
- Запуски агента, прив’язані до сесії: `music_generate` створює фонове завдання, одразу повертає відповідь про запуск/завдання, а готовий трек надсилає пізніше в наступному повідомленні агента.
|
||||
- Запобігання дублюванню: поки це фонове завдання має стан `queued` або `running`, наступні виклики `music_generate` у тій самій сесії повертають статус завдання замість запуску нової генерації.
|
||||
- Перегляд статусу: використовуйте `action: "status"`, щоб переглянути активне завдання генерації музики, прив’язане до сесії, не запускаючи нове.
|
||||
- Відстеження завдань: використовуйте `openclaw tasks list` або `openclaw tasks show <taskId>`, щоб переглядати стани queued, running і terminal для генерації.
|
||||
- Пробудження після завершення: OpenClaw вставляє внутрішню подію завершення назад у ту саму сесію, щоб модель могла сама написати користувацьке повідомлення з результатом.
|
||||
- Підказка для запиту: у наступних користувацьких/ручних кроках у тій самій сесії з’являється невелика підказка під час виконання, якщо завдання генерації музики вже виконується, щоб модель не викликала `music_generate` повторно без потреби.
|
||||
- Резервний режим без сесії: прямі/локальні контексти без реальної сесії агента все одно виконуються вбудовано й повертають фінальний аудіорезультат у тому самому кроці.
|
||||
- Запуски агента на основі сеансу: `music_generate` створює фонове завдання, одразу повертає відповідь про запуск/завдання, а готовий трек надсилає пізніше в подальшому повідомленні агента.
|
||||
- Запобігання дублюванню: поки це фонове завдання має стан `queued` або `running`, наступні виклики `music_generate` у тому самому сеансі повертають статус завдання замість запуску нової генерації.
|
||||
- Перевірка статусу: використовуйте `action: "status"`, щоб переглянути активне музичне завдання, пов’язане із сеансом, без запуску нового.
|
||||
- Відстеження завдань: використовуйте `openclaw tasks list` або `openclaw tasks show <taskId>`, щоб переглядати статуси queued, running і terminal для генерації.
|
||||
- Пробудження після завершення: OpenClaw вставляє внутрішню подію завершення назад у той самий сеанс, щоб модель могла сама написати повідомлення для користувача.
|
||||
- Підказка для prompt: наступні користувацькі/ручні ходи в тому самому сеансі отримують невелику підказку під час виконання, коли музичне завдання вже виконується, щоб модель не викликала `music_generate` знову бездумно.
|
||||
- Резервний варіант без сеансу: прямі/локальні контексти без реального сеансу агента все одно виконуються вбудовано та повертають фінальний результат аудіо в тому самому ході.
|
||||
|
||||
## Конфігурація
|
||||
## Налаштування
|
||||
|
||||
### Вибір моделі
|
||||
|
||||
@ -157,51 +158,57 @@ x-i18n:
|
||||
|
||||
### Порядок вибору провайдерів
|
||||
|
||||
Під час генерації музики OpenClaw пробує провайдерів у такому порядку:
|
||||
Під час генерації музики OpenClaw намагається використовувати провайдерів у такому порядку:
|
||||
|
||||
1. параметр `model` з виклику інструмента, якщо агент його вказує
|
||||
1. параметр `model` з виклику інструмента, якщо агент указує його
|
||||
2. `musicGenerationModel.primary` з конфігурації
|
||||
3. `musicGenerationModel.fallbacks` у заданому порядку
|
||||
4. Автовизначення лише з використанням типових значень провайдерів, підкріплених автентифікацією:
|
||||
3. `musicGenerationModel.fallbacks` по порядку
|
||||
4. Автовизначення з використанням лише типових значень провайдерів на основі auth:
|
||||
- спочатку поточний типовий провайдер
|
||||
- решта зареєстрованих провайдерів генерації музики в порядку ідентифікаторів провайдерів
|
||||
|
||||
Якщо провайдер завершується помилкою, автоматично використовується наступний кандидат. Якщо помиляються всі, помилка містить деталі кожної спроби.
|
||||
Якщо провайдер завершується помилкою, автоматично використовується наступний кандидат. Якщо всі завершуються помилкою,
|
||||
помилка містить деталі кожної спроби.
|
||||
|
||||
## Примітки щодо провайдерів
|
||||
## Примітки про провайдерів
|
||||
|
||||
- Google використовує пакетну генерацію Lyria 3. Поточний комплектний потік підтримує prompt, необов’язковий текст лірики та необов’язкові зображення-посилання.
|
||||
- MiniMax використовує пакетний endpoint `music_generation`. Поточний комплектний потік підтримує prompt, необов’язкову лірику, інструментальний режим, керування тривалістю та вивід у mp3.
|
||||
- Підтримка ComfyUI керується workflow і залежить від налаштованого графа та зіставлення вузлів для полів prompt/output.
|
||||
- Google використовує пакетну генерацію Lyria 3. Поточний вбудований потік підтримує
|
||||
prompt, необов’язковий текст пісні та необов’язкові reference-зображення.
|
||||
- MiniMax використовує пакетний endpoint `music_generation`. Поточний вбудований потік
|
||||
підтримує prompt, необов’язковий текст пісні, інструментальний режим, керування тривалістю та
|
||||
вивід у mp3.
|
||||
- Підтримка ComfyUI ґрунтується на workflow і залежить від налаштованого графа та
|
||||
зіставлення вузлів для полів prompt/output.
|
||||
|
||||
## Як вибрати правильний шлях
|
||||
|
||||
- Використовуйте спільний шлях через провайдерів, якщо вам потрібні вибір моделі, перемикання між провайдерами при збоях і вбудований асинхронний потік завдань/статусу.
|
||||
- Використовуйте шлях через плагін, наприклад ComfyUI, якщо вам потрібен власний граф workflow або провайдер, який не є частиною спільної комплектної можливості генерації музики.
|
||||
- Якщо ви налагоджуєте поведінку, специфічну для ComfyUI, див. [ComfyUI](/uk/providers/comfy). Якщо ви налагоджуєте спільну поведінку провайдерів, почніть із [Google (Gemini)](/uk/providers/google) або [MiniMax](/uk/providers/minimax).
|
||||
- Використовуйте шлях через спільних провайдерів, якщо вам потрібні вибір моделі, перемикання на резервних провайдерів і вбудований асинхронний потік завдань/статусу.
|
||||
- Використовуйте шлях через плагін, наприклад ComfyUI, якщо вам потрібен власний граф workflow або провайдер, який не входить до спільної вбудованої можливості генерації музики.
|
||||
- Якщо ви налагоджуєте поведінку, специфічну для ComfyUI, див. [ComfyUI](/uk/providers/comfy). Якщо ви налагоджуєте поведінку спільних провайдерів, почніть із [Google (Gemini)](/uk/providers/google) або [MiniMax](/uk/providers/minimax).
|
||||
|
||||
## Live-тести
|
||||
## Live тести
|
||||
|
||||
Добровільне live-покриття для спільних комплектних провайдерів:
|
||||
Опційне live-покриття для спільних вбудованих провайдерів:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts
|
||||
```
|
||||
|
||||
Добровільне live-покриття для комплектного музичного шляху ComfyUI:
|
||||
Опційне live-покриття для вбудованого музичного шляху ComfyUI:
|
||||
|
||||
```bash
|
||||
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
|
||||
```
|
||||
|
||||
Файл live для Comfy також охоплює workflow для зображень і відео comfy, коли ці розділи налаштовані.
|
||||
Файл Comfy live також охоплює workflow зображень і відео comfy, коли ці
|
||||
розділи налаштовані.
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Фонові завдання](/uk/automation/tasks) - відстеження завдань для відокремлених запусків `music_generate`
|
||||
- [Довідник з конфігурації](/uk/gateway/configuration-reference#agent-defaults) - конфігурація `musicGenerationModel`
|
||||
- [Довідник із конфігурації](/uk/gateway/configuration-reference#agent-defaults) - конфігурація `musicGenerationModel`
|
||||
- [ComfyUI](/uk/providers/comfy)
|
||||
- [Google (Gemini)](/uk/providers/google)
|
||||
- [MiniMax](/uk/providers/minimax)
|
||||
- [Моделі](/uk/concepts/models) - конфігурація моделей і перемикання при збоях
|
||||
- [Моделі](/uk/concepts/models) - конфігурація моделей і перемикання на резервні
|
||||
- [Огляд інструментів](/uk/tools)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user