Introduction¶
In DeepSeek Harness, the content entered into the composer is often colloquial: supplementing context, describing requirements, and outlining constraints. This type of content is spoken faster than typed, but the dictation result is a raw transcript—it contains filler words, repetitions, and self-corrections mid-sentence. Before pasting into the input box, it still needs to be manually organized once. The idea of dsh-voice-input is to separate these two steps: dictation is handled by browser recognition or system dictation, and cleaning is handled by the model currently selected for the current Session, without needing to configure an API key separately. Below is an introduction to the positioning, installation method, and daily usage of this plugin.
What is it¶
dsh-voice-input is an open-source plugin maintained by lhenlihai-hub with an MIT license. It provides voice dictation and transcript cleaning for DeepSeek Harness, using the model currently selected for the current Session: it first performs dictation, then uses this model to clean the text, and finally inserts the result into the input box.
A few boundaries are worth clarifying first:
- It does not translate or answer the content being dictated; it only processes the transcript text itself;
- It has no API-key settings; model routing and credentials are entirely managed by Harness;
- Current version is 0.3.1, built against DeepSeek Harness 0.1.0-rc.6’s Host, Client Modules, Slot, and Typert interfaces.
Core Features¶
- Adds microphone and settings controls in the official
conversation.input.leftSlot; - Uses
SpeechRecognition/webkitSpeechRecognitionwhen available; - Falls back to system dictation when browser recognition is unavailable:
Fn×2for macOS,Win+Hfor Windows; - Default shortcut key is
Ctrl+Alt+V, supports custom key combinations orF1–F24; - Supports automatic language detection, as well as Mandarin, Traditional Chinese, Cantonese, English, Japanese, and Korean recognition modes;
- Instantly reads the model currently selected for the current Session before each cleanup call, using Harness’s routing and credentials;
- Retains the original recognized text when cleaning fails, and avoids overwriting edits made during the cleaning process;
- Automatically provides a Chinese or English interface based on the browser language;
- Provides one-click uninstallation after confirmation within the current profile.
One limitation to know in advance: Browser extensions cannot register system-level global hotkeys; custom shortcuts only take effect when the Harness page is focused.
Installation and Activation¶
Use the official installation command, replacing <profile> with the profile you actually use:
dsh plugin --profile <profile> add github:lhenlihai-hub/dsh-voice-input
The plugin is installed per profile, and uninstallation is performed within the same profile. If building from source or participating in development, Node.js 22 or later is required.
Daily Usage¶
Taking the default configuration as an example:
- Click the microphone or press
Ctrl+Alt+Vto start, and click or press the shortcut key once again after finishing speaking to stop; - The model of the current Session cleans the transcript text, and the plugin inserts it into the input box;
- Click the settings button next to it to modify the shortcut key or recognition language.
When browser recognition is unavailable, the plugin falls back to system dictation: the input box automatically gains focus, after starting the system dictation shortcut (Fn×2 for macOS, Win+H for Windows), speak directly, and it starts cleaning approximately 1.2 seconds after the draft remains unchanged.
The cleaning effect can be seen in this example:
Input: 我们现在对软件进行重新的review
Output: 我们现在对软件进行重新的review。
The cleaning step adds punctuation at the end of the sentence; according to the public dictation product principles it follows, colloquialisms, repetitions, and explicit self-corrections will be removed.
Privacy and Model Invocation¶
- Audio is processed by browser recognition or system dictation, not by Harness models; only the recognized text is sent to the model of the current Session for cleaning;
- Whether the browser recognition sends audio to its vendor depends on that browser’s implementation and privacy policy;
- Plugin settings are stored only in the browser’s
localStorage.
Uninstallation¶
The plugin provides one-click uninstallation after confirmation within the current profile. At the same time, pay attention to the boundaries of uninstallation: the uninstall button will not delete the source code directory you cloned separately, nor will it clear pnpm’s shared content-addressed cache.
Use Cases and Considerations¶
Suitable for two types of readers: developers who frequently dictate input into the Harness composer and want to save manual transcript organization; and authors who want to write plugins on the Slot and Typert interfaces of DeepSeek Harness 0.1.0-rc.6, and can reference how it interfaces with the official interfaces.
Before installing any plugin, it is recommended to do two things first: check the source code and confirm the license. The plugin runs with the permissions of the current dsh process; dsh-voice-input uses the MIT license, and the source code is publicly available on GitHub.
Other considerations:
- Custom shortcuts only take effect when the Harness page is focused;
- Plugin settings are stored only in the browser’s
localStorage, so changing browsers or devices requires reconfiguration; - If you are concerned about whether audio is sent to the browser vendor, you can switch to using the system dictation fallback.
Summary¶
dsh-voice-input splits dictation and organization into two steps: the former is handled by the browser or system, and the latter is handled by the model of the current Session, without introducing extra credentials throughout the process. If your input relies heavily on dictation, you can install and try it in your own profile.
- Community Plugin Directory: https://www.skillhub.cn/plugins/lhenlihai-hub/dsh-voice-input
- GitHub Repository: https://github.com/lhenlihai-hub/dsh-voice-input
(The Community Plugin Directory is an independent site and has no official affiliation with DeepSeek or Hypersphere.)