前言¶
在 DeepSeek Harness(DSH)裏做智能體對話,常見做法是鍵盤輸入或外掛第三方語音識別服務。前者在長對話、移動場景下不夠順手;後者往往要單獨申請 API Key、把音頻或文本送到雲端,成本和隱私邊界也要自己管。若希望在同一會話界面裏完成「邊說邊出字 → 編輯或自動發送 → 回覆按句朗讀並可開口打斷」,且識別在宿主端本地推理、不必爲 ASR 再配密鑰,社區維護的客戶端插件 dsh-voice-mode 就是針對這條鏈路做的集成。下面按安裝、操作和配置說明其能力與邊界。
這是什麼¶
dsh-voice-mode(倉庫 qishuilalala/dsh-voice-mode)是 DSH 的全雙工語音插件:流式語音識別寫入可編輯草稿,文本合成按句朗讀並帶實時字幕,朗讀過程中可發聲打斷;可選喚醒詞待機。維護者爲 qishuilalala,在 SkillHub 等社區目錄中歸類爲客戶端插件。識別使用宿主端 zipformer2 流式 + SenseVoice 定稿(含 ITN 等),無需額外語音 API Key;朗讀默認走 Edge 雲端(訪問微軟在線服務),也可選本地 VITS(偏中文)或 Kokoro(中英混讀),合成在宿主端完成。宿主 LLM 的密鑰、網絡與費用仍由 DSH 自身配置決定。
插件以 npm 包 dsh-voice-mode 發佈(資料中當前版本 0.7.34,MIT 許可證);package.json 聲明宿主兼容範圍爲 dsh >=0.1.1-rc.2 <0.3.0-0,Node >=18。README 註明已對 dsh 0.2.1-rc.5 做過兼容複覈,但不等於所有設備上的麥克風閉環或跨平臺均已驗收。
核心功能¶
語音輸入與發送¶
進入語音模式後,麥克風採集經客戶端 VAD 分段,partial 結果約 0.9s 級別流式出字並可在字幕浮層展示;定稿在宿主端完成。默認行爲(可調):停頓約 1500ms 斷句進草稿,再靜音約 1.2s(合計約 2.7s)自動發送;按住 Ctrl 可強制立即發送。
朗讀、字幕與打斷¶
模型回覆經句子切分進入 TTS 隊列,按句朗讀,字幕跟隨。AI 朗讀時用戶開口可打斷(效果受設備、回聲消除與噪聲影響;不可靠時可改用「按住說話」)。設置中的 讓位語義(backchannelYield,默認開)可在朗讀期對短反饋詞(如「嗯」「對」)讓位約 1.5s,避免誤打斷。
交互模式¶
支持持續聆聽、按住說話、說完就關(mode: once:一句 → 自動發送 → 讀完回覆後退出)等;朗讀範圍可選僅在語音模式朗讀、總是朗讀(readAloud: always,打字消息也可讀,代碼塊會跳過)或關閉。麥克風按鈕可顯示聆聽/朗讀狀態條,右鍵可切換交互模式、朗讀範圍、字幕、狀態條等(詳見 README 操作表)。
無障礙與細節¶
字幕字號 captionFontSize、寬度 captionMaxWidth 多檔可調;讀屏相關優化在版本說明中有單獨條目。喚醒詞待機、語氣詞白名單等用於減少誤觸發。
安裝與啓用¶
安裝命令以 README「快速開始」爲準:
dsh plugin --profile web add dsh-voice-mode
# 安裝到 web profile 後,按實際部署方式重啓宿主
首次使用會下載識別相關模型,耗時取決於網絡與硬件。插件聲明爲 web 客戶端注入(dsh.client.platform: web),需在對應 profile 下安裝並重啓宿主後再試。
典型用法¶
- 進入任一會話,按
Ctrl+Shift+V或點輸入區麥克風按鈕進入語音模式,狀態條顯示「聆聽中…」(應用內快捷鍵可在設置中修改)。 - 說一句完整的話(例如「幫我看看今天的天氣」)→ 實時字幕出現,停頓後進草稿、靜音片刻後自動發送。
- AI 開始按句朗讀時,可嘗試發聲打斷,確認朗讀停止及後續轉寫是否符合預期。
輸入框內快捷鍵:光標在輸入框時 Alt+Enter(Mac 爲 Option+Enter)進入/退出語音模式且不插入換行,對應設置鍵 composerShortcut,留空可禁用。
按住麥克風按鈕:空閒時按住即錄,鬆手發送;等回覆讀完(若開啓朗讀)後自動退出;等待或朗讀期間單擊麥克風可停止朗讀並完全退出。完整手勢表見 GitHub README。
配置入口與常用項¶
通用入口:DSH 設置(Settings)→ 語音模式(Voice Mode)。
| dsh 版本 | 次要入口 | 設置存放 |
|---|---|---|
| ≤ 0.1.5 | 設置 → Plugins → 插件配置 → 語音模式 | dsh 官方設置存儲 |
| 0.1.6-alpha 及以後 | 左側 Plugins → 已安裝的 dsh-voice-mode → 詳情頁「語音模式」卡片 |
0.1.6:官方設置存儲;0.1.7+(含 0.2.0):~/.dsh/voice-mode.settings.json($DSH_HOME 下),優先級高於 profile 中同名鍵 |
設置生效分即時、下次識別、下一段話、下次進入語音模式等檔位;卡片頂部會列出「已保存但未生效」項。常用鍵示例:
| 用途 | 鍵 | 默認 |
|---|---|---|
| 數字/日期/貨幣規範化 | senseITN |
true |
| 靜音斷句時長 | silenceMs |
1500 |
| 讓位語義 | backchannelYield |
true |
| 字幕字號 / 寬度 | captionFontSize / captionMaxWidth |
0 / 1 |
| Edge 語速 / 空閒退出 | rate / idleTimeoutMinutes |
1.1 / 5 |
完整設置項(README 稱共 29 項)見倉庫內 使用說明。
適用場景與注意¶
適合:希望在 DSH Web 會話裏用語音完成整輪對話、減少單獨 ASR 服務配置、需要按句朗讀與字幕、並能在朗讀中打斷的開發者或日常用戶。
務必知曉:
- 插件在當前 dsh 進程權限下運行;安裝前應查看源碼與 MIT 許可證,自行評估信任邊界。
- 默認 Edge 朗讀依賴微軟在線服務;離線或隱私敏感場景應改用本地 VITS/Kokoro,並接受首次模型下載與硬件性能差異。
- README 明確區分「CI/兼容聲明」與「真實聽感、麥克風閉環、跨平臺」——不存在「所有設備都能精準打斷」或「後續所有宿主版本自動兼容」的承諾;升級宿主或插件前可看 CHANGELOG 與 兼容契約。
- DSH 生態強調「一切皆插件」;SkillHub 目錄頁 爲社區收錄,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-voice-mode 把本地流式識別、草稿編輯、按句 TTS 與打斷收進 DSH 會話,默認安裝命令爲 dsh plugin --profile web add dsh-voice-mode。進一步說明、架構圖與 Demo 見 GitHub 倉庫 與 SkillHub 插件頁。