dsh-voice-scribe
DSH 专属语音输入插件:点按或按住 Alt 说话、松开/再点按转文字,支持热词替换表(hot.txt)、自定义润色提示词、录音电平指示。默认本地离线识别(SenseVoice,零配置零 key、音频不出本机),自动回退浏览器 Web Speech,可选云端 ASR 与润色(复用 DSH 模型)。Voice input for DeepSeek Harness: tap or hold Alt to talk, get text in the composer — local SenseVoice by default, zero config, zero API key.
一句话定位
DSH 专属语音输入插件:点按或按住 Alt 说话、松开/再点按转文字,支持热词替换表(hot.txt)、自定义润色提示词、录音电平指示。默认本地离线识别(SenseVoice,零配置零 key、音频不出本机),自动回退浏览器 Web Speech,可选云端 ASR 与润色(复用 DSH 模型)…
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add dsh-voice-scribe@0.5.4
兼容的 DSH 版本
>=0.1.0-rc.6 || >=0.1.1-rc.1 || >=0.1.2-alpha.0 || >=0.1.3-alpha.0 || >=0.1.5-alpha.0 || >=0.1.6-alpha.0 || >=0.1.7-alpha.0 || >=0.2.0-rc.0
作者与热度
PensiveFei · ★ 36 · 更新于 2026-11-01
关于这个插件
dsh-voice-scribe
DSH 专属语音输入插件:点按或按住 Alt 说话、松开/再点按转文字,结果追加到输入框草稿末尾(不覆盖已输入内容)。 Voice input for DeepSeek Harness: tap or hold Alt to talk, get text in the composer. ⚠️ 非官方插件,与 DeepSeek / 深度求索公司无关联。使用前请阅读 SECURITY.md。 安装 Install
官方插件面板(推荐):dsh 侧边栏 → Plugins → 安装,填入下面任一种 spec——插件管理器同时支持 npm 包名与 GitHub 地址:
命令行: 桌面端(Electron)跑的是与 web 同一套宿主与插件体系(@deepseek-ai/dsh-desktop-host 依赖 dsh-app-boot / dsh-host-webserver / dsh-home-paths),同一个插件包两端通用。 使用 Usage 麦克风按钮:输入框右侧 🎤 图标,点击开始说话、再点停止并转写(按钮录音中变红) 热键:点输入框 → 按 Alt 开始说话 → 再按 Alt 结束并转写(备选 Alt+空格;设置 → 语音输入 → 热键可选「自定义」,录制任意组合键,如 Ctrl+Shift+V、F9、Alt+Space) 按住说话:设置 → 语音输入 → 触发方式 可选「按住说话」——按住热键录音、松开自动转写(麦克风按钮同样支持);自定义组合键在按住模式下同样生效(松开组合键中的任意一键即结束) 实时中间结果:说话时识别文本实时出现在草稿里(浏览器引擎逐字、本地引擎每 3 秒刷新),停止后替换为最终结果 录音电平指示:录音中状态条下方显示实时电平条 麦克风设备:设置 → 语音输入 → 麦克风设备 可指定用哪一路输入,录音中状态条会显示实际生效的设备名(见下文「麦克风设备」) 最长录音时长:本地引擎约 4 分钟、云端 10 分钟,到时长自动停止并转写 切窗取消:录音中切到其他窗口自动取消本次录音(Alt+Tab 误触不会留下录音) 识别引擎 Engine(默认「自动」,零配置) 浏览器识别依赖外部语音服务(Chrome 在大陆被墙、Edge Stable 有已知回归),故默认以本地识别为主。 云端 ASR 服务链示例:Groq(免费层)→ 硅基流动 SenseVoice → 阿里云百炼,任一失败自动尝试下一个(设置 → 语音输入 → 云端 ASR)。 识别语言 Languages
支持 中文 / English / 粤语 / 日本語 / 한국어(设置 → 语音输入 可选)。本地离线识别自动检测语言;所选语言作用于浏览器与云端识别。 麦克风设备 Microphone
getUserMedia({ audio: true }) 的「默认设备」由浏览器决定,不等于 Windows 的默认设备:Chrome 优先用站点在 chrome://settings/content/microphone 里的选择,没有选择时按它自己 profile 里的设备排序——而排序第一名可能是纯静音的虚拟设备(典型:装过 Steam 之后的 Steam Streaming Microphone)。症状极具误导性:状态条显示「🎙 录音中…」、电平条不动、转写结果为空,看起来像插件坏了。
现在的行为: 设置 → 语音输入 → 麦克风设备:可选「系统默认(由浏览器决定)」或指定某一路输入(按浏览器持久化);指定后以 deviceId: { exact } 精确请求,不再交给浏览器解析; 录音中状态条会显示实际生效的设备名(取自 track.label),设置页也会显示「上次录音实际使用的是:…」——设备选错一眼可见; 转写为空时,若这一轮采集到的峰值 ≈0,提示会追加「输入电平≈0」,把「录到了静音」和「识别没听清」区分开; 选定的设备被拔掉/禁用后会自动回退到系统默认设备并在状态条说明,不会卡在 OverconstrainedError 上; 设置页只用 enumerateDevices(),不会为了列设备而打开麦克风(未授权时显示占位名,授权一次后显示真实名称),并跟随蓝牙设备上下线自动刷新列表。 该设置作用于插件自己的录音路径(本地离线识别 / 云端 ASR,以及麦克风按钮在这些引擎下的录音)。浏览器 Web Speech 由浏览器直接采集,插件无法指定其设备——那条路径请改用浏览器的站点麦克风设置,或切换到本地/云端引擎。
排查顺序:
1. 先看设置页里的「实际使用的设备」是不是你想用的那一路,不是就直接选; 2. Chrome 用户再看一眼 chrome://settings/content/microphone(站点级选择优先于系统默认); 3. Windows 还有按应用的设备策略:设置 → 隐私和安全性 → 麦克风 里给浏览器指定的设备优先于系统默认,且改系统默认无效,需要把该应用的选择清掉; 4. 电平条一动不动 + 提示「输入电平≈0」= 采集端本身就是静音(虚拟声卡、被静音的硬件、被独占占用),不是识别问题。 热词替换表 Hot Words(可选)
把识别错的人名、术语、项目名替换回来:编辑 $DSH_HOME/voice/hot.txt(每行一条,修改后下次转写生效):
设置 → 语音输入 页面会显示热词表状态(规则条数 / 文件路径 / 解析错误)。云端与本地离线引擎的转写结果统一应用。
相似插件
dsh-purge
让 AI 更专注地辅助学习与动手实验:DSH 附加组件,提供状态自检、提示词与规则管理、本机备份与回滚。
dsh-unrestricted
Toggleable unrestricted mode for DeepSeek Harness: fuses execution rules into the active standard, ptc, cordis, minimal,…
dsh-univer-office
DSH × Univer integration with a bundled collaboration Gateway and Viewer: inline previews, live floating Worktree window…