🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

离线语音输入 tangbut1/dsh-plugin-voice-input

DeepSeek Harness
tangbut136 天前有提交已提供中文文档扫描:含敏感能力

按住麦克风说话,松手离线转文字追加到草稿

27.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/31 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add tangbut1/dsh-plugin-voice-input
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 36 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
  • 发起网络请求
    src/client/index.ts:386
    const res = await fetch(`${ASR_BASE}/health`, { signal: AbortSignal.timeout(timeoutMs), cache: 'no-store' })
  • 发起网络请求
    src/client/index.ts:494
    res = await fetch(`${ASR_BASE}/asr`, {
  • 读取本地文件
    src/index.ts:80
    if (existsSync(model) && existsSync(tokens)) {
  • 写入本地文件
    src/index.ts:85
    mkdirSync(root, { recursive: true })
  • 读取本地文件
    src/index.ts:91
    if (!existsSync(model) || !existsSync(tokens)) {
  • 发起网络请求
    src/index.ts:108
    const res = await fetch(url, { redirect: 'follow', signal: downloadAbort.signal })
  • 写入本地文件
    src/index.ts:114
    const out = createWriteStream(dest)
  • 执行外部命令固定命令
    src/index.ts:147
    const child = spawn('tar', ['-xjf', archive, '-C', dir], {
  • 读取本地文件
    src/index.ts:339
    return existsSync(join(dir, 'model.int8.onnx')) && existsSync(join(dir, 'tokens.txt'))
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按住说话离线转文字
  • 松手追加到草稿

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-voice-input DeepSeek Harness 官方桌面版(Desktop)与 Web 语音输入插件:在输入框发送键同一行、靠发送键左侧加一个「按住说话」麦克风按钮。松手后语音在本机离线转成文字并追加到当前草稿,不自动发送。模型免费、离线,中文/英文/中英夹杂(以及日/韩/粤)均可精准识别。 Voice input plugin for DeepSeek Harness (both Official Desktop and Web UI): hold the mic button next to the send key to talk; on release the audio is transcribed by a local offline ASR engine and appended to the draft. Free, offline, zh/en mixed supported. 核心特性与适配 - 全平台双端支持:完美兼容 DeepSeek Harness 官方桌面版(Electron 客户端) 与 Web 网页版。 - 桌面端协议与安全适配:深度适配官方桌面版的 dsh-app:// 特权协议及 Chromium 私有网络访问安全规范(Private Network Access, PNA),支持即时分层加载。
展开完整文档(README 剩余 1 节)
dsh-plugin-voice-input

DeepSeek Harness 官方桌面版(Desktop)与 Web 语音输入插件:在输入框发送键同一行、靠发送键左侧加一个「按住说话」麦克风按钮。松手后语音在本机离线转成文字并追加到当前草稿,不自动发送。模型免费、离线,中文/英文/中英夹杂(以及日/韩/粤)均可精准识别。

Voice input plugin for DeepSeek Harness (both Official Desktop and Web UI): hold the mic button next to the send key to talk; on release the audio is transcribed by a local offline ASR engine and appended to the draft. Free, offline, zh/en mixed supported.

核心特性与适配

- 全平台双端支持:完美兼容 DeepSeek Harness 官方桌面版(Electron 客户端) 与 Web 网页版。
- 桌面端协议与安全适配:深度适配官方桌面版的 dsh-app:// 特权协议及 Chromium 私有网络访问安全规范(Private Network Access, PNA),支持即时分层加载。
- 离线安全私密:ASR 识别服务只监听本机 127.0.0.1:18765,音频数据全程在本地处理,绝不上传云端,模型与原生扩展全部本地离线运行。
- 无感输入追加:识别结果通过当前会话上下文与官方事件注入当前输入框末尾,支持实时草稿读取与 draftRev CAS 安全校验,绝不触碰非公开 DOM,不破坏撤销树,不自动提交。

架构

双端插件(一个包,两个半边):

| 半边 | 位置 | 职责 |
| 主机 half | src/index.ts → lib/index.js | 极简 HTTP 服务,只监听 127.0.0.1:18765;sherpa-onnx + SenseVoice-Small INT8 离线识别;放行 dsh-app:// 来源并支持 PNA 预检;模型缺失时自动下载 |
| 客户端 half | src/client/index.ts → lib/client.js | 麦克风按钮(官方 slot conversation.input.right);MediaRecorder 16 kHz 单声道录音;WAV 编码后 POST 到本机 ASR;实时获取当前会话草稿并通过官方事件/输入机追加进输入框 |

- 按钮挂在官方 slot conversation.input.right(发送键左侧同一行),不替换 composer、不动发送键。
- 识别结果优先通过官方 scoped 事件 slash/input-insert-text(payload { text, span })追加到草稿末尾;若草稿非空前面自动补一个空格;针对不同版本的宿主环境提供多重草稿上下文提取与注入兜底。
- ASR 引擎:sherpa-onnx-node(npm 包,含 Windows x64 预编译二进制)+ 模型 sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17(INT8,model.int8.onnx ≈ 228 MB,压缩包 ≈ 229 MB)。

安装与使用

场景一:DeepSeek Harness 官方桌面版(Electron 客户端)

1. 命令行添加(推荐)

通过桌面版自带的 dsh CLI 将本插件添加至 desktop profile:

语法:<桌面端安装目录>\resources\runtime\cli\bin\dsh.cmd plugin --profile desktop add <本插件目录或git仓库> & "F:\agent\DeepSeek harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add D:\path\to\dsh-plugin-voice-input

或者使用 GitHub 仓库链接安装: & "F:\agent\DeepSeek harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add github:tangbut1/dsh-plugin-voice-input

2. 生效方式

- 启动或重启 DeepSeek Harness 官方桌面端,进入主会话页面。
- 输入框发送键左侧即可看到麦克风按钮。按住麦克风即可开始录音说话,松手即自动识别转文字。

场景二:DeepSeek Harness Web 网页版

添加到 web profile
dsh plugin --profile web add D:\path\to\dsh-plugin-voice-input

重启 dsh web 服务
dsh web --port 3080

浏览器打开网页端即可看到麦克风按钮。

卸载插件

- 桌面版卸载: & "<桌面端安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop remove dsh-plugin-voice-input

- Web 版卸载:
dsh plugin --profile web remove dsh-plugin-voice-input

本地开发与构建

cd dsh-plugin-voice-input
npm install # 安装依赖与原生扩展
npm run build # esbuild 构建 lib/index.js 与 lib/client.js
npm run typecheck # TypeScript 类型检查

模型下载

首次识别(POST /asr)时会自动下载 sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2(约 229 MB)到插件数据目录,并用系统自带 tar(Windows 10+ 自带)解压。GET /health 可看状态与下载进度。
数据目录(默认):$DSH_HOME/plugins/dsh-plugin-voice-input,未设置 DSH_HOME 时是 ~\.dsh\plugins\dsh-plugin-voice-input。

也可以手动下载放置:

$dir = if ($env:DSH_HOME) { "$env:DSH_HOME\plugins\dsh-plugin-voice-input" } else { "$HOME\.dsh\plugins\dsh-plugin-voice-input" }
New-Item -ItemType Directory -Force -Path $dir | Out-Null
Invoke-WebRequest "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2" -OutFile "$dir\sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2"
tar -xjf "$dir\sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2024-07-17.tar.bz2" -C $dir

端口与环境变量

| 项 | 说明 |
| ASR 服务地址 | http://127.0.0.1:18765(只监听本地回环,禁止外部非授权请求) |
| DSH_VOICE_ASR_PORT | 自定义覆盖 ASR 端口(默认 18765) |
| DSH_VOICE_DATA_DIR | 自定义覆盖模型保存目录 |
| CORS / 来源许可 | 支持 dsh-app://app(官方桌面端)、localhost、127.0.0.1、内网 IP 地址,提供 PNA 响应头 |

验证与体验

1. 打开桌面版客户端或 Web 界面,发送按钮左侧能看到麦克风按钮。
2. 按住按钮说话(中文、英文、中英混杂均可),松开手。
3. 界面显示「识别中…」,片刻后转写文字自动追加进输入框中,不会自动发送。
4. 本地请求 Invoke-RestMethod http://127.0.0.1:18765/health 可直接查看引擎健康状态。

参与共建

MIT 协议开源,欢迎提 Issue 与 PR 共同维护。
预览分享卡片长什么样 ↓tangbut1/dsh-plugin-voice-input
分享 · DeepSeek Harness Hub
tangbut1/dsh-plugin-voice-input

按住麦克风说话,松手离线转文字追加到草稿

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部