dsh-voice-input

DSH PLUGIN视觉与多模态

仓库 LBXC-666/dsh-voice-input · npm @lbxc/dsh-voice-input

视觉与多模态 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness Web GUI 添加语音输入与 AI 文本整理功能,支持多种识别方式与实时转写。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 2 复刻 0 · 未关闭 issue 0
最近更新 2026-08-17 创建于 2026-08-15
README 11.7 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:LBXC-666/dsh-voice-input#v1.0.0
兼容 DSH 版本0.2.0-rc.2 等 10 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖react@^18.2.0需要同时安装的同级依赖
npm 包名@lbxc/dsh-voice-input可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-voice-input:DeepSeek Harness 的语音输入与文本整理 DSH plugin

  • 语音输入与实时转写
  • AI 文本整理优化
  • 支持多种识别接口
  • 配置导入导出

上游标签

dshdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

视觉与多模态
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方LBXC-666仓库 dsh-voice-input · 默认分支 main
分类视觉与多模态media
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue2 / 0 / 0收录时的数值,非实时
创建 / 更新2026-08-15 · 2026-08-17最后推送 2026-08-17
本站收录2026-08-27首次进入本站目录的时间

README 全文

11.7 KB
作者原文,中文版优先;只做安全转义,不改内容

@lbxc/dsh-voice-input

给 DeepSeek Harness Web GUI(dsh web) 添加语音输入与文本整理的插件:

  • 🎤 输入框发送键左侧的圆形麦克风按钮,点击或按住 右 Alt 说话,松手自动识别并插入输入框;
  • 📝 录音中按钮显示声纹动画,识别中转圈,实时识别文字在按钮上方滚动显示(当前句只增不减);
  • ⚙️ 设置 → 语音输入(或 设置 → 插件 → 语音输入)提供完整配置页;
  • 🔌 支持四种识别方式:
    1. 浏览器本地识别(Web Speech API,免费,仅 Chrome / Edge);
    2. OpenAI 兼容 /audio/transcriptions(OpenAI / Groq / SiliconFlow / 本地 faster-whisper);
    3. 自定义 JSON 接口(音频 base64);
    4. 实时流式接口(fun-asr-flash-8k-realtime 与 qwen3-asr-flash-realtime,边说边转写);
  • ✨ 识别完成后麦克风左侧弹出 AI 优化按钮:一键把输入框内容交给 LLM 清洗并格式化为「目标 / 关键要求 / 补充信息」,提示词可自定义,可注入当前对话上下文,模型思考档位可选(默认低);
  • 📥 支持导入 / 导出 JSON 配置;
  • 🔐 API Key 只保存在浏览器 localStorage;百炼实时 Key 可通过本地代理查询参数传入,代理日志不打印密钥。

1. 安装

插件采用 dsh 官方 bundle 规范(dsh.bundle.patch + dsh.client)。

从 GitHub 安装(推荐)

dsh plugin --profile web add github:LBXC-666/dsh-voice-input

# 锁定版本(发布 tag 后)
dsh plugin --profile web add github:LBXC-666/dsh-voice-input#v1.0.0

本地目录安装

dsh plugin --profile web add link:/home/lbxc/voice_input

重启并刷新

Bundle 层插件必须重启 dsh web:

dsh web

刷新 http://127.0.0.1:3080 后,输入框发送键左侧出现 🎤,设置左侧导航出现「语音输入」。

卸载

dsh plugin --profile web remove @lbxc/dsh-voice-input
# 重启 dsh web

2. 首次使用:导入 / 配置 API(必做)

插件不内置转写服务,首次使用二选一:

  1. 导入配置:设置 → 语音输入 → 「导入 / 导出 API 配置」,粘贴 JSON 或选择 config.example.json;
  2. 手动配置:选择接口模式和快速预设,填写 API Key / 地址 / 模型。

3. 快速配置

进入 设置 → 语音输入。

方式 A:浏览器本地识别(零配置)

接口模式选「浏览器本地识别」,语言填 zh-CN。仅 Chrome / Edge。

方式 B:OpenAI 兼容接口

预设 接口地址 模型
OpenAI Whisper https://api.openai.com/v1/audio/transcriptions whisper-1
Groq Whisper https://api.groq.com/openai/v1/audio/transcriptions whisper-large-v3
SiliconFlow SenseVoice https://api.siliconflow.cn/v1/audio/transcriptions FunAudioLLM/SenseVoiceSmall
本地 faster-whisper http://127.0.0.1:8000/v1/audio/transcriptions whisper-1

方式 C:自定义 JSON 接口

模板占位符:{{audio}}(base64)、{{format}}(MIME)、{{model}}、{{language}};用「取值路径」提取结果文本。

方式 D:实时流式接口(推荐日常使用)

本地鉴权代理会跟随 dsh web 自动启动:只要插件已安装,重启电脑后启动 dsh web 时,插件的 node 半身会自动拉起代理并做健康检查;代理已存在则直接复用,dsh 停服时由插件启动的代理会一并停止。日志写入 ~/.dsh/logs/dsh-voice-input-proxy.log。

> 插件自动启动的代理使用当前环境变量;DASHSCOPE_API_KEY 需要在 dsh web 的启动环境中配置。如果 dsh web 本身没有配置开机自启,请先让 dsh web 随系统启动,代理才会跟随启动。

手动启动仅用于调试或独立使用:

# 代理默认监听 ws://127.0.0.1:8787/ws,健康检查 http://127.0.0.1:8787/health
node scripts/dashscope-realtime-proxy.mjs

设置页选择:

预设 协议 模型
Qwen-ASR Realtime(推荐) Qwen-ASR-Realtime qwen3-asr-flash-realtime
Fun-ASR Flash 8K Realtime Fun-ASR(百炼 inference) fun-asr-flash-8k-realtime
  • API Key 可直接填在设置面板(通过本地代理 api_key 查询参数传递);留空则代理使用环境变量 DASHSCOPE_API_KEY;
  • 可指定麦克风设备(避免选成立体声混音/回路设备)与输入声道(自动自适应或固定 1~4 声道);
  • 推荐日常使用 qwen3-asr-flash-realtime:抗噪与识别稳定性更好;fun-asr-flash-8k-realtime 适合安静环境。

4. 使用方式

语音输入

  • 按住右 Alt 说话,松手结束:录音中按钮显示声纹动画,实时识别文字在按钮上方滚动;
  • 或点击 🎤 开始,再点停止;
  • 识别结果自动插入输入框并聚焦。

AI 优化按钮

  1. 只要输入框有文字,✨ 按钮就显示;文本清空(发送)后隐藏,手动修改文字不会隐藏;
  2. 左键 ✨:执行「左键模式」(默认一轮纠错);
  3. 右键 ✨:执行「右键模式」(默认一轮纠错 + 二轮格式化);
  4. 自动优化开关:打开后,每次语音转写完成都会自动按「自动优化模式」优化,直接进入下一步处理,不需要任何快捷键,也不会在前台显示额外按钮;优化结果会原位替换刚转写的原文,不保留原始转写(已有输入框内容不受影响),优化什么内容由「自动优化模式」决定(一轮纠错 / 二轮格式化 / 一轮+二轮);
  5. ↶ 回退按钮:优化前自动保存原文快照,一键恢复未优化文本;
  6. 优化结果逐字写回并替换原文本:自动优化只替换刚转写的原文,手动优化替换整个输入框;AI 优化期间(等待模型返回与写回过程)文本框内会有反复扫过文字的流光扫描动画——优先只在“实际有文字的区域”逐行扫过,测量失败或文本过长时自动回退为整行扫过;
  7. 除语音输入的右 Alt 按住说话外,不再注册任何优化快捷键。

配置位置:设置 → 语音输入 → 文本整理(各分类可折叠):

字段 说明
模型接口地址 例如 https://api.deepseek.com/v1 或 https://dashscope.aliyuncs.com/compatible-mode/v1
模型 例如 deepseek-chat、qwen-plus
API Key 留空则复用语音识别的 API Key
左键模式 / 右键模式 / 自动优化模式 可选:一轮纠错、二轮格式化、一轮 + 二轮
自动优化开关 默认关闭;打开后转写完成自动执行「自动优化模式」,无需快捷键
一轮提示词(纠错) 只纠正错别字/口语化,支持 {{context}} / {{text}}
二轮提示词(固定格式) 生成固定格式,不注入上下文;支持 {{text}}
模型思考档位 关闭 / 低 / 中 / 高,默认低:低档思考可显著提高输出准确性,关闭最快;兼容 DeepSeek thinking 与 DashScope enable_thinking
注入当前对话上下文 默认开启:最近 2 条用户/助手消息完整注入;超长时只保留结尾 800 字,避免丢失最新结论

> 已移除独立的「启用第二轮优化」开关:选择「一轮」就等于只纠错,选择「一轮 + 二轮」就等于先纠错再格式化,模式下拉框已经完整覆盖这两种行为。

默认输出格式:

【目标】
<一句话说明用户想达成什么>

【关键要求】
- <要点>

【补充信息】
<其他有价值的信息;没有这一节就省略>

5. 导入 / 导出配置

设置 → 语音输入 → 导入 / 导出 API 配置:

  • 粘贴 JSON 导入,或选择 config.example.json 文件导入;
  • 一键复制 / 下载当前配置。

配置字段(节选):

{
"mode": "openai",
"preset": "openai",
"endpoint": "https://api.openai.com/v1/audio/transcriptions",
"apiKey": "",
"model": "whisper-1",
"language": "zh",
"prompt": "",
"headers": {},
"shortcutEnabled": true,
"customUrl": "",
"jsonTemplate": "…{{audio}}…",
"responsePath": "text",
"realtimeUrl": "ws://127.0.0.1:8787/ws",
"realtimeModel": "fun-asr-flash-8k-realtime",
"realtimeApi": "fun-asr",
"micDeviceId": "",
"micChannel": "auto",
"formatterEndpoint": "https://api.deepseek.com/v1",
"formatterApiKey": "",
"formatterModel": "deepseek-chat",
"formatterThinking": "low",
"formatterWithContext": true,
"autoOptimizeEnabled": false,
"clickLeftMode": "round1",
"clickRightMode": "round1+round2",
"autoMode": "round1+round2",
"formatterFixTemplate": "…{{context}}…{{text}}…",
"formatterFinalTemplate": "…{{text}}…"
}

6. 常见问题

Q1:看不到按钮 / 设置页?
确认已重启 dsh web 并硬刷新(Ctrl+Shift+R)。

Q2:一直提示没有识别到有效语音?
- 设置 → 语音输入 → 选择正确的麦克风设备(不要选 Stereo Mix / 回路设备);
- 实时模式优先切到 qwen3-asr-flash-realtime;
- 确认本地代理运行在 8787 端口、Key 有效;
- 浏览器必须是 localhost / HTTPS 且允许麦克风。

Q3:fun-asr-flash 在嘈杂环境效果差?
该模型对低频噪声敏感;插件已做声道自动选择 + 250Hz 高通滤波,但建议改用 qwen3-asr-flash-realtime。

Q4:AI 优化按钮消失?
按钮只出现在最近一次识别之后;手动打字、发送或新一轮录音都会让它收回。

Q5:数据存在哪里?
配置和 API Key 在浏览器 localStorage(dsh.voice-input.config.v1);语音只发给配置的识别服务,整理文本只发给配置的模型接口。

Q6:代理调试

# 可选:把浏览器发送的 PCM 抓包到 /tmp/dsh-voice-input-audio.pcm(默认关闭)
PROXY_DUMP_AUDIO=1 node scripts/dashscope-realtime-proxy.mjs

7. 技术说明

  • 按钮注册在 dsh 槽位 conversation.input.right(发送键左侧);设置页注册在 settings.section / settings.plugins.tab;
  • 文本写回使用 dsh 标准 inputActions.setDraft;
  • 实时模式:AudioWorklet 采集 → 自动选语音声道 → 两级 250Hz 高通 → 重采样至 16kHz PCM → 每 100ms(1600 样本 / 3200 字节) 一块,经本地代理以 WebSocket 二进制帧发送;
  • 启动阶段音频块会缓存,task-started / session.updated 后补发,避免丢开头;
  • 代理解决浏览器 WebSocket 无法设置 Authorization 头的问题,转发到:
  • Fun-ASR:wss://dashscope.aliyuncs.com/api-ws/v1/inference
  • Qwen-ASR:wss://dashscope.aliyuncs.com/api-ws/v1/realtime

8. 目录结构

voice_input/
├── package.json
├── cordis.patch.yml
├── lib/
│   ├── index.js
│   └── client.js
├── scripts/
│   ├── smoke-test.mjs
│   └── dashscope-realtime-proxy.mjs
├── config.example.json
├── LICENSE
└── README.md

自检:

node scripts/smoke-test.mjs

9. 发布到 GitHub

git init -b main
git config user.name "LBXC-666"
git config user.email "[email protected]"
git add .
git commit -m "release"
git branch -M main
git remote add origin https://github.com/LBXC-666/dsh-voice-input.git
git push -u origin main

更新版本:

git tag v1.0.0 && git push origin main --tags
# 使用者:
dsh plugin --profile web add github:LBXC-666/dsh-voice-input#v1.0.0

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-voice-input 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:LBXC-666/dsh-voice-input#v1.0.0` 即可。对应的 npm 包名是 `@lbxc/dsh-voice-input`。

dsh-voice-input 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-voice-input 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-voice-input 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-rc.1、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。版本较多,只列出前 8 个。

dsh-voice-input 需要什么运行环境?

需要同时安装 react@^18.2.0。环境不满足时安装会失败,建议先确认本机版本。

dsh-voice-input 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-voice-input 有哪些功能?

语音输入与实时转写、AI 文本整理优化、支持多种识别接口、配置导入导出。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

8 条
不同作者的仓库分开列,请确认你要装的是哪一个
视觉与多模态
按星标排序,可作替代方案

open-design

open-design

L4 · 沙盒安装通过 10.0 万 星

awesome-gpt-image-2

awesome-gpt-image-2

GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+ 套工业级模板与可复用 Skills,新增 2.5 同提示词对比

L3 · 安装规范通过 3.4 万 星

PicGo

PicGo

L3 · 安装规范通过 2.7 万 星

iPolloWork

iPolloWork

L4 · 沙盒安装通过 6,775 星

modlens

modlens

ModLens 是 DeepSeek Harness 的视觉插件,为纯文本模型外挂视觉能力,粘贴图片即得结构化 JSON 证据(OCR、版面

L5 · 运行验证通过 4,207 星

OpenBiliClaw

OpenBiliClaw

本地私有、开源的自进化跨平台 AI 内容发现 Agent:先理解你,再主动从 B站、小红书、抖音、YouTube、X、知乎、Reddit、微

L4 · 沙盒安装通过 3,398 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。