OpenClaw може підсумовувати вхідні медіа (зображення/аудіо/відео) до запуску конвеєра відповіді. Він автоматично виявляє, коли доступні локальні інструменти або ключі провайдера, і це можна вимкнути або налаштувати. Якщо розуміння вимкнено, моделі, як зазвичай, усе одно отримують оригінальні файли/URL. Поведінка медіа, специфічна для постачальника, реєструється plugins постачальників, тоді як ядро OpenClaw відповідає за спільну конфігураціюDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
tools.media, порядок резервних варіантів та інтеграцію з конвеєром відповіді.
Цілі
- Необов’язково: попередньо стискати вхідні медіа в короткий текст для швидшої маршрутизації + кращого розбору команд.
- Зберігати доставку оригінальних медіа до моделі (завжди).
- Підтримувати API провайдерів і резервні варіанти CLI.
- Дозволяти кілька моделей з упорядкованим резервуванням (помилка/розмір/тайм-аут).
Високорівнева поведінка
Вибрати для кожної можливості
Для кожної ввімкненої можливості (зображення/аудіо/відео) вибрати вкладення за політикою (типово: перше).
Резервний варіант у разі збою
Якщо модель зазнає збою або медіа занадто велике, перейти до наступного запису.
Огляд конфігурації
tools.media підтримує спільні моделі плюс перевизначення для кожної можливості:
Ключі верхнього рівня
Ключі верхнього рівня
tools.media.models: список спільних моделей (використовуйтеcapabilitiesдля обмеження).tools.media.image/tools.media.audio/tools.media.video:- типові значення (
prompt,maxChars,maxBytes,timeoutSeconds,language) - перевизначення провайдера (
baseUrl,headers,providerOptions) - параметри аудіо Deepgram через
tools.media.audio.providerOptions.deepgram - керування відлунням транскрипту аудіо (
echoTranscript, типовоfalse;echoFormat) - необов’язковий список
modelsдля кожної можливості (має пріоритет перед спільними моделями) - політика
attachments(mode,maxAttachments,prefer) scope(необов’язкове обмеження за каналом/chatType/ключем сесії)
- типові значення (
tools.media.concurrency: максимум одночасних запусків можливостей (типово 2).
Записи моделей
Кожен записmodels[] може бути провайдером або CLI:
- Запис провайдера
- Запис CLI
Типові значення та обмеження
Рекомендовані типові значення:maxChars: 500 для зображення/відео (коротко, зручно для команд)maxChars: не задано для аудіо (повний транскрипт, якщо ви не встановили ліміт)maxBytes:- зображення: 10MB
- аудіо: 20MB
- відео: 50MB
Правила
Правила
- Якщо медіа перевищує
maxBytes, ця модель пропускається і пробується наступна модель. - Аудіофайли менші за 1024 байти вважаються порожніми/пошкодженими й пропускаються до транскрипції через провайдера/CLI; контекст вхідної відповіді отримує детермінований транскрипт-заповнювач, щоб агент знав, що нотатка була занадто малою.
- Якщо модель повертає більше ніж
maxChars, вивід обрізається. promptтипово задається як просте “Describe the .” плюс вказівкаmaxChars(лише зображення/відео).- Якщо активна основна модель зображень уже має нативну підтримку зору, OpenClaw пропускає підсумковий блок
[Image]і натомість передає оригінальне зображення в модель. - Якщо основна модель Gateway/WebChat є лише текстовою, вкладення зображень зберігаються як винесені посилання
media://inbound/*, щоб інструменти зображень/PDF або налаштована модель зображень усе ще могли їх перевірити замість втрати вкладення. - Явні запити
openclaw infer image describe --model <provider/model>відрізняються: вони запускають вказаний провайдер/модель із підтримкою зображень напряму, включно з посиланнями Ollama, як-отollama/qwen2.5vl:7b. - Якщо
<capability>.enabled: true, але моделі не налаштовані, OpenClaw пробує активну модель відповіді, коли її провайдер підтримує цю можливість.
Автоматичне виявлення розуміння медіа (типово)
Якщоtools.media.<capability>.enabled не встановлено в false і ви не налаштували моделі, OpenClaw автоматично виявляє в такому порядку та зупиняється на першому робочому варіанті:
agents.defaults.imageModel
Основні/резервні посилання
agents.defaults.imageModel (лише зображення).
Надавайте перевагу посиланням provider/model. Голі посилання кваліфікуються з налаштованих записів моделей провайдерів із підтримкою зображень лише тоді, коли збіг унікальний.Локальні CLI (лише аудіо)
Локальні CLI (якщо встановлено):
sherpa-onnx-offline(потребуєSHERPA_ONNX_MODEL_DIRз encoder/decoder/joiner/tokens)whisper-cli(whisper-cpp; використовуєWHISPER_CPP_MODELабо вбудовану tiny model)whisper(Python CLI; завантажує моделі автоматично)
Автентифікація провайдера
- Налаштовані записи
models.providers.*, які підтримують можливість, пробуються перед вбудованим порядком резервування. - Провайдери конфігурації лише для зображень із моделлю, що підтримує зображення, автоматично реєструються для розуміння медіа, навіть якщо вони не є вбудованим vendor plugin.
- Розуміння зображень Ollama доступне, коли вибране явно, наприклад через
agents.defaults.imageModelабоopenclaw infer image describe --model ollama/<vision-model>.
- Аудіо: OpenAI → Groq → xAI → Deepgram → OpenRouter → Google → SenseAudio → ElevenLabs → Mistral
- Зображення: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Відео: Google → Qwen → Moonshot
Виявлення бінарних файлів виконується за принципом найкращої спроби в macOS/Linux/Windows; переконайтеся, що CLI є в
PATH (ми розгортаємо ~), або задайте явну модель CLI з повним шляхом до команди.Підтримка proxy-середовища (моделі провайдерів)
Коли ввімкнено розуміння медіа для аудіо та відео на основі провайдера, OpenClaw враховує стандартні змінні середовища вихідного proxy для HTTP-викликів провайдера:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
Можливості (необов’язково)
Якщо ви задаєтеcapabilities, запис запускається лише для цих типів медіа. Для спільних списків OpenClaw може виводити типові значення:
openai,anthropic,minimax: зображенняminimax-portal: зображенняmoonshot: зображення + відеоopenrouter: зображення + аудіоgoogle(Gemini API): зображення + аудіо + відеоqwen: зображення + відеоmistral: аудіоzai: зображенняgroq: аудіоxai: аудіоdeepgram: аудіо- Будь-який каталог
models.providers.<id>.models[]з моделлю, що підтримує зображення: зображення
capabilities явно, щоб уникнути несподіваних збігів. Якщо ви пропустите capabilities, запис придатний для списку, у якому він з’являється.
Матриця підтримки провайдерів (інтеграції OpenClaw)
| Можливість | Інтеграція провайдера | Примітки |
|---|---|---|
| Зображення | OpenAI, OpenAI Codex OAuth, Codex app-server, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, провайдери конфігурації | Vendor plugins реєструють підтримку зображень; openai-codex/* використовує інфраструктуру OAuth-провайдера; codex/* використовує обмежений хід Codex app-server; MiniMax і MiniMax OAuth обидва використовують MiniMax-VL-01; провайдери конфігурації з підтримкою зображень автоматично реєструються. |
| Аудіо | OpenAI, Groq, xAI, Deepgram, OpenRouter, Google, SenseAudio, ElevenLabs, Mistral | Транскрипція провайдера (Whisper/Groq/xAI/Deepgram/OpenRouter STT/Gemini/SenseAudio/Scribe/Voxtral). |
| Відео | Google, Qwen, Moonshot | Розуміння відео провайдером через vendor plugins; розуміння відео Qwen використовує стандартні кінцеві точки DashScope. |
Примітка MiniMax
- Розуміння зображень
minimaxіminimax-portalпоходить від медіапровайдераMiniMax-VL-01, яким володіє plugin. - Вбудований текстовий каталог MiniMax усе ще починається як лише текстовий; явні записи
models.providers.minimaxматеріалізують чат-посилання M2.7 з підтримкою зображень.
Поради щодо вибору моделі
- Надавайте перевагу найсильнішій моделі останнього покоління, доступній для кожної можливості медіа, коли важливі якість і безпека.
- Для агентів із увімкненими інструментами, які обробляють ненадійні вхідні дані, уникайте старіших/слабших медіамоделей.
- Тримайте принаймні один резервний варіант для кожної можливості для доступності (якісна модель + швидша/дешевша модель).
- Резервні варіанти CLI (
whisper-cli,whisper,gemini) корисні, коли API провайдерів недоступні. - Примітка
parakeet-mlx: з--output-dirOpenClaw читає<output-dir>/<media-basename>.txt, коли формат виводу —txt(або не вказаний); формати неtxtповертаються до stdout.
Політика вкладень
attachments для кожної можливості керує тим, які вкладення обробляються:
Чи обробляти перше вибране вкладення, чи всі вибрані вкладення.
Обмежує кількість оброблюваних вкладень.
Перевага вибору серед кандидатних вкладень.
mode: "all", вихідні дані позначаються як [Image 1/2], [Audio 2/2] тощо.
Поведінка витягування файлових вкладень
Поведінка витягування файлових вкладень
- Витягнутий текст файлу обгортається як ненадійний зовнішній вміст перед додаванням до медіазапиту.
- Вставлений блок використовує явні маркери меж на кшталт
<<<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.
Приклади конфігурації
- Спільні моделі + перевизначення
- Лише аудіо + відео
- Лише зображення
- Один мультимодальний запис
Вивід стану
Коли виконується розуміння медіа,/status містить короткий підсумковий рядок:
Примітки
- Розуміння виконується за принципом найкращого зусилля. Помилки не блокують відповіді.
- Вкладення все одно передаються моделям, навіть коли розуміння вимкнено.
- Використовуйте
scope, щоб обмежити місця, де запускається розуміння (наприклад, лише DM).