DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Lorodn4x /

Lorodn4x/dsh-voice

Verified

Voice messages for DeepSeek Harness web UI: Edge TTS playback button plus agent-sent voice notes

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@5c9ebd9d

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, kind voice) собирает вызовы 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.
—/ 5

No ratings yet

Verified DSH bundle

Commit 5c9ebd9d662b

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout