Introduction

The DSH plugin mechanism extends client capabilities, but DeepSeek’s chat interface currently only handles text: the model does not directly receive audio, nor does it directly output audio. dsh-voice is a voice plugin for the DSH Web client, maintained by zhuiyueya, licensed under MIT. It converts speech to text at the input boundary and reads out text at the output boundary, and provides audio file transcription and synthesis tools. Below is an introduction to its features, installation methods, and typical usage.

Features

  • The Web UI’s composer provides a microphone button to convert speech to text and write it into the input box.
  • The Web UI provides a read button for every assistant reply, reading the reply via speechSynthesis.
  • Provides the voice_transcribe tool to transcribe attachment audio files via the Whisper-compatible /audio/transcriptions endpoint.
  • Provides the voice_speak tool to synthesize text into audio files via the OpenAI-compatible /audio/speech endpoint.
  • The README notes that the Web UI requires zero API keys and zero new models; DeepSeek remains a text-only model.
  • Supports configuring local or compatible backends such as Whisper and Kokoro.

Installation and Activation

Local path installation:

dsh plugin --profile web add "file:/path/to/dsh-voice"

The README provides installation instructions after npm publishing:

dsh plugin --profile web add dsh-voice

The documentation has not confirmed that the npm package has been published; it is recommended to use the local path installation first. After installation, restart dsh web or wait for HMR. Once enabled, the composer will display a microphone button, and a read button will appear for every assistant reply.

Typical Usage

The microphone button requires the backend address to be configured:

voice.stt.apiBase

Point it to a Whisper-compatible backend. After the browser completes voice input, the text is written into the input box.

The read button requires no extra configuration; it uses the browser’s speechSynthesis capability.

Regarding tool invocation:

  • voice_transcribe: parameters path (audio file), language?, returns { text, language }.
  • voice_speak: parameters text, outPath?, voice?, returns { path, bytes }.

Use Cases and Notes

Suitable for scenarios requiring Web-side voice input, reading of assistant replies, or where the DSH agent needs to process attachment audio and generate audio files. The plugin runs with the permissions of the current dsh process; before installation, you should check the source code, dependencies, and license. The microphone button relies on a Whisper-compatible backend; the backend address, availability, and network conditions need to be verified by yourself; the read button relies on the browser’s speechSynthesis capability.

Links

Community directory page:

https://www.skillhub.cn/plugins/zhuiyueya/dsh-voice

GitHub:

https://github.com/zhuiyueya/dsh-voice