dsh-voice-dialog:DSH 连续语音对话插件

前言

在 DeepSeek Harness(DSH)里用模型做智能体或日常对话时,键盘输入是默认路径。若希望「说完就发、听完再接着说」,常见做法是在浏览器里反复点录音、等识别、再点发送,朗读回复时也很难自然打断。DSH 社区插件 dsh-voice-dialog 把整条链路收进一次麦克风开关:自动断句、发送前留出可编辑的确认窗口,回复用语音播放且支持开口即打断。下面按定位、能力、安装与用法说明如何接入。

这是什么

dsh-voice-dialog 由维护者 QiNFPV 发布,分类为客户端插件,面向 DeepSeek Harness 0.2.x(桌面 / Web)。核心流程可概括为:点一次麦克风进入语音模式 → 说话 → 约 1.2 秒静音视为一句结束 → 识别文本先进入输入框,2 秒后自动发送 → 助手回复被朗读 → 播放过程中再次说话可立即打断并重新听写。

插件当前发行版为 0.1.3(见仓库 package.json 与 Releases),许可证 MIT,运行时仅需 Node ≥20 与依赖 ws;默认配置不需要 Python、ffmpeg 或独立服务。语音合成走 Microsoft Edge TTS,需能访问 speech.platform.bing.com。可选接入本地 faster-whisper 桥接以提升识别准确度。

核心功能

以下能力均来自项目 README,按使用顺序归纳。

连续对话与断句

  • 一次进入:点麦克风后无需每句话再按按钮。
  • 自动断句:约 1.2 s 静音结束当前句。
  • 2 秒确认窗:识别结果先出现在 composer,默认 2 秒后自动发送;任意按键或点击 composer 可暂停计时,改字后按 Enter 发送。
  • 空闲退出:10 s 无语音则退出语音模式,避免麦克风长期占用。

识别与文本处理

  • 识别纠错:可修正明显 ASR 错误;含长数字串的句子会跳过纠错,避免误改电话、金额等。
  • 口吃折叠(Stutter collapse):如重复的「来来来来」在发送前合并。
  • 短句识别:极短应答(如「嗯」「对」「好的」)按正确语种保留,而非丢弃或误判为英文。
  • 语种:识别自动检测;麦克风旁下拉框只影响朗读用音色,不锁定识别语言。

朗读与打断

  • 仅语音触发的回复会朗读:键盘输入的消息不播报。
  • 按回复语种选音色;日语朗读前会去掉假名注音标记。
  • Barge-in:回复播放时开始说话,播放立即停止并重新拾音。

界面与可选 Whisper

  • 插件按钮与设置文案随 DSH 宿主界面在中英文间切换。
  • Local Whisper update check(默认开启):可周期检查本地 faster-whisper 与模型版本,在设置页查看状态;有更新时麦克风旁会出现徽标,需二次确认后才执行升级(不阻塞语音输入)。检查间隔、立即检查等项见下文设置表。

环境要求

项目 说明
DSH 0.2.x(desktop / web)
默认识别 / TTS 内置路径;TTS 需可达 speech.platform.bing.com
可选 ASR 本地 faster-whisper 桥接
插件包 Node ≥20;运行时依赖 ws

安装与启用

安装包须从 GitHub Releases 获取 dsh-voice-dialog-0.1.3.tgz,勿使用未在文档中出现的 dsh plugin add github:... 形式。

图形界面

  1. 下载 dsh-voice-dialog-0.1.3.tgz 到持久目录(不要放在 /tmp 或 %TEMP%)。
  2. 在 DSH 中打开 Settings → Plugins → Install from file 安装。
  3. 确认当前 profile 的 bundle 列表包含 dsh-voice-dialog,完全重启 DSH。

命令行等价操作

将路径替换为本机上的 tgz 实际位置:

dsh plugin --profile desktop add /path/to/dsh-voice-dialog-0.1.3.tgz

随后在 profile 配置的 dsh.profile.bundles 中加入 dsh-voice-dialog 并重启 DSH。

手动解压(备选)

解压到 ~/.dsh/profiles/<profile>/node_modules/dsh-voice-dialog/ 后重启。不要从其他机器拷贝整个 node_modules;若缺依赖,在插件目录内执行 npm install --omit=dev。压缩包内另有中文 安装说明.txt 与英文 install-notes.en.txt。

典型用法

  1. 点击 composer 左侧麦克风;进入语音模式后按钮变红。
  2. 正常说话,约 1.2 秒停顿结束一句。
  3. 识别文本进入输入框,2 秒后自动发送;需要改字时先按键或点击输入框暂停计时,编辑后按 Enter。
  4. 等待回复朗读;播放中直接说话即可打断。
  5. 再次点击麦克风,或静默 10 秒,退出语音模式。

设置项

路径:Settings → Plugins → Voice Dialog

  • Languages in the picker:下拉里显示的语言(默认含 Auto / 中文 / English / Japanese)。
  • Show all voices (advanced):列出全部 Edge 音色。
  • Auto-correct recognition:识别纠错(长数字句跳过)。
  • External APIs (optional):可填 OpenAI 兼容的 STT / TTS 端点与密钥;留空则用内置后端。
  • Stutter collapse / Robust short utterances:与上文识别行为对应。
  • Local Whisper update check:见下表。

Whisper 自动检查(摘自文档默认值):

配置项 默认 含义
Auto-check local Whisper updates On 开关周期检查
Check interval 24 hours 可选 6 / 12 / 24 / 72 小时
Check now — 立即检查并刷新状态

检查失败或离线时仅更新状态文案,不影响语音管线;结果会写入 ~/.dsh/voice-tutor-config.json 的 whisperUpdate 字段。

适用场景与注意

适合谁:需要在 DSH 里长时间口头交互、希望减少「录一句发一句」操作、并希望在听回复时能随时插话的桌面或 Web 用户。若网络无法访问 Edge TTS 域名,需改用设置中的外部 TTS API 或先解决连通性。

安全与许可:插件以当前 DSH 进程权限在客户端运行,会使用麦克风并可能发起对 PyPI、Hugging Face、必应语音等站的网络请求。安装前建议在 GitHub 查阅源码与 MIT 许可证,确认与自身环境策略一致。社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。

结尾

dsh-voice-dialog 把连续听写、发送前确认、朗读与打断串成一条默认路径,并在可选 Whisper 栈上提供不阻塞语音的更新检查。需要安装包与详细 Whisper 升级流程时,以仓库 README 与 Releases 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye