前言¶
DeepSeek Harness 的插件机制允许把客户端能力挂进 Web UI。对于主要在 composer 中写消息的使用者来说,语音转草稿、按住说话、助手回复朗读,会比纯键盘输入多一种交互方式。下面介绍 @zhangbo-cn/dsh-client-ui-voice-input,它由 Zhangbo-cn 维护,以 MIT 许可证发布,主要作用于 DeepSeek Harness Web 的 composer 区域。
这是什么¶
该插件在 composer 工具行加入一个线性 mic 按钮。它做三件事:把说话内容逐字写入草稿;支持按住 mic 录音并松开发送;在满足条件时朗读助手回复。
识别通过浏览器 Web Speech API 运行,不需要 API key。回复朗读优先走宿主 Edge TTS 的 /api/tts,浏览器 speechSynthesis 作为 fallback。
核心能力¶
点按监听¶
1、点按 mic 开始监听,图标进入 DeepSeek 蓝并脉冲。
2、说话后,识别结果逐字写入草稿;mic 在静默期间仍保持监听。
3、可以随时用 composer 的发送按钮发送,也可以继续追加语音。
4、再次点按 mic 停止监听。
静默结束时,识别段会自动重启,用于跨过静默保持监听。资料说明中把每段 continuous: false 描述为有意选择,以避免 continuous: true 在某些浏览器下不返回 onresult 的问题。
与 composer 的关系¶
语音结果追加到当前草稿,而不是覆盖已有内容。发送后草稿清空;如果继续监听,则在新的 recognizer 上继续,不把旧语音文本回填到输入框。
按住说话¶
按住 mic 约 250 ms 以上并开始说话,松开后发送。发送后,如果最近 5 分钟内使用过 mic,则下一次助手回复启用朗读;未最近使用 mic 的纯打字发送不触发回复朗读。
可选自动发送¶
配置 autoSendOnSilenceMs 后,停止说话达到该时长会自动发送消息。默认值为 0,表示关闭。
回复朗读¶
助手回复在模型生成过程中按完整句子进入朗读队列;最后一句不完整内容在生成结束时朗读。
朗读期间暂停识别,避免扬声器回声;朗读结束后,如果原本处于监听状态,则恢复识别。点按 mic 可以停止朗读。
安装与启用¶
先执行安装命令:
dsh plugin add @zhangbo-cn/dsh-client-ui-voice-input
该命令按 npm 包名安装插件。刷新 Web UI 后,composer 工具行出现 mic 按钮即可开始使用。
注意需要使用 0.1.1+。0.1.0 曾以错误 ModuleLoader id 注册浏览器 bundle,导致 Harness 报出 loaded without registering "@zhangbo-cn/dsh-client-ui-voice-input"。如果停留在 0.1.0,先升级/重装,再硬刷新 Web UI。
从 DeepSeek Harness checkout 挂载¶
如果是从 DeepSeek Harness checkout 开发,而不是直接安装 npm 包,可以在 web-app browser roster 中挂载该包:
- id: ui-voice-input
name: '@zhangbo-cn/dsh-client-ui-voice-input'
为了让回复朗读走更可靠的宿主 Edge TTS 路径,同时挂载:
- id: tts-edge
name: '@deepseek-ai/dsh-tts-edge'
该挂载用于注册 /api/tts。没有它时,回复朗读仍可使用浏览器 speechSynthesis,但资料说明其效果不如宿主 Edge 神经语音。
经过上面的挂载步骤后,使用仓库构建客户端 bundle:
pnpm --filter @zhangbo-cn/dsh-client-ui-voice-input run bundle
典型配置¶
可在插件配置中设置识别语言、流式中间结果和自动发送静默窗口:
- id: ui-voice-input
name: '@zhangbo-cn/dsh-client-ui-voice-input'
config:
language: 'zh-CN'
interimResults: true
autoSendOnSilenceMs: 0
默认值为:language 为 zh-CN,interimResults 为 true,autoSendOnSilenceMs 为 0(关闭)。
适用场景与注意¶
该插件适合需要在 DeepSeek Harness Web composer 中使用语音输入、按住说话发送、或希望助手回复自动朗读的场景。由于它在客户端浏览器中运行识别,依赖浏览器对 Web Speech API 的支持。
Firefox 的 mic input 不受支持,这是浏览器限制,不是插件问题;插件会 feature-detect 并禁用 mic,并给出提示。回复播放仍可通过 /api/tts 或 speechSynthesis。
已抓取资料中的 package.json 显示部分 peerDependencies,包括 @deepseek-ai/cordis ^4.0.1,以及 @deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-runtime 的 rc 版本要求;资料末尾被截断,完整依赖以仓库 package.json 为准。
安装前建议检查源码与 MIT 许可证。该插件以当前 dsh 进程权限运行,因此安装前应确认来源可信。
相关页面¶
社区目录:https://www.skillhub.cn/plugins/Zhangbo-cn/dsh-voice-input-plugin
GitHub:https://github.com/Zhangbo-cn/dsh-voice-input-plugin