← Back to home@nncscn

dsh-voice

DeepSeek Harness 语音输入插件:录音 → 转写 → 插入输入框,支持任意 OpenAI 兼容 ASR 接口

Stars
0
Language
JavaScript
Created
Oct 18, 2026
Updated
Oct 18, 2026

Introduction

DSH 语音输入插件

给 DeepSeek Harness 的输入框加一个麦克风按钮:点一下开始录音,再点一下结束,文字自动插入光标处。

插件只是"客户端"——录音在你的浏览器里完成,音频通过 HTTP 发给你自己的语音识别服务。不含任何内置服务地址或密钥,接哪个后端完全由你决定。

输入框里的语音按钮


特性

  • 🎙 一键录音:点击开始 / 结束,录音中按钮展开成声浪动画
  • 🚀 任意后端:任何 OpenAI 风格的 /v1/audio/transcriptions 接口都能接(自建、OpenAI、Azure、硅基流动…)
  • 🧹 静音过滤:没说话时服务返回的「嗯。」「Silence.」不会插进输入框
  • ⏱ 自动停止:最长 60 秒,短于 0.4 秒的误触直接丢弃
  • 🔒 隐私:录音只在内存里,不落盘、不留历史
  • 🌏 中英双语界面

安装

前置条件

  • DeepSeek Harness(桌面版或 Web 版均可)
  • 一个能从浏览器访问、且允许跨域的语音识别接口

步骤

① 获取插件

任选一种:

# 方式 A:克隆仓库
git clone https://github.com/nncscn/dsh-voice.git

或直接下载发布页的压缩包:

https://github.com/nncscn/dsh-voice/releases

② 安装到 Harness

在 Harness 的对话里让 AI 执行,或用插件管理界面:

plugin_manager  install_bundle  target: "你解压出来的 dsh-voice 目录"

安装成功后,输入框右侧、发送按钮左边就会出现麦克风图标(见上图)。


首次配置

插件默认不连接任何服务器,第一次使用需要配置。

打开设置面板

长按麦克风按钮约 0.5 秒(或聚焦按钮后按 Shift + Enter),会弹出设置面板:

语音服务设置

填写各项

字段填什么示例
接口地址你的 ASR 服务地址http://192.168.1.10:8010
接口类型一般选 OpenAI 兼容见下方说明
认证头一般留空(自动)auto
API Key服务需要鉴权时填sk-xxxx
语言识别语言Chinese 或 zh,自动识别填 auto
模型名服务端要求的模型标识whisper-1、Qwen3-ASR-1.7B
响应字段一般留空(自动识别)text / data.text

点「测试连接」验证

会发送一段 0.5 秒静音去探活,按钮旁边显示结果:

  • ✅ 连接成功 — 说明地址、密钥、协议都对
  • ❌ 鉴权失败 (401) — API Key 不对
  • ❌ 请求失败 (404) — 地址路径错
  • ❌ 连接超时 — 服务没启动或网络不通

确认无误后点 保存,配置会记住,下次不用再填。


支持的接口类型

类型适用服务请求方式
OpenAI 兼容OpenAI、硅基流动、各类自建服务multipart/form-data + Authorization: Bearer
Azure OpenAIAzure 上的 Whisper 部署multipart/form-data + api-key 头
JSON + Base64只收 JSON 的自建服务JSON 体 { audio, language, model }

地址填写规则

你填实际请求
192.168.1.10:8010http://192.168.1.10:8010/v1/audio/transcriptions
https://api.xxx.com/v1https://api.xxx.com/v1/audio/transcriptions
https://api.xxx.com/custom/path原样使用
Azure 的完整部署地址原样使用(含 ?api-version=)

常见后端配置示例

1. OpenAI 官方

字段值
接口地址https://api.openai.com/v1/audio/transcriptions
接口类型OpenAI 兼容
API Keysk-...
模型名whisper-1 或 gpt-4o-transcribe
语言zh

2. 自建 transcribe.cpp / whisper.cpp

字段值
接口地址http://192.168.1.10:8010
接口类型OpenAI 兼容
API Key服务端设置的 token
语言Chinese

3. Azure OpenAI

字段值
接口地址https://你的资源.openai.azure.com/openai/deployments/whisper/audio/transcriptions?api-version=2024-06-01
接口类型Azure OpenAI
API KeyAzure 的 key
模型名可留空

使用

  1. 点击麦克风 → 按钮展开成声浪条(下图),开始录音
  2. 再点一下(或点条上的停止键)→ 停止并上传
  3. 按钮转圈 → 转写完成后文字自动插入输入框

录音中

说话时波形随音量起伏;停止后蓝条向右收回,露出下面的工具栏。


常见问题

Q:点了没反应?

先看按钮是否变红——变红说明出错,鼠标悬停看原因。最常见是没配地址(长按设置)。

Q:识别出来是「嗯。」或空白?

插件会过滤纯语气词和静音标记,不会插入。

Q:提示「无法连接」?

① 服务是否启动;② 地址端口是否正确;③ 浏览器能否访问(跨域 CORS 是否允许)。

Q:提示「鉴权失败」?

API Key 不对,或该服务用的是自定义头(在「认证头」里填,如 x-api-key)。

Q:能识别多长的音频?

默认上限 60 秒,超过会自动停止并转写已录部分。

Q:录音会上传到哪里?

只发到你自己配置的那个地址,插件本身不经过任何第三方服务器。


隐私说明

  • 音频只在内存中,不写入磁盘
  • 插件不保存任何转写历史
  • 配置(地址、Key)存在浏览器 localStorage
  • 建议使用可撤销的专用 Key

许可证

MIT