dsh-voice
Manifest validVoice messages for DeepSeek Harness web UI: Edge TTS playback button plus agent-sent voice notes
dsh-voice
Голосовые сообщения для веб-GUI DeepSeek Harness: кнопка прослушивания под ответами агента плюс инструмент voice_say, которым агент сам отправляет голосовые по собственному выбору. Синтез речи - Edge TTS (Microsoft), без API-ключей.
Как это устроено
Один пакет обслуживает обе половины:
Node-половина (lib/index.js):
- инструмент
voice_say(text, voice?)наctx.tools- агент вызывает его, чтобы отправить голосовое; - HTTP-маршрут
POST /dsh-voice/tts({text, voice}→audio/mpeg) наctx.webServer- им пользуется браузерная половина; - секция системного промпта
ui:voice-messagesс правилами использования.
Синтез (lib/tts.js) чистит текст перед озвучкой: вырезает fenced/indented код, inline-code, URL, HTML-теги, разметку таблиц и заголовков. Результат кэшируется в $DSH_HOME/voice-cache/<sha1>.mp3; параллельные запросы одного текста дедуплицируются. Голоса: ru-RU-DmitryNeural (male) и ru-RU-SvetlanaNeural (female); полный Edge ShortName тоже принимается.
Браузерная половина (lib/client.js):
- свёртка
voiceDefinition(ctx.conversationEvents, kindvoice) собирает вызовыvoice_sayвнутри тура; - рендер в слоте
conversation.chat.turnTail: плееры для голосовых агента, кнопка «Прослушать» с текстом закрывающего ответа и переключатель голоса (Дмитрий/Светлана, выбор живёт вlocalStorageпод ключомdsh-voice.voice); - проигрывание через blob-URL с кэшем на 30 записей; одновременно звучит только один плеер.
Подключение
dsh plugin --profile web add --save link:/путь/к/dsh-voice # или прописать link: в package.json профиля
и добавить "dsh-voice" в список dsh.profile.bundles профиля (патч из cordis.patch.yml вставит строку voice автоматически при загрузке бандла). После подключения нужен перезапуск профиля: инструмент и маршрут живут в процессе хоста.
Известные ограничения
- Русские голоса по умолчанию; другие языки - полным ShortName через параметр
voice. - Кнопка «Прослушать» синтезирует текст заново при смене голоса (кэш раздельный).
- Синтез требует доступа к
speech.platform.bing.com.
Comments
Loading…
Similar plugins
by GooDAnDReaDY
Voice input for DeepSeek Harness: dictation and voice messages with multi-provider STT fallback chains
★ 11
MIT
JavaScript
Oct 27, 2026
dsh plugin --profile web add @goodandready/dsh-voiceby zhuiyueya
Voice for DeepSeek Harness(dsh) — speech-to-text input + read-aloud TTS for text-only DeepSeek, zero API key.
★ 4
↓ 1.5k/wk
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-voiceby 3274375092
Voice input plugin for DeepSeek Harness: mic → local/browser speech recognition → text submitted as a normal chat message. Input-only and preset-agnostic.
★ 8
↓ 69/wk
MIT
TypeScript
Oct 1, 2026
dsh plugin --profile web add @nn12138/dsh-voiceby SuCriss
Voice control for DeepSeek Harness web: speech-to-text into the composer and spoken playback of assistant replies, zero dependencies
★ 0
↓ 75/wk
MIT
JavaScript
Sep 1, 2026
dsh plugin --profile web add dsh-voice-controlby 1624318455
Edge TTS voice plugin for DeepSeek Harness: read assistant replies aloud, auto-read toggle, voice settings panel (free, no API key)
★ 45
MIT
JavaScript
Oct 13, 2026
dsh plugin --profile web add @dsh-external/dsh-plugin-ttsby NewDaNew
DeepSeek Harness 语音输入插件:在 Web GUI 输入框添加麦克风按钮,基于浏览器 Web Speech API 的语音转文字输入,支持可选自动发送。
★ 0
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add @local/dsh-plugin-voice-input