dsh-voice-chat:DeepSeek Harness 的语音对话插件

前言

DeepSeek Harness(DSH)采用插件化架构,允许开发者扩展功能。在 Web GUI 环境下,用户往往需要更自然的交互方式,而非依赖键盘打字。dsh-voice-chat 插件解决了这一问题,它让用户可以通过语音输入指令,并直接听到 AI 的语音回复。

插件概述

这是一个豆包式语音对话插件,由 maoyuching 维护。它将语音输入(ASR)与语音输出(TTS)集成到 DSH Web GUI 中,实现“点一下说话,AI 用语音汇报”的闭环体验。

核心功能

  1. 语音输入
    点击麦克风按钮(🎤)开始录音,听到“叮”提示音后说话。说话结束后停顿 2.5 秒,系统会听到“咚”提示音并自动结束录音,随后将转写后的文本发送给 AI。

  2. 语音输出
    AI 回复后,系统会自动调用 TTS 引擎进行合成朗读,语速默认增加 10%。

  3. 引擎支持

    • ASR 引擎:支持 SiliconFlow(SenseVoice,国内免费)、Groq(Whisper)、小米 MiMo(chat/completions 协议)以及自定义的 OpenAI 兼容端点。
    • TTS 引擎:支持 Edge TTS(微软免费,无需额外运行时)、小米 MiMo TTS 以及自定义 TTS。
  4. 配置隔离
    ASR 和 TTS 的配置互不干扰。每个引擎各自保存一份 Base URL、模型、API Key 和音色。切换引擎时,配置不会互相覆盖。

  5. 播报控制

    • 单信道播报:同一时刻只播放一个声音。新回复发出时会抢占并中断旧的播报,也可通过快捷键或界面按钮立即打断。
    • 防重播:系统会记录会话中已播报的回复内容,重新进入会话时不会重复朗读。
    • 静音开关:播报过程中点击静音按钮可立即静音,再次点击恢复自动朗读。

安装与启用

安装该插件需要已安装并运行 DeepSeek Harness(dsh)Web GUI。

  1. 执行以下命令安装插件:
dsh plugin --profile web add dsh-voice-chat
  1. 安装完成后,重启 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%'                    # 语速调整

环境要求

  1. 宿主环境:需要 Node.js ≥ 22(宿主与浏览器端均需要)。
  2. 运行环境:需已安装并运行 dsh web。
  3. 浏览器:推荐 Chrome 或 Edge 浏览器(需要支持 MediaRecorder 录音 API)。
  4. API 密钥:使用 SiliconFlow 时注册即有免费额度;使用 MiMo 时需按用量计费。

结语

dsh-voice-chat 通过集成 ASR 和 TTS 能力,简化了 DSH Web 环境下的交互流程。其配置隔离机制保证了多引擎切换的灵活性,适合需要在本地运行、追求语音交互体验的开发者使用。

  • GitHub: https://github.com/maoyuching/dsh-voice-chat
羽毛球分组比赛记分
小程序二维码

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

小夜