前言¶
DeepSeek Harness (DSH) 采用插件化架构,生态由社区贡献。dsh-voice-call 是一款面向个人的语音通话助手插件,旨在解决 DSH 在原生语音交互上的空白。它通过自动创建专属工作区和会话,实现跨重启的持久化对话;通过悬浮球面板提供快捷入口;通过 FunASR 和云端 TTS 实现语音识别与合成;通过 voice_task 工具将子代理任务分发至独立会话执行,并跟踪进度。
核心功能¶
- 专属工作区与会话:安装并重启 DSH 后,Host 会自动创建专属工作区「语音通话」与专属会话
voice-call-main。该会话在 DSH 重启后依然延续,无需手动创建。 - 悬浮球通话面板:页面右下角提供悬浮球,支持拖拽。点击展开通话、任务、设置面板。重启后自动出现。
- 语音识别:支持 FunASR HTTP 模式。默认 URL 为
http://127.0.0.1:10095/v1/audio/transcriptions,模型为fun-asr-nano。支持流式与云端 API。 - 语音回复:支持 MiniMax、MiMo-V2.5-TTS 和 OpenAI 兼容 TTS。支持语速调节、最大字数截断检测。
- MiMo 导演模式:在 MiMo-V2.5-TTS 模式下,支持导演模式(关闭/固定剧本/每轮自动)。支持音色克隆(VoiceClone),无需注册 voice_id,样本以 DataURL 发送。
- 任务分发:主会话通过
voice_task工具或面板分发任务至独立任务会话。任务完成后自动语音播报结果。 - 唤醒词模式:可配置唤醒词(默认「小鲸鱼」)和休眠时长(默认 8 秒)。建议配合本地 ASR 使用以降低延迟。
安装与启用¶
本插件提供持久化安装方式,无需手工编辑配置文件。安装命令如下:
dsh plugin --profile web add @biliye/dsh-voice-call
安装完成后,重启 DSH。在「设置 → 插件」中应能看到 dsh-voice-call。重启后,Host 会自动创建专属工作区「语音通话」和会话 voice-call-main。
配置与使用¶
- 配置语音识别:在悬浮球打开的设置页中,配置语音识别引擎。使用 FunASR 模式时,URL 填写
http://127.0.0.1:10095/v1/audio/transcriptions,模型填写fun-asr-nano。 - 开始通话:点击悬浮球上的「▶ 开始通话」。直接说话,停顿约 1.2 秒,系统自动识别并发送。助手回复后自动语音朗读。
- 分发任务:在「任务」页或语音说出“帮我查一下…”时,系统会将任务分发给子代理执行。任务完成后会自动语音播报。
- 使用 MiMo 导演模式:
- 在设置页「语音回复(TTS)」中,将「TTS 模型」切换为
MiMo-V2.5-TTS。 - 填写 API Key(从
platform.xiaomimimo.com控制台获取,无需 GroupId)。 - 选择音色(内置:冰糖/茉莉/苏打/白桦/Mia/Chloe/Milo/Dean)。
- 开启「导演模式」,可选择「关闭」、「固定剧本」或「每轮自动」。
- 在设置页「语音回复(TTS)」中,将「TTS 模型」切换为
注意事项¶
- 本地 ASR 建议:为了隐私和更可靠的唤醒,建议使用本地部署的 FunASR Server。
- 音色克隆规范:⚠ 只应克隆你本人或已获明确授权的声音。样本支持 mp3/wav,大小限制 10MB。
- 开发环境配置:如果在本地开发源码并使用
dsh plugin add .安装,由于nodeLinker: hoisted配置,默认是拷贝式安装,修改源码后需重启才能生效。若需热重载,需将安装目录替换为 Junction,但需注意源码目录必须自带node_modules,否则会导致宿主依赖解析失败。
生态背景¶
DSH 理念是“一切皆插件”,社区目录 skillhub.cn 提供插件收录与搜索。本文档基于已核实的事实编写,具体源码与更新请查看 GitHub 仓库。