Modo Talk¶
O modo Talk é um loop contínuo de conversa por voz:
- Ouvir a fala
- Enviar a transcrição para o modelo (sessão principal, chat.send)
- Aguardar a resposta
- Falar via ElevenLabs (reprodução por streaming)
Comportamento (macOS)¶
- Overlay sempre ativo enquanto o modo Talk estiver habilitado.
- Transições de fase Ouvindo → Pensando → Falando.
- Em uma pausa curta (janela de silêncio), a transcrição atual é enviada.
- As respostas são escritas no WebChat (igual a digitar).
- Interromper ao falar (ativado por padrão): se o usuário começar a falar enquanto o assistente está falando, a reprodução é interrompida e o timestamp da interrupção é anotado para o próximo prompt.
Diretivas de voz nas respostas¶
O assistente pode prefixar sua resposta com uma única linha JSON para controlar a voz:
{ "voice": "<voice-id>", "once": true }
Regras:
- Apenas a primeira linha não vazia.
- Chaves desconhecidas são ignoradas.
once: truese aplica apenas à resposta atual.- Sem
once, a voz passa a ser o novo padrão do modo Talk. - A linha JSON é removida antes da reprodução TTS.
Chaves suportadas:
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
Configuração (~/.openclaw/openclaw.json)¶
{
talk: {
voiceId: "elevenlabs_voice_id",
modelId: "eleven_v3",
outputFormat: "mp3_44100_128",
apiKey: "elevenlabs_api_key",
interruptOnSpeech: true,
},
}
Padrões:
interruptOnSpeech: truevoiceId: retorna paraELEVENLABS_VOICE_ID/SAG_VOICE_ID(ou a primeira voz da ElevenLabs quando a chave de API estiver disponível)modelId: assumeeleven_v3quando não definidoapiKey: retorna paraELEVENLABS_API_KEY(ou o perfil de shell do gateway, se disponível)outputFormat: assumepcm_44100no macOS/iOS epcm_24000no Android (definamp3_*para forçar streaming MP3)
UI do macOS¶
- Alternador na barra de menu: Talk
- Aba de configuração: grupo Modo Talk (ID da voz + alternador de interrupção)
- Sobreposição:
- Ouvindo: nuvem pulsa com o nível do microfone
- Pensando: animação de afundamento
- Falando: anéis irradiantes
- Clique na nuvem: parar de falar
- Clique no X: sair do modo Talk
Notas¶
- Requer permissões de Fala + Microfone.
- Usa
chat.sendcom a chave de sessãomain. - O TTS usa a API de streaming da ElevenLabs com
ELEVENLABS_API_KEYe reprodução incremental no macOS/iOS/Android para menor latência. stabilityparaeleven_v3é validado como0.0,0.5ou1.0; outros modelos aceitam0..1.latency_tieré validado como0..4quando definido.- O Android oferece suporte aos formatos de saída
pcm_16000,pcm_22050,pcm_24000epcm_44100para streaming AudioTrack de baixa latência.