DOCUMENTATION

5 分钟跑通本地语音 Agent

第一目标平台:MacBook Pro M1 Pro。当前 Alpha 可从相邻 Muxiva 源码构建项目 Python Binding;正式 Release 流水线已准备同版本 wheel。

零侵入保证本仓库不修改 DSH agent-loop,也不修改 Muxiva Runtime。所有能力都通过 DSH Bundle、公开 Session face 和 Muxiva 项目 Node Pack 扩展。

1. 安装

确认官方 DSH 与 Muxiva CLI 已安装,然后在插件源码目录执行:

npm run doctor -- --fix
npm run models
dsh plugin --profile web add .

doctor --fix 只创建本项目的 .muxiva/venv,不会改系统 Python。模型下载固定 revision 并执行 SHA-256 校验。

2. 运行

TERMINAL Anpm start
TERMINAL Bdsh --profile web

模型安装完成后,运行 npm run test:e2e 可在不调用云模型和麦克风的情况下认证真实 TTS → PCM → VAD/ASR 闭环。

3. 使用

  1. 打开 DSH 打印的 Web 地址。
  2. 新建或打开一个 Session。
  3. 点击输入框上方的大型语音 Orb。
  4. 允许浏览器麦克风权限,然后直接说话。
  5. Agent 播放回答时继续说话,验证即时打断。

架构

Browser Mic
16 kHz PCM
Silero VAD
barge-in
Zipformer
preview
SenseVoice
zh/en final
DSH Agent
session / tools
Normalizer + TTS
24 kHz PCM

低延迟 Zipformer Partial 只用于 UI 预览;VAD 截断后由 SenseVoice 自动检测中英文并生成唯一提交给 Agent 的 Final。Agent 文本先按自然句边界聚合,再通过 Muxiva formatter 与独立 normalizer Node 清除 Markdown、emoji 并口语化中文数字,最后进入 Kokoro。

打断语义

Silero 检测到新语音时,Muxiva 发出 muxiva.voice.speech.started Signal,取消 TTS 并清空播放;浏览器同步调用 DSH session.cancel()。新 ASR Final 到达后开启下一 Turn。Generation fence 会丢弃已经在后台返回的旧 PCM。

默认模型

默认选择原因
VADSilero ONNX成熟、轻量、MIT
ASR PreviewZipformer2 CTC zh small真流式、低延迟、Apache-2.0
ASR FinalSenseVoiceSmall int8中英自动检测、ITN、Apple Silicon CPU
Textspeech_text_normalizerMarkdown / emoji / 中文数字口语化
TTSKokoro v1.1 zh/en中文音色 zf_032、24 kHz、可取消

性能数据

第一台认证机器是 16 GB MacBook Pro M1 Pro。当前展示的延迟数字是 Release Gate,不是实测结果;第一份公开实测报告随 npm Release 发布。每个版本必须提交包含 p50/p95/p99、ASR/TTS 实时系数、CPU、峰值内存、中文 CER、英文 WER、打断残留和 30 分钟稳定性的版本化 JSON,否则 Release 会失败。完整测量边界见仓库的 Performance and acceptance

Doctor

npx @muxiva/dsh-voice doctor

检查 Apple Silicon、Node、Muxiva CLI、项目 Python 导入和每个模型校验和。任何一行失败都不会启动 Graph。

安全

发布到哪里

DSH 当前没有集中式插件市场。正式发布采用 npm 包 @muxiva/dsh-voice,GitHub 仓库添加 dsh-plugin Topic,并提供 GitHub Pages Showcase。每个版本精确声明兼容的 DSH RC 与 Muxiva Release。

已复制