dsh-stt-input:为 DSH Web GUI 增加语音输入

前言

DSH 的插件体系强调「一切皆插件」,Web GUI 的交互能力可以通过插件扩展。如果经常要在 DSH 的 Web GUI 里填写较长提示词,直接打字可能不如听写方便;已有做法通常是先调用外部转写工具,再把结果复制回输入框。下面介绍的 dsh-stt-input 插件把这一步放在 DSH 的 Web 输入框内:点击输入框旁的麦克风按钮开始录音,停止后把识别文字填入输入框。

这是什么

baisama-cloud/dsh-stt-input 是 DeepSeek Harness(DSH)Web GUI 的语音输入插件,许可证为 MIT。它解决的是在 DSH Web GUI 中把语音转成文字并写入输入框的问题。

插件注册了三项界面位:

输入框工具行的麦克风按钮
输入框下方的状态条
设置页中的「语音输入」配置项

核心功能

两种识别引擎

浏览器本地识别使用 Web Speech API(SpeechRecognition),Chrome/Edge 可用,零配置、无需 API Key,可边说边把中间结果写进输入框。

API 识别使用 MediaRecorder 录音,通过 OpenAI 兼容接口转写,支持 OpenAI、Groq 或自定义服务。使用的接口为:

/v1/audio/transcriptions

模型与配置

可选模型包括:

whisper-1
whisper-large-v3
whisper-large-v3-turbo
distil-whisper-large-v3-en

也可以使用自定义模型名。

可配置项包括:

服务预设
API Base URL
API Key
识别语言
写入方式:追加到输入框 / 替换输入框内容

状态与密钥保存

输入框下方显示实时状态条,包括录音计时、识别中状态与错误信息。

API Key 仅保存在页面内存中,不落盘、不打日志;非密钥配置通过 localStorage 在刷新后保留。

安装与启用

安装前确认 Node 环境满足:

node >=18.18

下面按 tarball 方式安装到 DSH web profile:

pnpm pack
# 把 dsh-stt-input-*.tgz 复制到 web profile 并添加依赖,
# 例如在 ~/.dsh/profiles/web 下:pnpm add ../path/to/dsh-stt-input-0.1.0.tgz
# 然后重启 `dsh web`。

先打包插件,再把生成的 tarball 添加到指定 web profile 的依赖中,最后重启 dsh web 使插件生效。

典型用法

1、打开 设置 → 语音输入 选择引擎。

2、如果使用浏览器本地识别,无需其他配置,仅支持 Chrome/Edge。

3、如果使用 API 识别,选择预设(OpenAI 或 Groq)、选择模型,并粘贴 API Key。Groq 的 whisper-large-v3 目前免费。

4、点击输入框旁的麦克风按钮开始录音,说话,再点一次停止;识别文字进入输入框,回车发送。

Firefox 请使用 API 引擎。

适用场景与注意

该插件适合在 Chrome/Edge 中使用浏览器本地识别,或需要调用 OpenAI 兼容 Whisper 服务的场景。写入方式可选择追加到输入框或替换输入框内容,适合对草稿输入已有内容的情况。

插件启用后会以当前 dsh 进程权限运行,安装前应检查源码、依赖与 MIT 许可证。

参考链接

社区目录页:https://www.skillhub.cn/plugins/baisama-cloud/dsh-stt-input

GitHub 仓库:https://github.com/baisama-cloud/dsh-stt-input

目录页为社区目录,独立站点,与 DeepSeek / 幻方无官方从属关系。

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

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

小夜