前言¶
在 DSH 的插件化用法中,web 客戶端裏的輸入通常仍依賴鍵盤。如果你希望在聊天框直接口述,並讓識別結果按普通聊天消息提交,同時不改變當前 agent 預設,dsh-voice 提供了這條路徑。
它由 3274375092 維護,許可證爲 MIT,npm 包名爲 @nn12138/dsh-voice。
這是什麼¶
dsh-voice 是 DeepSeek Harness 的語音輸入插件:通過麥克風進行本地或瀏覽器語音識別,將識別文本作爲普通聊天消息提交。
它定位爲輸入層能力:只提交識別文本,不修改 persona / system prompt,也不綁定特定預設,可在 code、standard、minimal、custom 等預設下使用。
核心功能¶
1、麥克風按鈕與全局熱鍵:提供麥克風按鈕,並支持可配置的全局熱鍵,默認爲 Ctrl+Space。
2、即時識別:說話時回顯流式部分轉寫;VAD 在停止時提交最終文本。
3、自適應雙引擎:優先使用主機原生 ASR(sherpa-onnx-node zipformer2 + silero VAD),不可用時回退瀏覽器 Web Speech。
4、預設無關:不修改 persona / system prompt,適用於 code、standard、minimal、custom 等預設。
5、零配置可用:不額外安裝離線運行時也能工作;如需要離線原生識別,可另行安裝 sherpa-onnx-node 並下載模型。
安裝與啓用¶
先確認 Node 環境滿足:
node ^22.19.0 || >=24.0.0
1、安裝插件:
dsh plugin --profile web add @nn12138/dsh-voice
從 registry 安裝 @nn12138/dsh-voice 時不執行生命週期腳本。
2、可選:安裝離線原生識別依賴並下載模型:
dsh plugin --profile web add sherpa-onnx-node
dsh-voice-models
插件不會自動安裝該運行時;模型下載約 100MB。
3、可選:修改 ~/.dsh/profiles/web/cordis.patch.yml 中 voice 的 config。可配置項包括:
~/.dsh/profiles/web/cordis.patch.yml
voice.config:
modelDir
hotkey
vadThreshold
tailPadSeconds
engine
修改配置後,重啓 dsh web。
典型用法¶
1、啓動 DSH web:
dsh web
2、在 composer 左側點擊麥克風按鈕,或按默認熱鍵 Ctrl+Space 開始語音輸入。
3、停止後,插件把最終識別文本作爲聊天消息提交。該過程隻影響輸入,不改變 agent 預設。
適用場景與注意¶
適合在 DSH web 中需要語音口述、但不希望改動 agent 預設或 system prompt 的使用者。若希望識別走本地原生 ASR,需要額外安裝 sherpa-onnx-node 並運行 dsh-voice-models 下載模型。
需要注意:
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼、依賴和 MIT 許可證。 - 主機原生 ASR 不可用時,會回退到瀏覽器 Web Speech。
- 離線原生識別是可選路徑,插件不會自動安裝
sherpa-onnx-node。 - 不要把它理解成會修改 DSH agent 行爲的插件;它只把識別文本提交爲聊天消息。
資源¶
- 目錄頁:https://www.skillhub.cn/plugins/3274375092/dsh-voice
- GitHub:https://github.com/3274375092/dsh-voice
dsh-voice 的價值在於把麥克風輸入接到 DSH 的普通聊天消息路徑:零配置可用,需要本地離線識別時再擴展,同時保持預設不變。