DSH Web 語音輸入插件:anweat/dsh-voice-webspeech

前言

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜