dsh-voice-input:DeepSeek Harness Web UI 的语音输入插件

前言

DeepSeek Harness Web UI 里,输入框仍然是主要工作区。dsh-voice-input 针对这个位置补充一个语音入口:在 composer 的发送按钮前加入麦克风按钮,使用浏览器 Web Speech API 做语音转文字,并把识别结果流式写入当前草稿。它不负责发送消息,最终是否发送仍由操作者决定。

这是什么

forrestahha/dsh-voice-input 是一个面向 DeepSeek Harness Web UI 的语音转文字插件,由 forrestahha 维护,许可证为 MIT。它添加到官方 conversation.input.right 扩展槽,给 Web UI 输入框增加语音输入能力,同时不改变 agent-loop、model、session-log 或 Host API 行为。

核心功能

  • 在 composer 的发送按钮前添加麦克风按钮。
  • 添加到官方 conversation.input.right 扩展槽。
  • 使用浏览器 Web Speech API,将识别结果流式写入当前草稿。
  • 不会自动提交消息。
  • 支持标准 SpeechRecognition 和 WebKit 前缀实现。
  • 使用浏览器语言,回退语言为 zh-CN
  • 对中文、日文、韩文和拉丁文本保留自然空格。
  • 再次点击麦克风按钮可停止录音;组件卸载时会中止识别。
  • 不需要额外 API key 或 host-side service。

安装与启用

先安装到 Web profile:

dsh plugin --profile web add github:forrestahha/dsh-voice-input

然后启动 Web UI:

dsh web

如果需要固定版本:

dsh plugin --profile web add github:forrestahha/dsh-voice-input#v0.1.1

典型用法

1、打开 Web UI,选择一个 workspace。

2、点击 composer 右侧、发送按钮前的麦克风按钮。首次使用时,浏览器会询问麦克风访问权限。

3、开始说话后,识别结果会写入当前草稿。再次点击麦克风按钮可以停止录音。

4、确认草稿内容后,手动执行发送。插件不会替你提交消息。

浏览器支持

插件需要 SpeechRecognitionwebkitSpeechRecognition。Chromium-based browsers 提供支持较广。

不支持的浏览器不会导致启动失败,而是显示一个禁用的麦克风按钮。

localhost 会被现代浏览器视为 secure context。如果 Harness 从另一台机器访问,使用 HTTPS 可能更安全;否则浏览器可能拒绝麦克风访问。

隐私与权限

插件不保存音频,也不额外发起网络请求。Web Speech API 的具体实现由浏览器控制,浏览器厂商可能将音频发送到其语音服务。处理敏感内容前,建议先查看浏览器的隐私政策。

插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。

适用场景

  • 需要在 Web UI 中先把想法口述成草稿,再手动整理和发送。
  • 使用 Chromium-based browsers 或支持 Web Speech API 的浏览器。
  • 不想引入额外语音服务 API key 或 host-side service。
  • 接受浏览器自身语音识别策略和隐私政策的团队或个人。

如果浏览器不支持相应 API,插件只会显示禁用按钮,不会提供语音输入能力。

本地开发与集成测试

本地开发需要 Node.js ^22.19.0 || >=24.0.0 和 pnpm 11。若已有本地 checkout,可以安装到 Web profile 做集成测试:

dsh plugin --profile web add /absolute/path/to/dsh-voice-input
dsh web

结尾

dsh-voice-input 的价值很明确:给 DeepSeek Harness Web UI 增加一个可控的语音草稿入口,不改变消息发送流程,也不引入额外语音服务。GitHub 仓库:https://github.com/forrestahha/dsh-voice-input

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜