Web UI 免费语音闭环:浏览器语音识别输入(实时中间结果上屏)+ 助手回复朗读与自动朗读,零配置、免 API key。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-chatvoice
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:FuzzySoul/dsh-chatvoice
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
给 DeepSeek Harness (dsh) 装上「免费、免 API key、开箱即用」的语音输入 + AI 回复朗读闭环。 全程浏览器原生 Web Speech API —— 零配置、零成本、无任何后端与注册。
ChatVoice = Chat + Voice:一个插件解决「嘴」和「耳朵」——写代码时手不离键盘,用嘴问 AI;懒得看长回复,让 AI 读给你听(听力型学习 / 无障碍 / 摸鱼躺用场景全覆盖)。
功能
| # | 功能 | 说明 |
|---|---|---|
| 1 | 🎤 语音输入 | 输入框旁麦克风按钮:点一下开始说话,识别结果逐句实时进输入框(中间结果实时显示在上方气泡);聆听中随时可打字改错字、删字——语音继续实时追加,删掉的内容停止后也不会回填 |
| 2 | 🔊 回复朗读 | 每条助手回复旁小喇叭,一键朗读该条;点击变「停止」随时打断 |
| 3 | 🔁 自动朗读 | 设置页开启后,新回复完成自动朗读(可随时打断) |
| 4 | ⚙️ 设置页 | dsh 设置 → ChatVoice:识别语言 / 自动朗读 / 音色 / 语速,保存即生效,无需重启 |
| 5 | 🛡 错误提示 | 麦克风权限被拒 / 浏览器不支持 / 非安全上下文 / 识别网络失败,全部有可读 toast,绝不静默失败 |
| 6 | 🇨🇳 中文优先 | zh-CN 识别 + 自动选择 Edge 内置 Xiaoxiao Online (Natural) 免费中文自然音色 |
为什么推荐 Edge
| 能力 | Chrome | Edge | 说明 |
|---|---|---|---|
| 语音识别 | ✅(识别走 Google 服务器) | ✅(识别走 Azure,国内更稳) | 国内网络下 Chrome 可能报 network 错误 |
| 朗读音色 | 部分在线音色 | ✅ Xiaoxiao Online (Natural) 免费中文最自然 | 在线音色需联网 |
| 麦克风(安全上下文) | 仅 localhost/HTTPS | 同左 | dsh web 默认 http://127.0.0.1:3080 ✅;LAN IP 访问麦克风不可用(朗读不受影响) |
安装
dsh plugin --profile web add dsh-chatvoice
# 或手动: pnpm add dsh-chatvoice(dsh.profile.bundles 会自动 reconcile)
重启 dsh web(dsh web),打开 http://127.0.0.1:3080 即可。
⚠️ 必须用 127.0.0.1 访问:语音识别需要安全上下文(HTTPS 或 localhost),LAN IP 直连时麦克风会被浏览器禁用(自动禁用输入功能并提示,朗读仍可用)。
使用
- 语音输入:点输入框工具条上的 🎤 → 浏览器弹麦克风授权(允许)→ 说话(确认句逐句实时进输入框、中间结果实时显示在上方气泡)→ 再点 🎤 停止 → 回车发送;识别中随时可以打字改错字甚至全删——语音只往框尾追加、绝不回写,你删掉的内容停止后也不会复活
- 朗读:点助手回复旁 🔊 → 开始朗读(按钮变红色 ⏹)→ 再点停止
- 自动朗读:设置 → ChatVoice → 勾选「自动朗读新回复」→ 保存,立即生效
设置项
| 设置 | 默认 | 说明 |
|---|---|---|
| 识别语言 | zh-CN | zh-CN / en-US |
| 自动朗读 | 关 | 新回复完成后自动朗读(建议默认关,别太吵) |
| 音色 | 空 = 自动 | 自动选最佳中文音色(Xiaoxiao Online (Natural));可填任意浏览器音色名 |
| 语速 | 1.0 | 0.5(慢)~ 2(快) |
工作原理
- host(dsh/index.js):Config schema + GET/POST /dsh-chatvoice/config 路由,配置持久化到 ~/.dsh/chatvoice.json
- client(client/client.js):MutationObserver 注入麦克风按钮(输入框工具条)与小喇叭(助手回复行);SpeechRecognition 语音输入;speechSynthesis 朗读
- 全部能力来自浏览器,插件没有网络请求、没有子进程、没有 API key
已知限制
- Chrome 的语音识别走 Google 服务器,国内网络可能报 network 错误 → 换 Edge(走 Azure)
- Edge 在线音色需要联网;离线时回退到系统本地音色
- Firefox / Safari 不支持 SpeechRecognition(按钮自动置灰提示,朗读仍可用)
- 语音识别准确性取决于浏览器与系统麦克风,与插件无关
Roadmap(Phase 2)
- 🎙 按住说话(Space 按住识别、松开发送,对标微信语音)
- 🔊 edge-tts 高音质音色(XiaoxiaoNeural,Node 端生成 + 附件路由播放)
- 🗣 语音指令(「保存」「继续」「停止」等口令触发操作)
- 📼 语音备忘:录音转文字存为会话草稿
- 🧩 agent 可调用朗读工具(host 注册 read_aloud,模型可在回答时主动朗读)
English quick start
ChatVoice gives DeepSeek Harness free, keyless voice: speak your prompts (browser SpeechRecognition) and have AI replies read aloud (speechSynthesis). Zero config, zero cost, zero backend — recommend Edge for the most stable Chinese recognition (Azure) and the most natural free Chinese voice (Xiaoxiao Online Natural).
dsh plugin --profile web add dsh-chatvoice
Then open http://127.0.0.1:3080, click the 🎤 in the composer toolbar, allow mic permission, and speak. Click 🔊 on any assistant reply to hear it. Configure language / auto-read / voice / rate under Settings → ChatVoice.
License
MIT © FuzzySoul
链接
同类插件
PolinniZhong/dsh-omi-voice★ 74
DeepSeek Harness 对话内朗读:点一下即可朗读、暂停、继续 AI 回复,豆包 TTS 自然音色(BYOK),只读最终回答并过滤代码、表格与图形,本地引擎,插件零 Key。
PensiveFei/dsh-voice-scribe★ 34
面向 Web UI 的语音输入插件:点按 Alt(或 Alt+空格)开始/停止听写,支持浏览器内置 Web Speech(零配置)或 OpenAI 兼容云端 ASR,可选经 DSH 已配置模型润色,带设置页。
1624318455/dsh-plugin-tts★ 21
用免费 Edge TTS 或你自己的 RVC 音色朗读 AI 回复:消息朗读与自动朗读、长文自适应分块渐进播放(无缝衔接)、音色包仓库一键安装、便携 RVC 运行时。
WizisCool/dsh-ears★ 21
面向 DeepSeek Harness (dsh) 的语音输入插件:输入框的麦克风按钮把语音转成草稿文本,支持多种语音识别后端,可选经 dsh 自有 LLM 路由润色,并带原生设置页。
PerryLink/dsh-talk★ 15
DeepSeek Harness 的语音输入输出:麦克风语音转文字与文字转语音。
qishuilalala/dsh-voice-mode#dsh-voice-mode★ 15
DeepSeek Harness Web UI 全双工语音对话:按钮或 Ctrl+Shift+V 进入,持续聆听(停顿自动发送)或按住说话,zipformer2 流式识别入可编辑草稿、可选唤醒词;回复按句 Edge TTS 朗读并显示实时字幕,开口即打断播放与回合(真 barge-in);识别模型本地推理、Edge TTS 在线合成,无需 API Key。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。