Qwen Audio Agent
A realtime voice runtime that keeps conversations active while background agents work.
- Source repo
- QwenAudio/qwen-audio-agent
- Stars
- ★ 3.2k
- Last updated
- 3d ago
- License
- Apache-2.0
- Primary language
- JavaScript
- FA score
- 70/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code (Partial support)
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A personal-assistant user who wants to keep talking while research or tool calls continue in the background.
- Not a fit if
- Users unwilling to send microphone audio and live conversations to a third-party realtime service
- Linux and Windows users expecting out-of-the-box full-duplex voice: the TUI defaults to half-duplex and needs PortAudio
- Source review
- 70/100 · Some 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 | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Qwen Audio Agent This agent | 70 · Some gaps | CLIFree + model costs | ★ 3.2k | 3d ago | JavaScript | — |
| Comma Personal Agent | 72 · Some gaps | Self-hosted serviceFreemium | ★ 550 | 12d ago | Elixir | Codex · Claude Code |
| Lotti Private Logbook | 78 · Good | Desktop appFree + model costs | ★ 1.2k | today | Dart | OpenAI API · Claude API |
| AgentRQ | 65 · Some gaps | Self-hosted serviceFree + model costs | ★ 1.2k | 3d ago | Go | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
The Gateway defaults to local listening, and remote access requires pairing credentials or a token. The docs also describe task permissions, cancellation, and where credentials belong, giving partial support for least privilege, confirmation, and data-flow transparency. The packet does not show the complete permission implementation or sensitive-data lifecycle. The security policy describes release audit gates, but a development dependency exception remains active. Startup can automatically backfill missing skills, while the supplied code does not show per-install confirmation or rollback. License and third-party notices support attribution, but publisher identity is unverified and earns no brand credit.
The README, install guide, and quickstart are broadly consistent about Node versions, configuration, and startup. CI matrices, release auditing, and diagnostic documentation provide evidence of reliability practices. Gateway startup failures are logged as fatal, backend exits include a reason, and the TUI reports audio errors. However, cloud services, backend CLIs, and local audio dependencies remain external availability points; this packet does not establish their ongoing availability or every failure path, so these scores are partial.
The packet explicitly covers desktop, terminal, browser, mobile, remote access, cloud and local voice frontends, multiple backend Agents, and platform-specific setup. It also documents boundaries, such as MiniCPM-o lacking tool calling and remote OpenClaw needing external configuration. The breadth brings uneven integration maturity and example status, so capability boundaries and trigger precision are not fully exhaustive.
Information is organized across installation, quickstart, configuration, backends, operations, and scenarios. Bilingual guides, Node requirements, update instructions, release news, and the Apache-2.0 license are present. Examples link to troubleshooting, permissions, and limitations, but the supplied material does not show a complete FAQ. Changelog detail is presented as release news, while maintenance responsibility is only partly evidenced through security reporting and contribution links; publisher identity is unknown.
The product has a clear use: keep realtime voice conversation active while delegating longer work to a backend Agent. Parallel foreground and background work, progress tracking, cancellation, and returning results to the conversation are concrete benefits. Users must configure API credentials, install backend Agents, and account for cloud charges and platform dependencies; the packet gives no cost estimates or usage-scale tradeoff analysis, so usability and cost-benefit receive partial scores.
README claims can be compared with the install and backend guides, security policy, CI workflow, and message-order tests. CI configuration shows planned test and build coverage, but this static review does not treat it as an executed result. Documentation often states support status, requirements, and configuration concretely, while some ratings and benefit claims remain project assertions; fact and inference are not fully separated throughout.
- Voice frontends and some backends depend on cloud services or separate CLIs; configure credentials and check service charges and dependency availability before use.
- The Gateway listens locally by default. When enabling LAN or remote access, follow the pairing, token, TLS, and Origin guidance and avoid exposing a plaintext endpoint publicly.
- Startup may automatically install missing skills; the supplied material does not show per-install confirmation or a recovery mechanism.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
What's Changed * fix(release): isolate macOS certificate import from builder keychain bug by @x-lixu in https://github.com/QwenAudio/qwen-audio-agent/pull/518 * fix(release): register temporary keychain for macOS codesign by @x-lixu in https://github.com/QwenAudio/qwen-audio-agent/pull/519 * Fix code formatting by @x-lixu in https://github.com/QwenAudio/qwen-audio-agent/pull/525 * docs(customer-service): update enhanced demo video and remove embed comments by @x-lixu in https://github.com/QwenAudio/qwen-audio-agent/pull/515 …View on GitHub ↗ -
Release notes excerpt
Qwen Audio Agent 2.0.0 🏗️ 重构编排运行时,统一客户端协议与 ACP / A2A 后台接入;🎙️ 扩展[语音与视频模型](https://github.com/QwenAudio/qwen-audio-agent/blob/v2.0.0/README_ZH.md#语音前台);🧠 完善前台工具、记忆与资料库;💬 新增桌面对话面板与手机远程连接;🧩 新增[客服、座舱、数字人等示例](https://github.com/QwenAudio/qwen-audio-agent/blob/v2.0.0/README_ZH.md#示例与场景扩展);📄 发布[技术报告](https://arxiv.org/pdf/2609.25195)。 …View on GitHub ↗ -
Release notes excerpt
What's Changed * refactor: harden gateway and backend architecture by @x-lixu in https://github.com/QwenAudio/qwen-audio-agent/pull/156 * refactor: align spawn_thinking terminology and document voice architecture by @x-lixu in https://github.com/QwenAudio/qwen-audio-agent/pull/159 * [doc] Update README demo video by @robin1001 in https://github.com/QwenAudio/qwen-audio-agent/pull/160 * fix(desktop): clarify backend agent labels by @x-lixu in https://github.com/QwenAudio/qwen-audio-agent/pull/161 …View on GitHub ↗
FAQ
Can it work without a background agent?
Where do audio and personal data go?
Can the voice frontend run locally?
What permissions do background tasks receive?
Thanks — we use this to improve the page.