dsh-speech-to-text-gigaam: DSH Local Russian GigaAM Speech Recognition

前言

在 DeepSeek Harness(DSH)里做语音输入时,常见做法是走云端 STT:音频要出本机,延迟和隐私都受服务商约束。若你主要说俄语、又希望标点与大小写一并处理好,还需要在 DSH 侧挂一个「只在本机推理、不往外出音频和文本」的 provider。下面介绍社区插件 dsh-speech-to-text-gigaam(维护者 kelvmg):它把 Sber 的 GigaAM v3 E2E RNNT 接到 DSH 实验性语音输入 bundle 上,识别在主机本地完成。

这是什么

dsh-speech-to-text-gigaam 是 DSH 的语音识别 provider,基于 Sber GigaAM 的 v3 E2E RNNT 模型,面向 俄语;输出带标点与大小写。插件当前版本 0.4.0(MIT),仓库:https://github.com/kelvmg/dsh-speech-to-text-gigaam。在 SkillHub 目录中归类为 模型推理。

核心功能

  • 本地识别:录音在本机转写,临时 WAV/ transcript 用完后删除;README 明确说明不上传音频、文本或遥测。
  • 与 DSH 语音准备流程对齐:启用后仍走现有的 check → model → verify → load 契约;激活阶段只检查本地资源,不会在后台偷偷拉安装包。
  • 一键准备运行时(0.4.0):在支持的平台上,通过界面 Download and prepare 可安装私有 Python 3.11.14、PyTorch/torchaudio 2.8.0、锁文件依赖、GigaAM 源码(固定 commit)以及经 imageio-ffmpeg 提供的 ffmpeg,无需系统 Python、Homebrew、git 或单独装 ffmpeg。
  • 引导模型:默认下载并校验 Sber CDN 上的 v3_e2e_rnnt.ckpt 与 tokenizer;语音设置里的来源选择器 仅作用于模型文件,不影响运行时依赖下载源。
  • 完整性:运行时归档、源码与带 hash 的 Python 包有固定校验;模型侧校验 checkpoint MD5 与 tokenizer SHA-256。

安装与启用

依赖:DSH 需带 @deepseek-ai/dsh-experimental-voice-input-bundle,Node 20.3+(由 DSH 宿主提供)。建议预留约 4 GB 磁盘、约 2 GB 内存;首次准备通常 3–20 分钟(视网络与机器而定)。

官方 README 给出的安装步骤如下(无需终端):

  1. 在 DSH 中打开 Plugins → Add plugin,安装下列地址并启用 bundle:
https://github.com/kelvmg/dsh-speech-to-text-gigaam
  1. 打开语音设置,选择 GigaAM v3 · Russian (punctuation),语言选 ru 或 auto。
  2. 点击 Download and prepare,在现有语音准备卡片中查看进度;支持取消与重试。
  3. 准备完成后即可开始听写。

平台说明(以 README 为准):0.4.0 的自动安装仅支持 macOS Apple Silicon(arm64,macOS 13+)。其他平台会在下载前给出明确失败说明;高级用户可为已配齐依赖的解释器设置绝对路径 pythonPath。Intel Mac 不受自动安装支持(官方 PyTorch 与当前 GigaAM NumPy 要求冲突)。

数据与模型默认落在:

~/.dsh/speech-to-text/gigaam/runtime/   # 安装器、私有 Python、venv、缓存与就绪标记
~/.dsh/speech-to-text/gigaam/models/     # checkpoint 与 tokenizer

从 0.3 升级:已有 models/ 可复用;旧的手动 venv/ 不会被删,默认 venv 改为 runtime/venv/,更新插件后需再点一次 Download and prepare。若要坚持自管解释器,显式设置 pythonPath 为其绝对路径。

典型用法

日常用法就是:安装并启用 bundle → 选好 GigaAM v3 · Russian (punctuation) → Download and prepare → 听写。插件以当前 DSH 进程权限运行;安装前宜自行查看仓库源码与 MIT 许可证(GigaAM 为 SberDevices MIT;uv、PyTorch、ffmpeg 等保留各自上游许可)。

准备阶段会访问 GitHub(uv、固定 standalone Python、GigaAM 源码)、pypi.org / files.pythonhosted.org 以及 Sber 模型 CDN cdn.chatwm.opensmodel.sberdevices.ru;不会修改系统 Python、shell 配置或全局 PATH。出错时诊断写入系统临时目录下的 dsh-gigaam-stt.log。

高级配置在 Cordis 项 speech-to-text-gigaam 上(默认值见仓库 cordis.patch.yml),例如:

配置项 含义摘要
dataRoot 默认 ~/.dsh/speech-to-text/gigaam
pythonPath 默认 dataRoot/runtime/venv/bin/python;显式路径则禁用托管安装
model 默认 v3_e2e_rnnt
device 默认 cpu;auto 可能选 MPS;README 写明仅 CPU 做过 smoke test
maxChunkSeconds 默认 20,限制在 3…24.5

开发者可在克隆后的仓库里用 Node 做无模型回归或冒烟(README 摘录):

npm ci
npm test
npm run setup:runtime
npm run test:smoke

适用场景与注意

  • 适合:在 DSH 里以俄语做本地听写、希望标点/大小写一并输出、且能接受首次准备时的下载与磁盘占用;在 Apple Silicon Mac 上希望尽量少碰系统 Python 的用户。
  • 不适合或需自备环境:非 arm64 macOS 自动一键准备不可用;Intel Mac 需自行解决 PyTorch/NumPy 与 GigaAM 的兼容后再用 pythonPath。
  • 安全与信任:插件会从上述网络地址拉取二进制与模型;虽有多处 hash/大小校验,仍应在组织策略允许的前提下安装,并理解其以 DSH 进程权限读写 ~/.dsh/speech-to-text/gigaam 与临时音频文件。

结尾

dsh-speech-to-text-gigaam 把 GigaAM 俄语 E2E 识别接到 DSH 语音输入链路上,强调本地隐私与可重复的 preparation 流程;在支持的 Mac 上可用界面完成环境与模型准备。目录页:https://www.skillhub.cn/plugins/kelvmg/dsh-speech-to-text-gigaam;源码与完整配置说明:https://github.com/kelvmg/dsh-speech-to-text-gigaam。

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

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

Xiaoye