前言¶
在 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 仓库或社区目录。