@biliye/dsh-voice-call
个人语音通话助手:专属工作区/会话(自动创建、跨重启保持)、悬浮球通话面板、FunASR 流式/HTTP 语音识别、云端 TTS 语音回复、唤醒词通话模式(可配置唤醒词/休眠时长,建议本地 ASR)、子代理任务分发与进度跟踪。持久化安装,重启后仍在「设置 → 插件」中可见。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:biliye/dsh-voice-call说明文档
阅读完整 README ↗🚀 使用
- 专属工作区自动就绪:安装并重启 DSH 后,Host 会自动创建专属工作区「语音通话」与专属会话
voice-call-main(失败自动重试;会话被删除也会自动重建)。侧边栏可见该工作区,语音内容全部保存在此会话中,重启后依然延续 - 点右下角 🎙 悬浮球(重启后自动出现)
- 设置页配置语音识别引擎与 TTS(FunASR 模式 URL 填
http://127.0.0.1:10095/v1/audio/transcriptions,模型fun-asr-nano) - 「▶ 开始通话」→ 直接说话 → 停顿 1.2 秒自动识别并发送(VAD 实时监听,无需点结束)→ 助手回复自动语音朗读
- 支持连续多轮对话:每说一句停顿一下即可,助手回复播放期间麦克风自动静音防回声
- 「任务」页或语音说"帮我查一下…"分发子代理任务(专属会话会快速简短回复,耗时任务交给子代理执行);任务完成后会自动语音播报结果;需要中止时点任务卡「⏹ 停止」、在专属会话里说"停止任务",或在打开的任务会话页直接停止
- 「⏹ 结束通话」停止监听(当前未说完的半句也会补发)
- 唤醒词模式(可选):设置页开启「唤醒词通话模式」,配置唤醒词与「沉默多少秒后休眠」(默认 8 秒)后开始通话:休眠时只有听到唤醒词才唤醒对话——说「小鲸鱼」→ 回「我在」;说「小鲸鱼帮我打开qq」→ 去掉唤醒词后直接执行,回「好的」;沉默超时自动休眠。💡 建议使用本地部署的 ASR 进行语音识别(如本机 FunASR Server
http://127.0.0.1:10095):语音不出本机、识别延迟低,唤醒更可靠;使用云端 ASR 时每段语音都会上传,唤醒响应也受网络影响
专属会话说明:语音输入始终发送到专属会话(而非当前打开的会话),所有历史对话都保存在那里;面板可点「📂 打开会话」跳转到该会话查看完整记录。
前置依赖
| 组件 | 说明 |
|---|---|
| FunASR Server | 新版 v1.x:funasr-server --port 10095(OpenAI 兼容 HTTP,模型 fun-asr-nano / sensevoice;浏览器端 VAD 分段后整段上传识别) |
| node | ≥ 18(Host 端 TTS/ASR 网络桥需要 node 在 PATH 中) |
| TTS | MiniMax API Key + GroupId,或 OpenAI 兼容端点 + Key(可选) |
注意:Host 半(
lib/index.js)改动需重启 DSH 生效;Client 半(lib/client.js)改动会经 HMR 自动重载,刷新浏览器即可。
🛠 维护参考
FIX-2026-09-08.md:任务生命周期修复档案(任务完成不播报 / 状态卡死 / 无法停止 / 任务会话无法完整打开)——含根因分析、修复内容、验证记录与维护注意事项。后续涉及任务分发/停止/会话模型或 DSH 运行时 Session API 升级时,先读该档案。FIX-2026-09-09.md:其他会话完成播报改造为「合并进主会话」后的修复档案(唤醒词休眠误跳过 / 任务结果截断与转述指令 / 多窗口双播排查)。涉及播报链路、唤醒词模式、多标签播报时先读该档案。contrib/README.md:发行与收录档案——投稿到 awesome-dsh-plugin 精选列表(=插件市场的唯一数据源)的条目文件、收录条件核对、tarball 链接防失效规则,以及 npm 发布与engines.dsh的可选项。改安装来源、发新版或补录 npm 之前先读该文件。