@lucagiftzek/dsh-voice

voicenpmMIT

Read-aloud and dictation for the DSH web UI with 23 TTS and STT provider types configured side by side, per-language routing, in-text language markers, per-sentence language detection, word highlighting and a TTS Reader sidebar tab (the tab requires dsh-better-sidebar; everything else works without

下载量 / Downloads
257

Install

dsh plugin --profile web add @lucagiftzek/dsh-voice

Sandbox test

This plugin has not been tested yet. Submit a test →

README

dsh-voice

![npm](https://www.npmjs.com/package/@lucagiftzek/dsh-voice)

Read-aloud, dictation and language-aware speech for the DeepSeek Harness (DSH) web UI.

  • A speaker on every finished assistant reply (and a { } button that reads the code blocks).
  • A microphone in the composer, with an optional polish pass that fixes punctuation without translating.
  • Several speech providers at once, configured in Settings > Voice, each with a Test button.
  • Per-language routing: English, Italian, Greek (and any language you add) each get their own provider, model, voice and speed.
  • In-text language markers to switch language mid-text.
  • Language detection per sentence, with a DSH model for the unsure ones, and a language badge while reading.
  • Highlighting of the sentence and the word being read, and opt-in auto-read of new replies.
  • A TTS Reader sidebar tab, push-to-talk dictation at the composer cursor, and keyboard shortcuts.

Status: 2.0.0. 23 provider types, EU vendors first; see [CHANGELOG.md](CHANGELOG.md). Runs on DSH 0.2.x (tested on 0.2.1) and DSH 0.1.5.

Install

Install from npm: dsh plugin --profile web add @lucagiftzek/dsh-voice, or from GitHub: dsh plugin --profile web add github:lucagiftzek/dsh-voice.

dsh plugin --profile web add @lucagiftzek/dsh-voice
# or from GitHub: dsh plugin --profile web add github:lucagiftzek/dsh-voice

The package declares dsh.bundle, so dsh plugin add lists it in the profile bundles; restart dsh web to load the host half. lib/ is committed, so no build step is needed. From a checkout instead: git clone https://github.com/lucagiftzek/dsh-voice, then dsh plugin --profile web add link:$PWD/dsh-voice. Then open Settings > Voice, add a provider and press Test.

Providers

Settings > Voice lists providers in three groups, EU first, then Others, then Self-hosted, each with a residency badge (EU, EU region available, outside the EU, self-hosted, on device) and a timing badge (word timings, or estimated). "Add provider" lists every type with a one-line description and a docs link. Several instances of one type are normal (a local server plus a relayed one, two Azure regions). Keys never reach the browser, and a Test button on every row speaks a short phrase and transcribes it back (a speech-to-text-only provider borrows the spoken sample from another provider).

"Word timings" means the provider returns when each word is spoken, so the word highlight is exact; otherwise the highlight is estimated from the audio length (sentence highlight always works). A provider without a language in its list never receives that language through automatic routing. Status marks: (planned) has no public API documentation yet, (unverified) or (partly verified) means some request shapes could not be confirmed against vendor documentation on the date given under "Verification" in docs/PROVIDERS.md.

<!-- providers:begin -->

EU first

Provider · TTS · STT · Word timings · Data residency · Price note · Docs

mistral Mistral · yes · yes · estimated · EU · TTS about $13 per 1M characters; STT $0.0035 to $0.008 per minute · docs

speechmatics Speechmatics (partly verified) · yes · yes · estimated · EU region available · STT from about $0.24 per hour · docs

gladia Gladia (partly verified) · no · yes · n/a · Depends on the endpoint · check the vendor pricing page · docs

acapela Acapela Cloud (partly verified) · yes · no · word · Depends on the endpoint · quote on request · docs

readspeaker ReadSpeaker speechCloud (partly verified) · yes · no · estimated · Depends on the endpoint · credit plans via sales · docs

Others

Provider · TTS · STT · Word timings · Data residency · Price note · Docs

elevenlabs ElevenLabs · yes · yes · word (from characters) · EU region available · credits; flash v2.5 bills 0.5 credit per character · docs

azure Azure AI Speech (partly verified) · yes · yes · word · EU regions selectable · TTS about $15 per 1M characters; STT about $1 per hour real time · docs

google Google Cloud Speech (partly verified) · yes · yes · word · EU regions selectable · check the vendor pricing page (Neural2 and Chirp 3 HD differ) · docs

amazon Amazon Polly and Transcribe (partly verified) · yes · yes · word · EU regions selectable · Polly neural about $16 per 1M characters; Transcribe per second · docs

openai OpenAI · yes · yes · estimated · Outside the EU · per character (TTS) and per minute (STT), see the pricing page · docs

openai-compatible OpenAI-compatible (partly verified) · per preset · per preset · Kokoro-FastAPI captions, else estimated · Depends on the endpoint · depends on the server (free when self-hosted) · docs

fish Fish Audio (partly verified) · yes · yes · estimated · Outside the EU · check the vendor pricing page · docs

cartesia Cartesia (partly verified) · yes · yes · word · Outside the EU · check the vendor pricing page · [docs](https://docs.cartesia.ai/api-refere

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::2,最后更新 2026-11-01

Links

GitHub · Homepage · npm

Same category