dsh-speech-plugin:DeepSeek Harness 的語音插件

前言

DSH 強調「一切皆插件」。語音播報和語音輸入這類界面能力,可以作爲一個獨立插件接入,而不改 harness 倉庫源代碼。dsh-speech-plugin 解決的就是這個問題:給助手消息增加播報,給輸入框增加麥克風。

這是什麼

dsh-speech-plugin 是 DeepSeek Harness 的語音插件,維護者爲 huangdejie,許可證爲 MIT。

它提供三類能力:

  • 每條助手消息的播報
  • 會話級的自動播報開關
  • 輸入框的語音輸入麥克風

播報與語音輸入可分別使用阿里百鍊或火山豆包,也可使用同一家。

核心功能

每條消息播報

點擊消息操作條的喇叭,會朗讀該條回覆正文。插件會剝離 markdown 與表情符號,跳過代碼塊和圖片。再次點擊可停止。

自動播報

會話頭部有喇叭開關。開啓後,新完成的回覆自動朗讀,歷史消息不播。偏好按瀏覽器本地存儲,默認關閉。

自動播報按“新完成”觸發。切換會話期間,舊會話仍在生成的消息完成時也會播報。

語音輸入

點擊麥克風開始說話,識別結果即時寫入輸入框草稿。再點一次麥克風可結束併發送,也可以直接點發送。

語音輸入是開放麥克風,不做說話人分離;錄音期間環境人聲也會被識別。

雙引擎組合

播報與語音輸入可各自選擇阿里百鍊或火山豆包,也可都走同一家。

雲端憑據缺失、失效或失敗時,播報回退瀏覽器系統音色;語音輸入按鈕會禁用並提示原因。回退的系統音色質量取決於操作系統。macOS 可在系統設置 → 輔助功能 → 朗讀內容中下載增強版中文音色。

安裝與啓用

先安裝插件,再配置雲端憑據,最後重啓 dsh 驗證。

安裝

使用如下命令安裝:

dsh plugin --profile web add dsh-speech-plugin

也可以從本地目錄安裝。先構建源碼,再使用絕對路徑安裝:

git clone https://github.com/huangdejie/dsh-speech-plugin
cd dsh-speech-plugin && pnpm install && pnpm run build
dsh plugin --profile web add /絕對路徑/dsh-speech-plugin

配置憑據

使用阿里百鍊或火山豆包的 key:

export SPEECH_DASHSCOPE_API_KEY=sk-...
# 或
export SPEECH_VOLCENGINE_API_KEY=...

變量名不要寫成 DSH_ 開頭;否則 harness 啓動報錯。配置後重啓 dsh。

憑據注意:

  • 阿里百鍊:一個 key 同時用於 TTS 與 ASR;賬戶欠費(Arrearage)會拒一切調用。
  • 火山豆包:必須使用控制檯 API Key,不是應用級 Access Token;資源 ID 須與開通版本對應。

驗證

打開:

http://127.0.0.1:3080

點擊消息播報,或授權麥克風後開始語音輸入。瀏覽器要求先有一次顯式點擊才允許發聲。

可選配置

如果需要分別指定播報和語音輸入引擎,可在 profile 配置中寫 engine 與 asrEngine。配置文件路徑:

~/.dsh/profiles/web/cordis.patch.yml

示例:

engine: dashscope
asrEngine: volcengine

上面表示播報使用 dashscope,語音輸入使用 volcengine。改配置後需重啓 dsh 生效。

查看合成結果:

dsh --profile web --dump-config | grep -A8 dsh-speech

適用場景與注意

適合在 DSH web profile 中使用語音播報和語音輸入。插件以獨立方式安裝,不修改 harness 倉庫任何源代碼;但它以當前 dsh 進程權限運行,安裝前建議檢查源碼與許可證。

注意:

  • 自動播報只對新完成的回覆觸發,歷史消息不播。
  • 切換會話期間,舊會話仍在生成的消息完成時也會播報。
  • 語音輸入不做說話人分離,環境人聲也會進入識別。
  • 雲端回退的系統音色質量取決於操作系統。

結尾

dsh-speech-plugin 將消息播報、自動播報、語音輸入做成一組可配置的 DSH 插件能力,並在雲端不可用時提供系統音色回退。倉庫地址:

https://github.com/huangdejie/dsh-speech-plugin
羽毛球分组比赛记分
小程序二维码

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

小夜