前言¶
DSH Web GUI 的輸入框通常依賴鍵盤輸入。如果你需要連續口述、邊說邊改、鬆手後再發送,又不想額外部署服務端或安裝本地語音識別引擎,可以把語音輸入接到瀏覽器內置能力上。
anweat/dsh-voice-webspeech 是面向 DSH Web GUI 的瀏覽器語音輸入插件。默認路徑使用瀏覽器內置 Web Speech API,按住麥克風按鈕說話,鬆手後把語音轉成文字,再寫入輸入框。
這是什麼¶
這是一個 DSH Web GUI 插件,由 anweat 維護,許可證爲 MIT。
它解決的是 DSH Web 端“想用語音輸入,但不想引入額外服務端、API Key、模型下載或 Python 依賴”的場景。默認情況下,插件依賴瀏覽器內置 Web Speech API 完成語音轉文字:
- 零服務端
- 零 API Key
- 零模型下載
- 零 Python
音頻直接交給瀏覽器語音服務,不經過 DSH 服務端、不落盤、無遙測。在 Microsoft Edge 中對應 Azure 語音,在 Google Chrome 中對應 Google/Chrome 語音。
核心功能¶
下面列出已覈實的能力。
按住說話,鬆手轉文字¶
在輸入框工具行左側會出現麥克風按鈕。按住麥克風按鈕開始說話,鬆手停止識別,並把語音轉成文字。
即時反饋¶
聆聽時,麥克風按鈕會變紅並脈動。識別中的文字會即時顯示在按鈕上方。
默認寫入輸入框¶
識別結果默認寫入 DSH Web 輸入框,可以繼續編輯後再發送。也可以追加到已有文字後面。
如果不想先編輯,可以切換爲“鬆手自動發送”。
多語言支持¶
支持中文普通話、粵語、繁體、英、日、韓、法、德、西、俄等 BCP-47 語言。
本地偏好保存¶
設置頁以獨立的“語音輸入”標籤掛載,不依賴 host settings namespace。偏好保存在瀏覽器本地。
安裝與啓用¶
環境要求¶
先確認當前環境滿足以下要求:
- DSH 版本:
>=0.1.0-rc.3 <0.2.0 - Node.js:
^22.19.0 || >=24.0.0 - 瀏覽器:需要 Edge 或 Chrome;Firefox/Safari 不支持
瀏覽器需要獲得麥克風權限。首次使用時,會在地址欄請求授權。
安裝插件¶
從 GitHub 安裝:
pnpm dsh plugin --profile web add github:anweat/dsh-voice-webspeech
建議固定到提交,避免後續變化:
pnpm dsh plugin --profile web add github:anweat/dsh-voice-webspeech#<sha>
如果 pnpm >=10 提示需要 allowBuilds,通常是 prepare 腳本觸發。按提示把打印的包鍵寫進 profile 的 pnpm-workspace.yaml,然後重跑安裝命令。
激活插件¶
安裝後重啓 DSH Web:
pnpm dsh web
激活後,輸入框工具行左側會出現麥克風按鈕。
注意加載方式¶
不要手工把本插件插進 profile 的 cordis.patch.yml,否則同一 loader id 會重複。
@deepseek-ai/* 是可選 peer 依賴,構建時外部化,運行時由 DSH 提供。
典型用法¶
下面給出一組可復現的使用步驟。
1、重啓 DSH Web:
pnpm dsh web
2、打開 DSH Web 輸入框,在工具行左側找到麥克風按鈕。
3、按住麥克風按鈕說話,鬆手停止識別。
4、默認情況下,識別結果會寫入輸入框,並追加到已有文字後面。你可以繼續編輯,再手動發送。
5、如果希望鬆手後直接發送,進入:
設置 → 語音輸入(Web Speech)
開啓“鬆手自動發送”。
6、卸載插件:
pnpm dsh plugin --profile web remove dsh-voice-webspeech
也可以從 profile 依賴裏刪掉,然後執行:
pnpm install
適用場景與注意¶
適合 DSH Web GUI 用戶,在 Edge 或 Chrome 中希望用瀏覽器內置語音識別完成輸入,同時不想額外安裝本地語音引擎。
使用前注意:
- 插件會隨當前
dsh web進程加載,並以當前 DSH 進程權限運行;同時受瀏覽器麥克風權限控制。 - 安裝前應檢查 GitHub 源碼、MIT 許可證和依賴關係。
- 瀏覽器不支持 Web Speech API 時,插件無法按默認路徑工作。
- Firefox/Safari 不支持默認識別路徑。
- 首次使用需要瀏覽器麥克風授權。
- 音頻只交給瀏覽器語音服務,不經過 DSH 服務端、不落盤、無遙測。
- 不要手工修改 profile 的
cordis.patch.yml來加載本插件。
鏈接¶
社區目錄頁:
https://www.skillhub.cn/plugins/anweat/dsh-voice-webspeech
GitHub:
https://github.com/anweat/dsh-voice-webspeech