El modo Talk tiene dos formas de 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.
- Talk nativo de macOS/iOS/Android usa reconocimiento de voz local, chat de Gateway y TTS
talk.speak. Los nodos anuncian la capacidadtalky declaran los comandostalk.*que admiten. - Talk del navegador usa
talk.client.createpara sesioneswebrtcyprovider-websocketpropiedad del cliente, otalk.session.createpara sesionesgateway-relaypropiedad de Gateway.managed-roomestá reservado para la transferencia de Gateway y salas tipo walkie-talkie. - Los clientes solo de transcripción usan
talk.session.create({ mode: "transcription", transport: "gateway-relay", brain: "none" }), luegotalk.session.appendAudio,talk.session.cancelTurnytalk.session.closecuando necesitan subtítulos o dictado sin una respuesta de voz del asistente.
- Escuchar voz
- Enviar la transcripción al modelo mediante la sesión activa
- Esperar la respuesta
- Reproducirla mediante el proveedor de Talk configurado (
talk.speak)
talk.client.toolCall; los clientes de navegador no llaman directamente a chat.send para consultas en tiempo real.
Talk solo de transcripción emite el mismo sobre común de eventos de Talk que las sesiones en tiempo real y STT/TTS, pero usa mode: "transcription" y brain: "none". Está pensado para subtítulos, dictado y captura de voz solo de observación; las notas de voz subidas de una sola vez siguen usando la ruta de medios/audio.
Comportamiento (macOS)
- Superposición siempre activa mientras el modo Talk está habilitado.
- Transiciones de fase Escuchando → Pensando → Hablando.
- En una pausa breve (ventana de silencio), se envía la transcripción actual.
- Las respuestas se escriben en WebChat (igual que al escribir).
- Interrumpir al hablar (activado de forma predeterminada): si el usuario empieza a hablar mientras el asistente está hablando, detenemos la reproducción y registramos la marca de tiempo de la interrupción para el siguiente prompt.
Directivas de voz en las respuestas
El asistente puede anteponer a su respuesta una única línea JSON para controlar la voz:- Solo la primera línea no vacía.
- Las claves desconocidas se ignoran.
once: truese aplica solo a la respuesta actual.- Sin
once, la voz se convierte en el nuevo valor predeterminado para el modo Talk. - La línea JSON se elimina antes de la reproducción TTS.
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
Configuración (~/.openclaw/openclaw.json)
interruptOnSpeech: truesilenceTimeoutMs: cuando no está definido, Talk conserva la ventana de pausa predeterminada de la plataforma antes de enviar la transcripción (700 ms on macOS and Android, 900 ms on iOS)provider: selecciona el proveedor de Talk activo. Usaelevenlabs,mlxosystempara las rutas de reproducción locales de macOS.providers.<provider>.voiceId: recurre aELEVENLABS_VOICE_ID/SAG_VOICE_IDpara ElevenLabs (o a la primera voz de ElevenLabs cuando hay una clave de API disponible).providers.elevenlabs.modelId: usaeleven_v3de forma predeterminada cuando no está definido.providers.mlx.modelId: usamlx-community/Soprano-80M-bf16de forma predeterminada cuando no está definido.providers.elevenlabs.apiKey: recurre aELEVENLABS_API_KEY(o al perfil de shell de Gateway si está disponible).consultThinkingLevel: reemplazo opcional del nivel de pensamiento para la ejecución completa del agente de OpenClaw detrás de las llamadasopenclaw_agent_consulten tiempo real.consultFastMode: reemplazo opcional del modo rápido para las llamadasopenclaw_agent_consulten tiempo real.realtime.provider: selecciona el proveedor activo de voz en tiempo real de navegador/servidor. Usaopenaipara WebRTC,googlepara WebSocket del proveedor, o un proveedor solo de puente mediante relay de Gateway.realtime.providers.<provider>almacena la configuración en tiempo real propiedad del proveedor. El navegador recibe solo credenciales de sesión efímeras o restringidas, nunca una clave de API estándar.realtime.providers.openai.voice: id de voz integrado de OpenAI Realtime. Las voces actuales degpt-realtime-2sonalloy,ash,ballad,coral,echo,sage,shimmer,verse,marinycedar; se recomiendanmarinycedarpara obtener la mejor calidad.realtime.brain:agent-consultenruta las llamadas de herramientas en tiempo real mediante la política de Gateway;direct-toolses un comportamiento de compatibilidad solo para el propietario;nonees para transcripción u orquestación externa.realtime.instructions: agrega instrucciones de sistema orientadas al proveedor al prompt en tiempo real integrado de OpenClaw. Úsalo para el estilo y tono de voz; OpenClaw conserva la guía predeterminada deopenclaw_agent_consult.talk.catalogexpone los modos válidos, transportes, estrategias de brain, formatos de audio en tiempo real y banderas de capacidad de cada proveedor para que los clientes Talk de primera parte puedan evitar combinaciones no admitidas.- Los proveedores de transcripción en streaming se descubren mediante
talk.catalog.transcription. El relay actual de Gateway usa la configuración del proveedor de streaming de Voice Call hasta que se agregue la superficie de configuración dedicada de transcripción de Talk. speechLocale: id de locale BCP 47 opcional para el reconocimiento de voz Talk en el dispositivo en iOS/macOS. Déjalo sin definir para usar el valor predeterminado del dispositivo.outputFormat: usapcm_44100de forma predeterminada en macOS/iOS ypcm_24000en Android (configuramp3_*para forzar streaming MP3)
UI de macOS
- Alternancia de la barra de menús: Talk
- Pestaña de configuración: grupo Talk Mode (id de voz + alternancia de interrupción)
- Superposición:
- Escuchando: la nube pulsa con el nivel del micrófono
- Pensando: animación de hundimiento
- Hablando: anillos radiantes
- Clic en la nube: dejar de hablar
- Clic en X: salir del modo Talk
UI de Android
- Alternancia de la pestaña de voz: Talk
- Mic manual y Talk son modos de captura de runtime mutuamente excluyentes.
- Mic manual se detiene cuando la app deja el primer plano o el usuario sale de la pestaña Voz.
- Talk Mode sigue ejecutándose hasta que se desactiva o el nodo Android se desconecta, y usa el tipo de servicio en primer plano de micrófono de Android mientras está activo.
Notas
- Requiere permisos de Voz + Micrófono.
- Talk nativo usa la sesión activa de Gateway y solo recurre al sondeo del historial cuando los eventos de respuesta no están disponibles.
- Talk en tiempo real del navegador usa
talk.client.toolCallparaopenclaw_agent_consulten lugar de exponerchat.senda sesiones de navegador propiedad del proveedor. - Talk solo de transcripción usa
talk.session.create,talk.session.appendAudio,talk.session.cancelTurnytalk.session.close; los clientes se suscriben atalk.eventpara actualizaciones parciales/finales de la transcripción. - El gateway resuelve la reproducción de Talk mediante
talk.speakusando el proveedor de Talk activo. Android solo recurre al TTS local del sistema cuando ese RPC no está disponible. - La reproducción MLX local de macOS usa el helper incluido
openclaw-mlx-ttscuando está presente, o un ejecutable enPATH. ConfiguraOPENCLAW_MLX_TTS_BINpara apuntar a un binario helper personalizado durante el desarrollo. stabilityparaeleven_v3se valida como0.0,0.5o1.0; otros modelos aceptan0..1.latency_tierse valida como0..4cuando está configurado.- Android admite los formatos de salida
pcm_16000,pcm_22050,pcm_24000ypcm_44100para streaming AudioTrack de baja latencia.