# @motong/dsh-voice [![npm](https://img.shields.io/npm/v/@motong/dsh-voice?style=flat-square&label=npm)](https://www.npmjs.com/package/@motong/dsh-voice) [![DeepSeek Harness plugin](https://img.shields.io/badge/DeepSeek%20Harness-DSH_plugin-4a90d9?style=flat-square)](https://github.com/topics/dsh-plugin) [![license](https://img.shields.io/npm/l/@motong/dsh-voice?style=flat-square)](LICENSE) A **DeepSeek Harness (DSH)** community plugin that adds voice to the chat UI β€” **no API key required**: 1. **Voice input** 🎀: a mic button in the composer; speech is transcribed into the input box. 2. **Voice-input hotkey**: default `Ctrl+Shift+Space`, configurable in **Settings β†’ Voice** (single keys and multi-key combos supported). 3. **Voice-input mode**: "click to toggle" or "hold to talk (release to stop)". 4. **Read aloud** β–Ά: an Edge neural voice reads assistant replies aloud; switch voices / preview in **Settings β†’ Voice**. ## Install ```bash dsh plugin --profile web add @motong/dsh-voice ``` Then restart DSH and refresh the page. ## Usage - **Voice input** β€” click the 🎀 in the composer, or press your hotkey. Speak, and the transcript is inserted into the draft. - **Hold to talk** β€” in **Settings β†’ Voice**, switch the mode to "hold to talk", then press-and-hold the 🎀 (or the hotkey) to talk, release to stop. - **Read aloud** β€” click β–Ά under an assistant reply; click β–  to stop. - **Voices** β€” ζ™“ζ™“ / ζ™“δΌŠ / δΊ‘εΈŒ / δΊ‘ε₯ / 云扬 / Jenny / Guy (Edge neural voices). ## How it works - **Speech-to-text**: browser-native `SpeechRecognition` (Chrome/Edge). - **Text-to-speech**: the plugin exposes `/_dsh/voice/tts` and synthesizes audio through Microsoft Edge's neural voice service (the [edge-tts](https://github.com/rany2/edge-tts) protocol). No API key required. - Settings live in DSH's `voice` namespace (`settings.yaml`). ## Notes - Voice input works best in Chrome/Edge; grant microphone permission on first use. - Read-aloud needs network access to `speech.platform.bing.com`. ## License [MIT](LICENSE)