
omdsh-dev/dsh-voice-funasr
31最近提交 2026年8月13日
dsh-voice-funasr DSH 插件
该插件在输入框左侧添加一个麦克风按钮,按住即可录音,音频通过本地 FunASR 引擎(paraformer-large + VAD + 标点)转写。可选开启 LLM 润色,自动修正口头禅或口误,然后发送到 composer。当本地引擎不可用时,自动回退到浏览器 Web Speech API。
如何安装 dsh-voice-funasr DSH 插件
dsh plugin --profile web add ./dsh-voice-funasr-0.1.2.tgz复制不会执行命令。安装 dsh-voice-funasr DSH 插件前请核对仓库和版本。
dsh-voice-funasr DSH 插件数据来源
dsh-voice-funasr DSH 插件快照日期:2026年8月16日
discovered
dsh-voice-funasr DSH 插件能做什么
- 本地离线 ASR,中文精准识别,使用 int8 ONNX 量化模型
- 两段式润色:LLM 修正口头禅和口误后再发送
- 本地引擎不可用时自动回退到浏览器 Web Speech API
- 音频仅在内存处理,不落盘
- 全本地推理,断网可用(润色可能需要用户自己的 LLM 端点)
- 设置面板可配置识别后端、语言、润色模式,并显示引擎状态
dsh-voice-funasr DSH 插件适合哪些场景
- 通过说话快速输入长篇文字,代替打字
- 在没有网络的环境下进行语音输入,依赖本地 ASR
- 隐私敏感场景,不希望音频上传到云端
- 自动修正口语中的口头禅或错误,提升文本质量
- 在 DSH Web UI 中实现免提语音输入
dsh-voice-funasr DSH 插件适合谁
- DSH Web UI 用户,偏好语音输入而非打字
- 需要离线中文语音识别的高精度用户
- 注重隐私,希望音频处理完全在本地的用户
dsh-voice-funasr DSH 插件的限制
- ASR 引擎针对中文优化,其他语言可能不支持
- 需要 Python 环境安装 funasr-onnx 并下载模型(约 520MB,内存占用约 1GB)
- Node.js 版本要求 ^22.19.0 或 >=24.0.0,DSH 版本需 >=0.1.0-rc.3 <0.2.0
- 浏览器需支持 MediaDevices / AudioWorklet,或使用 Web Speech API 回退
- 润色功能依赖用户自己的 LLM 端点(与普通聊天同信任边界)
dsh-voice-funasr DSH 插件的仓库 README 摘录
以下文字摘自 dsh-voice-funasr DSH 插件的上游仓库 omdsh-dev/dsh-voice-funasr 的 README,版权归原作者,仅作引用。
DSH Web UI 的**本地离线语音输入**插件:录音按钮按住说话 → 本地 FunASR 引擎 (paraformer-large + FSMN-VAD + ct-punc,全部官方 int8 ONNX)精准转写 → 可选 **两段式润色**(LLM 修正口头禅/口误)→ 自动进 composer 并发送。本地引擎不可用 时**自动回退**浏览器 Web Speech API。 与 dsh-voice-chat 的差异化:本地 ASR(中文精准、隐私、断网可用)+ 两段式润色。 ## 兼容性 - DSH:`>=0.1.0-rc.3 <0.2.0`(Profile Bundle 与嵌套 `dsh.client` 契约) - Node.js:`^22.19.0 || >=24.0.0` - Web profile;浏览器需要 `MediaDevices` / `AudioWorklet`,或可用的 Web Speech API 回退 插件由 `package.json#dsh.bundle.patch` 自动加入 profile。不要再把 `dsh-voice-funasr` 手工插入 profile 的 `cordis.patch.yml`,否则同一 loader id 会重复。 ## 架构 ``` 浏览器客户端 DSH host (Node) Python sidecar RecorderButton ──AudioWorklet 16k PCM16──▶ /asr RPC 通道 ──stdio 行 JSON──▶ funasr_engine.py (按住说话 + 状态徽标) (ctx.connection.rpc) (funasr-onnx,模型常驻) 设置面板(引擎状态/安装指引/润色开关) ``` - 音频仅在内存流转:base64 PCM → host → 引擎 stdin;引擎的临时 WAV 用后即删,**不落盘**。 - 模型推理全本地,断网可用;唯一可能出网的是可选润色(走用户自己的 LLM 端点, 与普通对话同信任边界)。 - 实测(Ryzen 7 5800H):5s 话语端到端 0.4–0.5s(含 VAD+ASR+标点),引擎常驻后 热转写 ~0.3s;三模型 int8 权重共 ~520MB,引擎内存 ~1GB。 ## 安装 ### 1. 前置:Python + funasr-onnx ```bash python3 -m pip install -U funasr-onnx modelscope # 仅这两个包:funasr-onnx 只依赖 onnxruntim
阅读完整 README仓库许可: MIT
dsh-voice-funasr DSH 插件常见问题
使用这个插件需要安装 Python 和模型吗?
是的,插件需要本地 FunASR 引擎作为 sidecar 运行。你需要安装 Python 3 以及 funasr-onnx 和 modelscope 包,然后使用提供的脚本下载模型文件(约 520MB)。不完成这些设置插件无法工作。
如果本地引擎不可用会发生什么?
插件会自动回退到浏览器内置的 Web Speech API 进行语音识别。但准确率可能较低,用户体验略有不同。你也可以在设置面板中手动切换后端。
这个插件可以和 dsh-voice-chat 同时使用吗?
不可以。两个插件都注册了同一个插槽('conversation.input.left')放置麦克风按钮,同时启用会导致出现两个按钮。请只选择其中一个使用。
我的音频数据会上传到云端吗?
不会。音频完全在本地处理,包括模型推理也在你的电脑上运行。可选的润色步骤可能使用你自己的 LLM 端点,但这与普通聊天的信任边界相同。音频不会写入磁盘。
如何卸载插件并删除模型?
运行 `dsh plugin --profile web remove dsh-voice-funasr` 移除插件。然后删除模型目录 `~/.dsh/voice-funasr/`,并可选择卸载 Python 包:`pip uninstall funasr-onnx onnxruntime modelscope`。