Plugin directory / Developer / dsh-voice-kit
dsh-voice-kit
Unverified aaaadrop
What it does
A plugin in the Developer category for DeepSeek Harness.
Unverified — not yet verified
A plugin in the Developer category for DeepSeek Harness. Not yet verified — install and test it yourself.
“Unverified” means our automated CI has not yet installed this plugin. 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-kit 🎙️
Voice input and read-aloud for the DeepSeek Harness web GUI.
Status: v0.4.0, published on npm —
pnpm typecheckpasses, 239 unit
tests pass,pnpm buildemits the ecosystem-standard closure-factory bundle
(host half + browser half). Verified inside a real DSH Desktop profile.
Install:dsh plugin add dsh-voice-kit.
Features
- 🎤 Voice input — mic button in the composer's left rail; records and
transcribes host-side, appending the text to the draft (never clobbering
what you already typed). Two backends: the browser Web Speech API
(Chrome/Edge) or a host-side OpenAI-compatible service (e.g. SiliconFlow
SenseVoice).Esccancels; stop anytime. - 🔊 Read aloud (three engines) — a per-message button at each assistant
message tail:- Microsoft neural voices (free; 晓晓/云希/云健/云扬…), synthesized
host-side viamsedge-ttsand cached; connects through the system proxy
tunnel automatically on censored networks. - Cloud neural voices (SiliconFlow CosyVoice2 and any OpenAI-compatible
audio/speech; direct from mainland China, no proxy needed) — reuses the
same credential you already set up for speech recognition. - System voices — fully offline fallback; works everywhere.
- Markdown and emoji are stripped before speaking; long replies are
streamed in sentence-boundary chunks — the first chunk speaks within
~1s and later chunks download while it plays; only one voice at a time;
the playing message is scrolled into view with an on-screen bubble showing
what is being read; click again to stop instantly.
- Microsoft neural voices (free; 晓晓/云希/云健/云扬…), synthesized
- ⚙️ Settings — a first-level section: voice engine (three choices), one-tap
cloud preset, voice, rate, pitch, recognition language, an engine
reachability probe (see at a glance whether Edge is reachable), and key status
(shows only "saved / not set", never the value).
Quick Start (5 minutes)
1. Install
# from npm (recommended)
dsh plugin add dsh-voice-kit
# or from a local checkout
dsh plugin --profile desktop add link:/path/to/dsh-voice-kit
Restart DSH Desktop and refresh the web GUI.
2. Hear read-aloud (pick an engine)
Open Settings → Voice → Read aloud:
- Works instantly — "System voice" → press 🔊 and you hear audio
(offline; dated quality). - Free and natural — "Microsoft neural". The page shows
"❌ Edge unreachable / ✅ Edge reachable". If unreachable, turn on your
proxy (the plugin routes through the system proxy automatically) and press 🔊. - No proxy, close to Doubao quality — "Cloud neural" → tap the
"SiliconFlow CosyVoice2" preset → if you already configured a speech
recognition key, just press "Play test"; otherwise enter the key once
(TTS reuses the same one).
💡 Cloud TTS and recognition share one credential: configure voice input
first and read-aloud needs nothing more.
3. Speak with voice input
Open the 🎤 in the composer:
- If it says "configure a recognition service", go to Settings → Voice →
Voice input, choose "host-side transcription", and enter the SiliconFlow
base URL + key. - Press 🎤 to talk, press again (or
Esc) to stop; the transcript is
appended to the draft. - Use "Microphone self-check" first to confirm permission / device / format.
4. Troubleshooting
| Problem | Fix |
|---|---|
| No audio | Check the engine is reachable; Microsoft needs a proxy, cloud needs a key, system always works |
| Long text starts slowly | Optimized to ~1s to first audio; update to 0.4.0 if slower |
| Key shows "saved" but no effect | Key lives host-side; restart and press "Play test" again |
| No transcript on voice input | Confirm host-side recognition is configured |
Install
# from npm (after publish)
dsh plugin add dsh-voice-kit
# or from a local checkout (development)
dsh plugin --profile desktop add link:/path/to/dsh-voice-kit
Restart the harness, refresh the web GUI.
Development
pnpm install
pnpm typecheck # tsc --noEmit
pnpm test # vitest (markdown stripping / chunking / concurrent prefetch)
pnpm build # tsdown → lib/index.js (host) + lib/client.js (browser)
Build pipeline is the ecosystem-standard closure-factory bundle
(window.__ModuleLoader__.load) driven by shared/tsdown.client.ts
(adapted from the official DeepSeek Harness packages/client/tsdown.client.ts,
MIT; libExternal option from the dsh-web-ui family bucket, Apache-2.0).
License
MIT. The bundled shared/tsdown.client.ts adapts official DSH build tooling
(MIT) plus the dsh-web-ui libExternal option (Apache-2.0); see the file header.
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-kit for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:aaaadrop/dsh-voice-kit Headless (CLI) profile:
dsh plugin --profile headless add github:aaaadrop/dsh-voice-kit Test report
Not yet L3-verified — see failure note below if we already ran it.