dsh-ears

voicetested: passnpmMIT

Voice input plugin for DeepSeek Harness (dsh): a microphone button in the composer turns speech into a draft transcript, with a choice of speech-recognition backends, optional polish through dsh own LLM routes, and a native settings page.

下载量 / Downloads
3,649
依赖体积 / node_modules
283.42 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-ears

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<p align="center">

<img src="./assets/banner.jpg" width="100%" alt="dsh-ears" />

</p>

<h1 align="center">dsh-ears</h1>

<p align="center"><b>一款支持润色整理的 <a href="https://github.com/deepseek-ai/deepseek-harness">DeepSeek Harness</a> 语音输入插件。</b></p>

<p align="center">

简体中文 ·

<a href="./README.en.md">English</a>

</p>

<p align="center">

<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/dsh-%3E%3D0.2.0--rc.1-1a73e8?style=flat-square&logo=deepseek&logoColor=white" alt="dsh >= 0.2.0-rc.1"></a>

<a href="https://www.npmjs.com/package/dsh-ears"><img src="https://img.shields.io/npm/v/dsh-ears?style=flat-square&logo=npm" alt="npm version"></a>

<!-- Download badge icon: Akar Icons, MIT, © 2020-present Arturo Wibawa — https://github.com/artcoholic/akar-icons -->

<a href="https://www.npmjs.com/package/dsh-ears"><img src="https://img.shields.io/npm/dt/dsh-ears?style=flat-square&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI%2BPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEyIDE1VjNtMCAxMmwtNC00bTQgNGw0LTRNMiAxN2wuNjIxIDIuNDg1QTIgMiAwIDAgMCA0LjU2MSAyMWgxNC44NzdhMiAyIDAgMCAwIDEuOTQtMS41MTVMMjIgMTciLz48L3N2Zz4%3D" alt="npm downloads"></a>

<a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="MIT"></a>

</p>

https://github.com/user-attachments/assets/1363768e-a393-44bd-a008-1ce2055cac41


dsh-ears 为 DeepSeek Harness 提供语音输入与 LLM 润色整理能力。支持浏览器 Web Speech、本地 Whisper 以及主流语音识别(ASR)API 服务。

安装

前置依赖:DeepSeek Harness >=0.2.0-rc.1,以及 Node.js ^22.19.0 || >=24.0.0。

通过 npm 安装

Web UI:

dsh plugin --profile web add dsh-ears

桌面端:在插件管理界面中安装。桌面端独占名为 desktop 的 profile,dsh 命令不会管理它,因此没有对应的命令行写法。dsh-ears 不需要单独的桌面端构建,两个界面加载同一个 web 客户端包。

仍在使用 dsh 0.1.x? dsh-ears 0.4.3 要求 dsh >=0.2.0-rc.1,dsh 会直接拒绝在旧版本上安装。请继续使用对应的旧版本线:
```sh
# dsh 0.1.2–0.1.6
dsh plugin --profile web add "dsh-ears@<0.4.0"
# dsh 0.1.7(dsh-ears 0.4.0 要求 dsh 0.1.7-rc.2 及以后)
dsh plugin --profile web add "dsh-ears@<0.4.1"
# dsh 0.1.1
dsh plugin --profile web add "dsh-ears@<0.3.0"
```

从源码安装

git clone https://github.com/WizisCool/dsh-ears.git
cd dsh-ears
pnpm use:platform
pnpm install
pnpm build
dsh plugin --profile web add "$PWD"
# Windows 的 cmd 请使用 "%CD%";PowerShell 直接使用 $PWD

pnpm use:platform 将 node_modules 切换到当前平台的 native 依赖树(Windows / Linux 各自独立),首次克隆和跨平台切换后都需要运行。

安装完成后刷新 Web UI,输入框右侧会显示麦克风图标。

更新

dsh plugin --profile web add dsh-ears

add 会从 npm 拉取最新版本,任何已装版本都可以直接运行。更新后需要重启 dsh web 加载新的服务端代码,再刷新 Web UI;也可以在设置页的"关于"面板检查新版本。

卸载

dsh plugin --profile web remove dsh-ears

卸载后刷新 Web UI。

使用

1. 点击麦克风图标,或按下 Ctrl+Shift+Space(可在设置页更改)

2. 开始说话

3. 再次按下快捷键或点击麦克风,停止录音并开始转写

4. 开启润色后,原始转写会先写入草稿,润色完成后再更新,期间的手动编辑会被保留

5. 检查内容后手动发送

转写结果始终写入可编辑草稿,不会自动发送。如果所选后端尚未就绪,麦克风图标会变灰,悬停即可查看原因。

识别后端

后端 · 工作方式 · 需要什么

Web Speech · 浏览器实时识别 · 默认后端;Chromium 内核浏览器

本地 Whisper · 录音结束后本地转写 · 在设置页下载 GGML 模型

Groq · Groq Whisper API · API key

Deepgram · 预录音频或实时音频流 · API key、模型名(如 nova-3)

阿里云百炼 · DashScope 同步转写 · API key、同步模型 ID;单次最长 300 秒

腾讯云 · 录音文件识别或实时语音识别 · AppID、SecretID、SecretKey、engine_type

小米 MiMo · 语音识别 API,支持标准 API 或 Token Plan · API key、模型名(如 mimo-v2.5-asr);Token Plan 需选择区域集群

硅基流动 (CN) · 语音转写 API · API key、模型名(如 FunAudioLLM/SenseVoiceSmall)

火山引擎 · 录音文件识别(大模型)或单向流式语音识别 · API key(新版控制台 X-Api-Key)、资源 ID

自定义 OpenAI 兼容 · 发送到指定 /audio/transcriptions 端点 · 端点地址、API key、模型名

本地 Whisper:基于 @fugood/whisper.node 本地运行 whisper.cpp,无需 Python、FFmpeg 或外部依赖。支持在设置页下载管理 GGML 模型(tiny(默认)至 turbo),并可选 default(自动)、vulkan 或 cuda 加速。
阿里云百炼:升级后的控制台使用业务空间专属域名(华北2 北京为 https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com,新加坡为 https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com)。请填写该 API Host 和同步模型 ID(如 qwen3-asr-flash、qwen-audio-3.1-asr-flash、fun-asr-flash-2026-06-15),不要填控制台显示名称,也不要使用 -filetrans、-streaming、-message、-realtime 变体,这些模型走异步任务或 WebSocket 接口,dsh-ears 不支持。
火山引擎:仅支持新版控制台的 API Key(X-Api-Key)鉴权(不支持旧版 AppID + Access Token),可在控制台 API Key 管理页面获取。

润色

默认开启。提供方和模型都留空时使用 dsh 的默认 Agent 模型(包括默认推理设置);也可以从 dsh 已配置的模型中选择。LLM 凭据复用 dsh 现有配置。支持设置推理强度。

默认提示词会删除口头禅、修正 ASR 错字、处理自我纠正和口头列举。可在设置页自定义提示词或查看默认内容。润色失败或取消时保留原始转写。

设置

安装后在 Web UI 的设置页出现 dsh-ears 面板,分为四个标签页:

标签页 · 可配置项

常规 · 设置页显示名称、语音快捷键开关与组合键、提示音开关、最长录音时间(1–600 秒,默认 120 秒)

识别 · 后端选择、语言、本地 Whisper 模型和加速方式、云服务提供方及各提供方凭据

润色 · 开关、LLM 提供方和模型、推理强度、自定义提示词(最长 4000 字)

关于 · 版本号、许可证、dsh 兼容范围、检查更新

已知限制

  • Web Speech 后端依赖浏览器实现,音频可能被发送到浏览器厂商的服务端处理,不是完全的本地/离线方案。
  • 百炼单次录音最长 300 秒;Qwen-Audio-3.1 对极短或静音音频可能返回“无词”,短语音输入建议使用 qwen3-asr-flash。
  • Deepgram Flux 系列模型需要 Listen V2 协议,当前不支持。
  • 本地 Whisper 单次音频限制 24 MB,转写超时 120 秒。
  • 加速方式(default / `

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::18,最后更新 2026-10-17

Links

GitHub · Homepage · npm

Same category