前言¶
DeepSeek Harness 是一個插件化平臺。在使用 Web Profile 進行對話或開發智能體時,語音輸入是常見需求。本插件爲 DSH 提供了本地化的語音轉文字能力,避免了將音頻流上傳至雲端,適合對隱私或網絡環境有要求的場景。
插件簡介¶
插件名稱爲 opensquad-ai/dsh-voice-input,由 opensquad-ai 維護。它基於 FunAudioLLM 的 SenseVoice 模型,在 Web Profile 的對話輸入框旁集成麥克風按鈕。錄音後,插件會調用本地服務將音頻轉爲文本並填入輸入框。
前置條件¶
使用該插件需要滿足以下環境要求:
- Python 3.10+:插件會自動安裝
flask、onnxruntime、librosa、soundfile、pyyaml等依賴,但需要手動安裝 Python 本身。 - Node.js >= 22.19.0:DSH 平臺本身需要滿足的版本要求。
- 瀏覽器支持:瀏覽器需支持
MediaRecorder和getUserMedia接口。
(可選)ffmpeg:用於異常音頻的兜底轉碼。瀏覽器端通常將錄音轉爲標準 WAV,正常使用不需要 ffmpeg,但建議安裝以防個別瀏覽器兼容性問題。
安裝與啓用¶
在終端中執行以下命令即可完成安裝:
dsh plugin --profile web add @opensquad/dsh-voice-input
安裝完成後,重啓 DeepSeek Harness。插件會在後臺自動探測 Python 環境、安裝剩餘依賴並啓動後端服務。
核心功能¶
該插件主要提供以下能力:
- 一鍵錄音轉文字:在輸入框旁顯示麥克風按鈕,點擊開始錄音,再次點擊停止並轉寫,文字自動填入輸入框。
- 自動模型管理:首次使用時,插件會自動下載 SenseVoice 模型(約 230MB),並在按鈕上顯示圓環進度和實時百分比。
- 獨立管理按鈕:除了錄音按鈕,插件還提供獨立的管理按鈕,用於查看已安裝的模型或卸載模型重新下載。
- 自動拉起服務:插件會自動啓動本地 Flask 服務(端口 7101)和下載網關(端口 7102),無需手動配置。
典型用法¶
完成安裝和重啓後,按以下步驟使用:
- 初始化:重啓 dsh 後稍等片刻,後臺會自動安裝 Python 依賴並啓動服務。
- 首次使用:點擊麥克風圖標,確認下載模型,等待進度條完成。此時服務會自動就緒。
- 錄音轉寫:再次點擊麥克風開始錄音,說話完畢後點擊停止,轉寫後的文本會自動出現在輸入框中。
適用場景與注意¶
- 該插件在 DeepSeek Harness 的 Web Profile 下運行。
- 插件以當前 dsh 進程的權限運行,安裝前建議檢查源碼與許可證。
- 模型下載與依賴安裝過程在首次使用時可能較慢,請耐心等待。
技術細節¶
插件的後端邏輯由插件自動管理。啓動流程如下:
- 探測 Python 環境。
- 自動執行
pip install安裝依賴。 - 啓動下載網關(
gateway.py:7102)。 - 檢測模型是否已存在,若未存在則下載並啓動轉寫服務(
service.py:7101)。
許可證¶
該插件採用 MIT 許可證開源。