前言¶
DeepSeek Harness(DSH)的实验性「语音输入」包负责麦克风、录音与界面切换;若希望识别在本地完成、不把音频送到远端服务,需要自己接一套 speech-to-text 提供方。社区插件 dsh-local-stt(维护者 nikimagic,分类:模型推理)在 Windows 上为官方语音输入增加两个本地引擎:GigaAM v3 RNNT 与 Whisper large-v3-turbo(whisper.cpp),通过 ctx.speechToText 挂进同一套麦克风与提供方选择器,不改动官方包对 WAV 与设置的主导权。
这是什么¶
dsh-local-stt 是面向 DSH 0.2.x 的本地语音识别插件(当前包版本 0.2.0,MIT)。可选装一个聚合包(列表里一行同时含 GigaAM 与 Whisper),或分别安装 dsh-local-gigaam、dsh-local-whisper。插件仅在 win32 平台声明支持;README 写明环境为 Windows 10/11 x64,并在 0.2.2-rc.1 上验证过。
README 中的性能参考(约 4 秒音频):GigaAM v3 RNNT 经 gigastt 约 0.25 秒;Whisper large-v3-turbo 经 whisper.cpp 在 CPU 上约 9 秒。GigaAM 面向俄语;Whisper 支持俄语、英语、自动语言等。
核心功能¶
下面介绍插件实际做的几件事,均来自仓库 README 与 package.json。
-
接入官方语音输入链路
须先启用@deepseek-ai/dsh-experimental-voice-input-bundle(「语音输入」实验包)。本地插件只增加识别器,麦克风与 WAV 仍由官方包管理。 -
两个 loopback 推理服务
-gigastt serve监听127.0.0.1:9876,接收官方 API 提供的 16 kHz、单声道 PCM16 WAV,返回{ text, audioSeconds, inferenceSeconds }。
-whisper-server监听127.0.0.1:8001,格式相同。
两者仅绑定本机回环;setup.ps1预下载模型后,识别阶段不依赖网络。 -
提供方在 UI 中切换
路径:插件 → 语音输入 → 提供方,可出现例如:
-GigaAM v3 RNNT (локально):俄语、速度快;
-Whisper large-v3-turbo q5_0 (локально):英语与混合语等;
以及官方自带的SenseVoiceSmall (INT8)(README 注明其不懂俄语)。从 Whisper(en)切到 GigaAM 时,需先把语言选为ru。 -
依赖关系
peerDependencies包含@deepseek-ai/dsh-experimental-speech-to-text;engines.dsh为^0.2.0-rc.1。
安装与启用¶
安装分三步:准备引擎与模型、把插件索引加入 DSH、在语音输入里选提供方。约需 1 GiB 磁盘空间;互联网仅用于安装与 setup.ps1 下载,识别本身本地执行。
1. 下载引擎与模型¶
在插件仓库所在目录的普通 PowerShell 中执行:
powershell -ExecutionPolicy Bypass -File .\setup.ps1
脚本校验 SHA-256,并将文件摆放到默认路径,例如:
%USERPROFILE%\.dsh\bin\gigastt\gigastt.exe
%USERPROFILE%\.dsh\models\gigaam\
%USERPROFILE%\.dsh\models\gigaam\punct\
%USERPROFILE%\.dsh\bin\whisper\whisper-server.exe
%USERPROFILE%\.dsh\models\ggml-large-v3-turbo-q5_0.bin
若只要一个引擎,可加参数:
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -SkipWhisper
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -SkipGigaam
2. 添加插件索引并安装¶
确认已启用实验性「语音输入」包后,在 DSH 中:插件 → 更多 → 自定义插件商店 → 添加索引源,填入:
https://raw.githubusercontent.com/nikimagic/dsh-local-stt/main/docs/index.json
在商店中安装 「GigaAM + Whisper — локально»(双引擎一体),或按需单独安装 GigaAM / Whisper 条目。安装完成后重启 DeepSeek Harness。
README 推荐的商店路径为主路径;手动安装(web 配置)示例:
dsh plugin --profile web add nikimagic/dsh-local-stt
桌面(desktop)配置由应用管理,README 建议通过商店或 pnpm 安装,CLI 不能直接改 desktop。也可在 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 中加入 dsh-local-stt 后重启;默认路径已与 setup.ps1 一致,一般无需改 YAML。
3. 选择提供方¶
重启后进入 插件 → 语音输入 → 提供方,按语言需求在 GigaAM(俄语)与 Whisper(多语)之间切换。
典型用法与架构要点¶
使用方式与官方语音输入一致:录一段音,由当前选中的本地提供方返回文本。技术细节上,根目录 index.js 作为捆绑两个提供方的入口;子包位于 packages/dsh-local-gigaam/ 与 packages/dsh-local-whisper/;cordis.patch.yml 负责把根 bundle 写入配置文件。
社区插件目录在 SkillHub 等平台独立收录,与 DeepSeek / 幻方无官方从属关系;安装前宜自行查看源码与许可证。插件代码为 MIT;gigastt、GigaAM、whisper.cpp 及 Whisper 权重等沿用各自许可,模型不经仓库分发而是由 setup.ps1 从官方发布页拉取。
适用场景与注意¶
适合谁:在 Windows 上使用 DSH 0.2.x、已开语音输入实验包,且希望俄语优先用 GigaAM、英语或混合语用 Whisper、全程数据不出本机的用户。
限制与注意:
- 仅 Windows x64;非 Windows 环境不在
package.json的platforms列表中。 - GigaAM RNNT 仅俄语;多语场景用 Whisper。
- 插件以当前 DSH 进程权限运行;安装
setup.ps1会写入用户目录下的.dsh二进制与模型,执行前请核对脚本来源。 - desktop 与 web profile 的安装方式不同,避免误用 CLI 改 desktop。
结尾¶
dsh-local-stt 把 GigaAM v3 与 whisper.cpp 收成一条与官方语音输入兼容的本地 STT 链路:一次 setup.ps1、一条索引 URL、商店里选一个条目即可与 SenseVoice 等官方提供方并列切换。进一步了解可从目录页与仓库 README 对照安装步骤。