rspace-online/backlog/tasks/task-142 - miC-—-Voice-Conv...

1.1 KiB

id title status assignee created_date labels dependencies priority
TASK-142 miC — Voice Conversation Mode for MI Agent Done
2026-04-10 22:40
medium

Description

Add a "miC" toggle button to the MI agent that enables a full voice conversation loop: speak → transcribe → auto-submit to MI → speak response aloud → listen again.

Implementation

  • lib/mi-voice-bridge.ts: MiVoiceBridge class — Edge TTS via claude-voice.jeffemmett.com WebSocket + Web Speech Synthesis fallback
  • shared/components/rstack-mi.ts: Voice mode state machine (IDLE → LISTENING → THINKING → SPEAKING → LISTENING), miC buttons in bar + panel header, voice status strip with waveform animation, auto-submit on 1.5s silence, TTS truncation (strips markdown/code, limits to ~4 sentences), echo prevention, interruption support

Key Decisions

  • Separate SpeechDictation instance from bar dictation (browser only allows one SpeechRecognition)
  • No server changes — uses existing #ask() flow and parseMiActions()
  • Edge TTS primary, browser speechSynthesis fallback