xibaoxuan
dsh-voice-interaction
DSH Voice Interaction: voice input for the DSH Web composer (mic button + hold Left Ctrl, Web Speech API transcription).
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
DSH Voice Interaction
为 DeepSeek Harness (DSH) Web 界面提供语音输入:点击输入框的麦克风按钮,或按住左 Ctrl,通过浏览器 Web Speech API 实时把语音转写为中文,并追加到输入框草稿(不会自动发送)。
功能
- 麦克风按钮 + 按住左 Ctrl 两种触发方式
- 浏览器内置语音识别(
SpeechRecognition,zh-CN),中间结果实时上屏 - 转写结果追加到已有草稿,不覆盖、不自动发送
- 可作为 DSH 客户端插件安装 / 卸载
安装 / 卸载
方式一:让 DSH 智能体自动安装(推荐)
直接把下面这句话发给你的 DSH 智能体,它就会访问 GitHub、自动拉取并安装:
帮我安装 GitHub 上的 DSH 插件
xibaoxuan/dsh-voice-interaction
智能体实际执行的是:
dsh plugin --profile web add github:xibaoxuan/dsh-voice-interaction
方式二:本地目录安装
# 在本仓库根目录执行
dsh plugin --profile web add ./dsh-voice-interaction
卸载
dsh plugin --profile web remove dsh-voice-interaction
安装后重启 dsh web,刷新浏览器页面(需 Chrome / Edge)即可在输入框看到麦克风按钮。
目录结构
| 路径 | 说明 |
|---|---|
package.json | 包清单:dsh.bundle.patch + dsh.client(浏览器半) |
cordis.patch.yml | 宿主 patch 层 |
lib/index.js | 宿主半(no-op Cordis 插件) |
lib/core.js | 纯逻辑单一真源(状态机、左 Ctrl 判定、结果拼接) |
lib/client.template.js | 浏览器 bundle 模板(含 // __VOICE_CORE__ 标记) |
scripts/build.mjs | 构建脚本:把 lib/core.js 内联进模板生成 lib/client.js |
lib/client.js | 生成产物(勿手改) |
test/core.test.js | 核心逻辑单测 |
开发
node scripts/build.mjs # 重新生成 lib/client.js
node --test --test-isolation=none "test/*.test.js" # 运行单测
修改 lib/core.js 或 lib/client.template.js 后,运行构建脚本并重启 dsh web 生效。
许可证
MIT