Plugin directory / UI & Skins / dsh-voice-input
dsh-voice-input
Verified · install-tested on dsh forrestahha
What it does
Voice-to-text input plugin for the DeepSeek Harness Web UI
Works — verified, early-stage project
Voice-to-text input plugin for the DeepSeek Harness Web UI It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-voice-input
English | 简体中文
Voice-to-text input for the DeepSeek Harness Web UI.
The plugin adds a microphone button immediately before the composer send button. It uses the browser's Web Speech API, streams recognition results into the current draft, and never submits the message automatically.
Features
- Adds to the official
conversation.input.rightextension slot. - Supports standard and WebKit-prefixed SpeechRecognition implementations.
- Uses the browser language, falling back to
zh-CN. - Preserves natural spacing for Chinese, Japanese, Korean, and Latin text.
- Stops recording when clicked again and aborts when the component unloads.
- Requires no additional API key or host-side service.
Install
Install directly from GitHub into the Web profile:
dsh plugin --profile web add github:forrestahha/dsh-voice-input
dsh web
For a pinned installation:
dsh plugin --profile web add github:forrestahha/dsh-voice-input#v0.1.1
Open the Web UI, select a workspace, and click the microphone button. The browser asks for microphone access on first use.
Browser support
The plugin requires SpeechRecognition or webkitSpeechRecognition. Chromium-based browsers provide the broadest support. Unsupported browsers show a disabled microphone button instead of failing at startup.
localhost is treated as a secure context by modern browsers. If Harness is served from another machine, use HTTPS or the browser may refuse microphone access.
Privacy
The plugin does not store audio and does not add its own network calls. The Web Speech API implementation is controlled by the browser and may send audio to the browser vendor's speech service. Review your browser's privacy policy before recording sensitive material.
Development
Requirements: Node.js ^22.19.0 || >=24.0.0 and pnpm 11.
pnpm install
pnpm check
Install a local checkout for integration testing:
dsh plugin --profile web add /absolute/path/to/dsh-voice-input
dsh web
Design
The npm package is both a Harness bundle and a client plugin:
cordis.patch.ymlinserts the package into the selected profile.- The Node entry is intentionally empty;
dsh.clientdiscovers./client. - The browser entry registers
VoiceInputButtoninconversation.input.right. - Harness supplies the current input state and
inputActions.setDraft()through slot props.
No agent-loop, model, session-log, or Host API behavior is changed.
License
MIT
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-voice-input for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
Web profile:
dsh plugin --profile web add dsh-voice-input Headless (CLI) profile:
dsh plugin --profile headless add dsh-voice-input Package
npm: dsh-voice-input · version — · tested on dsh 0.1.0-rc.6
Test report
Verified end-to-end: L1 install + L2 load + L3 runtime Q&A on dsh 0.1.0-rc.6.
When to use it
Change how dsh looks or how you interact with it — a theme, a skin, or a new panel that reshapes the workspace.
Who it's for
Users who spend hours in the web UI and want it to look and feel the way they work.
For developers — extending it
Skins, panels, and theme tokens are the extension points — author a new skin, add a panel, or sync tokens with an upstream palette.