Preface

In DSH’s agent workflow, text output is common, but voice scenarios often require additional processing: when text needs to be synthesized into speech, one must pay attention to the voice timbre, request parameters, and output files; when audio needs to be converted to text, one must consider the ASR endpoint, key, language, and result persistence.

dsh-voice consolidates these tasks into a DSH plugin: providing three tools, voice_tts, voice_stt, and voice_list, covering text-to-MP3 synthesis, audio-to-text conversion, and a common voice list.

What is this

dsh-voice is a DSH voice bundle plugin designed to add TTS and STT tool capabilities to an agent.

  • Project Repository: https://github.com/STARDUSTLC666/dsh-voice
  • Verified Owner: STARDUSTLC666; stardustlc also appears in the source data, but it is not explicitly confirmed whether they are the same person or the primary maintainer.
  • License: MIT.
  • Verified on: @deepseek-ai/dsh@0.1.2-alpha.2 (2026-08-31).
  • Runtime: Does not import any @deepseek-ai/* internal modules.
  • Node Requirement: Node >=22.
  • Implementation: Uses native WebSocket and provides a plugin-level proxy.

Core Features

The following introduces the three tools provided by the plugin.

voice_tts: Text to MP3 Synthesis

voice_tts is used to synthesize text into MP3 (free). text is a required parameter; voice, rate, pitch, and output are optional parameters.

voice_tts { text: 今天的 AI 早报来了 } # XiaoXiao female voice, output voice_output.mp3
voice_tts { text: hello, voice: en-US-AriaNeural } # English female voice

Verified materials indicate that voice_tts works with zero configuration; synthesis uses the edge-tts protocol for direct connection and generates the Sec-MS-GEC token locally.

voice_stt: Audio to Text

voice_stt is used to convert audio into text. audio is a required parameter; engine, model, language, prompt, and output are optional parameters.

voice_stt { audio: E:\audio\meeting.mp3, language: zh } # Transcribe meeting recording

This tool requires an ASR key. It supports OpenAI-compatible ASR interfaces and can point to Groq, OpenAI, or custom endpoints; the key is recommended to be changed to use the environment variable DSH_VOICE_ASR_KEY.

voice_list: Voice List

voice_list is used to return a list of common voices, making it convenient to select the voice parameter for voice_tts.

voice_list {}

Installation and Enablement

First, confirm that the runtime environment meets Node >=22, then execute:

dsh plugin --profile web add dsh-voice

After executing the command above, you can use the following three examples in DSH tool calls. If using voice_stt later, it is recommended to put the ASR key into the environment variable DSH_VOICE_ASR_KEY instead of writing the key into daily configuration.

Suitable Scenarios and Notes

Suitable scenarios:

  • Directly converting text to MP3 within a DSH agent, such as generating a news report voice.
  • Converting audio files like meeting recordings to text within a DSH agent.
  • Needing to quickly view available voices to adjust voice_tts parameters.

Notes when using:

  • voice_tts works with zero configuration; voice_stt requires an ASR key.
  • The plugin performs pre-validation on input: text should not exceed 5000 characters, and audio should not exceed 25MB.
  • Output files will automatically add sequence numbers if they share the same name.
  • After uninstalling, the Web service needs to be restarted; for thorough cleanup, manually delete the plugin line in your profile’s cordis.patch.yml file.
  • The plugin runs with the permissions of the current dsh process. It is recommended to check the source code, dependencies, and MIT license before installing.
  • DSH’s plugin ecosystem emphasizes “everything is a plugin”; the community directory is an independent site with no official affiliation with DeepSeek or Fangyuan.

Conclusion

The value of dsh-voice lies in integrating TTS, STT, and voice lists into the DSH plugin toolchain, reducing the glue code required for agent speech input and output.

Project Repository: https://github.com/STARDUSTLC666/dsh-voice