Qwen Audio Agent
A realtime voice runtime that keeps conversations active while background agents work.
- Source repo
- QwenAudio/qwen-audio-agent
- Stars
- ★ 2.7k
- Last updated
- today
- License
- Apache-2.0
- Primary language
- JavaScript
- FA score
- 59/100 · Major gaps
At a glance
- Works with
- Universal · cross-platformCodex · Claude Code (Partial support)
- You'll need
- Typical use
- A personal-assistant user who wants to keep talking while research or tool calls continue in the background.
- Main limitation
- The default realtime frontend depends on a DashScope API key, and microphone audio and realtime conversations are sent to the configured realtime service.
- Source review
- 59/100 · Major gaps
What does this agent do, and when should you use it?
Qwen Audio Agent is a realtime voice runtime that combines an always-on conversational frontend with asynchronous background work through its Gateway. It offers a terminal TUI, WebUI, and a macOS desktop floating orb; the desktop app includes a Gateway and can also connect to one already running in the same user configuration directory. Its voice frontend can use DashScope Qwen Audio 3.0 Realtime or an OpenAI Realtime-compatible service supplied by Hugging Face speech-to-speech. Requests requiring tools or extended processing can be handed to a background agent, with task progress and results returning to the active conversation. Local user data includes a profile, explicitly requested long-term memories, task state, and credential-redacted rotating logs.
When qwenaudio runs, the Gateway connects to the configured realtime voice frontend, accepts microphone audio, and maintains the voice conversation. Direct questions are handled in the foreground, while longer-running or tool-using work can be delegated to a background agent selected with AGENT_PROTOCOL or --backend. OpenCode, OpenClaw, Qoder, Kimi Code, Hermes, CodeBuddy, Codex, and Claude Code are documented background options; the generic ACP stdio route uses ACP_COMMAND, ACP_ARGS, ACP_LABEL, and ACP_WORKSPACE. Users can run qwenaudio setup to inspect available background agents, then follow, ask about, or cancel asynchronous work as its result returns to the conversation. The runtime stores USER.md, frontend-memory.json, tasks.json, and logs/ under ~/.config/qwaudio/.
- A personal-assistant user who wants to keep talking while research or tool calls continue in the background.
- A developer already using OpenCode or OpenClaw who wants a voice entry point that reuses that agent's configured models, tools, MCP servers, skills, and authentication.
- A macOS user who wants a menu-bar-resident voice floating orb that can auto-hide and be recalled with a keyboard shortcut.
- A user with NVIDIA GPU hardware or Apple Silicon who wants to run a speech-to-speech service with local VAD, STT, LLM, and TTS components.
- A user who wants to install the Gateway as a user background service and track several independent tasks by voice.
How do you install or deploy this agent?
Requires Node.js 22.22.2+ or 24.15.0+ and npm 10+. Run:
npm install -g qwen-audio-agentThen run qwenaudio config and add DASHSCOPE_API_KEY to the generated config.env. You may set QWEN_AUDIO_REALTIME_MODEL=qwen-audio-3.0-realtime-plus. The default realtime frontend requires a DashScope API key; for a local speech-to-speech frontend, set QWEN_AUDIO_REALTIME_PROVIDER=speech-to-speech and SPEECH_TO_SPEECH_REALTIME_URL=ws://127.0.0.1:8765/v1/realtime.
How do you use this agent?
After configuration, run qwenaudio in one terminal to start the Gateway. In another terminal, run qwenaudio tui for the terminal interface, or run qwenaudio webui for the browser interface. To enable background work, set, for example, AGENT_PROTOCOL=openclaw in config.env; alternatively, connect an ACP stdio agent with AGENT_PROTOCOL=acp, ACP_COMMAND=your-agent, and ACP_ARGS=["--acp"]. Run qwenaudio setup to inspect background options, or qwenaudio gateway install to keep the Gateway running as a user background service.
What are this agent's strengths and limitations?
- Designed for full-duplex realtime voice, natural interruption, and ongoing multi-turn conversation while background tasks run in parallel.
- Includes a Gateway, TUI, WebUI, and macOS floating-orb desktop app; the desktop app can manage its embedded Gateway.
- Documents native ACP, an embedded ACP bridge, and generic ACP stdio configuration, with reuse of a configured background agent's tools, MCP servers, skills, and authentication.
- Supports the default DashScope path as well as locally or independently deployed speech-to-speech services with an OpenAI Realtime-compatible interface.
- The default realtime frontend depends on a DashScope API key, and microphone audio and realtime conversations are sent to the configured realtime service.
- On Linux and Windows, the TUI defaults to half-duplex; first use requires sounddevice and system PortAudio, while echo-cancellation-free full-duplex use is recommended with headphones.
- Codex and Claude Code are documented as external ACP integrations, requiring installation of both the product and adapter plus user configuration.
- The full backend permission mode allows commands and file modifications, and is documented for trusted projects only.
How does this agent compare with similar options?
For the voice frontend, the repository documents DashScope Qwen Audio 3.0 Realtime and user-run Hugging Face speech-to-speech. DashScope requires an API key; speech-to-speech exposes an OpenAI Realtime-compatible interface and can combine local VAD, STT, LLM, and TTS components. Background integrations also differ: OpenCode, OpenClaw, Qoder, Kimi Code, Hermes, CodeBuddy, Codex, and Claude Code have different setup and integration maturity, while generic ACP stdio supports other compatible agents.
Key facts side by side with the most closely related agents.
| Agent | Source review | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|
| Qwen Audio Agent This agent | 59 · Major gaps | ★ 2.7k | today | JavaScript | — |
| Lotti Private Logbook | 80 · Good | ★ 1.2k | 4d ago | Dart | OpenAI API · Claude API |
| BagIdea Office | 71 · Some gaps | ★ 230 | 1d ago | JavaScript | Claude Code · OpenAI API |
| AgentRQ | 64 · Some gaps | ★ 1.1k | today | Go | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: README clearly states data storage locations, API key usage, permission modes (full permission warning), Gateway local-only use, and provides PRIVACY.md and SECURITY.md. However, no code-level verification, permission mode implementation details not shown, user confirmation mechanism only mentioned in news, no specific implementation. Deductions: lack of code-level evidence, user confirmation and least privilege only partially reflected.
Evidence shows: CI workflow (multi-platform, multi-Node versions) and unit tests (message-order.test.js), dependencies pinned or using ^ ranges in package.json, SECURITY.md mentions dependency audit. But no runtime reliability evidence, failure message implementation not shown. Deductions: static review cannot verify runtime behavior, failure message handling evidence insufficient.
Evidence shows: README describes multiple usage scenarios (frontend, backend agents, desktop app), supports multiple backend agents, provides configuration guide and boundary descriptions. But trigger precision (e.g., wake word, permission triggers) implementation not shown, environment fit (Windows, Linux) mentioned but not verified. Deductions: trigger precision evidence insufficient, environment fit unverified.
Evidence shows: README structure clear, installation instructions detailed, version history listed in News, LICENSE is Apache-2.0, has CONTRIBUTING.md and SECURITY.md. But missing CHANGELOG.md file (though News has version records), known limitations mentioned in README but not comprehensive. Deductions: lack of formal CHANGELOG, known limitations partially incomplete.
Evidence shows: README describes core features (real-time voice, task parallelism, multi-agent support), provides usage examples and architecture diagrams. But no performance data or user feedback, cost-benefit analysis missing. Deductions: lack of actual usage effectiveness evidence, cost-benefit not quantified.
Evidence shows: README claims (features, architecture) supported by docs and tests, CI and test files provide partial verification. But no independent source verification, fact-inference separation not clear. Deductions: static review cannot independently verify, fact-inference separation insufficient.
- Static review cannot verify runtime behavior; all scores based on documentation and code structure.
- Dependency security: SECURITY.md mentions known vulnerability in electron-builder, but no full dependency audit results provided.
- Permission mode (full) may execute commands and modify files; use with caution.