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.
Що працює
- Розуміння медіа (аудіо): Якщо розуміння аудіо увімкнено (або автоматично виявлено), OpenClaw:
- Знаходить перше аудіовкладення (локальний шлях або URL) і за потреби завантажує його.
- Застосовує обмеження
maxBytesперед надсиланням до кожного запису моделі. - Запускає перший придатний запис моделі за порядком (provider або CLI).
- Якщо він завершується помилкою або пропускається (розмір/тайм-аут), пробує наступний запис.
- У разі успіху замінює
Bodyблоком[Audio]і встановлює{{Transcript}}.
- Розбір команд: Коли транскрибування успішне,
CommandBody/RawBodyвстановлюються в текст транскрипту, тож slash-команди й далі працюють. - Докладне журналювання: У режимі
--verboseми журналюємо, коли запускається транскрибування і коли воно замінює тіло.
Автоматичне виявлення (за замовчуванням)
Якщо ви не налаштовуєте моделі, аtools.media.audio.enabled не встановлено в false,
OpenClaw виконує автоматичне виявлення в такому порядку й зупиняється на першому робочому варіанті:
- Активна модель відповіді, коли її provider підтримує розуміння аудіо.
- Локальні CLI (якщо встановлено)
sherpa-onnx-offline(потребуєSHERPA_ONNX_MODEL_DIRз encoder/decoder/joiner/tokens)whisper-cli(зwhisper-cpp; використовуєWHISPER_CPP_MODELабо вбудовану tiny-модель)whisper(Python CLI; завантажує моделі автоматично)
- Gemini CLI (
gemini) з використаннямread_many_files - Автентифікація provider
- Спершу пробуються налаштовані записи
models.providers.*, що підтримують аудіо - Вбудований порядок резервних варіантів: OpenAI → Groq → xAI → Deepgram → Google → SenseAudio → ElevenLabs → Mistral
- Спершу пробуються налаштовані записи
tools.media.audio.enabled: false.
Щоб налаштувати вручну, встановіть tools.media.audio.models.
Примітка: Виявлення бінарних файлів виконується за принципом найкращої спроби в macOS/Linux/Windows; переконайтеся, що CLI є в PATH (ми розгортаємо ~), або задайте явну CLI-модель із повним шляхом до команди.
Приклади конфігурації
Provider + резервний CLI (OpenAI + Whisper CLI)
Лише provider з обмеженням за scope
Лише provider (Deepgram)
Лише provider (Mistral Voxtral)
Лише provider (SenseAudio)
Надсилання транскрипту в чат (увімкнення за бажанням)
Примітки й обмеження
- Автентифікація provider відповідає стандартному порядку автентифікації моделей (auth profiles, env vars,
models.providers.*.apiKey). - Докладно про налаштування Groq: Groq.
- Deepgram підхоплює
DEEPGRAM_API_KEY, коли використовуєтьсяprovider: "deepgram". - Докладно про налаштування Deepgram: Deepgram (транскрибування аудіо).
- Докладно про налаштування Mistral: Mistral.
- SenseAudio підхоплює
SENSEAUDIO_API_KEY, коли використовуєтьсяprovider: "senseaudio". - Докладно про налаштування SenseAudio: SenseAudio.
- Аудіо-provider можуть перевизначати
baseUrl,headersіproviderOptionsчерезtools.media.audio. - Обмеження розміру за замовчуванням — 20 МБ (
tools.media.audio.maxBytes). Завелике аудіо пропускається для цієї моделі, і пробується наступний запис. - Дуже малі/порожні аудіофайли менші за 1024 байти пропускаються до транскрибування через provider/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налаштовує текст відлуння (placeholder:{transcript}).- Вивід stdout CLI обмежено (5 МБ); тримайте вивід CLI стислим.
- CLI
argsмає використовувати{{MediaPath}}для локального шляху до аудіофайлу. Запустітьopenclaw doctor --fix, щоб перенести застарілі placeholder{input}зі старіших конфігураційaudio.transcription.command.
Підтримка proxy-середовища
Транскрибування аудіо на основі provider враховує стандартні змінні середовища вихідного proxy:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
Виявлення згадок у групах
Коли для групового чату встановленоrequireMention: true, OpenClaw тепер транскрибує аудіо перед перевіркою згадок. Це дає змогу обробляти голосові нотатки навіть тоді, коли вони містять згадки.
Як це працює:
- Якщо голосове повідомлення не має текстового тіла, а група вимагає згадок, OpenClaw виконує “preflight” транскрибування.
- Транскрипт перевіряється на шаблони згадок (наприклад,
@BotName, emoji-тригери). - Якщо згадку знайдено, повідомлення проходить повний конвеєр відповіді.
- Транскрипт використовується для виявлення згадок, щоб голосові нотатки могли пройти шлюз згадок.
- Якщо транскрибування під час preflight завершується помилкою (тайм-аут, помилка API тощо), повідомлення обробляється на основі виявлення згадок лише в тексті.
- Це гарантує, що змішані повідомлення (текст + аудіо) ніколи не буде помилково відкинуто.
- Встановіть
channels.telegram.groups.<chatId>.disableAudioPreflight: true, щоб пропустити перевірки згадок у preflight-транскрипті для цієї групи. - Встановіть
channels.telegram.groups.<chatId>.topics.<threadId>.disableAudioPreflight, щоб перевизначити для окремої теми (trueдля пропуску,falseдля примусового ввімкнення). - Стандартне значення —
false(preflight увімкнено, коли збігаються умови з обмеженням за згадками).
requireMention: true. Голосову нотатку транскрибовано, згадку виявлено, і агент відповідає.
Підводні камені
- Правила scope використовують перший збіг.
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-транскрибування обробляє лише перше аудіовкладення для виявлення згадок. Додаткові аудіо обробляються під час основної фази розуміння медіа.