chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-27 14:48:57 +00:00
parent 868e0d984a
commit 576b2eda31
2 changed files with 133 additions and 129 deletions

View File

@ -1,13 +1,13 @@
---
read_when:
- Зміна транскрипції аудіо або обробки медіа
- Зміна транскрибування аудіо або обробки медіа
summary: Як вхідні аудіо/голосові повідомлення завантажуються, транскрибуються та вставляються у відповіді
title: Аудіо та голосові повідомлення
x-i18n:
generated_at: "2026-04-27T12:51:29Z"
generated_at: "2026-04-27T14:47:46Z"
model: gpt-5.4
provider: openai
source_hash: 9852ce852fa27cb9e8ded06f420f7d58a1c14f379ac65a58437da5976813461b
source_hash: 35074d79104f767ee252064462202a8ec21ac26f6db25c39e67f31f6b40edeb7
source_path: nodes/audio.md
workflow: 15
---
@ -16,37 +16,37 @@ x-i18n:
## Що працює
- **Розуміння медіа (аудіо)**: якщо розуміння аудіо ввімкнено (або визначається автоматично), OpenClaw:
- **Розуміння медіа (аудіо)**: Якщо розуміння аудіо ввімкнене (або визначається автоматично), OpenClaw:
1. Знаходить перше аудіовкладення (локальний шлях або URL) і завантажує його за потреби.
2. Застосовує `maxBytes` перед надсиланням до кожного запису моделі.
3. Запускає перший придатний запис моделі за порядком (провайдер або CLI).
4. Якщо він зазнає невдачі або пропускається (розмір/тайм-аут), пробує наступний запис.
4. Якщо він завершується помилкою або пропускається (розмір/тайм-аут), пробується наступний запис.
5. У разі успіху замінює `Body` блоком `[Audio]` і встановлює `{{Transcript}}`.
- **Розбір команд**: коли транскрипція успішна, `CommandBody`/`RawBody` встановлюються на транскрипт, тому slash-команди й далі працюють.
- **Докладне логування**: у режимі `--verbose` ми логуємо, коли запускається транскрипція і коли вона замінює body.
- **Розбір команд**: Коли транскрибування успішне, `CommandBody`/`RawBody` встановлюються в транскрипт, щоб slash-команди продовжували працювати.
- **Розширене журналювання**: У `--verbose` ми журналюємо, коли виконується транскрибування і коли воно замінює тіло повідомлення.
## Автовизначення (типово)
Якщо ви **не налаштовуєте моделі** і `tools.media.audio.enabled` **не** встановлено в `false`,
OpenClaw автоматично визначає їх у такому порядку й зупиняється на першому робочому варіанті:
OpenClaw автоматично визначає в такому порядку й зупиняється на першому робочому варіанті:
1. **Активна модель відповіді**, якщо її провайдер підтримує розуміння аудіо.
2. **Локальні CLI** (якщо встановлено)
2. **Локальні CLI** (якщо встановлені)
- `sherpa-onnx-offline` (потребує `SHERPA_ONNX_MODEL_DIR` з encoder/decoder/joiner/tokens)
- `whisper-cli``whisper-cpp`; використовує `WHISPER_CPP_MODEL` або вбудовану tiny-модель)
- `whisper` (Python CLI; автоматично завантажує моделі)
3. **Gemini CLI** (`gemini`) з використанням `read_many_files`
4. **Автентифікація провайдера**
- Спочатку пробуються налаштовані записи `models.providers.*`, які підтримують аудіо
- Вбудований порядок резервного перемикання: OpenAI → Groq → xAI → Deepgram → Google → SenseAudio → ElevenLabs → Mistral
4. **Авторизація провайдера**
- Спочатку пробуються налаштовані записи `models.providers.*`, що підтримують аудіо
- Вбудований порядок запасних варіантів: OpenAI → Groq → xAI → Deepgram → Google → SenseAudio → ElevenLabs → Mistral
Щоб вимкнути автовизначення, встановіть `tools.media.audio.enabled: false`.
Щоб налаштувати власну поведінку, встановіть `tools.media.audio.models`.
Примітка: виявлення бінарних файлів є best-effort для macOS/Linux/Windows; переконайтеся, що CLI є в `PATH` (ми розгортаємо `~`), або задайте явну модель CLI з повним шляхом до команди.
Щоб налаштувати вручну, встановіть `tools.media.audio.models`.
Примітка: виявлення бінарників виконується за принципом best-effort на macOS/Linux/Windows; переконайтеся, що CLI є в `PATH` (ми розгортаємо `~`), або задайте явну CLI-модель з повним шляхом до команди.
## Приклади конфігурації
### Провайдер + резервний CLI-варіант (OpenAI + Whisper CLI)
### Провайдер + запасний CLI-варіант (OpenAI + Whisper CLI)
```json5
{
@ -70,7 +70,7 @@ OpenClaw автоматично визначає їх у такому поряд
}
```
### Лише провайдер із керуванням областями
### Лише провайдер із обмеженням за областю дії
```json5
{
@ -134,7 +134,7 @@ OpenClaw автоматично визначає їх у такому поряд
}
```
### Надсилати транскрипт у чат як відлуння (opt-in)
### Надсилати транскрипт назад у чат (опційно)
```json5
{
@ -153,70 +153,72 @@ OpenClaw автоматично визначає їх у такому поряд
## Примітки та обмеження
- Автентифікація провайдера дотримується стандартного порядку автентифікації моделей (профілі автентифікації, змінні середовища, `models.providers.*.apiKey`).
- Авторизація провайдера дотримується стандартного порядку авторизації моделей (профілі авторизації, змінні середовища, `models.providers.*.apiKey`).
- Докладно про налаштування Groq: [Groq](/uk/providers/groq).
- Deepgram підхоплює `DEEPGRAM_API_KEY`, коли використовується `provider: "deepgram"`.
- Докладно про налаштування Deepgram: [Deepgram (транскрипція аудіо)](/uk/providers/deepgram).
- Докладно про налаштування Deepgram: [Deepgram (транскрибування аудіо)](/uk/providers/deepgram).
- Докладно про налаштування Mistral: [Mistral](/uk/providers/mistral).
- SenseAudio підхоплює `SENSEAUDIO_API_KEY`, коли використовується `provider: "senseaudio"`.
- Докладно про налаштування SenseAudio: [SenseAudio](/uk/providers/senseaudio).
- Провайдери аудіо можуть перевизначати `baseUrl`, `headers` і `providerOptions` через `tools.media.audio`.
- Типове обмеження розміру — 20 МБ (`tools.media.audio.maxBytes`). Завелике аудіо пропускається для цієї моделі, і пробується наступний запис.
- Дуже малі/порожні аудіофайли менше 1024 байтів пропускаються до транскрипції через провайдера/CLI.
- Типове значення `maxChars` для аудіо **не задано** (повний транскрипт). Встановіть `tools.media.audio.maxChars` або `maxChars` для окремого запису, щоб обрізати результат.
- Типовий варіант OpenAI — `gpt-4o-mini-transcribe`; встановіть `model: "gpt-4o-transcribe"` для вищої точності.
- Використовуйте `tools.media.audio.attachments`, щоб обробляти кілька голосових повідомлень (`mode: "all"` + `maxAttachments`).
- Аудіопровайдери можуть перевизначати `baseUrl`, `headers` і `providerOptions` через `tools.media.audio`.
- Типове обмеження розміру — 20MB (`tools.media.audio.maxBytes`). Завелике аудіо пропускається для цієї моделі, і пробується наступний запис.
- Крихітні/порожні аудіофайли менші за 1024 байти пропускаються до транскрибування через провайдера/CLI.
- Типове `maxChars` для аудіо **не встановлене** (повний транскрипт). Встановіть `tools.media.audio.maxChars` або `maxChars` для конкретного запису, щоб обрізати результат.
- Типове значення OpenAI — `gpt-4o-mini-transcribe`; встановіть `model: "gpt-4o-transcribe"` для вищої точності.
- Використовуйте `tools.media.audio.attachments` для обробки кількох голосових повідомлень (`mode: "all"` + `maxAttachments`).
- Транскрипт доступний у шаблонах як `{{Transcript}}`.
- `tools.media.audio.echoTranscript` типово вимкнено; увімкніть його, щоб надсилати підтвердження транскрипту назад у вихідний чат до обробки агентом.
- `tools.media.audio.echoFormat` налаштовує текст відлуння (заповнювач: `{transcript}`).
- Вивід CLI stdout обмежено (5 МБ); зберігайте вивід CLI лаконічним.
- `args` CLI мають використовувати `{{MediaPath}}` для локального шляху до аудіофайлу. Запустіть `openclaw doctor --fix`, щоб перенести застарілі заповнювачі `{input}` зі старих конфігурацій `audio.transcription.command`.
- `tools.media.audio.echoTranscript` типово вимкнено; увімкніть його, щоб надсилати підтвердження транскрипту назад до вихідного чату перед обробкою агентом.
- `tools.media.audio.echoFormat` налаштовує текст такого відлуння (placeholder: `{transcript}`).
- stdout CLI обмежено (5MB); робіть вивід CLI лаконічним.
- У `args` CLI слід використовувати `{{MediaPath}}` для локального шляху до аудіофайлу. Запустіть `openclaw doctor --fix`, щоб перенести застарілі placeholder-и `{input}` зі старих конфігурацій `audio.transcription.command`.
### Підтримка змінних середовища проксі
### Підтримка проксі через змінні середовища
Транскрипція аудіо через провайдера підтримує стандартні змінні середовища для вихідного проксі:
Транскрибування аудіо через провайдера підтримує стандартні змінні середовища для вихідного проксі:
- `HTTPS_PROXY`
- `HTTP_PROXY`
- `ALL_PROXY`
- `https_proxy`
- `http_proxy`
- `all_proxy`
Якщо змінні середовища проксі не задано, використовується прямий вихід. Якщо конфігурація проксі некоректна, OpenClaw записує попередження в лог і повертається до прямого отримання.
Якщо змінні середовища проксі не задані, використовується прямий вихід у мережу. Якщо конфігурація проксі некоректна, OpenClaw записує попередження в журнал і повертається до прямого отримання.
## Виявлення згадок у групах
Коли для групового чату встановлено `requireMention: true`, OpenClaw тепер транскрибує аудіо **до** перевірки згадок. Це дає змогу обробляти голосові повідомлення, навіть якщо вони містять згадки.
Коли для групового чату встановлено `requireMention: true`, OpenClaw тепер транскрибує аудіо **до** перевірки згадок. Це дозволяє обробляти голосові повідомлення, навіть якщо вони містять згадки.
**Як це працює:**
1. Якщо голосове повідомлення не має текстового body і для групи потрібні згадки, OpenClaw виконує “попередню” транскрипцію.
2. Транскрипт перевіряється на шаблони згадок (наприклад, `@BotName`, тригери-емодзі).
1. Якщо голосове повідомлення не має текстового тіла і для групи потрібні згадки, OpenClaw виконує "preflight" транскрибування.
2. Транскрипт перевіряється на шаблони згадок (наприклад, `@BotName`, emoji-тригери).
3. Якщо згадку знайдено, повідомлення проходить через повний конвеєр відповіді.
4. Транскрипт використовується для виявлення згадок, тому голосові повідомлення можуть пройти перевірку на згадку.
4. Транскрипт використовується для виявлення згадок, тож голосові повідомлення можуть пройти перевірку на згадку.
**Поведінка резервного варіанта:**
**Поведінка запасного варіанту:**
- Якщо транскрипція під час попередньої перевірки зазнає невдачі (тайм-аут, помилка API тощо), повідомлення обробляється на основі виявлення згадок лише в тексті.
- Це гарантує, що змішані повідомлення (текст + аудіо) ніколи не будуть помилково відкинуті.
- Якщо транскрибування завершується помилкою під час preflight (тайм-аут, помилка API тощо), повідомлення обробляється на основі виявлення згадок лише за текстом.
- Це гарантує, що змішані повідомлення (текст + аудіо) ніколи не буде помилково відкинуто.
**Вимкнення для окремої групи/теми Telegram:**
**Вимкнення для конкретної Telegram групи/теми:**
- Встановіть `channels.telegram.groups.<chatId>.disableAudioPreflight: true`, щоб пропустити попередню перевірку згадок за транскриптом для цієї групи.
- Встановіть `channels.telegram.groups.<chatId>.topics.<threadId>.disableAudioPreflight`, щоб перевизначити це для окремої теми (`true` — пропустити, `false` — примусово ввімкнути).
- Типове значення — `false` (попередню перевірку ввімкнено, коли виконуються умови перевірки згадок).
- Встановіть `channels.telegram.groups.<chatId>.disableAudioPreflight: true`, щоб пропустити preflight-перевірки згадок за транскриптом для цієї групи.
- Встановіть `channels.telegram.groups.<chatId>.topics.<threadId>.disableAudioPreflight`, щоб перевизначити для конкретної теми (`true` — пропустити, `false` — примусово ввімкнути).
- Типове значення — `false` (preflight увімкнений, коли збігаються умови перевірки згадок).
**Приклад:** Користувач надсилає голосове повідомлення зі словами "Hey @Claude, what's the weather?" у групі Telegram з `requireMention: true`. Голосове повідомлення транскрибується, згадка виявляється, і агент відповідає.
## Підводні камені
- Правила області працюють за принципом first-match wins. `chatType` нормалізується до `direct`, `group` або `room`.
- Переконайтеся, що ваш CLI завершується з кодом 0 і виводить простий текст; JSON потрібно обробити, наприклад, через `jq -r .text`.
- Для `parakeet-mlx`, якщо ви передаєте `--output-dir`, OpenClaw читає `<output-dir>/<media-basename>.txt`, коли `--output-format` дорівнює `txt` (або не вказано); формати виводу, відмінні від `txt`, повертаються до розбору stdout.
- Для правил області дії діє принцип "перше збігання перемагає". `chatType` нормалізується до `direct`, `group` або `room`.
- Переконайтеся, що ваш CLI завершується з кодом 0 і друкує звичайний текст; JSON потрібно перетворити через `jq -r .text`.
- Для `parakeet-mlx`, якщо ви передаєте `--output-dir`, OpenClaw читає `<output-dir>/<media-basename>.txt`, коли `--output-format` дорівнює `txt` (або не заданий); формати виводу, відмінні від `txt`, повертаються до розбору stdout.
- Тримайте тайм-аути розумними (`timeoutSeconds`, типово 60 с), щоб не блокувати чергу відповідей.
- Попередня транскрипція обробляє лише **перше** аудіовкладення для виявлення згадок. Додаткове аудіо обробляється під час основної фази розуміння медіа.
- Preflight-транскрибування обробляє лише **перше** аудіовкладення для виявлення згадок. Додаткове аудіо обробляється під час основної фази розуміння медіа.
## Пов’язане
- [Розуміння медіа](/uk/nodes/media-understanding)
- [Режим розмови](/uk/nodes/talk)
- [Голосове пробудження](/uk/nodes/voicewake)
- [Голосова активація](/uk/nodes/voicewake)

View File

@ -3,70 +3,70 @@ read_when:
- Проєктування або рефакторинг розуміння медіа
- Налаштування попередньої обробки вхідного аудіо/відео/зображень
sidebarTitle: Media understanding
summary: Вхідне розуміння зображень/аудіо/відео (необов’язково) з резервними варіантами через провайдера + CLI
summary: Розуміння вхідних зображень/аудіо/відео (необов’язково) з резервними варіантами через провайдера та CLI
title: Розуміння медіа
x-i18n:
generated_at: "2026-04-26T08:15:40Z"
generated_at: "2026-04-27T14:47:50Z"
model: gpt-5.4
provider: openai
source_hash: 25ee170a7af523fd2ce4f5f7764638f510b135f94a7796325daf1c3e04147f90
source_hash: 79774578e0abb8b9646c5850d502e1a2f34b1f6f2253a5e6fec0983333d56009
source_path: nodes/media-understanding.md
workflow: 15
---
OpenClaw може **підсумовувати вхідні медіа** (зображення/аудіо/відео) до запуску конвеєра відповіді. Він автоматично визначає, коли доступні локальні інструменти або ключі провайдера, і може бути вимкнений або налаштований. Якщо розуміння вимкнене, моделі, як і раніше, отримують оригінальні файли/URL.
OpenClaw може **підсумовувати вхідні медіа** (зображення/аудіо/відео) до запуску конвеєра відповіді. Він автоматично визначає, коли доступні локальні інструменти або ключі провайдера, і його можна вимкнути або налаштувати. Якщо розуміння вимкнене, моделі, як і раніше, отримують вихідні файли/URL.
Поведінка медіа, специфічна для постачальника, реєструється плагінами постачальників, тоді як ядро OpenClaw відповідає за спільну конфігурацію `tools.media`, порядок резервних варіантів і інтеграцію з конвеєром відповіді.
Специфічна для постачальника поведінка медіа реєструється плагінами постачальників, тоді як ядро OpenClaw відповідає за спільну конфігурацію `tools.media`, порядок резервного переходу та інтеграцію з конвеєром відповіді.
## Цілі
- Необов’язково: попередньо зводити вхідні медіа до короткого тексту для швидшої маршрутизації та кращого розбору команд.
- Зберігати доставку оригінальних медіа до моделі (завжди).
- Підтримувати **API провайдерів** і **резервні варіанти CLI**.
- Дозволяти кілька моделей з упорядкованим резервуванням (помилка/розмір/тайм-аут).
- Завжди зберігати доставку оригінальних медіа до моделі.
- Підтримувати **API провайдерів** і **резервні варіанти через CLI**.
- Дозволяти кілька моделей з упорядкованим резервним переходом (помилка/розмір/тайм-аут).
## Поведінка на високому рівні
<Steps>
<Step title="Збір вкладень">
Збирає вхідні вкладення (`MediaPaths`, `MediaUrls`, `MediaTypes`).
<Step title="Зібрати вкладення">
Зібрати вхідні вкладення (`MediaPaths`, `MediaUrls`, `MediaTypes`).
</Step>
<Step title="Вибір за можливістю">
Для кожної ввімкненої можливості (зображення/аудіо/відео) вибирає вкладення згідно з політикою (типово: **перше**).
<Step title="Вибрати за можливістю">
Для кожної ввімкненої можливості (зображення/аудіо/відео) вибрати вкладення згідно з політикою (типово: **перше**).
</Step>
<Step title="Вибір моделі">
Вибирає перший придатний запис моделі (розмір + можливість + автентифікація).
<Step title="Вибрати модель">
Вибрати перший придатний запис моделі (розмір + можливість + автентифікація).
</Step>
<Step title="Резервний варіант у разі збою">
Якщо модель завершується з помилкою або медіа надто велике, **переходить до наступного запису**.
<Step title="Резервний перехід у разі збою">
Якщо модель завершується з помилкою або медіа надто велике, **перейти до наступного запису**.
</Step>
<Step title="Застосування блоку успіху">
<Step title="Застосувати блок успіху">
У разі успіху:
- `Body` стає блоком `[Image]`, `[Audio]` або `[Video]`.
- Для аудіо встановлюється `{{Transcript}}`; розбір команд використовує текст підпису, якщо він є, інакше — транскрипт.
- Для аудіо задається `{{Transcript}}`; розбір команд використовує текст підпису, якщо він є, інакше — транскрипт.
- Підписи зберігаються як `User text:` усередині блоку.
</Step>
</Steps>
Якщо розуміння завершується невдачею або вимкнене, **потік відповіді продовжується** з початковим тілом і вкладеннями.
Якщо розуміння не вдається або вимкнене, **потік відповіді продовжується** з вихідним тілом + вкладеннями.
## Огляд конфігурації
`tools.media` підтримує **спільні моделі**, а також перевизначення для окремих можливостей:
`tools.media` підтримує **спільні моделі** плюс перевизначення для кожної можливості:
<AccordionGroup>
<Accordion title="Ключі верхнього рівня">
- `tools.media.models`: спільний список моделей (використовуйте `capabilities` для обмеження).
- `tools.media.image` / `tools.media.audio` / `tools.media.video`:
- типові значення (`prompt`, `maxChars`, `maxBytes`, `timeoutSeconds`, `language`)
- значення за замовчуванням (`prompt`, `maxChars`, `maxBytes`, `timeoutSeconds`, `language`)
- перевизначення провайдера (`baseUrl`, `headers`, `providerOptions`)
- параметри аудіо Deepgram через `tools.media.audio.providerOptions.deepgram`
- параметри відлуння аудіотранскрипту (`echoTranscript`, типово `false`; `echoFormat`)
- необов’язковий список `models` **для окремої можливості** (має пріоритет над спільними моделями)
- елементи керування відлунням транскрипту аудіо (`echoTranscript`, типово `false`; `echoFormat`)
- необов’язковий список **`models` для конкретної можливості** (має пріоритет над спільними моделями)
- політика `attachments` (`mode`, `maxAttachments`, `prefer`)
- `scope` (необов’язкове обмеження за каналом/chatType/ключем сесії)
- `scope` (необов’язкове обмеження за channel/chatType/session key)
- `tools.media.concurrency`: максимальна кількість одночасних запусків можливостей (типово **2**).
</Accordion>
</AccordionGroup>
@ -143,9 +143,9 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
</Tab>
</Tabs>
## Типові значення та обмеження
## Значення за замовчуванням і обмеження
Рекомендовані типові значення:
Рекомендовані значення за замовчуванням:
- `maxChars`: **500** для зображень/відео (коротко, зручно для команд)
- `maxChars`: **не задано** для аудіо (повний транскрипт, якщо ви не встановите обмеження)
@ -156,13 +156,13 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
<AccordionGroup>
<Accordion title="Правила">
- Якщо медіа перевищує `maxBytes`, ця модель пропускається і **використовується наступна модель**.
- Аудіофайли менші за **1024 байти** вважаються порожніми/пошкодженими й пропускаються до транскрибування через provider/CLI; вхідний контекст відповіді отримує детермінований заповнювач транскрипту, щоб агент знав, що нотатка була надто малою.
- Якщо медіа перевищує `maxBytes`, цю модель буде пропущено, і **буде спробувано наступну модель**.
- Аудіофайли менші за **1024 байти** вважаються порожніми/пошкодженими й пропускаються до транскрибування через provider/CLI; вхідний контекст відповіді отримує детермінований транскрипт-заповнювач, щоб агент знав, що нотатка була надто малою.
- Якщо модель повертає більше ніж `maxChars`, вивід обрізається.
- `prompt` типово дорівнює простому "Describe the {media}." плюс вказівка `maxChars` (лише для зображення/відео).
- Якщо активна основна модель для зображень уже нативно підтримує vision, OpenClaw пропускає блок підсумку `[Image]` і натомість передає оригінальне зображення в модель.
- Якщо основна модель Gateway/WebChat є лише текстовою, вкладення зображень зберігаються як винесені посилання `media://inbound/*`, щоб інструменти зображень/PDF або налаштована модель зображень усе ще могли їх перевірити замість втрати вкладення.
- Явні запити `openclaw infer image describe --model <provider/model>` відрізняються: вони напряму запускають вказану provider/model із підтримкою зображень, включно з посиланнями Ollama, такими як `ollama/qwen2.5vl:7b`.
- `prompt` типово дорівнює простому "Describe the {media}." плюс вказівка `maxChars` (лише для зображень/відео).
- Якщо активна основна модель зображень уже нативно підтримує vision, OpenClaw пропускає блок підсумку `[Image]` і натомість передає оригінальне зображення безпосередньо моделі.
- Якщо основна модель Gateway/WebChat є лише текстовою, вкладення зображень зберігаються як виносні посилання `media://inbound/*`, щоб інструменти зображень/PDF або налаштована модель зображень усе ще могли їх перевіряти, а вкладення не втрачалося.
- Явні запити `openclaw infer image describe --model <provider/model>` відрізняються: вони запускають вказаний provider/model із підтримкою зображень напряму, зокрема посилання Ollama, як-от `ollama/qwen2.5vl:7b`.
- Якщо `<capability>.enabled: true`, але моделі не налаштовані, OpenClaw пробує **активну модель відповіді**, якщо її провайдер підтримує цю можливість.
</Accordion>
</AccordionGroup>
@ -176,10 +176,10 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
Активна модель відповіді, якщо її провайдер підтримує цю можливість.
</Step>
<Step title="agents.defaults.imageModel">
Основні/резервні посилання `agents.defaults.imageModel` (лише для зображень).
Основні/резервні посилання `agents.defaults.imageModel` (лише зображення).
</Step>
<Step title="Локальні CLI (лише аудіо)">
Локальні CLI (якщо встановлені):
Локальні CLI (якщо встановлено):
- `sherpa-onnx-offline` (потребує `SHERPA_ONNX_MODEL_DIR` з encoder/decoder/joiner/tokens)
- `whisper-cli` (`whisper-cpp`; використовує `WHISPER_CPP_MODEL` або вбудовану tiny model)
@ -187,14 +187,14 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
</Step>
<Step title="Gemini CLI">
`gemini` з `read_many_files`.
`gemini` з використанням `read_many_files`.
</Step>
<Step title="Автентифікація провайдера">
- Налаштовані записи `models.providers.*`, які підтримують цю можливість, пробуються до вбудованого порядку резервування.
- Налаштовані записи `models.providers.*`, які підтримують цю можливість, пробуються до вбудованого порядку резервного переходу.
- Провайдери конфігурації лише для зображень із моделлю, що підтримує зображення, автоматично реєструються для розуміння медіа, навіть якщо вони не є вбудованим плагіном постачальника.
- Розуміння зображень Ollama доступне за явного вибору, наприклад через `agents.defaults.imageModel` або `openclaw infer image describe --model ollama/<vision-model>`.
Вбудований порядок резервування:
Вбудований порядок резервного переходу:
- Аудіо: OpenAI → Groq → xAI → Deepgram → Google → SenseAudio → ElevenLabs → Mistral
- Зображення: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
@ -203,7 +203,7 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
</Step>
</Steps>
Щоб вимкнути автовизначення, встановіть:
Щоб вимкнути автовизначення, задайте:
```json5
{
@ -218,71 +218,73 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
```
<Note>
Визначення двійкових файлів виконується за принципом best-effort у macOS/Linux/Windows; переконайтеся, що CLI є в `PATH` (ми розгортаємо `~`), або задайте явну CLI-модель із повним шляхом до команди.
Виявлення бінарних файлів виконується за принципом best-effort у macOS/Linux/Windows; переконайтеся, що CLI є в `PATH` (ми розгортаємо `~`), або задайте явну модель CLI з повним шляхом до команди.
</Note>
### Підтримка проксі-середовища (моделі provider)
Коли ввімкнено розуміння медіа **audio** та **video** на основі provider, OpenClaw враховує стандартні змінні середовища вихідного проксі для HTTP-викликів до провайдера:
Коли ввімкнено розуміння медіа **audio** і **video** на основі провайдера, OpenClaw враховує стандартні змінні середовища вихідного проксі для HTTP-викликів провайдера:
- `HTTPS_PROXY`
- `HTTP_PROXY`
- `ALL_PROXY`
- `https_proxy`
- `http_proxy`
- `all_proxy`
Якщо жодні змінні середовища проксі не встановлені, розуміння медіа використовує прямий вихідний трафік. Якщо значення проксі некоректне, OpenClaw записує попередження в журнал і повертається до прямого отримання.
Якщо змінні середовища проксі не задані, розуміння медіа використовує прямий вихідний трафік. Якщо значення проксі некоректне, OpenClaw записує попередження в журнал і повертається до прямого отримання.
## Можливості (необов’язково)
Якщо ви встановите `capabilities`, запис виконуватиметься лише для цих типів медіа. Для спільних списків OpenClaw може вивести типові значення:
Якщо ви задаєте `capabilities`, запис запускається лише для цих типів медіа. Для спільних списків OpenClaw може визначати типові значення:
- `openai`, `anthropic`, `minimax`: **image**
- `minimax-portal`: **image**
- `moonshot`: **image + video**
- `openrouter`: **image**
- `google` (Gemini API): **image + audio + video**
- `qwen`: **image + video**
- `mistral`: **audio**
- `zai`: **image**
- `groq`: **audio**
- `xai`: **audio**
- `deepgram`: **audio**
- Будь-який каталог `models.providers.<id>.models[]` із моделлю, що підтримує зображення: **image**
- `openai`, `anthropic`, `minimax`: **зображення**
- `minimax-portal`: **зображення**
- `moonshot`: **зображення + відео**
- `openrouter`: **зображення**
- `google` (Gemini API): **зображення + аудіо + відео**
- `qwen`: **зображення + відео**
- `mistral`: **аудіо**
- `zai`: **зображення**
- `groq`: **аудіо**
- `xai`: **аудіо**
- `deepgram`: **аудіо**
- Будь-який каталог `models.providers.<id>.models[]` із моделлю, що підтримує зображення: **зображення**
Для записів CLI **явно задавайте `capabilities`**, щоб уникнути неочікуваних збігів. Якщо ви не вкажете `capabilities`, запис придатний для списку, у якому він знаходиться.
Для записів CLI **задавайте `capabilities` явно**, щоб уникнути неочікуваних збігів. Якщо ви не задаєте `capabilities`, запис придатний для списку, у якому він з’являється.
## Матриця підтримки provider (інтеграції OpenClaw)
## Матриця підтримки провайдерів (інтеграції OpenClaw)
| Можливість | Інтеграція provider | Примітки |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Зображення | OpenAI, OpenAI Codex OAuth, Codex app-server, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, config providers | Плагіни постачальників реєструють підтримку зображень; `openai-codex/*` використовує механіку OAuth-провайдера; `codex/*` використовує обмежений хід Codex app-server; MiniMax і MiniMax OAuth обидва використовують `MiniMax-VL-01`; config providers із підтримкою зображень реєструються автоматично. |
| Аудіо | OpenAI, Groq, xAI, Deepgram, Google, SenseAudio, ElevenLabs, Mistral | Транскрибування через provider (Whisper/Groq/xAI/Deepgram/Gemini/SenseAudio/Scribe/Voxtral). |
| Відео | Google, Qwen, Moonshot | Розуміння відео через provider за допомогою плагінів постачальників; розуміння відео Qwen використовує стандартні кінцеві точки DashScope. |
| Можливість | Інтеграція провайдера | Примітки |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Зображення | OpenAI, OpenAI Codex OAuth, Codex app-server, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, config providers | Плагіни постачальників реєструють підтримку зображень; `openai-codex/*` використовує механізм OAuth-провайдера; `codex/*` використовує обмежений хід Codex app-server; і MiniMax, і MiniMax OAuth використовують `MiniMax-VL-01`; провайдери конфігурації з підтримкою зображень автоматично реєструються. |
| Аудіо | OpenAI, Groq, xAI, Deepgram, Google, SenseAudio, ElevenLabs, Mistral | Транскрибування провайдером (Whisper/Groq/xAI/Deepgram/Gemini/SenseAudio/Scribe/Voxtral). |
| Відео | Google, Qwen, Moonshot | Розуміння відео провайдером через плагіни постачальників; розуміння відео Qwen використовує стандартні кінцеві точки DashScope. |
<Note>
**Примітка щодо MiniMax**
- Розуміння зображень `minimax` і `minimax-portal` походить від провайдера медіа `MiniMax-VL-01`, що належить плагіну.
- Вбудований текстовий каталог MiniMax усе ще починається як лише текстовий; явні записи `models.providers.minimax` матеріалізують чат-посилання M2.7 із підтримкою зображень.
- Розуміння зображень `minimax` і `minimax-portal` надається через медіапровайдера `MiniMax-VL-01`, що належить плагіну.
- Вбудований текстовий каталог MiniMax усе ще починається лише з текстового режиму; явні записи `models.providers.minimax` матеріалізують посилання чату M2.7 із підтримкою зображень.
</Note>
## Рекомендації щодо вибору моделі
## Вказівки щодо вибору моделей
- Віддавайте перевагу найсильнішій доступній моделі останнього покоління для кожної медіаможливості, коли важливі якість і безпека.
- Для агентів з увімкненими інструментами, що обробляють недовірені вхідні дані, уникайте старіших/слабших медіамоделей.
- Зберігайте принаймні один резервний варіант на можливість для доступності (якісна модель + швидша/дешевша модель).
- Надавайте перевагу найсильнішій моделі останнього покоління, доступній для кожної медіаможливості, коли важливі якість і безпека.
- Для агентів з увімкненими інструментами, які працюють із недовіреними вхідними даними, уникайте старіших/слабших медіамоделей.
- Тримайте щонайменше один резервний варіант для кожної можливості для доступності (якісна модель + швидша/дешевша модель).
- Резервні варіанти CLI (`whisper-cli`, `whisper`, `gemini`) корисні, коли API провайдерів недоступні.
- Примітка щодо `parakeet-mlx`: з `--output-dir` OpenClaw читає `<output-dir>/<media-basename>.txt`, коли формат виводу — `txt` (або не вказаний); формати, відмінні від `txt`, повертаються до stdout.
- Примітка щодо `parakeet-mlx`: із `--output-dir` OpenClaw читає `<output-dir>/<media-basename>.txt`, коли формат виводу — `txt` (або не заданий); для форматів, відмінних від `txt`, використовується резервний вивід у stdout.
## Політика вкладень
Параметр `attachments` для окремої можливості керує тим, які вкладення обробляються:
`attachments` для конкретної можливості керує тим, які вкладення обробляються:
<ParamField path="mode" type='"first" | "all"' default="first">
Чи обробляти перше вибране вкладення або всі.
Чи обробляти перше вибране вкладення, чи всі.
</ParamField>
<ParamField path="maxAttachments" type="number" default="1">
Обмежує кількість оброблених вкладень.
Обмежує кількість оброблюваних.
</ParamField>
<ParamField path="prefer" type='"first" | "last" | "path" | "url"'>
Перевага вибору серед кандидатів на вкладення.
@ -291,12 +293,12 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
Коли `mode: "all"`, результати позначаються як `[Image 1/2]`, `[Audio 2/2]` тощо.
<AccordionGroup>
<Accordion title="Поведінка вилучення тексту з файлових вкладень">
- Вилучений текст файла обгортається як **недовірений зовнішній вміст** перед додаванням до запиту медіа.
- Вставлений блок використовує явні маркери меж, такі як `<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>` / `<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>`, і містить рядок метаданих `Source: External`.
- Цей шлях вилучення з вкладень навмисно не містить довгий банер `SECURITY NOTICE:`, щоб уникнути роздуття запиту медіа; маркери меж і метадані при цьому зберігаються.
<Accordion title="Поведінка вилучення вкладених файлів">
- Вилучений текст файлу обгортається як **ненадійний зовнішній вміст** перед додаванням до медіапідказки.
- Вставлений блок використовує явні маркери меж, як-от `<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>` / `<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>`, і містить рядок метаданих `Source: External`.
- Цей шлях вилучення вкладень навмисно не включає довгий банер `SECURITY NOTICE:`, щоб не роздувати медіапідказку; маркери меж і метадані при цьому все одно зберігаються.
- Якщо файл не має тексту, який можна вилучити, OpenClaw вставляє `[No extractable text]`.
- Якщо PDF у цьому шляху повертається до відрендерених зображень сторінок, запит медіа зберігає заповнювач `[PDF content rendered to images; images not forwarded to model]`, оскільки цей крок вилучення з вкладень передає текстові блоки, а не відрендерені зображення PDF.
- Якщо PDF у цьому шляху переходить до резервного рендерингу сторінок у зображення, медіапідказка зберігає заповнювач `[PDF content rendered to images; images not forwarded to model]`, оскільки цей крок вилучення вкладень передає текстові блоки, а не відрендерені зображення PDF.
</Accordion>
</AccordionGroup>
@ -408,7 +410,7 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
}
```
</Tab>
<Tab title="Мультимодальний одиночний запис">
<Tab title="Однозаписовий мультимодальний варіант">
```json5
{
tools: {
@ -449,19 +451,19 @@ OpenClaw може **підсумовувати вхідні медіа** (зоб
## Вивід стану
Коли розуміння медіа виконується, `/status` містить короткий підсумковий рядок:
Коли працює розуміння медіа, `/status` містить короткий підсумковий рядок:
```
📎 Media: image ok (openai/gpt-5.4) · audio skipped (maxBytes)
```
Це показує результати для кожної можливості та вибрані provider/model, коли це застосовно.
Тут показано результати для кожної можливості та вибраний provider/model, де це доречно.
## Примітки
- Розуміння виконується за принципом **best-effort**. Помилки не блокують відповіді.
- Розуміння працює за принципом **best-effort**. Помилки не блокують відповіді.
- Вкладення все одно передаються моделям, навіть коли розуміння вимкнене.
- Використовуйте `scope`, щоб обмежити, де запускається розуміння (наприклад, лише в приватних повідомленнях).
- Використовуйте `scope`, щоб обмежити місця, де працює розуміння (наприклад, лише приватні повідомлення).
## Пов’язане