Back to home

motongv

dsh-voice

Voice input + Edge-TTS read-aloud plugin for DeepSeek Harness

Stars
0
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 15, 2026

Introduction

@motong/dsh-voice

npm DeepSeek Harness 插件 GitHub license

这是 DeepSeek Harness(DSH)专属插件,安装:dsh plugin --profile web add @motong/dsh-voice English readers: README.en.md

DeepSeek Harness(DSH / DeepSeek Hermes) 加语音能力的社区插件,装完即用、无需任何 API Key

  1. 语音输入:输入框工具行多一个 🎤 麦克风按钮,点一下说话,识别出的文字自动填入输入框(语音转文字)。
  2. 语音输入快捷键:默认 Ctrl+Shift+空格,可在 设置 → 语音 里改(支持组合键录制)。
  3. 语音输入方式:可选「点击切换」或「按住说话(松开停止)」,像微信语音那样按住就说。
  4. 回答朗读(自然音色):每条 AI 回答下方多一个 ▶ 朗读按钮,用微软 Edge 神经网络语音朗读,比系统机械音自然得多,可在 设置 → 语音 里换音色、试听。

效果

位置按钮 / 键功能
输入框工具行(左侧)🎤 麦克风点击开始聆听,说话 → 自动填入输入框
任意会话(全局)Ctrl+Shift+空格(可改)唤起/停止语音输入
设置 → 语音录制按钮 / 音色下拉 / 试听改快捷键、换音色、试听
AI 回答动作条(复制按钮旁)▶ 朗读点击朗读这条回答,再点 ■ 停止

安装

DSH 专属插件,不是通用浏览器扩展。

方式 A(已发布到 npm)

dsh plugin --profile web add @motong/dsh-voice

然后重启 DSH 生效(依赖 ws 由 npm 自动安装)。

方式 B(本地安装)

  1. 把本包拷贝到 profile 的依赖目录:

    ~/.dsh/profiles/web/node_modules/@motong/dsh-voice/
    
  2. 确保 ws 也在 profile 的 node_modules 里(朗读合成需要它):

    ~/.dsh/profiles/web/node_modules/ws/
    

    若没有,可复制一份 ws@8.x 进去,或在该目录执行 npm install ws@8

  3. ~/.dsh/profiles/web/package.json 里加依赖并把 "@motong/dsh-voice" 加进 dsh.profile.bundles

    {
      "dependencies": {
        "@motong/dsh-voice": "^0.4.1"
      },
      "dsh": {
        "profile": {
          "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "@motong/dsh-voice"]
        }
      }
    }
    
  4. 重启 DSH,刷新页面即可。

使用

  • 语音输入(按钮):进入会话后点输入框左侧的 🎤,对着麦克风说话(默认中文),说完自动停止并填入输入框。
  • 语音输入(快捷键):按 Ctrl+Shift+空格(或你改过的键)唤起/停止。
  • 改快捷键设置 → 语音 点按钮后,先按住修饰键(Ctrl/Shift/Alt)再按主键即可录制组合键,Esc 取消。
  • 语音输入方式设置 → 语音 可选「点击切换」或「按住说话」;选「按住说话」后,长按 🎤 或长按快捷键即说话,松开停止。
  • 换音色 / 试听设置 → 语音 里选音色(默认「晓晓」),点「试听」立即听效果;音色即时生效。
  • 恢复默认设置 → 语音 底部点「恢复默认设置」,一键还原快捷键、音色、输入方式。
  • 朗读:在任意已完成的 AI 回答下方点 ▶,浏览器播放合成语音;点 ■ 停止。

可选音色

音色说明
晓晓 zh-CN-XiaoxiaoNeural女声,温柔自然(默认)
晓伊 zh-CN-XiaoyiNeural女声,活泼
云希 zh-CN-YunxiNeural男声,年轻
云健 zh-CN-YunjianNeural男声,激情
云扬 zh-CN-YunyangNeural男声,新闻播报
Jenny / Guy英文女/男声

原理

  • 语音识别:浏览器原生 SpeechRecognition(Chrome/Edge 完整支持)。
  • 朗读:插件在 DSH 内部挂路由 /_dsh/voice/tts,按 edge-tts 的协议(wss + Sec-MS-GEC + SSML)向微软 Edge 语音服务合成 MP3 回传,浏览器用 <audio> 播放。
  • 快捷键 / 音色走 DSH 的 settings 命名空间 voice(存 settings.yaml),浏览器侧用 settingsScope + localStorage 读写。
麦克风 → SpeechRecognition → 填入输入框
回答文本 → /_dsh/voice/tts → 微软 Edge 神经网络 TTS → MP3 → 播放

常见问题

Q:点了 🎤 没反应 / 提示“不支持语音识别”? 换用 Chrome 或 Edge,并在浏览器里授权麦克风。

Q:朗读失败 / 没声音? 朗读需要联网(调用微软 Edge 语音服务)。若网络/代理拦截 speech.platform.bing.com 会失败,换成可直连网络即可;音色可在 设置 → 语音 切换。

Q:会不会上传回答内容? 朗读时回答文本会发送给微软 Edge 语音服务以合成音频;语音识别由浏览器厂商处理。本插件不接触、不存储任何密钥。

开源 & 发布

本插件以 MIT 开源。发布到 npm 供大家安装:

npm login
npm publish --access public

发布后,其他用户即可 dsh plugin --profile web add @motong/dsh-voice

源码仓库:https://github.com/motongv/dsh-voice

致谢

朗读合成协议参考了 rany2/edge-tts(MIT License)。

License

MIT