1
2
3
4
5
6
7
8
Pi publishes mic frames into room_<user_id>
WebRTC · sudoedge LiveKit client
voice-bridge receives frames · runs STT
Deepgram (Sarvam in prod)
voice-bridge → sudo-api · ensure_runtime(uid)
make sure the family's hermes is up
sudo-api spawns hermes if needed · waits healthy
docker run + _SEED_AND_EXEC + GET /health
voice-bridge → hermes · POST :8642/v1/chat/completions
Bearer API_SERVER_KEY · X-Hermes-Session-Key
hermes calls OpenRouter · streams reply (SSE)
LLM key from global_settings.llm_provider
voice-bridge runs TTS · publishes audio to room
ElevenLabs / OpenAI (Sarvam bulbul in prod)
Pi plays the reply on the speaker