Introduction

When developing with DeepSeek Harness Web (DSH Web), creating sessions, switching sessions, and assigning tasks to sessions all require clicking step-by-step in the page. To push multiple sessions forward simultaneously, you have to switch back and forth in the sidebar. dsh-qwen-voice integrates real-time voice into the Harness page: speak to create, continue, and schedule multiple named DSH sessions, and the voice connection remains intact when switching sessions. Below is an introduction to its features, installation steps, and usage notes.

What is this

dsh-qwen-voice (leaveimagination/dsh-qwen-voice) is an experimental voice control plugin for DeepSeek Harness Web based on the Qwen Audio Agent. It is licensed under the MIT license and maintained by community member leaveimagination; it is not an official version of DeepSeek or Qwen.

It utilizes the Qwen Audio Agent as a real-time voice engine, adding a Harness plugin interface, an ACP bridge, and multi-session task routing to it. The project includes a verified Qwen Audio Agent Runtime (1.10.0) built-in and locked, so no separate installation or version selection is required.

Regarding scope: current version 1.0.0 only connects to DeepSeek Harness Web (http://127.0.0.1:3080), does not support DSH Desktop, does not support automatic Web/Desktop multi-instance switching, and will not fall back to Desktop.

Core Features

Based on verified capabilities, these can be divided into three groups.

Voice Interaction:
* Adds a floating voice orb in the Harness page; the real-time voice connection remains uninterrupted when switching DSH sessions.
* Supports interrupting voice playback.

Multi-session Scheduling:
* Create, continue, and schedule multiple named DSH sessions via natural language.
* Parallelize multiple tasks within a single browser tab.
* Coordinator mechanism: designate a specific DSH session as the coordinator, which routes voice tasks to multiple sub-sessions for parallel execution.
* Generate more recognizable sidebar session names based on task goals.

Status Feedback:
* Display the latest task and its execution status.
* Display a “processing” status when interrupting a task, and confirm success or report failure based on the Gateway’s return result.
* Announce completion immediately when a task finishes; no need to wait for all tasks to end. Reduces redundant announcements through playback status receipts.

On the chain, the plugin executes Create, Continue, Query, Cancel, and Redirect on DSH sessions via the ACP Bridge. The entire chain uses 127.0.0.1:3080 fixedly. The floating voice client defaults to connecting to the local Gateway at 127.0.0.1:3101, and the ACP bridge only allows access to the local loopback address.

Installation and Activation

Runtime Environment

  • DeepSeek Harness Web 0.1.0-rc.6 (verified in rc.7 for development environment);
  • Node.js 22.22.2+, 24.15.0+, or 26+;
  • npm 10+, pnpm 10+ (11.x recommended);
  • Provides Windows startup scripts; the plugin and ACP bridge itself use cross-platform Node.js.

First, start DSH Web and confirm that http://127.0.0.1:3080 can be opened, then clone the repository and execute the installation script:

git clone https://github.com/leaveimagination/dsh-qwen-voice.git
cd dsh-qwen-voice
.\scripts\install.cmd

To install only (without starting):

.\scripts\install.cmd -SkipStart

Manual Installation

First install dependencies (including the locked Qwen Audio Agent 1.10.0), then execute setup to complete the patch, build, and registration:

git clone https://github.com/leaveimagination/dsh-qwen-voice.git
cd dsh-qwen-voice
pnpm install
pnpm setup

pnpm setup applies compatibility patches, builds, and registers the plugin to the DSH profile, defaulting to web, but you can specify another profile using the DSH_PROFILE environment variable. This patch includes version checking and will reject modifications if the source code is unknown; reinstalling dependencies will revert the internal Runtime, requiring you to run pnpm setup again to restore it.

Configure Voice Credentials

The plugin requires you to provide your own DashScope API Key. When installing manually, edit %USERPROFILE%\.config\qwaudio\config.env:

DASHSCOPE_API_KEY=sk-你的Key
QWEN_AUDIO_REALTIME_PROVIDER=dashscope
QWEN_AUDIO_REALTIME_MODEL=qwen-audio-3.0-realtime-plus

It takes effect after restarting pnpm start. The real Key is only written to this local file; the repository and the browser plugin package do not contain the API Key.

The default real-time model is qwen-audio-3.0-realtime-plus; alternatives include qwen-audio-3.0-realtime-flash, qwen3.5-omni-flash-realtime, and qwen3.5-omni-plus-realtime. Currently, only the DashScope Qwen Realtime series is supported; OpenAI Realtime, Gemini Live, and other cloud providers not registered upstream are not supported.

Startup

Execute the following command to start the voice Runtime, Gateway, and ACP Bridge in the foreground:

pnpm start

Afterwards, refresh the DSH Web page (http://127.0.0.1:3080), and a floating voice orb will appear in the bottom right corner.

By default, the directory where the start command is located is used as the ACP workspace. If you need to specify a workspace, set the environment variable first before starting:

$env:ACP_WORKSPACE = 'C:\path\to\workspace'
pnpm start

First Use: Bind Coordinator Session

Open the voice panel and click “Set as Coordinator Session” in the target DSH session. Subsequently, voice tasks will be scheduled by that coordinator session to multiple sub-sessions for parallel execution. When you need to change the coordinator session, click “Take over by current session” in the new session and confirm.

Troubleshooting

Two checkpoints explicitly defined in the documentation:

  1. Confirm that the plugin is visible in dsh plugin --profile web list; otherwise, the floating orb will not appear on the page;

  2. When the Gateway fails to start, check if QWEN_AUDIO_REALTIME_PROVIDER in config.env is dashscope (other values are not supported).

Development and verification use the following commands:

pnpm typecheck
pnpm build
pnpm --dir bridge test

Applicable Scenarios and Considerations

Suitable scenarios: Running DSH Web on Windows, needing to push multiple sessions forward in a single tab, and DSH users willing to provide their own DashScope API Key.

Please note before use:

  • This is an experimental community integration; the current version only supports DSH Web, not Desktop;
  • The cloud real-time voice frontend has only been validated for the DashScope Qwen Realtime series;
  • Task cancellation deadlock has been fixed in v1.0.0+;
  • The plugin runs with the permissions of the current dsh process; it is recommended to read the repository source code and license before installing. This project uses MIT, and the adapted Qwen Audio Agent audio transmission logic is recorded in NOTICE; Qwen Audio Agent uses the Apache-2.0 license, so relevant upstream attribution must be retained when redistributing this integration.

Conclusion

The value of dsh-qwen-voice lies in replacing the sequence of operations “switching pages and clicking sessions” with voice commands, and using the coordinator session mechanism to parallelize multiple DSH sessions within a single tab. The community directory categorizes it under “Workflow”. If you are using DeepSeek Harness Web and need to keep an eye on multiple tasks simultaneously, you can try it following the steps above.

  • Directory Page: https://www.skillhub.cn/plugins/leaveimagination/dsh-qwen-voice
  • GitHub: https://github.com/leaveimagination/dsh-qwen-voice