前言¶
在 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)。
安裝與啓用¶
- 將插件目錄軟鏈接到 Web 配置目錄:
ln -s <this-dir> "$DSH_HOME/profiles/web/node_modules/dsh-vox-input"
- 修改
$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
- 重啓 Web 服務:
node <dsh>/lib/bin.js web
典型用法¶
- 打開 Web composer,在工具欄找到麥克風圖標並點擊。
- 默認識別中文,點擊小標籤可在 zh-CN / en-US / auto 之間切換。
- 開始說話,上方會顯示實時字幕流。
- 暫停約 1 秒後,句子會自動追加到輸入框。
- 約 4 秒靜音後,會話自動結束。
適用場景與注意¶
- 適用場景:適合需要在 DSH Web composer 中快速輸入文本,且注重隱私或希望減少服務器開銷的開發者。
- 插件機制:這是一個客戶端 UI 插件(雙重插件),主機部分爲空殼,核心邏輯位於
client.js。模塊註冊 ID 必須與package.json.name完全一致。 - 兼容性:非 Chromium 瀏覽器會顯示靜音徽章。
結語¶
dsh-vox-input 通過瀏覽器原生能力實現了語音輸入,降低了 DSH 生態的接入門檻。更多細節可參考其 GitHub 倉庫或社區目錄。