Voice control for the DSH web composer: push-to-talk speech-to-text into the input box (with optional auto-send), spoken playback of assistant replies via the Web Speech API, right-click settings popover, and a global Ctrl+M hotkey.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-voice-control
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:SuCriss/dsh-voice-control
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
DSH Web 声控插件:语音输入 + 语音播报,把 DeepSeek Harness 变成桌面 Jarvis。
- 🎙 输入框麦克风:麦克风图标嵌在 composer 发送键左侧,样式与原生按钮统一,零额外占位
- 说话即发送:Web Speech API 实时识别(Chrome/Edge 内置),说完直接发出;关闭自动发送则填入草稿供编辑
- 🔊 回复播报:语音指令的回复自动朗读——1.5s 文本稳定去抖判定回复完成(流式输出、工具调用都不怕),Markdown 自动清洗成口语
- 音色动态适配:音色列表按浏览器/系统实时获取(Edge 附赠微软在线自然语音),按语言分组,跨设备自动回落
- ⚙ 按需设置:右键麦克风弹出设置(自动发送/自动朗读/语速/音色/试听),localStorage 持久化
Ctrl+M全局快捷键;录音中麦克风两侧音波动效- 纯浏览器实现,零依赖、零后端、零 API Key
安装
dsh plugin --profile web add dsh-voice-control
也可以从 GitHub 源码安装:dsh plugin --profile web add github:SuCriss/dsh-voice-control。
重启 dsh web 生效(新增 bundle 行需重组配置树;之后改源码刷新页面即可热载)。
语音识别使用浏览器内置服务(Chrome/Edge),需要网络;TTS 播报完全本地。不支持 Firefox(无 Web Speech 识别)。
卸载
dsh plugin --profile web remove dsh-voice-control
实现说明
- 浏览器半区通过
data-composer-card/data-input-scroll稳定属性定位 composer 工具行,portal 注入麦克风按钮,MutationObserver 兜底重挂 - 发送走会话作用域
conversation.send();填入走conversation.input.for().actions.setDraft() - 朗读源为会话快照中最新的助手文本节点,按指纹去抖触发
已知边界(v1.0)
- 语音指令的回复自动朗读:发送后 3 分钟内到达的最后一条助手回复;长回复最多读 1200 字符
- 推式(push-to-talk)而非常驻监听,避免拾取 TTS 声音形成回环
- 未适配多会话并排视图下的非活动输入框
MIT © SuCriss
Links
More in this category
PolinniZhong/dsh-omi-voice★ 76
In-chat read-aloud for DeepSeek Harness: tap to read, pause and resume AI replies with natural Doubao TTS voices (BYOK), reading only the final answer with code, tables and diagrams filtered; local engine, plugin keeps no API key.
PensiveFei/dsh-voice-scribe★ 36
Voice input for the web UI: tap Alt (or Alt+Space) to start/stop dictation, browser Web Speech (zero-config) or OpenAI-compatible cloud ASR, optional polish through DSH-configured LLM, settings UI.
1624318455/dsh-plugin-tts★ 25
Reads assistant replies aloud via free Edge TTS or your own RVC voice models: read-aloud buttons + auto-read, adaptive chunked progressive playback (gapless long reads), one-click voice-pack installs from a registry, and a portable RVC runtime.
beiyege-01/dsh-voice-ai-girlfriend-plugin★ 23
Voice AI girlfriend for the Web UI: FunASR mic input, Qwen3-TTS spoken replies, companion animation window, and two-way QQ chat (text/voice/image push) via NapCat.
WizisCool/dsh-ears★ 23
Voice input plugin for DeepSeek Harness (dsh): a microphone button in the composer turns speech into a draft transcript, with a choice of speech-recognition backends, optional polish through dsh own LLM routes, and a native settings page.
ppy-web/dsh-plugin-xiaomi-mimo-tts★ 20
Adds Xiaomi MiMo text-to-speech to DSH Web with assistant-message read-aloud, PCM streaming, preset and custom voice design, browser speech fallback, playback controls, and optional UI sounds.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.