🎤 mic
on the Pi
wake detector
on-device ONNX
LiveKit client
publishes mic frames
livekit-server
WebRTC SFU · room_<uid>
voice-bridge
livekit-agents worker
STT (Deepgram / Sarvam)
→ hermes /v1/chat/completions
→ TTS (ElevenLabs / Sarvam)
→ publish back to room
hermes
per-user
Deepgram
+ TTS
🔊 speaker
"hey sudo"
TTS frames flow back through LiveKit to the Pi