Bundle
dsh-voice-input-space
Voice input for DeepSeek Harness: hold Space in any editable field to speak, release to insert the transcript at the caret. Zero dependencies, browser Web Speech API. / 语音输入:在输入框长按空格键说话,松开自动上屏。零依赖,基于浏览器 Web Speech API。
- Source
- XSakura666
- License
- MIT
- Updated
- Updated 2 days ago
Readme
# dsh-voice-input-space Voice input for DeepSeek Harness — hold **Space** in any editable field to speak, release to insert the transcript at the caret. Zero dependencies, powered by the browser's Web Speech API (Chrome / Edge). 语音输入插件:在输入框**长按空格键**说话,松开自动上屏。零依赖,基于浏览器 Web Speech API(Chrome / Edge)。  ## Features / 功能 - **Hold-to-talk**: long-press Space (≥ 450 ms) in the composer (or any text field) starts listening; a floating panel shows the live transcript; release inserts the final text at the caret. / 按住说话:在输入框(或任意文本框)长按空格键(≥450ms)开始聆听,悬浮面板实时显示转写,松开后文字插入光标处。 - **Esc / Cancel button** abandons the session without inserting. / Esc 或「取消」按钮放弃本次输入。 - **IME-safe**: space used to confirm Chinese IME candidates is never intercepted (`isComposing` guard); a quick tap still types a normal space. / 中文输入法安全:选词用的空格不会被拦截;轻点空格仍是普通空格。 - **Languages**: 普通话 / 繁體中文 / 粤语 / English / 日本語 / 한국어, switchable in Settings → General. / 支持六种语言,可在 设置 → 通用 切换。 - **Toggle**: enable/disable the hotkey from Settings → General. / 可在设置中一键停用。 - **Status chip** under the composer shows the current language and listening state. / 输入框下方状态条显示当前语言与聆听状态。 ## Why this plugin / 为什么选它 Voice-input plugins already exist in the DSH ecosystem (e.g. SenseVoice-based offline transcription with a mic-button flow). This plugin targets a different trade-off — zero setup and hands-on-keyboard dictation: 语音输入插件社区里已有别的方案(如 SenseVoice 离线转写 + 麦克风按钮流程)。本插件选择了不同的取舍——零配置、手不离键盘: | | dsh-voice-input-space(本插件) | SenseVoice-style plugins | |---|---|---| | Setup / 安装 | install + refresh — no model, no build / 即装即用,无模型无构建 | needs model download & transcription chain / 需下载模型与转写链路 | | Interaction / 交互 | hold **Space** in the editor, release to insert / 长按空格,松开上屏 | click mic button → record → refill / 点按钮 → 录音 → 回填 | | IME / 中文输入法 | never intercepts composition Space / 选词空格永不拦截 | — | | Privacy / 隐私 | audio via browser speech service, not stored / 音频走浏览器语音服务,不落盘 | fully offline, audio never leaves the machine / 全离线,音频不出本机 | | Dependencies / 依赖 | zero / 零依赖 | sherpa-onnx 等 | Both approaches are valid: theirs for offline privacy, this one for instant use. 两种方案各有取舍:对方适合离线隐私场景,本插件适合即装即用。 ## Install / 安装 ```sh dsh plugin --profile web add dsh-voice-input-space ``` Or from the plugin market (Settings → Plugins → Plugin Market) after the entry is listed. Then refresh the page. 或者等插件进入社区目录后,在 设置 → 插件 → 插件市场 中一键安装,然后刷新页面。 First use: the browser asks for **microphone permission** — click Allow in the address bar (127.0.0.1 is a secure context). / 首次使用浏览器会请求**麦克风权限**,在地址栏点击允许即可。 ## Usage / 用法 1. Click into the input box. / 点击输入框。 2. Hold **Space** for about half a second. / 长按**空格键**约 0.5 秒。 3. Speak — the transcript appears live in the floating panel. / 说话,面板实时转写。 4. Release **Space** — the text lands at the cursor. / 松开空格,文字上屏。 ## Uninstall / 卸载 ```sh dsh plugin --profile web remove dsh-voice-input-space ``` ## Notes / 说明 - Speech recognition runs in the browser via the Web Speech API; on Chrome/Edge it uses the platform speech service (network access required). Audio is not stored. / 语音识别由浏览器 Web Speech API 完成,音频不会被保存。 - Without microphone permission the panel shows a persistent error until you release the key. / 未授权麦克风时,面板会持续显示错误提示直至松开按键。 - Dev aid: `window.__dshVoiceInput` exposes the plugin's state and counters for debugging. / 调试钩子:`window.__dshVoiceInput` 暴露状态与计数器。 ## Development / 开发 ```sh # headless verification against a running dsh web (needs Edge): node tools/verify-headless.cjs ``` ## License MIT
Install
dsh plugin --profile web add github:XSakura666/dsh-voice-input-space#9bb74b7e4ed8f3b4920a2c4d61a33fac2fd99a38
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-voice-input-space from the hub