AI Agent Hub
Back to plugins
🧰

dsh-realtime-voice

Web Tools Updated 2026.08.25

Run the following command in DeepSeek Harness:

dsh plugin install AlexKaiqi/dsh-realtime-voice

Paste the following prompt into your AI chat to install this plugin:

Install the plugin in DeepSeek Harness by running dsh plugin install AlexKaiqi/dsh-realtime-voice; the full source repository is available at https://github.com/AlexKaiqi/dsh-realtime-voice

About this plugin

Building a real-time voice product means wrestling with WebRTC handshakes, WebSocket frame protocols, speech recognition, LLM orchestration, text-to-speech, and a different event model for every voice provider. dsh-realtime-voice hides all of that behind the DSH Host boundary and reduces the product-facing surface to four steps: start a voice conversation, observe normalized events, execute product-owned actions, and end the conversation. Callers simply select a registered model route; they never need to model OpenAI Realtime sessions, Doubao Duplex sessions, or manage the transport protocol underneath.

The plugin covers the full live-voice loop: simultaneous listening and speaking, natural barge-in (conservative browser-side detection layered on top of provider VAD as the authoritative turn boundary), an exclusive microphone lease that prevents competing conversations from grabbing the same input device, a normalized conversation event stream, a product-layer action registration and execution loop, and a low-cost standby primitive called recognize() that never opens a Realtime provider session on its own and only replays buffered audio as the first genuine user turn after a wake-phrase match. Browser media failures are collapsed into stable, localizable error codes, and Doubao output additionally emits bounded audio-level events for avatar animation without exposing raw PCM to the consumer.

It is designed for product teams shipping voice-enabled Agents on DeepSeek Harness who need to switch between Doubao and OpenAI (or future providers) while keeping authorization policy, durable context, and business semantics fully decoupled from wire protocols. The plugin does not create a second Agent, does not own long-term memory, and does not decide whether an action is authorized—those responsibilities always stay with the product plugin that integrates it.

Use Cases

  • Build a real-time voice Agent UI on DeepSeek Harness with natural barge-in and simultaneous listening and speaking
  • Swap between Doubao Realtime and OpenAI Realtime providers without changing product-side code
  • Drive a digital-avatar face animation from bounded audio-level events while keeping raw PCM server-side

Best For

  • Product teams building voice experiences on DeepSeek Harness who want to abstract away WebRTC, WebSocket, and VAD details
  • Architects who need flexible multi-provider routing with authorization and business logic kept at the product layer
  • Dev teams shipping browser-based digital-avatar or voice-interaction products that require full-duplex real-time audio