前言¶
DeepSeek Harness(DSH)採用插件化架構,支持在桌面端擴展功能。針對 LLM 回覆內容,閱讀長文本或調試時存在效率瓶頸。dsh-tts-flash 是一款爲 DSH 桌面端設計的 LLM 回覆語音朗讀插件,它利用流式輸出旁路,在 AI 邊生成回覆的同時,本地邊合成語音播放。
核心能力¶
該插件提供以下核心功能:
- 無損流式朗讀:AI 邊流式輸出,本地邊合成語音播放,隨讀隨停。支持中英日分句與短句合併,長回覆自動追趕。
- 多引擎支持:內置微軟 Edge TTS,同時支持 OpenAI 兼容的雲端 TTS 服務。
- 引擎即插即用:支持在設置面板手動添加,或通過 JSON 聲明文件自動加載。
- 等待期語音體系:AI 思考(等待生成)期間,浮條每 2.6~3.5 秒輪換趣味短語,實現文字與語音同步反饋。
- 語音設置面板:朗讀開關、語音模型、音量、語速、字幕字號等設置實時生效。
- 朗讀懸浮條:可拖動、位置記憶,支持流光字幕與單程滾動字幕。
- 持久化設置:運行時配置獨立保存,重啓或重裝後不丟失。
安裝¶
通過 npm 獲取包並構建:
npm pack
# 生成文件:dsh-tts-flash-0.1.0.tgz
獲取 .tgz 文件後,使用 DSH 的插件安裝流程註冊該文件。
引擎配置¶
插件提供兩種配置引擎的方式。
1. Edge TTS(默認)¶
無需額外配置,下拉選擇微軟音色即可使用。該服務依賴聯網。
2. OpenAI 兼容雲端 TTS¶
在設置面板的「雲端引擎」中填入 baseURL、API Key 和 模型 id 即可添加。模型 id 需與廠商文檔完全一致。
3. JSON 聲明文件¶
將 JSON 聲明文件放入 ~/.dsh/tts-flash/engines/ 目錄,插件啓動時會自動加載。
示例內容:
{
"id": "my-engine",
"label": "我的引擎",
"kind": "openai",
"url": "https://api.example.com/v1",
"apiKey": "sk-...",
"model": "tts-model-id",
"stylePrompt": "可選:音色描述/風格指令"
}
等待期語音¶
當 AI 開始生成回覆但尚未產出音頻時,浮條會輪換趣味短語並朗讀。語音文件緩存在 ~/.dsh/tts-flash/cache/thinking/ 目錄下。
- 短語池:內置 5 條趣味短語。
- 獨立模型:等待期語音可選擇獨立的發聲引擎(默認 Edge 小藝)。
- 操作:支持批量生成語音文件或清理緩存。
界面與設置¶
插件提供可視化的設置面板與懸浮條。
懸浮條¶
- 功能:純文字膠囊,支持拖動與位置記憶。
- 效果:長句顯示單程滾動字幕,滾動時長等於真實音頻時長。
設置面板¶
- 朗讀控制:實時開關朗讀。
- 語音參數:音量(0%~200%)、語速(Edge 服務端封頂 +100%)。
- 字幕樣式:流光效果、字號(10~30px)。
- 雲端引擎管理:添加、編輯音色描述、刪除引擎。
- 等待期語音管理:獨立引擎選擇與文件清理。
注意事項¶
- 自動播放攔截:瀏覽器可能攔截有聲自動播放,需先與 DSH 進行一次交互(發送消息)後,朗讀功能方可正常觸發。
- Edge TTS 限制:該接口爲微軟未公開接口,無 SLA 保證,斷網不可用。
- 語速限制:Edge TTS 服務端語速封頂 +100%。
- 權限限制:桌面端 web server 僅放行 DSH 渲染進程的請求,外部訪問一律被拒絕。
總結¶
dsh-tts-flash 通過流式合成與多引擎支持,將 DSH 的文本輸出轉化爲實時語音。其等待期語音與懸浮條功能,提升了交互的趣味性與沉浸感。更多詳情可查看 GitHub 倉庫。