dsh-speech-to-text-ru:为 DSH 语音输入增加离线俄语识别(GigaAM-v3)

前言

DeepSeek Harness(DSH)内置的 Voice input 插件用 SenseVoiceSmall 做本地转写,语言覆盖中文、英文、粤语、日语和韩语,不包含俄语。若你在 DSH 里用麦克风口述俄语,默认链路无法可靠识别。社区维护者 almaziphone 发布的 dsh-speech-to-text-ru 在 Host 侧再注册一个 speechToText 提供方,基于 Sber 的 GigaAM-v3(MIT)与 DSH 已自带的 sherpa-onnx 原生运行时,在 CPU 上离线推理,音频不离开本机。下面介绍它的定位、能力与安装用法。

这是什么

dsh-speech-to-text-ru 是 DSH 的 bundle 插件,分类属于模型推理。它不改变 DSH 的语音 UI,而是在 speechToText 服务旁增加 gigaam-ru 提供方:默认模型为 GigaAM-v3 e2e CTC INT8(含标点、大小写与数字归一化),并可选 Whisper 类回退引擎以扩展多语。包体约 30 KB,模型权重首次使用时从 Hugging Face(可回退 hf-mirror.com)下载并做 SHA-256 校验;许可证为 MIT,当前包版本 0.1.0(见仓库 package.json)。

数据流可概括为:麦克风 → DSH speechToText 服务(Host)→ 本 bundle 的 GigaAM-v3 CTC int8 worker(CPU)。

核心功能

README 中列出的能力如下,均可在本机完成,无需云 API 或额外 Python 服务。

维度 说明
模型 GigaAM-v3 e2e CTC INT8;参考俄语集 WER 3.0%(文档称 0 词级错误,差异仅在逆文本归一化)
速度 RTF 0.017(2 线程);约 8.4 s 语句解码约 0.17 s,加载约 0.36 s
内存 峰值 RSS 约 564 MiB;空闲超过 idleTimeoutMs 后 worker 会停止
下载体量 模型约 319.9 MB + tokens 约 2 KB + Silero VAD 约 1.8 MB,按大小与 SHA-256 校验
语言 原生 ru、auto;回退引擎可覆盖 en 等更多语言
隐私 Host 上 CPU 推理;音频不出机器
平台 macOS arm64/x64、Linux x64/arm64、Windows x64(与 DSH Desktop 支持范围一致)

依赖 DSH Desktop ≥ 0.2.1-rc.5(或由 dsh-base + dsh-web-app 组成的 CLI/Web profile)。磁盘约需 330 MB 模型缓存,识别器加载时约 0.6 GB RAM。首次准备模型需要网络;完全离线机器可预置缓存目录(见下文)。

安装与启用

顺序很重要:须先启用内置 Voice input,再安装本 bundle。DSH 按 dsh.profile.bundles 顺序应用 patch,俄语 bundle 须排在 voice-input 之后 才能成为默认识别器。官方推荐的一键脚本会备份 profile、启用 Voice input、安装 bundle 并在 patch 中固定 defaultProvider: gigaam-ru 与 language: ru。

一键安装(推荐)

bash -c "$(curl -fsSL https://raw.githubusercontent.com/almaziphone/dsh-speech-to-text-ru/main/scripts/install.sh)" install.sh

脚本使用 DSH Desktop 自带的 dsh CLI,通过 dsh plugin add 拉取固定版本 sherpa-onnx-node@1.13.8(按平台)。

手动安装

  1. 在 DSH Plugins 中打开 Voice input(麦克风 UI、speechToText 服务与设置)。
  2. 添加 bundle(macOS 上 dsh 常见路径为 /Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh,可加入 PATH 或写全路径):
dsh plugin --profile desktop add github:almaziphone/dsh-speech-to-text-ru
  1. 刷新应用窗口(Cmd+R / Ctrl+R)。打开 Settings → Voice input:识别器应为 GigaAM-v3 · RU (int8),语言 ru。若顺序反了,在设置里手动选一次,DSH 会按 profile 持久化。

其他来源(README 原文):

dsh plugin --profile desktop add ./dsh-speech-to-text-ru-0.1.0.tgz
dsh plugin --profile desktop add dsh-speech-to-text-ru
dsh plugin --profile desktop add /path/to/cloned/checkout

安装后可在语音设置中使用 Download and prepare,或直接点麦克风:缓存完整后 provider 会唤醒 worker 并加载模型(约 0.4 s)。

离线准备

首次准备会将固定资源下载到 ~/.dsh/speech-to-text/gigaam-ru/,例如:

~/.dsh/speech-to-text/gigaam-ru/models/gigaam-v3/model.onnx         319 869 121 B
~/.dsh/speech-to-text/gigaam-ru/models/gigaam-v3/tokens.txt               2 006 B
~/.dsh/speech-to-text/gigaam-ru/models/silero/silero_vad.onnx         1 807 522 B

可将已准备机器上的该目录复制到目标机同路径(使用前仍会校验 SHA-256),或在 profile patch 中通过 modelDirectory / vadModelPath 指向已有文件;禁止公网下载时可配置 modelOrigin 指向内网 Hugging Face 兼容镜像(详见仓库 Configuration 一节)。

典型用法

  1. 在消息输入框点麦克风,用俄语口述,点 Stop。
  2. 转写文本写入草稿,带标点、大小写与归一化数字(如 в 15:30、9:00),可再编辑或发送。
  3. 随时在 Settings → Voice input 切换识别器或语言;选择由 DSH Settings 服务按 profile 保存。

适用场景与注意

适合:在 DSH Desktop 或兼容 profile 下,需要本地、离线、CPU 俄语语音输入的开发者或用户;对数据不出本机有明确要求时,与内置 SenseVoice 形成互补。

注意:

  • 插件以当前 dsh 进程权限在 Host 运行;安装前请阅读 GitHub 仓库 源码与 MIT 许可证,自行评估信任边界。
  • 社区插件目录 SkillHub 条目 为独立生态站点,与 DeepSeek / 幻方无官方从属关系;安装命令与版本以仓库 README 为准。
  • 模型首次下载需网络;磁盘与内存需满足上文要求。

结尾

dsh-speech-to-text-ru 在 DSH「一切皆插件」的语音链路上,为俄语补了一条与 SenseVoice 并列的离线识别路径:GigaAM-v3 INT8、sherpa-onnx、本机 CPU。若你的场景是 Harness 里用麦克风说俄语,可按官方顺序安装 bundle 并准备模型缓存。

  • 目录页:https://www.skillhub.cn/plugins/almaziphone/dsh-speech-to-text-ru
  • 源码与文档:https://github.com/almaziphone/dsh-speech-to-text-ru
羽毛球分组比赛记分
小程序二维码

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

小夜