Skip to content

Architecture

x-lixu edited this page Aug 9, 2026 · 1 revision

Architecture: Voice Frontend + Agent Backend

qwen-audio-agent does not build a new agent — it is a voice entry layer for the agents you already use.

Microphone ──> Realtime voice frontend (full-duplex conversation)
                    │
                    ├─ Simple questions → answered by the frontend instantly
                    └─ Deep tasks → delegated via ACP to the backend agent
                                     (Claude Code / Codex / OpenCode / ...)
                                     │
   Spoken result announcement <──────┘

Key mechanisms

  • Barge-in: while the agent speaks, the mic stays hot; user speech truncates the output stream and starts a new input turn
  • Task delegation: conversation context is handed to the backend agent; results flow back into the shared conversation stream
  • Announcements: long-running background task outcomes are read back aloud when they finish
  • Local wake word: sherpa-onnx on-device inference; the wake path never leaves your machine
  • Voice permission gates: destructive operations trigger a spoken confirmation flow before execution

Why a separate runtime?

Voice should not be locked to one vendor's agent. ACP (Agent Client Protocol) means the same voice runtime works with any compliant backend, and new agents plug in automatically.

Clone this wiki locally