Back to home

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 两种触发方式
  • 浏览器内置语音识别(SpeechRecognitionzh-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.jslib/client.template.js 后,运行构建脚本并重启 dsh web 生效。

许可证

MIT