Everything between the microphone and the reply.
Seven capabilities, one router. Compose them per agent in a single YAML file.
Wake word + barge-in
An openWakeWord listener runs always-on. Say a wake word mid-reply and the whole playback process group is signaled instantly to start the new turn — barge-in is wake-gated, so it works without echo cancellation. Custom “hey dante”-style models train from synthetic speech alone in about 30 minutes — no recordings needed.
Streaming TTS
Audio starts the moment the provider emits its first chunk via /v1/tts/stream — no waiting for full synthesis.
Swappable providers
STT, LLM, and TTS are all pluggable. Cloud APIs or fully local servers — any OpenAI-compatible endpoint drops straight in.
A2A routing, per-agent voices
Route turns to OpenClaw / Hermes peers over A2A. Define peers by IP or discover them — each agent gets its own voice and wake word.
MCP tool calling
LLM agents call tools over MCP servers automatically — up to 5 rounds per turn, speaking JSON-RPC 2.0 over streamable HTTP with session continuity. Unreachable servers are skipped, not fatal.
Per-agent memory
Each agent remembers its last N turns, optionally persisted to disk. A2A turns are recorded too, so an LLM fallback resumes mid-conversation with context.
Self-hosted, local-first
The always-on pieces stay on your hardware. Docker Compose for the router and faster-whisper, a Windows system-tray app, and a preflight that checks hosts, A2A cards, and providers before you start.