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

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

Xiaoye