前言¶
在 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 裏測通供應商。
- 若需要 TTS Reader 側欄標籤,且尚未安裝 tab host:
dsh plugin --profile web add dsh-better-sidebar
- 從 npm 或 GitHub 添加 dsh-voice(二選一):
dsh plugin --profile web add @lucagiftzek/dsh-voice
或:
dsh plugin --profile web add github:lucagiftzek/dsh-voice
- 重啓 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