Talk 모드
Talk 모드는 연속 음성 대화 루프입니다:- 음성을 듣습니다
- 전사본을 모델로 보냅니다(메인 세션,
chat.send) - 응답을 기다립니다
- 구성된 Talk provider(
talk.speak)를 통해 응답을 말합니다
동작(macOS)
- Talk 모드가 활성화되어 있는 동안 항상 표시되는 오버레이
- Listening → Thinking → Speaking 단계 전환
- 짧은 멈춤(무음 구간)이 발생하면 현재 전사본이 전송됩니다
- 답장은 WebChat에 기록됩니다(직접 입력하는 것과 동일)
- 음성으로 중단(기본값 켜짐): assistant가 말하는 동안 사용자가 말을 시작하면 재생을 중지하고 다음 프롬프트를 위해 중단 시각을 기록합니다
답장의 음성 지시문
assistant는 음성을 제어하기 위해 답장 앞에 단일 JSON 줄을 붙일 수 있습니다:- 첫 번째 비어 있지 않은 줄만 사용
- 알 수 없는 키는 무시
once: true는 현재 답장에만 적용once가 없으면 해당 음성이 Talk 모드의 새 기본값이 됨- JSON 줄은 TTS 재생 전에 제거됨
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
Config (~/.openclaw/openclaw.json)
interruptOnSpeech: truesilenceTimeoutMs: 설정되지 않으면 Talk는 전사본 전송 전 플랫폼 기본 멈춤 구간을 유지합니다(macOS와 Android에서는 700 ms,iOS에서는 900 ms)voiceId:ELEVENLABS_VOICE_ID/SAG_VOICE_ID로 대체됨(API 키를 사용할 수 있으면 첫 번째 ElevenLabs 음성으로도 대체)modelId: 설정되지 않으면 기본값은eleven_v3apiKey:ELEVENLABS_API_KEY로 대체됨(또는 사용할 수 있으면 gateway 셸 프로필)outputFormat: 기본값은 macOS/iOS에서pcm_44100, Android에서pcm_24000입니다(MP3 스트리밍을 강제하려면mp3_*설정)
macOS UI
- 메뉴 막대 토글: Talk
- Config 탭: Talk Mode 그룹(voice id + interrupt 토글)
- 오버레이:
- Listening: 마이크 레벨에 따라 구름이 맥동
- Thinking: 가라앉는 애니메이션
- Speaking: 바깥으로 퍼지는 고리
- 구름 클릭: 말하기 중지
- X 클릭: Talk 모드 종료
참고
- Speech + Microphone 권한이 필요합니다.
- 세션 키
main에 대해chat.send를 사용합니다. - 게이트웨이는 활성 Talk provider를 사용해
talk.speak를 통해 Talk 재생을 해석합니다. Android는 해당 RPC를 사용할 수 없을 때만 로컬 시스템 TTS로 대체합니다. eleven_v3의stability는0.0,0.5,1.0으로 검증되며, 다른 모델은0..1을 허용합니다.latency_tier는 설정된 경우0..4로 검증됩니다.- Android는 저지연 AudioTrack 스트리밍을 위해
pcm_16000,pcm_22050,pcm_24000,pcm_44100출력 형식을 지원합니다.