在编辑器里点麦克风,用俄语说话即可转写为草稿
28.1/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add tayuLuc/dsh-ru-voice-input该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-experimental-api-speech-to-text@deepseek-ai/dsh-experimental-client-ui-voice-input@deepseek-ai/dsh-experimental-speech-to-text@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
俄语优先的 DeepSeek Harness 语音输入:本地 GigaAM v3 带标点,外加语音注册表修复,让识别器切换真正可用
README
由 DeepSeek 最新模型翻译生成dsh-ru-voice-input
俄语语音输入,给 DeepSeek Harness 用。装一次,编辑器里就多一个麦克风,而且直接听得懂俄语。
为什么需要它
自带的 Voice input 插件是给中文做的:只有一个服务商 SenseVoice,而发布版检查点里根本没有俄语。在 Apple M1 上实测(2026.09.26,28.6 秒俄语语音):SenseVoice int8 返回空转写(0 个词,WER 100 %),还照样占了约 600 MB 内存。
实测环境是 M1 / 8.6 GB,语音用 macOS 的 say -v Milena 合成。这只是冒烟测试,不是基准测试。
安装
dsh plugin --profile web add https://github.com/tayuLuc/dsh-ru-voice-input
重启 Web UI。然后模型和 Send 之间会多一个麦克风按钮:点一下,授权,录音,Stop。转写结果会插进草稿里。
首次使用会下载并校验模型(revision 和 SHA-256 都锁定),放到 ~/.dsh/models/gigaam-v3-ctc/。SenseVoice 不会下载:这个 bundle 里没有它,它也不支持俄语。
展开完整文档(README 剩余 1 节)
dsh-ru-voice-input 俄语语音输入,给 DeepSeek Harness 用。装一次,编辑器里就多一个麦克风,而且直接听得懂俄语。 为什么需要它 自带的 Voice input 插件是给中文做的:只有一个服务商 SenseVoice,而发布版检查点里根本没有俄语。在 Apple M1 上实测(2026.09.26,28.6 秒俄语语音):SenseVoice int8 返回空转写(0 个词,WER 100 %),还照样占了约 600 MB 内存。 实测环境是 M1 / 8.6 GB,语音用 macOS 的 say -v Milena 合成。这只是冒烟测试,不是基准测试。 安装 dsh plugin --profile web add https://github.com/tayuLuc/dsh-ru-voice-input 重启 Web UI。然后模型和 Send 之间会多一个麦克风按钮:点一下,授权,录音,Stop。转写结果会插进草稿里。 首次使用会下载并校验模型(revision 和 SHA-256 都锁定),放到 ~/.dsh/models/gigaam-v3-ctc/。SenseVoice 不会下载:这个 bundle 里没有它,它也不支持俄语。 如果 pnpm 报 ERR_PNPM_IGNORED_BUILDS,在 ~/.dsh/profiles/<profile>/pnpm-workspace.yaml 里放行原生运行时的构建: allowBuilds: onnxruntime-node: true koffi: true 里面有什么 一个包,四层,形式上跟自带 Voice input 的四行一样: | 层 | 是什么 | | ./lib/registry.js | speech-to-text 的 fork,修好了 configure() | | ./lib/gigaam/index.js | GigaAM v3 CTC 服务商,跑在 onnxruntime-node 或 transcribe-cpp 上 | | @deepseek-ai/dsh-experimental-api-speech-to-text | 浏览器↔宿主桥接,自带 | | @deepseek-ai/dsh-experimental-client-ui-voice-input | 麦克风按钮,自带 | 默认值:识别器 gigaam-v3-ctc-local,语言 ru。全新配置档开箱即用,不用点任何东西。 第 1、2 层用相对路径说明符指定——加载器会在包内部解析它们。这样 bundle 才能自给自足:从 git 装进来的包,不能依赖自己的子目录。 引擎 引擎由 engine 配置决定。默认 auto:Apple Silicon 上用 mlx,其他一律 onnx-asr。 | engine | 里面是什么 | Mac | Nvidia | CPU | 标点 | | auto | 自己选 | 有 | 有 | 有 | 有 | | mlx | gigaam-mlx,纯 MLX | 有 | 无 | 无 | 有 | | onnx-asr | onnx-asr,走 onnxruntime 的 e2e | 有 | 有,CUDA | 有 | 有 | | gguf | GGUF Q8_0,走 transcribe-cpp | 有,Metal | 有,CUDA | 有 | 无 | | onnx | int8,走 onnxruntime-node | 有 | 有 | 有 | 无 | Apple M1 实测,预热后,俄语语音 5 秒和 28.6 秒: | 引擎 | RTF 5 秒 | RTF 28.6 秒 | | mlx (e2e ctc) | 0.027 | 0.017 | | onnx-asr (e2e ctc) | 0.048 | — | | gguf (Q8_0) | — | 0.016 | | onnx (int8) | 0.038 | 0.043 | 只有 e2e 引擎能出标点。 GigaAM 的 CTC 头词表只有 34 个 token:▁、32 个俄文字母和 <blk>。里面压根没有标点符号,所以 gguf 和 onnx 无论怎么配都出不了标点。 同一个位置的两个例子:панель а показывает(CTC)对比 Панель A показывает(e2e)。 量化取决于平台,这一点已经考虑到了:MLX 量化只适用于 Apple Silicon,GGUF 既能通过 Metal 也能通过 CUDA 运行,而 ONNX int8 是通用格式,所有平台都能用。 Python 引擎 需要 Python ≥ 3.10,并且 ffmpeg 在 PATH 中: uv venv ~/.dsh/venvs/gigaam-mlx --python 3.12 uv pip install --python ~/.dsh/venvs/gigaam-mlx/bin/python \ "gigaam-mlx @ git+https://github.com/aystream/gigaam-mlx.git" uv pip install --python ~/.dsh/venvs/gigaam-mlx/bin/python onnx-asr onnxruntime 一个 venv 同时服务两个 sidecar;在非 Apple 平台上,只装 onnx-asr 就够了。 路径按这个顺序查找:e2ePythonPath,否则 $GIGAAM_MLX_PYTHON,否则 <dsh home>/venvs/gigaam-mlx/bin/python。权重由引擎自己下载到 Hugging Face 缓存。 首次请求的代价。 在新进程里,引擎要编译流水线:第一次响应约 1.7 秒,而预热后只要 0.13 秒。不建议设置 idleTimeoutMs: 0——worker 必须能撑过两次录音之间的停顿。 词典 识别器个头小,容易把名字念错。所有运行时都不支持 hotword 偏置,所以纠正在识别之后按文本进行。 词典是 ~/.dsh/stt-lexicon.json 里的 JSON 数组: ["Sisyphus", "авто-брайн", "dsh", "GigaAM", "obsidian"] 只有当术语不在文本中,并且找到的词足够相似(lexiconThreshold,默认 0.8)时,才会替换。这个阈值既挡住误报,也挡住 Сизифус → Sisyphus 这类情况:靠字符串度量无法还原重度音译,瞎猜还不如把词原样留下。像 дш → dsh 和 гигаам → GigaAM 这种干净的案例能命中,因为它们可以通过同一套键盘布局归并。 为什么注册表被 fork 了 官方的 configure() 拿当前语言去比对新服务商: const id = patch.providerId ?? this.config.defaultProvider.get(); this.selectedProvider(id, patch.language ?? this.config.language.get()); 这样一来,当保存的语言不在新服务商的列表里时,就没法切换识别器。在设置里表现为「选了又被回滚」,而且无路可走:只有已经支持俄语的服务商才能选俄语。 修复方案:单纯切换服务商时,取新服务商接受的语言——先取保存的语言,否则取它列表里的第一个。显式指定的语言仍然会校验,也仍然会被明确拒绝。 服务契约没有变:名字还是 speechToText,配置结构和所有方法都一样,所以官方 bridge 和 UI 不用改动就能对着 fork 跑。 检查 npm test # 注册表(11 项检查)+ 词典(12 项检查) node test/provider.mjs <clip.wav> # 服务商:注册、prepare、转写 服务商有负向对照:静音必须产出空文本,否则坏掉的模型会被当成能用的。 引擎实测: node test/provider.mjs <clip.wav> ~/.dsh/models/gigaam-v3-ctc auto # 或 onnx-asr、mlx、gguf、onnx node scripts/models.mjs # 磁盘上有什么、哪些可以删 node scripts/selftest.mjs <clip.wav> ~/.dsh/models/gigaam-v3-ctc onnx # 只测 Node 引擎 接下来做什么 在 e2e 引擎里用 RNNT 替换 CTC。 目前默认是 ctc,它更快。rnnt 号称更准(作者在 M2 Max 上约 77× 实时,ctc 约 330×),两条分支都带标点。改配置 e2eModel 就能切换,不用重装。 内存。 默认空闲 120 秒后释放 worker。idleTimeoutMs: 0 会让它一直保持加载状态——在笔记本上最好别这么设。 许可证 MIT。注册表分支衍生自 @deepseek-ai/dsh-experimental-speech-to-text 0.1.7-rc.2。模型权重不随包分发:服务商会按固定修订自行拉取。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
tayuLuc/dsh-ru-voice-input
在编辑器里点麦克风,用俄语说话即可转写为草稿
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。