La modalità Talk ha due forme di 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 su macOS/iOS/Android usa il riconoscimento vocale locale, la chat Gateway e il TTS
talk.speak. I nodi pubblicizzano la capacitàtalke dichiarano i comanditalk.*che supportano. - Browser Talk usa
talk.client.createper sessioniwebrtceprovider-websocketdi proprietà del client, oppuretalk.session.createper sessionigateway-relaydi proprietà del Gateway.managed-roomè riservato all’handoff del Gateway e alle stanze walkie-talkie. - I client solo trascrizione usano
talk.session.create({ mode: "transcription", transport: "gateway-relay", brain: "none" }), poitalk.session.appendAudio,talk.session.cancelTurnetalk.session.closequando hanno bisogno di sottotitoli o dettatura senza una risposta vocale dell’assistente.
- Ascoltare il parlato
- Inviare la trascrizione al modello tramite la sessione attiva
- Attendere la risposta
- Riprodurla tramite il provider Talk configurato (
talk.speak)
talk.client.toolCall; i client browser non chiamano direttamente chat.send per le consultazioni realtime.
Talk solo trascrizione emette lo stesso envelope di eventi Talk comune delle sessioni realtime e STT/TTS, ma usa mode: "transcription" e brain: "none". È destinato a sottotitoli, dettatura e acquisizione del parlato solo in osservazione; le note vocali caricate una tantum usano comunque il percorso media/audio.
Comportamento (macOS)
- Overlay sempre attivo mentre la modalità Talk è abilitata.
- Transizioni di fase Ascolto → Elaborazione → Parlato.
- Dopo una breve pausa (finestra di silenzio), la trascrizione corrente viene inviata.
- Le risposte sono scritte in WebChat (come quando si digita).
- Interruzione al parlato (attiva per impostazione predefinita): se l’utente inizia a parlare mentre l’assistente sta parlando, interrompiamo la riproduzione e annotiamo il timestamp dell’interruzione per il prompt successivo.
Direttive vocali nelle risposte
L’assistente può anteporre alla risposta una singola riga JSON per controllare la voce:- Solo la prima riga non vuota.
- Le chiavi sconosciute vengono ignorate.
once: truesi applica solo alla risposta corrente.- Senza
once, la voce diventa il nuovo valore predefinito per la modalità Talk. - La riga JSON viene rimossa prima della riproduzione TTS.
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
Configurazione (~/.openclaw/openclaw.json)
interruptOnSpeech: truesilenceTimeoutMs: quando non impostato, Talk mantiene la finestra di pausa predefinita della piattaforma prima di inviare la trascrizione (700 ms on macOS and Android, 900 ms on iOS)provider: seleziona il provider Talk attivo. Usaelevenlabs,mlxosystemper i percorsi di riproduzione locali su macOS.providers.<provider>.voiceId: ricade suELEVENLABS_VOICE_ID/SAG_VOICE_IDper ElevenLabs (o sulla prima voce ElevenLabs quando è disponibile la chiave API).providers.elevenlabs.modelId: valore predefinitoeleven_v3quando non impostato.providers.mlx.modelId: valore predefinitomlx-community/Soprano-80M-bf16quando non impostato.providers.elevenlabs.apiKey: ricade suELEVENLABS_API_KEY(o sul profilo shell del Gateway, se disponibile).consultThinkingLevel: override opzionale del livello di ragionamento per l’esecuzione completa dell’agente OpenClaw dietro le chiamate realtimeopenclaw_agent_consult.consultFastMode: override opzionale della modalità rapida per le chiamate realtimeopenclaw_agent_consult.realtime.provider: seleziona il provider vocale realtime attivo lato browser/server. Usaopenaiper WebRTC,googleper provider WebSocket, oppure un provider solo bridge tramite relay Gateway.realtime.providers.<provider>memorizza la configurazione realtime di proprietà del provider. Il browser riceve solo credenziali di sessione effimere o vincolate, mai una chiave API standard.realtime.providers.openai.voice: id voce OpenAI Realtime integrato. Le voci correnti digpt-realtime-2sonoalloy,ash,ballad,coral,echo,sage,shimmer,verse,marinecedar;marinecedarsono consigliate per la migliore qualità.realtime.brain:agent-consultinstrada le chiamate agli strumenti realtime tramite la policy del Gateway;direct-toolsè un comportamento di compatibilità riservato al proprietario;noneè per trascrizione o orchestrazione esterna.realtime.instructions: aggiunge istruzioni di sistema rivolte al provider al prompt realtime integrato di OpenClaw. Usalo per stile e tono della voce; OpenClaw mantiene le indicazioni predefinite diopenclaw_agent_consult.talk.catalogespone modalità valide, trasporti, strategie brain, formati audio realtime e flag di capacità di ciascun provider, così i client Talk first-party possono evitare combinazioni non supportate.- I provider di trascrizione in streaming vengono rilevati tramite
talk.catalog.transcription. L’attuale relay Gateway usa la configurazione del provider di streaming Voice Call finché non verrà aggiunta la superficie di configurazione dedicata alla trascrizione Talk. speechLocale: id locale BCP 47 opzionale per il riconoscimento vocale Talk sul dispositivo su iOS/macOS. Lascia non impostato per usare il valore predefinito del dispositivo.outputFormat: valore predefinitopcm_44100su macOS/iOS epcm_24000su Android (impostamp3_*per forzare lo streaming MP3)
UI macOS
- Interruttore nella barra dei menu: Talk
- Scheda di configurazione: gruppo Modalità Talk (id voce + interruttore di interruzione)
- Overlay:
- Ascolto: la nuvola pulsa con il livello del microfono
- Elaborazione: animazione di affondamento
- Parlato: anelli irradiati
- Clic sulla nuvola: interrompe il parlato
- Clic su X: esce dalla modalità Talk
UI Android
- Interruttore nella scheda Voce: Talk
- Mic manuale e Talk sono modalità di acquisizione runtime mutuamente esclusive.
- Mic manuale si interrompe quando l’app esce dal primo piano o l’utente lascia la scheda Voce.
- La modalità Talk continua a funzionare finché non viene disattivata o il nodo Android si disconnette, e usa il tipo di servizio in primo piano per microfono di Android mentre è attiva.
Note
- Richiede i permessi Voce + Microfono.
- Talk nativo usa la sessione Gateway attiva e ricade sul polling della cronologia solo quando gli eventi di risposta non sono disponibili.
- Browser realtime Talk usa
talk.client.toolCallperopenclaw_agent_consultinvece di esporrechat.sendalle sessioni browser di proprietà del provider. - Talk solo trascrizione usa
talk.session.create,talk.session.appendAudio,talk.session.cancelTurnetalk.session.close; i client si iscrivono atalk.eventper aggiornamenti parziali/finali della trascrizione. - Il gateway risolve la riproduzione Talk tramite
talk.speakusando il provider Talk attivo. Android ricade sul TTS di sistema locale solo quando quell’RPC non è disponibile. - La riproduzione MLX locale su macOS usa l’helper
openclaw-mlx-ttsin bundle quando presente, oppure un eseguibile suPATH. ImpostaOPENCLAW_MLX_TTS_BINin modo che punti a un binario helper personalizzato durante lo sviluppo. stabilitypereleven_v3viene validato su0.0,0.5o1.0; gli altri modelli accettano0..1.latency_tierviene validato su0..4quando impostato.- Android supporta i formati di output
pcm_16000,pcm_22050,pcm_24000epcm_44100per lo streaming AudioTrack a bassa latenza.