dsh-voice
DeepSeek Harness 语音输入输出插件(Web 端):长按空格键语音输入(Web Speech Recognition)+ 助手文章输出朗读(speechSynthesis)。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗使用
语音输入(模式切换)
- 点击输入框工具行右侧的 🎤 按钮进入「语音模式」:图标变为深色并出现 绿色边框闪动(文本输入时为浅色弱化态);识别器立即常驻启动并预热, 因此按下空格的同时开口说话也不会漏字(浏览器识别预热在进入语音模式时已完成)。
- 按住空格:按住超过
holdMs(默认 250ms)确认长按,提示「请开始说话:松开空格结束」。 - 说话,胶囊实时显示本次片段的转写(之前的输入内容不会残留显示);
松开空格结束:只提交按下之后说出的内容(按压前的讲话不会混入),
填入当前会话输入框(
autoSend: true则直接发送)。 多次听写会追加到已有内容(空格分隔),不会清掉前一次输入或手动输入的文字。 - 再点 🎤 退出语音模式(识别器停止),恢复正常文本输入。
细节:
- 短按空格(未超过
holdMs)会放弃本次片段,不提交、不影响输入框。 - 语音模式下短按空格仍是普通空格,正常打字不受影响。
- 未开启语音模式时,插件完全不干预键盘输入。
回车直接发送(语音模式下)
- 非录音时按 回车 → 直接发送输入框内容(语音刚填入的文字不用再点发送按钮)。
- 录音中按回车 → 结束录音并立即发送已识别内容。
- 焦点在输入框内时回车走输入框原生发送,不会重复提交。
- 带修饰键的回车(Cmd/Ctrl/Alt+Enter)不拦截。
文章朗读
- 在任意助手消息的操作条(复制/分支那一行)点 🔊 朗读;再点一次 ⏹ 停止。
- 切换朗读另一条消息会自动停止上一条;Chrome 15 秒停顿 bug 已用 keep-alive 规避。
- 朗读只读正文 text 块:跳过思考过程、工具输出;朗读前会清洗 Markdown 与装饰符号。
配置项
| 配置 | 默认 | 说明 |
|---|---|---|
holdMs | 250 | 语音模式下,按住空格多久判定为语音触发(短按仍是普通空格) |
sttLang | zh-CN | 语音识别语言(BCP-47,如 en-US) |
ttsLang | zh-CN | 朗读语言(BCP-47) |
ttsRate | 1 | 朗读语速(0.1–10) |
ttsVoice | '' | 手动指定朗读音色名(留空 = 自动挑选自然音色) |
autoSend | false | 识别结束后是否直接发送 |
修改 cordis.patch.yml 的 voice.config 后保存即热生效(刷新页面生效)。