DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Tts — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@goodandready/dsh-tts

Tts

Text-to-speech for DeepSeek Harness: speak agent replies in the Web UI with a provider fallback chain (OpenAI, ElevenLabs, Google, Azure, Groq, Deepgram, OpenRouter, Edge, Piper, eSpeak).

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @goodandready/dsh-tts@0.4.18
READMECompatibilityVersions

Compatibility and provenance

Tts is published as @goodandready/dsh-tts and currently resolves to version 0.4.18. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/20/2026

Versions

0.4.18stable
9/19/2026
0.4.17stable
9/18/2026
0.4.16stable
9/18/2026
Show 34 more versionsCollapse versions
0.4.15stable
9/18/2026
0.4.10stable
9/15/2026
0.4.9stable
9/15/2026
0.4.7stable
9/13/2026
0.4.8stable
9/13/2026
0.4.6stable
9/12/2026
0.4.5stable
9/12/2026
0.4.2stable
9/11/2026
0.4.1stable
9/11/2026
0.4.0stable
9/9/2026
0.3.23stable
9/7/2026
0.3.22stable
9/6/2026
0.3.21stable
9/2/2026
0.3.20stable
9/2/2026
0.3.16stable
8/30/2026
0.3.15stable
8/27/2026
0.3.13stable
8/26/2026
0.3.12stable
8/26/2026

Related plugins

Loading related plugins…

Latest
0.4.18
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
346.9 kB
Files
36
Surface
web
License
MIT
Source
npm
GitHub
★ 2
Weekly downloads
1,122
Security scan
✓ v0.4.18 scan passed
Last push
9/19/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
0.3.11stable
8/26/2026
0.3.10stable
8/26/2026
0.3.9stable
8/26/2026
0.3.8stable
8/26/2026
0.3.7stable
8/26/2026
0.3.6stable
8/26/2026
0.3.5stable
8/25/2026
0.3.4stable
8/25/2026
0.3.3stable
8/25/2026
0.3.2stable
8/25/2026
0.3.1stable
8/23/2026
0.3.0stable
8/21/2026
0.2.1stable
8/21/2026
0.2.0stable
8/20/2026
0.1.2stable
8/20/2026
0.1.1stable
8/20/2026

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseIm@xmanrui/dsh-im把十一种 IM 渠道和公网 AI Office 接入本机 DeepSeek Harness。 Connect eleven IM channels and a public AI Office to a local DeepSeek Harness.Pocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).DSCODE@toddzheng024/dscode-bundleA complete DeepSeek coding agent with persistent shell, Ultra collaboration and automatic permission review.

README

📦 @goodandready/dsh-tts

Multi-Provider Text-to-Speech Voice Synthesis with Local Neural Engines, Sub-300ms Streaming, IT Dictionary & Messenger Integration for DeepSeek Harness

🇬🇧 English • 🇷🇺 Русский • 🇨🇳 中文说明

⭐ If you like this plugin, please star it on GitHub — it shows me that the plugin is useful to you and motivates me to keep developing it.

🐛 If you find a bug or would like to request a feature, open a GitHub issue in any language — I will review your proposal and implement useful suggestions in a future plugin version.

⚡ Overview

dsh-tts provides robust, lifelike spoken voice synthesis for assistant replies in the DeepSeek Harness Web UI. When Speak agent replies is enabled, each finished assistant turn or real-time streaming chunk is synthesized on the host and streamed directly to the browser.

API keys never reach client browsers: synthesis is executed entirely on the host backend across independent multi-provider fallback chains, including local system engines (Edge TTS, Piper, eSpeak). Kokoro-82M and F5-TTS weights can be downloaded for future runtime support, but neural inference is not bundled in this package — those providers fail honestly and the chain continues.

graph LR
    subgraph Input [Assistant Message]
        Reply[💬 Agent Reply Text] --> Scrub[Smart Text Scrubbing & IT Dictionary]
    end

    subgraph Stream [Low-Latency Streaming]
        Scrub --> SSE[SSE /dsh-tts/stream]
        SSE --> Worklet[AudioWorklet PCM Processor]
    end

    subgraph Cache [Performance Layer]
        Scrub --> LRU{Disk LRU Cache}
        LRU -->|Cache Hit| Play[Immediate Audio Playback]
    end

    subgraph Fallback [TTS Provider Fallback Chain]
        LRU -->|Cache Miss| Chain{Active Chain}
        Chain -->|Offline| P1[Edge TTS / Piper / eSpeak]
        Chain -.->|Cloud Neural| P2[OpenAI / ElevenLabs / Google / Azure / Groq]
        Chain -.->|OpenAI-compatible| P3[SiliconFlow / DeepInfra / Fireworks / OpenRouter]
        Chain -.->|Other| P4[MiMo / MiniMax / Custom]
    end

    subgraph Output [Delivery & Integrations]
        P1 --> Store[Save to Cache]
        P2 --> Store
        P3 --> Store
        P4 --> Store
        Store --> Play
        Store --> Msg[Telegram / Discord via dsh-messenger-gateway]
    end

    style Input fill:#1e1e2e,stroke:#89b4fa,stroke-width:2px,color:#cdd6f4
    style Stream fill:#181825,stroke:#89dceb,stroke-width:2px,color:#cdd6f4
    style Cache fill:#181825,stroke:#cba6f7,stroke-width:2px,color:#cdd6f4
    style Fallback fill:#11111b,stroke:#a6e3a1,stroke-width:2px,color:#cdd6f4
    style Output fill:#181825,stroke:#f38ba8,stroke-width:2px,color:#cdd6f4

🚀 Key Features

1. 📴 Offline system engines + optional future neural runtimes

  • Edge TTS / Piper / eSpeak: fully offline or free local/system synthesis without cloud API keys (Edge needs the edge-tts CLI).
  • Kokoro-82M / F5-TTS: weight download and status UI only. Neural inference is not bundled in this package — those providers fail with a clear reason and the fallback chain continues. Do not enable them expecting speech until a supported runtime is wired.
  • ModelManager UI: Direct manual installation in settings with real-time download progress bar, SHA-256 validation, and deletion. No silent or automatic multi-gigabyte downloads.

2. ⚡ Real-Time Streaming Audio (< 300 ms Latency)

  • AudioWorklet (TTSWorklet): High-performance Web Audio Worklet processor playing seamless Float32Array PCM chunks at 24 kHz without audible clicks or buffer underruns.
  • Server-Sent Events (SSE): Dedicated /dsh-tts/stream route delivering synthesized chunks to connected browsers instantly.

3. 🎙️ Voice Duplex & VAD Barge-In (with @goodandready/dsh-voice)

  • Full-Duplex Conversation: Automatic voice reply synthesis upon completion of speech dictation.
  • VAD Barge-In: Immediately mutes assistant speech playback when user voice activity is detected.
  • Installation Guard: If @goodandready/dsh-voice is not present, settings controls are disabled with an explicit instruction banner (dsh plugin --profile web add @goodandready/dsh-voice).

4. 📚 Built-in IT Terminology Pronunciation Dictionary

  • Pre-configured Lexicon: Correct phonetic pronunciation for common technical abbreviations and developer terms:
    • SQL $\rightarrow$ "сиквел"
    • Nginx $\rightarrow$ "энджинкс"
    • Kubernetes / K8s $\rightarrow$ "кубернетис"
    • Docker $\rightarrow$ "докер", API $\rightarrow$ "апи", JSON $\rightarrow$ "джейсон", YAML $\rightarrow$ "ямл"
    • GUI, CLI, CI/CD, PR, Regex, OAuth, HTTP, HTTPS, CPU, GPU, RAM
  • Interactive UI Editor: Edit rules, preview phonetic substitutions with the ▶ Listen button, and populate standard IT terms with one click.

5. 👥 Multi-Agent Personas & Subagent Voice Overrides

  • Assign distinct voices, providers, models, and audio chimes to individual subagents (e.g. coder, reviewer, planner, tester).
  • Subagent Auto-Detection: With autoDetectSubagent enabled, incoming turns automatically match subagents by message metadata (subagent, agent, author, name) and dynamically apply voice, rate, and SSML style presets.

6. 💾 Audio Clip Export & Speech History

  • Export any spoken utterance directly to an audio file (.wav / .mp3) via exportAudioClip(text).
  • Instant download buttons (⤓) integrated directly into the input dock speaker control and recent utterances dropdown list.

7. 💬 Messenger Voice Notes Integration (with @goodandready/dsh-messenger-gateway)

  • Generates voice audio for Telegram and Discord bot replies via POST /dsh-tts/speak.
  • Protective dependency check with installation hint when gateway plugin is missing.

8. 🌐 Canonical English & Chinese Localization (EN + ZH)

  • Complete built-in English (en) and Chinese (zh) UI and speech template dictionaries.
  • Centralized Russian localization provided via @goodandready/dsh-russian-lang through Gitea issue tracking.
  • Smart boundary tokenizer supporting CJK full-width punctuation (。!?), abbreviations, file extensions, and IP/version numbers.

🛠️ Complete Supported Providers Matrix (18 Backends)

Provider KeyService BackendDefault ModelDefault VoiceCredential RefFeatures & Notes
kokoroLocal Kokoro-82M ONNXhexgrad/Kokoro-82Maf_bellaNoneWeights downloadable; ONNX inference not bundled — fails honestly
f5Local F5-TTS GPU DaemonF5-TTSDefaultNoneDaemon ping only; GPU inference not bundled — fails honestly
elevenlabsElevenLabs APIeleven_multilingual_v2RachelELEVENLABS_API_KEYUltra-realistic, emotional nuance
openaiOpenAI Audiogpt-4o-mini-tts / tts-1alloyOPENAI_API_KEYHigh-quality industry standard
edgeMicrosoft Edge Onlineru-RU-SvetlanaNeuralru-RU-SvetlanaNeuralNoneFree, high-fidelity neural TTS without API keys
siliconflowSiliconFlow CosyVoiceFunAudioLLM/CosyVoice2-0.5BDefaultSILICONFLOW_API_KEYState-of-the-art CosyVoice2 neural engine
deepinfraDeepInfra Kokorohexgrad/Kokoro-82MDefaultDEEPINFRA_API_KEYFast open-weights Kokoro synthesis
fireworksFireworks AIkokoroDefaultFIREWORKS_API_KEYUltra-low latency Kokoro inference
minimaxMiniMax Speechspeech-01-turboDefaultMINIMAX_API_KEYHigh-expressiveness neural voice

🧹 Smart Text Scrubbing & Formatting Engine

Before text reaches speech synthesizers, dsh-tts intelligently sanitizes and filters the message so the assistant doesn't read out syntax noise:

  • Fenced Code Blocks: Spoken as "code block, N lines" / "блок кода, N строк".
  • Markdown Tables: Spoken as "table, N rows" / "таблица, N строк".
  • Summary Intros: Spoken as "Summary of the reply" / "Пересказ ответа".
  • Narration Filters: Skip asterisk actions (*smiles*), narrate quotes only, and apply custom regex removal.

📦 Quick Installation

dsh plugin --profile web add @goodandready/dsh-tts

[!IMPORTANT] Restart DSH Web UI after installation (systemctl --user restart dsh-web) and refresh your browser tab.


⚙️ Configuration Recipes (settings.yaml)

dsh-tts:
  speakReplies: true
  enableLocalEngines: true
  kokoroEnabled: true
  streamingEnabled: true
  enableItDictionary: true
  voiceDuplexEnabled: true
  vadBargeIn: true
  messengerTtsEnabled: true
  cache: true
  cacheMaxMb: 150
  autoDetect: true
  chain:
    - provider: edge
    - provider: espeak
      voice: ru-RU-SvetlanaNeural
    - provider: openai
      model: tts-1
      voice: alloy
  roles:
    coder:
      provider: openai
      voice: onyx
    reviewer:
      provider: edge
      voice: ru-RU-DmitryNeural

Settings UI coverage

The plugin settings card (Settings → Plugins → Plugin settings) exposes every user-facing schema field, including an Advanced block for maxChars, sentenceChars, timeoutMs, maxQueue, openaiBaseUrl, mimoBaseUrl, mimoFormat, and minimaxBin.

Provider API keys are never stored in plugin settings. Paste them in the chain editor; values go to the DSH credential store via PUT /dsh-tts/credential.

Config-only (not in the card): *KeyEnv fields (openaiKeyEnv, elevenlabsKeyEnv, …). They only rename the credential slot the plugin looks up. Change them in settings.yaml if you must rebind a key name; the defaults match the usual environment variable names.

🤖 HTTP Endpoints Reference

  • GET /dsh-tts/stream — Real-time Server-Sent Events (SSE) audio streaming.
  • POST /dsh-tts/speak — { text, voice?, model? } → Returns synthesized audio.
  • POST /dsh-tts/preview — { provider, model, voice, text? } → Test voice playback in UI.
  • GET /dsh-tts/models/status — Reports Kokoro/F5 weight installation states (download only; inference not bundled).
  • POST /dsh-tts/models/install — { engine: 'kokoro' | 'f5' } → Starts HuggingFace model download.
  • DELETE /dsh-tts/models/delete — { engine: 'kokoro' | 'f5' } → Removes local model files.
  • GET /dsh-tts/integrations — Status of sibling plugins (dsh-voice, dsh-messenger-gateway).
  • GET /dsh-tts/status — Returns active chain state, cache statistics, and engine readiness.

📄 License

MIT © GooDAnDReaDY

mimoXiaomi MiMo Audiomimo-v2.5-ttsDefaultMIMO_API_KEYLow-latency streaming TTS
googleGoogle Cloud TTSgemini-2.5-flash-preview-ttsLanguage defaultGEMINI_API_KEYMultilingual Google Gemini voice synthesis
azureAzure Cognitive Speechen-US-JennyNeuralRegion defaultAZURE_SPEECH_KEYEnterprise neural synthesis
deepgramDeepgram Auraaura-asteria-enasteriaDEEPGRAM_API_KEYUltra-low latency voice output
groqGroq TTSplayai-ttsdefaultGROQ_API_KEYNear-instant inference speed
openrouterOpenRouter Audioopenai/gpt-4o-mini-ttsalloyOPENROUTER_API_KEYUnified router access
customCustom OpenAI-compatibleConfigurableConfigurableCUSTOM_TTS_API_KEYAny /v1/audio/speech endpoint
piperLocal Piper ONNXLocal ONNX weightsModel defaultNone100% offline neural engine
espeakLocal eSpeak NGSystem synthru / enNone100% offline lightweight fallback