前言¶
DeepSeek Harness(DSH)采用插件化架构,允许开发者扩展功能。在 Web GUI 环境下,用户往往需要更自然的交互方式,而非依赖键盘打字。dsh-voice-chat 插件解决了这一问题,它让用户可以通过语音输入指令,并直接听到 AI 的语音回复。
插件概述¶
这是一个豆包式语音对话插件,由 maoyuching 维护。它将语音输入(ASR)与语音输出(TTS)集成到 DSH Web GUI 中,实现“点一下说话,AI 用语音汇报”的闭环体验。
核心功能¶
-
语音输入
点击麦克风按钮(🎤)开始录音,听到“叮”提示音后说话。说话结束后停顿 2.5 秒,系统会听到“咚”提示音并自动结束录音,随后将转写后的文本发送给 AI。 -
语音输出
AI 回复后,系统会自动调用 TTS 引擎进行合成朗读,语速默认增加 10%。 -
引擎支持
- ASR 引擎:支持 SiliconFlow(SenseVoice,国内免费)、Groq(Whisper)、小米 MiMo(chat/completions 协议)以及自定义的 OpenAI 兼容端点。
- TTS 引擎:支持 Edge TTS(微软免费,无需额外运行时)、小米 MiMo TTS 以及自定义 TTS。
-
配置隔离
ASR 和 TTS 的配置互不干扰。每个引擎各自保存一份 Base URL、模型、API Key 和音色。切换引擎时,配置不会互相覆盖。 -
播报控制
- 单信道播报:同一时刻只播放一个声音。新回复发出时会抢占并中断旧的播报,也可通过快捷键或界面按钮立即打断。
- 防重播:系统会记录会话中已播报的回复内容,重新进入会话时不会重复朗读。
- 静音开关:播报过程中点击静音按钮可立即静音,再次点击恢复自动朗读。
安装与启用¶
安装该插件需要已安装并运行 DeepSeek Harness(dsh)Web GUI。
- 执行以下命令安装插件:
dsh plugin --profile web add dsh-voice-chat
- 安装完成后,重启
dsh web使配置生效。
使用与配置¶
快捷键与入口¶
- 切换麦克风:使用
Ctrl+Shift+Space快捷键(备用Ctrl+M/Ctrl+Shift+M)。 - 设置入口:在 DSH 设置弹窗(左下角齿轮图标)的左侧点击「voice chat」类目进行配置。
配置文件¶
除了在设置面板修改,也可以在 profile 的配置文件中覆盖设置。文件路径通常为 ~/.dsh/profiles/web/cordis.patch.yml。修改后需重启 dsh web 生效。
配置优先级:设置面板 > cordis.patch.yml(按引擎 > 旧式扁平键)> 环境变量 > 默认值。
- id: dsh-voice-chat
name: 'dsh-voice-chat'
config:
asrEngine: siliconflow # 选择 ASR 引擎
asrApiKey: sk-xxxx # ASR 密钥
asrBaseUrl: https://api.siliconflow.cn/v1
asrModel: FunAudioLLM/SenseVoiceSmall
silenceMs: 2500
ttsEngine: edge # 选择 TTS 引擎
voice: zh-CN-XiaoxiaoNeural # 音色
rate: '+10%' # 语速调整
环境要求¶
- 宿主环境:需要 Node.js ≥ 22(宿主与浏览器端均需要)。
- 运行环境:需已安装并运行
dsh web。 - 浏览器:推荐 Chrome 或 Edge 浏览器(需要支持
MediaRecorder录音 API)。 - API 密钥:使用 SiliconFlow 时注册即有免费额度;使用 MiMo 时需按用量计费。
结语¶
dsh-voice-chat 通过集成 ASR 和 TTS 能力,简化了 DSH Web 环境下的交互流程。其配置隔离机制保证了多引擎切换的灵活性,适合需要在本地运行、追求语音交互体验的开发者使用。
- GitHub: https://github.com/maoyuching/dsh-voice-chat