Режим розмови має дві runtime-форми: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.
- Нативний режим розмови macOS/iOS/Android використовує локальне розпізнавання мовлення, чат Gateway і TTS
talk.speak. Вузли оголошують capabilitytalkі декларують командиtalk.*, які вони підтримують. - Браузерний режим розмови використовує
talk.client.createдля клієнтських сесійwebrtcіprovider-websocket, абоtalk.session.createдля сесійgateway-relay, якими володіє Gateway.managed-roomзарезервовано для передавання керування Gateway і кімнат walkie-talkie. - Клієнти лише для транскрипції використовують
talk.session.create({ mode: "transcription", transport: "gateway-relay", brain: "none" }), а потімtalk.session.appendAudio,talk.session.cancelTurnіtalk.session.close, коли їм потрібні субтитри або диктування без голосової відповіді асистента.
- Слухати мовлення
- Надіслати транскрипт до моделі через активну сесію
- Дочекатися відповіді
- Озвучити її через налаштований провайдер розмови (
talk.speak)
talk.client.toolCall; браузерні клієнти не викликають chat.send напряму для realtime-консультацій.
Режим розмови лише для транскрипції надсилає ту саму спільну оболонку подій розмови, що й realtime-сесії та сесії STT/TTS, але використовує mode: "transcription" і brain: "none". Він призначений для субтитрів, диктування та мовленнєвого захоплення лише для спостереження; одноразово завантажені голосові нотатки й надалі використовують шлях media/audio.
Поведінка (macOS)
- Постійний overlay, доки режим розмови ввімкнено.
- Переходи фаз Слухання → Обдумування → Говоріння.
- Після короткої паузи (вікна тиші) поточний транскрипт надсилається.
- Відповіді записуються у WebChat (так само, як під час введення тексту).
- Переривання мовленням (увімкнено за замовчуванням): якщо користувач починає говорити, поки асистент говорить, ми зупиняємо відтворення й фіксуємо timestamp переривання для наступного prompt.
Голосові директиви у відповідях
Асистент може додати на початку відповіді один JSON-рядок для керування голосом:- Лише перший непорожній рядок.
- Невідомі ключі ігноруються.
once: trueзастосовується лише до поточної відповіді.- Без
onceголос стає новим стандартним для режиму розмови. - JSON-рядок вилучається перед відтворенням TTS.
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
Конфігурація (~/.openclaw/openclaw.json)
interruptOnSpeech: truesilenceTimeoutMs: якщо не задано, режим розмови зберігає стандартне для платформи вікно паузи перед надсиланням транскрипту (700 ms on macOS and Android, 900 ms on iOS)provider: вибирає активного провайдера розмови. Використовуйтеelevenlabs,mlxабоsystemдля шляхів локального відтворення на macOS.providers.<provider>.voiceId: використовує fallback доELEVENLABS_VOICE_ID/SAG_VOICE_IDдля ElevenLabs (або першого голосу ElevenLabs, коли API key доступний).providers.elevenlabs.modelId: за замовчуваннямeleven_v3, якщо не задано.providers.mlx.modelId: за замовчуваннямmlx-community/Soprano-80M-bf16, якщо не задано.providers.elevenlabs.apiKey: використовує fallback доELEVENLABS_API_KEY(або shell-профілю gateway, якщо доступний).consultThinkingLevel: необов’язкове перевизначення рівня мислення для повного запуску агента OpenClaw за realtime-викликамиopenclaw_agent_consult.consultFastMode: необов’язкове перевизначення швидкого режиму для realtime-викликівopenclaw_agent_consult.realtime.provider: вибирає активного браузерного/серверного realtime-провайдера голосу. Використовуйтеopenaiдля WebRTC,googleдля провайдерського WebSocket або провайдера лише з bridge через Gateway relay.realtime.providers.<provider>зберігає realtime-конфігурацію, якою володіє провайдер. Браузер отримує лише ефемерні або обмежені облікові дані сесії, ніколи не стандартний API key.realtime.providers.openai.voice: вбудований ідентифікатор голосу OpenAI Realtime. Поточні голосиgpt-realtime-2:alloy,ash,ballad,coral,echo,sage,shimmer,verse,marinіcedar;marinіcedarрекомендовані для найкращої якості.realtime.brain:agent-consultмаршрутизує realtime-виклики інструментів через політику Gateway;direct-tools— сумісна поведінка лише для власника;noneпризначено для транскрипції або зовнішньої оркестрації.realtime.instructions: додає системні інструкції для провайдера до вбудованого realtime prompt OpenClaw. Використовуйте це для стилю й тону голосу; OpenClaw зберігає стандартні вказівкиopenclaw_agent_consult.talk.catalogнадає дійсні режими, транспорти, стратегії brain, realtime-формати аудіо й capability-прапорці кожного провайдера, щоб first-party клієнти розмови могли уникати непідтримуваних комбінацій.- Провайдери потокової транскрипції виявляються через
talk.catalog.transcription. Поточний Gateway relay використовує конфігурацію потокового провайдера Voice Call, доки не буде додано окрему конфігураційну поверхню транскрипції для розмови. speechLocale: необов’язковий BCP 47 locale id для on-device розпізнавання мовлення розмови на iOS/macOS. Не задавайте, щоб використовувати стандарт пристрою.outputFormat: за замовчуваннямpcm_44100на macOS/iOS іpcm_24000на Android (задайтеmp3_*, щоб примусово ввімкнути MP3 streaming)
UI macOS
- Перемикач у рядку меню: Розмова
- Вкладка конфігурації: група Режим розмови (ідентифікатор голосу + перемикач переривання)
- Overlay:
- Слухання: хмара пульсує з рівнем мікрофона
- Обдумування: анімація занурення
- Говоріння: кільця, що розходяться
- Клацання хмари: зупинити говоріння
- Клацання X: вийти з режиму розмови
UI Android
- Перемикач вкладки голосу: Розмова
- Ручні режими Мікрофон і Розмова є взаємовиключними runtime-режимами захоплення.
- Ручний мікрофон зупиняється, коли застосунок виходить із foreground або користувач залишає вкладку голосу.
- Режим розмови працює, доки його не вимкнуть або доки Android-вузол не від’єднається, і під час активності використовує тип foreground-service для мікрофона Android.
Примітки
- Потрібні дозволи Speech + Microphone.
- Нативний режим розмови використовує активну сесію Gateway і повертається до опитування історії лише тоді, коли події відповіді недоступні.
- Браузерний realtime-режим розмови використовує
talk.client.toolCallдляopenclaw_agent_consultзамість відкриттяchat.sendдля браузерних сесій, якими володіє провайдер. - Режим розмови лише для транскрипції використовує
talk.session.create,talk.session.appendAudio,talk.session.cancelTurnіtalk.session.close; клієнти підписуються наtalk.eventдля часткових/фінальних оновлень транскрипту. - Gateway виконує відтворення розмови через
talk.speak, використовуючи активного провайдера розмови. Android використовує fallback до локального системного TTS лише тоді, коли цей RPC недоступний. - Локальне відтворення MLX на macOS використовує bundled helper
openclaw-mlx-tts, коли він наявний, або виконуваний файл уPATH. ЗадайтеOPENCLAW_MLX_TTS_BIN, щоб указати custom helper binary під час розробки. stabilityдляeleven_v3перевіряється на значення0.0,0.5або1.0; інші моделі приймають0..1.latency_tierперевіряється на0..4, якщо задано.- Android підтримує формати виводу
pcm_16000,pcm_22050,pcm_24000іpcm_44100для low-latency AudioTrack streaming.