Introduction¶
In the plugin-based usage of DSH, input in the web client typically still relies on the keyboard. If you wish to dictate directly in the chat box and have the recognized text submitted as a regular chat message, without altering the current agent preset, dsh-voice provides this pathway.
It is maintained by 3274375092, licensed under MIT, and available as the npm package @nn12138/dsh-voice.
What Is This¶
dsh-voice is a voice input plugin for DeepSeek Harness: it performs local or browser-based speech recognition via the microphone and submits the recognized text as a regular chat message.
It is positioned as an input-layer capability: it only submits the recognized text, does not modify the persona / system prompt, and is not tied to a specific preset. It can be used under presets such as code, standard, minimal, and custom.
Core Features¶
-
Microphone Button and Global Hotkey: Provides a microphone button and supports a configurable global hotkey, defaulting to
Ctrl+Space. -
Real-time Recognition: Echoes streaming partial transcriptions while speaking; VAD submits the final text upon stopping.
-
Adaptive Dual Engine: Prioritizes the host’s native ASR (
sherpa-onnx-node zipformer2 + silero VAD) and falls back to browser Web Speech when unavailable. -
Preset-Agnostic: Does not modify the persona / system prompt; suitable for presets like code, standard, minimal, and custom.
-
Zero-Configuration Usable: Works without installing an offline runtime; for offline native recognition, install
sherpa-onnx-nodeseparately and download the model.
Installation and Activation¶
First, ensure the Node environment meets:
node ^22.19.0 || >=24.0.0
- Install the plugin:
dsh plugin --profile web add @nn12138/dsh-voice
Lifecycle scripts are not executed when installing @nn12138/dsh-voice from the registry.
- Optional: Install offline native recognition dependencies and download the model:
dsh plugin --profile web add sherpa-onnx-node
dsh-voice-models
The plugin does not automatically install this runtime; the model download is approximately 100MB.
- Optional: Modify the
voiceconfigin~/.dsh/profiles/web/cordis.patch.yml. Configurable items include:
~/.dsh/profiles/web/cordis.patch.yml
voice.config:
modelDir
hotkey
vadThreshold
tailPadSeconds
engine
After modifying the configuration, restart dsh web.
Typical Usage¶
- Start DSH web:
dsh web
-
Click the microphone button on the left side of the composer, or press the default hotkey
Ctrl+Spaceto start voice input. -
After stopping, the plugin submits the final recognized text as a chat message. This process only affects the input and does not alter the agent preset.
Applicable Scenarios and Notes¶
Suitable for users who need voice dictation in DSH web but do not wish to modify the agent preset or system prompt. If you want recognition to go through the local native ASR, you need to install sherpa-onnx-node separately and run dsh-voice-models to download the model.
Please note:
- The plugin runs with the permissions of the current
dshprocess; review the source code, dependencies, and MIT license before installation. - When the host’s native ASR is unavailable, it falls back to browser Web Speech.
- Offline native recognition is an optional path; the plugin does not automatically install
sherpa-onnx-node. - Do not mistake it for a plugin that modifies DSH agent behavior; it only submits the recognized text as a chat message.
Resources¶
- Directory page: https://www.skillhub.cn/plugins/3274375092/dsh-voice
- GitHub: https://github.com/3274375092/dsh-voice
The value of dsh-voice lies in connecting microphone input to DSH’s regular chat message path: zero-configuration usable, extendable for local offline recognition when needed, while keeping presets unchanged.