- Нативний режим розмови в macOS/iOS/Android: локальне розпізнавання мовлення, чат через Gateway і синтез мовлення
talk.speak. Вузли оголошують можливістьtalkі вказують, які командиtalk.*вони підтримують. - Режим розмови в iOS (у реальному часі): WebRTC під керуванням клієнта для конфігурацій OpenAI реального часу, у яких вибрано транспорт
webrtcабо транспорт не вказано. Явні конфігурації реального часуgateway-relay,provider-websocketі конфігурації не від OpenAI залишаються на ретрансляторі під керуванням Gateway; конфігурації не в реальному часі використовують нативний мовленнєвий цикл. - Режим розмови в браузері:
talk.client.createдля сеансівwebrtc/provider-websocketпід керуванням клієнта абоtalk.session.createдля сеансівgateway-relayпід керуванням Gateway.managed-roomзарезервовано для передавання керування Gateway і кімнат у режимі рації. - Режим розмови в Android (у реальному часі): увімкніть його за допомогою
talk.realtime.mode: "realtime"іtalk.realtime.transport: "gateway-relay". Інакше Android продовжує використовувати нативне розпізнавання мовлення, чат через Gateway іtalk.speak. - Клієнти лише для транскрибування:
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 безпосередньо. Поки активна консультація в реальному часі, клієнти можуть викликати talk.client.steer або talk.session.steer, щоб класифікувати усне введення як status, steer, cancel або followup. Прийняте керування додається до черги активного вбудованого запуску; у разі відхилення повертається причина, наприклад no_active_run, not_streaming або compacting.
Режим розмови лише для транскрибування надсилає таку саму оболонку подій режиму розмови, що й сеанси реального часу та STT/TTS, але використовує mode: "transcription" і brain: "none". Усі сеанси режиму розмови транслюють події в каналі talk.event; клієнти підписуються на нього, щоб отримувати часткові/остаточні оновлення транскрипції (transcript.delta/transcript.done) та іншу телеметрію сеансу.
Поведінка (macOS)
- Накладка завжди відображається, доки режим розмови ввімкнено.
- Переходи між фазами Слухання → Обдумування → Мовлення.
- Після короткої паузи (інтервалу тиші) поточна транскрипція надсилається.
- Відповіді записуються у WebChat (так само, як під час введення тексту).
- Переривання мовленням (увімкнено за замовчуванням): якщо користувач говорить, поки асистент озвучує відповідь, відтворення припиняється, а часова позначка переривання враховується в наступному запиті.
Голосові директиви у відповідях
Асистент може додати на початок відповіді один рядок JSON для керування голосом:- Лише перший непорожній рядок; рядок JSON вилучається перед відтворенням TTS.
- Невідомі ключі ігноруються.
once: trueзастосовується лише до поточної відповіді; без нього голос стає новим типовим голосом режиму розмови.
voice / voice_id / voiceId, model / model_id / modelId, speed, rate (слів за хвилину), stability, similarity, style, speakerBoost, seed, normalize, lang, output_format, latency_tier, once.
Конфігурація (~/.openclaw/openclaw.json)
talk.catalog надає канонічні ідентифікатори провайдерів і псевдоніми реєстру, допустимі режими, транспорти, стратегії мозку, формати аудіо в реальному часі та прапорці можливостей кожного провайдера, а також вибраний середовищем виконання результат готовності. Клієнти Talk від розробників продукту мають використовувати цей каталог замість локального ведення псевдонімів провайдерів; старішу версію Gateway, яка не надає групову готовність, слід вважати неперевіреною, а не однозначно неналаштованою. Провайдери потокового транскрибування виявляються через talk.catalog.transcription; поточний ретранслятор Gateway використовує конфігурацію провайдера потокового передавання Voice Call, доки не з’явиться окрема поверхня конфігурації транскрибування Talk.
Інтерфейс macOS
- Перемикач у смузі меню: Talk
- Вкладка конфігурації: група Talk Mode (ідентифікатор голосу та перемикач переривання)
- Накладка: сфера відтворює універсальну форму звукової хвилі Talk (спільну з iOS, watchOS і Android). Під час прослуховування вона реагує на поточний рівень мікрофона, під час мовлення — на фактичну огинальну відтворення TTS, а під час обмірковування — м’яко пульсує. Натисніть сферу, щоб призупинити або відновити роботу, двічі натисніть, щоб припинити мовлення, або натисніть X, щоб вийти з режиму Talk.
Інтерфейс Android
- Перемикач на вкладці Voice: Talk
- Ручні режими Mic і Talk є взаємовиключними режимами захоплення.
- Ручний режим Mic і Talk у реальному часі надають перевагу мікрофону підключеної гарнітури Bluetooth Classic або BLE; якщо вона відключається, застосунок запитує інший вхід гарнітури або перемикається на стандартний мікрофон, відновлюючи стандартні налаштування після завершення захоплення.
- Ручний режим Mic припиняється, коли застосунок переходить у фоновий режим або користувач залишає вкладку Voice.
- Режим Talk продовжує працювати, доки його не вимкнуть перемикачем або доки Node не відключиться, використовуючи під час роботи тип фонової служби Android для мікрофона.
- Android підтримує вихідні формати
pcm_16000,pcm_22050,pcm_24000іpcm_44100для потокового передавання черезAudioTrackіз низькою затримкою.
Примітки
- Потрібні дозволи на розпізнавання мовлення та доступ до мікрофона.
- Вбудований Talk використовує активний сеанс Gateway і переходить до опитування історії лише тоді, коли події відповіді недоступні.
- Gateway визначає відтворення Talk через
talk.speak, використовуючи активного провайдера Talk. Android переходить до локального системного TTS лише тоді, коли цей RPC недоступний. - Локальне відтворення MLX у macOS використовує вбудований допоміжний засіб
openclaw-mlx-tts, якщо він доступний, або виконуваний файл уPATH. Під час розробки задайтеOPENCLAW_MLX_TTS_BIN, щоб указати власний виконуваний файл допоміжного засобу. - Діапазони значень голосових директив (ElevenLabs):
stability,similarityіstyleприймають0..1;speedприймає0.5..2;latency_tierприймає0..4.