dsh-vox-input:零服務器的 DSH Web 語音輸入

前言

在 DSH Web composer 中添加語音輸入功能通常需要集成第三方語音識別服務,這往往涉及 API 密鑰管理、服務器部署成本以及數據隱私問題。dsh-vox-input 提供了一種基於瀏覽器原生能力的替代方案。

這是什麼

dsh-vox-input 是一個爲 DSH Web composer 提供語音轉文本輸入的客戶端插件。它運行在瀏覽器端,不依賴任何外部服務器、API 密鑰或模型下載,直接將麥克風採集的語音轉化爲文本並填充到輸入框中。

核心功能

  • 瀏覽器原生識別:基於 Web Speech API,兼容 Chrome/Edge。
  • 零依賴運行:不需要服務器、不需要 API 密鑰、不需要下載模型,數據不出本地。
  • 可視化控制:提供麥克風波形控制界面。
  • 實時字幕流:識別過程中在上方顯示實時字幕。
  • 智能回填:識別結果按句子自動追加到輸入框。
  • 多語言支持:支持中文、英文及自動檢測語言切換(zh-CN / en-US / auto)。

安裝與啓用

  1. 將插件目錄軟鏈接到 Web 配置目錄:
    ln -s <this-dir> "$DSH_HOME/profiles/web/node_modules/dsh-vox-input"
  1. 修改 $DSH_HOME/profiles/web/cordis.patch.yml,添加以下內容:
    # append to $DSH_HOME/profiles/web/cordis.patch.yml:
    #   - insert:
    #       - id: dsh-voice-input
    #         name: dsh-vox-input
  1. 重啓 Web 服務:
    node <dsh>/lib/bin.js web

典型用法

  1. 打開 Web composer,在工具欄找到麥克風圖標並點擊。
  2. 默認識別中文,點擊小標籤可在 zh-CN / en-US / auto 之間切換。
  3. 開始說話,上方會顯示實時字幕流。
  4. 暫停約 1 秒後,句子會自動追加到輸入框。
  5. 約 4 秒靜音後,會話自動結束。

適用場景與注意

  • 適用場景:適合需要在 DSH Web composer 中快速輸入文本,且注重隱私或希望減少服務器開銷的開發者。
  • 插件機制:這是一個客戶端 UI 插件(雙重插件),主機部分爲空殼,核心邏輯位於 client.js。模塊註冊 ID 必須與 package.json.name 完全一致。
  • 兼容性:非 Chromium 瀏覽器會顯示靜音徽章。

結語

dsh-vox-input 通過瀏覽器原生能力實現了語音輸入,降低了 DSH 生態的接入門檻。更多細節可參考其 GitHub 倉庫或社區目錄。

羽毛球分组比赛记分
小程序二维码

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

小夜