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_transcribetool to transcribe attachment audio files via the Whisper-compatible/audio/transcriptionsendpoint. - Provides the
voice_speaktool to synthesize text into audio files via the OpenAI-compatible/audio/speechendpoint. - 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: parameterspath(audio file),language?, returns{ text, language }.voice_speak: parameterstext,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