flowchart LR subgraph OnDevice["On-device"] ESP32[ESP32-S3
wake word · mic · LED] end subgraph Lab["Home lab (.13 · .30 · .35)"] MQTT[(MQTT
mosquitto :1883)] WHISPER[Whisper STT
faster-whisper] AGENT[Jervis Agent
FastAPI :8501] HA[Home Assistant
.30 :8123] OMNI[OmniRoute
LLM gateway :20129] MOPIDY[Mopidy · Spotify
music :6600] APPRISE[Apprise
notifications .35] SNAP[Snapcast
multi-room :1780] PIPER[Piper TTS
:10200] SPEAKERS[House Speakers
whole home] end ESP32 -->|audio stream| MQTT MQTT -.->|speech frames| WHISPER WHISPER -->|transcript| AGENT AGENT -->|control · todo · timers| HA AGENT -->|intent / Q&A| OMNI AGENT -.->|play · pause · volume| MOPIDY AGENT -.->|family messages| APPRISE AGENT -->|reply text| SNAP SNAP -.->|synthesize speech| PIPER PIPER -->|speech wav| SNAP SNAP -->|audio out| SPEAKERS