dsh-voice:爲 DSH Web UI 提供朗讀、聽寫與多語言語音路由

前言

在 DeepSeek Harness(DSH)裏做智能體對話時,助手回覆往往很長:代碼塊、多語言混排、連續多輪。若要在瀏覽器裏「邊聽邊看」,或用手寫輸入框口述問題,通常得自己接 TTS/STT 服務、再在 UI 裏打補丁。社區插件 dsh-voice(npm 包名 @lucagiftzek/dsh-voice)把朗讀、聽寫、按語言選供應商和逐詞高亮收進 DSH Web 界面,並在設置裏統一管理多家語音後端。下面介紹它做什麼、如何安裝,以及使用前需要注意的事項。

這是什麼

dsh-voice 由維護者 lucagiftzek(Luca Tzekos)發佈,在 SkillHub 社區目錄中歸類爲模型推理。當前 npm 版本爲 2.0.0(MIT 許可證)。它面向 DeepSeek Harness Web UI:在每條已完成的助手回覆上提供朗讀控件,在輸入區提供麥克風聽寫,並支持按句子檢測語言、爲不同語言綁定不同 TTS/STT 供應商,以及朗讀時的句子和單詞高亮。

插件聲明 dsh.bundle,通過 Cordis patch 注入聊天與會話 UI;密鑰走服務端配置,README 說明 keys 不會進入瀏覽器。

核心功能

以下能力均來自項目 README 與 package 描述,可按需在設置中逐項啓用。

對話內朗讀與代碼塊

  • 每條已結束的助手回覆旁有揚聲器,可對正文朗讀。
  • 代碼塊旁有 { } 按鈕,可單獨朗讀代碼塊內容。

聽寫與潤色

  • 輸入框(composer)旁有麥克風,支持 push-to-talk 聽寫,文本插入光標位置。
  • 可選「潤色」步驟:修正標點,不翻譯原文。

多供應商並行

  • 設置路徑:Settings > Voice。
  • README 稱共 23 種 provider 類型,列表中 EU 廠商優先,再分 Others、Self-hosted;每項帶數據 residency 與 timing(word timings 或 estimated)標識。
  • 同一類型可添加多個實例(例如本地服務 + 中繼、兩個 Azure 區域)。
  • 每一行有 Test:朗讀短句並回錄轉寫;純 STT 供應商會借用其他行的 TTS 樣本。

按語言路由

  • 可爲 English、Italian、Greek 及自定義語言分別指定 provider、model、voice、speed。
  • 正文內可用 in-text language markers 在同一段文字中切換語言。
  • 按句做語言檢測;不確定時可用 DSH 模型輔助;朗讀時顯示 language badge。

高亮與自動朗讀

  • 支持當前句、當前詞高亮;若供應商返回 word timings,詞級高亮更準,否則按音頻長度估算。
  • 可 opt-in auto-read 新回覆。

側欄與快捷鍵

  • TTS Reader 側欄標籤(README 建議先安裝 dsh-better-sidebar 作爲 tab host,若已裝可跳過)。
  • 支持鍵盤快捷鍵(具體鍵位見倉庫文檔)。

運行環境

  • README:DSH 0.2.x(在 0.2.1 上測試)及 DSH 0.1.5。
  • package.json 中 dsh.engines.dsh 爲 >=0.1.1-rc.1;Node 爲 ^22.19.0 || >=24.0.0。
  • 倉庫已提交 lib/,npm 安裝無需本地 build。

安裝與啓用

先做依賴側欄(可選),再添加語音插件,最後重啓 Web 並在 Voice 裏測通供應商。

  1. 若需要 TTS Reader 側欄標籤,且尚未安裝 tab host:
dsh plugin --profile web add dsh-better-sidebar
  1. 從 npm 或 GitHub 添加 dsh-voice(二選一):
dsh plugin --profile web add @lucagiftzek/dsh-voice

或:

dsh plugin --profile web add github:lucagiftzek/dsh-voice
  1. 重啓 DSH Web 進程(例如重啓 dsh web),在 Settings > Voice 中添加 provider,點擊 Test 確認 TTS/STT。

若從本地 checkout 開發鏈接(需自行 clone,非本文安裝路徑),README 給出:dsh plugin --profile web add link:$PWD/dsh-voice;日常用戶以 npm/GitHub 命令爲準。

典型用法

配置語音後端

打開 Settings > Voice,在 Add provider 中選擇類型(表格與說明見倉庫 docs/PROVIDERS.md)。EU 組示例包括 Mistral、Speechmatics、Gladia、Acapela、ReadSpeaker 等;Others 含 ElevenLabs、Azure、Google、Amazon、OpenAI、Deepgram 等;Self-hosted 含 Piper、Kokoro、ElevenLabs-compatible 等。爲每種需要自動路由的語言配置對應實例;未在其語言列表中的 provider 不會收到該語言的自動路由。

對話中

  • 點擊助手消息旁的揚聲器聽全文;代碼塊用 { } 朗讀。
  • 在 composer 用麥克風口述;需要時可開潤色僅改標點。
  • 多語言正文可用 in-text markers 切換朗讀語言。

側欄

  • 安裝 dsh-better-sidebar 後,使用 TTS Reader 標籤閱讀示例或多語文本(README 截圖見倉庫 docs/media/demo.png)。

驗證與狀態

  • 部分 provider 在 README 中標記 (partly verified) 或 (planned),含義見 docs/PROVIDERS.md 的 Verification 說明。
  • 故障排查見 docs/TROUBLESHOOTING.md、docs/ERRORS.md。

適用場景與注意

適合誰

  • 在 DSH Web 里長時間閱讀助手輸出、希望聽讀結合或口述提問的開發者。
  • 需要在同一實例裏按語言切換 TTS/STT(例如英/意/希臘混排),或優先選用 EU residency 供應商的團隊。
  • 已有 Azure、OpenAI、Mistral 等密鑰,希望在 DSH 內統一配置而非單獨寫前端集成的人。

使用前請注意

  • DSH 生態是「一切皆插件」;SkillHub 目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
  • 插件隨當前 dsh 進程權限運行,安裝前應查看源碼與 MIT 許可證,並理解各 vendor 的數據 residency 與計費(README 表格中的 Price note 僅爲文檔摘要,以廠商定價頁爲準)。
  • 星標與目錄頁展示信息會變化;功能邊界以倉庫 CHANGELOG.md(2.0.0 起 23 provider types)爲準。

結尾

dsh-voice 把 DSH Web 對話裏的朗讀、聽寫、23 類 TTS/STT 供應商配置、按語言路由和朗讀高亮做成一套可測試的設置面板,減少自研語音 UI 的成本。進一步瞭解可訪問社區目錄頁與 GitHub 倉庫:

  • 目錄頁:https://www.skillhub.cn/plugins/lucagiftzek/dsh-voice
  • GitHub:https://github.com/lucagiftzek/dsh-voice
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜