前言¶
DeepSeek Harness(DSH)採用插件化架構,允許通過插件擴展功能。在構建智能體應用時,語音輸入是高頻需求。下面介紹 dsh-voice-input 插件,它通過瀏覽器原生能力實現語音轉文字,無需額外服務端部署。
插件簡介¶
- 名稱:
dsh-voice-input - 維護者:
difimim - 許可證:MIT
- 核心價值:在輸入框加入麥克風按鈕,利用瀏覽器 Web Speech API 將語音實時轉換爲文字填入輸入框,實現零成本語音交互。
安裝與啓用¶
這是標準的 DSH 插件 bundle,使用官方 CLI 安裝。安裝後需要重啓 DSH 進程才能生效。
安裝命令:
dsh plugin --profile web add @difimim/dsh-voice-input
安裝完成後,重啓 DSH 服務:
dsh web
若使用其他 profile(如
tui),命令格式同理:
bash dsh plugin --profile tui add @difimim/dsh-voice-input
核心功能¶
- 輸入框工具欄集成:在輸入框工具行左側新增麥克風按鈕,用於開始或停止收音。
- 實時識別:邊說邊將中間結果寫進輸入框草稿,無需等待識別完成。
- 追加式寫入:不清空已有文字,識別結果追加到當前草稿末尾,支持與手打內容共存。
- 零成本零服務端:直接複用瀏覽器內置 Web Speech API,無需自建識別服務。
- 主題適配:按鈕顏色使用 DSH 主題變量,自動適配明暗色模式。
使用方法¶
- 開始收音:點擊輸入框工具行左側的麥克風圖標。按鈕會變紅並出現脈衝動畫。
- 說話與輸入:直接說話,識別出的文字會實時出現在輸入框內。
- 停止收音:再點擊一次麥克風圖標(圖標變爲方塊狀),停止收音。
- 發送:確認文字無誤後,正常回車發送。
技術細節與注意事項¶
- 識別引擎:依賴瀏覽器內置的
SpeechRecognition(或webkitSpeechRecognition)接口。 - 識別語言:默認語言爲中文(
zh-CN)。 - 寫入方式:通過輸入框 Slot 提供的
inputActions.setDraft()方法寫入草稿。
兼容性與限制:
- 瀏覽器要求:Chrome / Edge / Safari(較新版本)支持;Firefox 不支持 Web Speech API。
- 網絡依賴:識別服務需要聯網,音頻會被髮送到瀏覽器廠商的識別服務器。
- 權限提示:首次點擊麥克風會彈出系統授權窗口,需點擊“允許”。
- 隱私說明:當前方案爲了實現零部署,會將語音數據發送到瀏覽器廠商的雲端識別服務。如果對隱私有極高要求或需要完全離線,當前版本不滿足需求。
總結¶
dsh-voice-input 爲 DSH 提供了一個輕量級的語音輸入方案,適合希望在現有 DSH 環境中快速增加語音交互能力的開發者。更多細節與源碼,請訪問其目錄頁或 GitHub 倉庫。