前言¶
在 DSH Web GUI 裏輸入長提示、代碼片段或中文描述時,鍵盤輸入有時不如說話快,但把外部語音轉寫結果再複製回輸入框,流程又會變得零碎。dsh-voice-mic 是一個 DeepSeek Harness Web GUI 語音輸入插件:在輸入框旁提供麥克風按鈕,錄音後即時轉寫並寫入輸入框,不自動發送。
下面介紹它的定位、核心能力、安裝方式、典型用法和需要注意的限制。
這是什麼¶
dsh-voice-mic 是面向 DSH Web GUI 的語音輸入插件,由 Zachary7456 維護,許可證爲 MIT。
它解決的是 Web GUI 輸入框的語音輸入問題:用戶在輸入框左側點擊麥克風按鈕或使用快捷鍵開始錄音,插件將識別結果寫入輸入框草稿;停止錄音後提交轉寫結果,但不會自動發送消息。
核心功能¶
- 輸入框左側提供麥克風按鈕,默認快捷鍵是
Alt+V。 - 錄音期間部分識別結果即時上屏,停止時進行全量轉寫並寫入輸入框。
- 不自動發送消息,用戶仍需要在輸入框中確認內容。
- 支持三種識別引擎:瀏覽器內置、本地離線後端、雲端 API。
- 瀏覽器識別使用 Web Speech API。
- 本地離線後端支持
SenseVoiceSmall int8和Paraformer,可在設置頁一鍵部署。 - 本地後端默認綁定
127.0.0.1:7860,轉寫期間音頻不出本機。 - 雲端 API 使用 OpenAI 兼容的 ASR 接口,可配置 base URL、API key 和模型名。
- 即時寫入採用追尾替換,不覆蓋手動輸入;無結果或出錯時自動回滾。
- 設置頁可修改識別引擎、快捷鍵、端口、
autoStart等配置。 - 支持服務端
cordis.patch.yml配置與環境變量覆蓋。
安裝與啓用¶
運行要求如下:
- DSH:
dsh >=0.1.0-rc.6 - Node.js:
>=18 - 瀏覽器識別:需要 Chrome 或 Edge
- 本地離線後端:額外需要 Python
3.9+
安裝命令如下:
dsh plugin --profile web add github:Zachary7456/dsh-voice-mic
安裝後重啓 dsh web。
可以用下面的命令檢查插件配置是否出現在 web profile 中:
dsh --profile web --dump-config | grep dsh-voice-mic
典型用法¶
1、在設置頁選擇識別引擎¶
打開 DSH Web GUI,進入:
設置 → 語音輸入 → 識別引擎
這裏提供三選一:
- 瀏覽器內置
- 本地離線後端
- 雲端 API
2、使用瀏覽器內置識別¶
瀏覽器內置識別使用 Web Speech API,適合快速試用。
使用方式:
- 點擊輸入框左側麥克風按鈕,或按默認快捷鍵
Alt+V。 - 開始說話,識別結果會即時寫入輸入框草稿。
- 再次點擊麥克風按鈕或停止錄音。
- 插件提交轉寫結果,但不會自動發送。
快捷鍵僅在頁面獲得焦點時生效。
3、部署本地離線後端¶
如果不想讓音頻離開本機,可以在設置頁使用本地離線後端一鍵部署。
設置頁會執行部署流程,包括檢測 Python、安裝依賴、下載模型、啓動本地服務並輪詢就緒。模型目錄默認爲:
~/.dsh/voice/models/<model>
本地服務默認端口爲:
7860
本地後端默認只綁定:
127.0.0.1:7860
也就是說,轉寫期間音頻不出本機。
本地後端進程由 DSH 託管。如果重啓 DSH,可能需要重新點部署,也可以在配置中啓用:
autoStart: true
4、配置雲端 API¶
雲端 API 使用 OpenAI 兼容的轉寫接口。需要在設置頁配置:
- base URL
- API key
- 模型名
配置完成後,可以使用設置頁中的“測試 API 連接”檢查配置是否正確。
使用雲端 API 即時上屏時,錄音期間約每秒調用一次 API,會產生相應費用。
API key 存於瀏覽器 localStorage,由瀏覽器直連服務商,不經過 DSH。
5、服務端配置示例¶
除了設置頁,也可以在服務端 profile 中配置插件。示例位置:
~/.dsh/profiles/web/cordis.patch.yml
可以插入類似下面的配置:
- insert:
- id: dsh-voice-mic
name: dsh-voice-mic
config:
hotkey: alt+v
port: 7860
autoStart: false
配置優先級¶
插件配置優先級爲:
設置頁(localStorage) > 環境變量 > cordis 配置 > 默認值
因此,如果你在設置頁修改了快捷鍵、端口或引擎,設置頁的值會優先生效。
離線驗證¶
倉庫提供了 mock API,用於離線驗證完整鏈路:
python server/mock_api.py
適合在本地先跑通插件調用鏈,再切換到真實本地後端或雲端 API。
適用場景與注意¶
適合以下場景:
- 在 DSH Web GUI 中快速輸入中文提示、代碼或長文本。
- 希望語音轉寫結果進入輸入框,而不是直接發送。
- 希望使用瀏覽器識別、本地離線後端或雲端 API 三種方式之一。
- 希望本地轉寫時音頻不離開本機。
使用前需要注意:
- 插件會以當前 DSH 進程權限運行,安裝前應檢查源碼和許可證。
- 瀏覽器識別依賴 Chrome 或 Edge 的 Web Speech API。
- 本地離線後端需要額外安裝 Python
3.9+依賴。 - DSH 重啓後,本地後端可能需要重新部署,或配置
autoStart: true。 - 雲端 API 即時轉寫會產生調用費用。
- 快捷鍵僅在頁面獲得焦點時生效。
鏈接¶
GitHub:
https://github.com/Zachary7456/dsh-voice-mic