🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

语音听写 Btmy520/dsh-vox

DeepSeek Harness
Btmy52079 天前有提交已提供中文文档扫描:含敏感能力

对着麦克风说话,本机识别中英文并实时写入输入框

30.2/100
综合分
6
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Btmy520/dsh-vox
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/27·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 79 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-vox(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 14:40:23

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 读取本地文件
    lib/index.js:27
    const raw = JSON.parse(readFileSync(path, "utf8"));
  • 执行外部命令固定命令
    lib/index.js:58
    const child = spawn("ffmpeg", ["-y", "-i", src, "-ar", "16000", "-ac", "1", "-c:a", "pcm_s16le", dst]);
  • 执行外部命令来自配置/变量
    lib/index.js:74
    const child = spawn(cfg.bin, [
  • 发起网络请求
    lib/index.js:119
    const res = await fetch(cfg.baseUrl + "/audio/transcriptions", {
  • 写入本地文件
    lib/index.js:192
    writeFileSync(webmPath, Buffer.from(parsed.data, "base64"));
  • 删除本地文件递归
    lib/index.js:200
    rmSync(dir, { recursive: true, force: true });
  • 发起网络请求
    lib/client.js:118
    const resp = await fetch("/plugins/dsh-vox/transcribe", {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 麦克风语音听写
  • 本机识别中英文
  • 文字实时写入输入框

DeepSeek Harness 语音输入插件:加号旁的按钮盒,点麦克风听写,文字实时流进输入框

README

由 DeepSeek 最新模型翻译生成
🎙️ dsh-vox — 本地 Whisper 语音输入插件 对着输入框说话,本机模型自动识别中英文,文字流式蹦进输入框。音频不出门,隐私自己说了算。 version license [platform]() built with [PRs]() ✨ 特性 - 🐳 本地 Whisper 识别:基于 whisper.cpp,识别跑在你自己机器上 - 🌐 语言自动判断:-l auto 让模型自己听——中文、英文、甚至中英混说,自动判定 - 🔒 隐私:音频只在「浏览器 ↔ 本机 Host」之间流转,不上传任何第三方 - ✏️ 自动标点:Whisper 输出自带标点和大小写,比浏览器引擎强一个档次 - ⚡ 流式输出:录音期间每 5 秒把已录内容送去识别一次,文字边录边出;停止后自动做最后一遍全量精修 - ☁️ 可选云端模式:联网用户想省资源,改一行配置就能切到免费额度的云端 Whisper API 🧰 技术栈 | 层 | 技术 | | 插件平台 | DeepSeek Harness web 插件协议(dsh.client bundle + __ModuleLoader__ 加载 + Slot 槽位注册) |
展开完整文档(README 剩余 1 节)
🎙️ dsh-vox — 本地 Whisper 语音输入插件

对着输入框说话,本机模型自动识别中英文,文字流式蹦进输入框。音频不出门,隐私自己说了算。

version
license
[platform]()
built with
[PRs]()

✨ 特性

- 🐳 本地 Whisper 识别:基于 whisper.cpp,识别跑在你自己机器上
- 🌐 语言自动判断:-l auto 让模型自己听——中文、英文、甚至中英混说,自动判定
- 🔒 隐私:音频只在「浏览器 ↔ 本机 Host」之间流转,不上传任何第三方
- ✏️ 自动标点:Whisper 输出自带标点和大小写,比浏览器引擎强一个档次
- ⚡ 流式输出:录音期间每 5 秒把已录内容送去识别一次,文字边录边出;停止后自动做最后一遍全量精修
- ☁️ 可选云端模式:联网用户想省资源,改一行配置就能切到免费额度的云端 Whisper API

🧰 技术栈

| 层 | 技术 |
| 插件平台 | DeepSeek Harness web 插件协议(dsh.client bundle + __ModuleLoader__ 加载 + Slot 槽位注册) |
| 前端 | React 18(createElement / hooks)、getUserMedia 采麦、MediaRecorder 录音、FileReader/fetch |
| 后端(Host) | Node.js ESM、webServer 路由、child_process、ffmpeg 音频转码 |
| 语音识别 | whisper.cpp(whisper-cli,-l auto 语言自动检测)+ ggml-base 模型 |
| 可选云端 | OpenAI 兼容 POST /audio/transcriptions(Groq / SiliconFlow 等免费额度 API) |
| 打包分发 | npm 包:Client 半为手写 __ModuleLoader__ bundle(纯 JS,无构建步骤),Host 半为原生 ESM |

🖥️ 电脑配置要求

| 项目 | 最低 | 推荐 |
| CPU | 4 核 x86-64(支持 AVX2 更快) | 8 核+,近实时识别 |
| 内存 | 4 GB | 8 GB+ |
| 磁盘 | 2.5 GB 可用 | 5 GB 可用 |
| 系统 | Linux / macOS / Windows(WSL2) | Linux |
| 必备软件 | git cmake gcc/g++ make ffmpeg | 同左 |

小技巧:模型越小编译和运行越省,但精度越低;机器慢就选 tiny,机器快上 small。

📦 安装大小(占多少地方)

| 模型 | 大小 | 英文精度 | 中文精度 | 速度 | 适合 |
| tiny | 75 MB | ★★ | ★ | 极快 | 老爷机 |
| base | 142 MB | ★★★ | ★★ | 快 | 默认推荐 |
| small | 466 MB | ★★★★ | ★★★ | 中 | 追求精度 |
| medium | 1.5 GB | ★★★★★ | ★★★★ | 慢 | 发烧友 |

另外 whisper.cpp 编译产物约占 0.5 ~ 1 GB(可以删掉 build 里的中间文件)。
总占用 ≈ 模型大小 + 1 GB。

🛠️ 安装方法

第一步:装工具链(2 分钟)

Ubuntu / Debian
sudo apt install -y git cmake gcc g++ make ffmpeg
macOS
brew install cmake ffmpeg
Windows 用 WSL2,然后在 WSL 里跑上面的 apt 命令

第二步:编译 whisper.cpp + 下载模型(5 ~ 10 分钟)

git clone --depth 1 https://github.com/ggml-org/whisper.cpp.git ~/whisper.cpp
cd ~/whisper.cpp

编译(8 是并行数,按你 CPU 核数改) cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build -j8 --target whisper-cli

下载 base 模型(142MB)sh
curl -L -o models/ggml-base.bin \
https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin
国内网络慢的话用镜像:
curl -L -o models/ggml-base.bin \
https://hf-mirror.com/ggerganov/whisper.cpp/resolve/main/ggml-base.bin

第三步:装插件 + 写配置(1 分钟) sh
dsh plugin --profile web add github:Btmy520/dsh-vox

然后编辑 ~/.dsh/profiles/web/package.json,把 "dsh-vox" 追加进 dsh.profile.bundles(放最后就行),再创建 ~/.config/dsh-vox.json: json { "mode": "local", "bin": "/home/你的用户名/whisper.cpp/build/bin/whisper-cli", "model": "/home/你的用户名/whisper.cpp/models/ggml-base.bin", "threads": 8 }

最后重启:dsh --profile web,加号旁边出现 🎤 和 ✈️ 两个按钮,装好了。

☁️ 联网用户的免费方案(可选云端模式)

不想吃本地 CPU/磁盘?这些平台提供 免费额度 的 Whisper API,语言同样自动识别:

| 平台 | 免费额度 | 模型 | 申请地址 |
| Groq(国际) | 有(限速较宽松) | whisper-large-v3,快得离谱 | https://console.groq.com |
| SiliconFlow 硅基流动(国内) | 有(新用户送额度) | 多种 ASR 模型 | https://siliconflow.cn |

切换到云端只需要改 ~/.config/dsh-vox.json: json { "mode": "cloud", "baseUrl": "https://api.groq.com/openai/v1", "apiKey": "gsk_你的key", "model": "whisper-large-v3" }

改完重启 web GUI 生效。本地 ↔ 云端随时切,代码不用动。

权衡:云端精度高(large 模型)、不吃本地资源,但音频会出网,且免费额度有量级限制;本地完全私有、无限量,但吃 CPU 和磁盘。按需选。

🎬 使用

1. 点 🎤 开始录音,按钮变红脉动;录音期间文字每隔约 5 秒流式更新进输入框草稿。
2. 再点一下停止,插件对整段录音做最后一遍识别精修,最终文本留在草稿里,随便改、手动发送。
3. 听写前输入框里已有的文字不会丢,插件自动补空格接在后面。
4. 说中文、说英文、混着说都行,模型自己判断语言。

🧠 工作原理

点 🎤 → getUserMedia 采麦 → MediaRecorder 录 webm/opus → 录音期间每 5 秒:已录音频 base64 POST 到 Host(本机 dsh 进程) ├─ local 模式:ffmpeg 转 16k wav → whisper-cli -l auto → 文本 └─ cloud 模式:直连 OpenAI 兼容 /audio/transcriptions(language 留空=自动) → 文本流式写回输入框草稿;停止后再做一遍全量精修

❓ 常见问题

流式识别的节奏是怎样的? 录音期间每 5 秒把「目前录到的所有音频」整体识别一次并刷新草稿(模型每次重载约 1 秒,所以实际约 5~7 秒跳一次字);停止时做最后一遍全量识别,精修措辞和标点。想跳字更快,把代码里 5000 这个毫秒数调小即可(模型加载耗时不变,太短了会频繁排队)。

中文识别不准? 换大模型:把 model 换成 ggml-small.bin(466MB)或 ggml-medium.bin(1.5GB),重新下载即可。

提示「找不到 ffmpeg」? 没装第一步的工具链,sudo apt install ffmpeg 后重启 GUI。

识别太慢? 把 threads 调到接近 CPU 核数,或换小模型;还嫌慢就切云端模式。

没有麦克风权限? 浏览器地址栏的站点权限里允许麦克风,刷新页面即可。

🗑️ 卸载

编辑 ~/.dsh/profiles/web/package.json:从 dependencies 删掉 dsh-vox, dsh.profile.bundles 里的对应行也删了;然后 pnpm install,重启 web GUI。
whisper.cpp 目录和模型想留想删随意(删掉只是不占地方)。

🔗 开发声明

本项目使用 DeepSeek Harness(DSH) 开发:通过官方 web 插件协议挂载到 DSH 的 Web GUI——dsh.client bundle + __ModuleLoader__ 加载 + conversation.input.left 槽位注册,全程纯插件玩法,没有动平台一行源码。
识别引擎为 whisper.cpp(MIT),模型权重来自 OpenAI Whisper。

📄 许可

MIT,随便玩、随便改、随便拿去二创。
作者:deepseek娘 🐳
预览分享卡片长什么样 ↓Btmy520/dsh-vox
分享 · DeepSeek Harness Hub
Btmy520/dsh-vox

对着麦克风说话,本机识别中英文并实时写入输入框

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部