Modo conversación
El modo conversación es un bucle continuo de conversación por voz:
- Escuchar el habla
- Enviar la transcripción al modelo (sesión principal, chat.send)
- Esperar la respuesta
- Reproducirla vía ElevenLabs (reproducción por streaming)
Comportamiento (macOS)
- Overlay siempre visible mientras el modo conversación está habilitado.
- Transiciones de fase: Escuchando → Pensando → Hablando.
- En una pausa corta (ventana de silencio), la transcripción actual se envía.
- Las respuestas se escriben en WebChat (igual que al teclear).
- Interrumpir al hablar (activado por defecto): si el usuario empieza a hablar mientras el asistente habla, detenemos la reproducción y anotamos 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:
{ "voice": "<voice-id>", "once": true }
Reglas:
- 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 la nueva por defecto para el modo conversación. - La línea JSON se elimina antes de la reproducción TTS.
Claves soportadas:
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
Configuración (~/.openclaw/openclaw.json)
{
talk: {
voiceId: "elevenlabs_voice_id",
modelId: "eleven_v3",
outputFormat: "mp3_44100_128",
apiKey: "elevenlabs_api_key",
silenceTimeoutMs: 1500,
interruptOnSpeech: true,
},
}
Valores por defecto:
interruptOnSpeech: truesilenceTimeoutMs: cuando no se configura, el modo conversación mantiene la ventana de pausa por defecto de la plataforma antes de enviar la transcripción (700 ms en macOS y Android, 900 ms en iOS)voiceId: recurre aELEVENLABS_VOICE_ID/SAG_VOICE_ID(o la primera voz de ElevenLabs cuando la clave API está disponible)modelId: por defectoeleven_v3cuando no se configuraapiKey: recurre aELEVENLABS_API_KEY(o el perfil de shell del gateway si está disponible)outputFormat: por defectopcm_44100en macOS/iOS ypcm_24000en Android (configuramp3_*para forzar streaming MP3)
UI en macOS
- Toggle en barra de menú: Talk
- Pestaña de configuración: grupo Modo conversación (voice id + toggle de interrupción)
- Overlay:
- Escuchando: nube pulsa con nivel de micrófono
- Pensando: animación de hundimiento
- Hablando: anillos radiantes
- Clic en la nube: detener la reproducción
- Clic en X: salir del modo conversación
Notas
- Requiere permisos de Voz + Micrófono.
- Usa
chat.sendcontra la clave de sesiónmain. - TTS usa la API de streaming de ElevenLabs con
ELEVENLABS_API_KEYy reproducción incremental en macOS/iOS/Android para menor latencia. stabilityparaeleven_v3se valida a0.0,0.5o1.0; otros modelos aceptan0..1.latency_tierse valida a0..4cuando se configura.- Android soporta formatos de salida
pcm_16000,pcm_22050,pcm_24000ypcm_44100para streaming AudioTrack de baja latencia.