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

本地语音输入 lvsun080403/local-voice-oneclick

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

点一下胶囊,说话转文字并克隆音色朗读回复

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
  • 发起网络请求
    plugin/lib/index.js:82
    const r = await fetch(`http://127.0.0.1:${port}/`, { signal: AbortSignal.timeout(1500) })
  • 执行外部命令固定命令
    plugin/lib/index.js:92
    const ps = spawn('netstat', ['-ano', '-p', 'TCP'], { windowsHide: true })
  • 执行外部命令固定命令
    plugin/lib/index.js:109
    const ps = spawn('taskkill', ['/PID', String(pid), '/T', '/F'], { windowsHide: true })
  • 执行外部命令固定命令
    plugin/lib/index.js:130
    const ps = spawn('powershell.exe', args, { windowsHide: true, stdio: 'ignore', cwd: spec.dir })
  • 执行外部命令固定命令
    plugin/lib/index.js:176
    const ps = spawn('powershell.exe', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-STA', '-File', psFile, outFile], {
  • 执行外部命令来自配置/变量
    plugin/lib/index.js:220
    const child = spawn(cmd[0], cmd[1], {
  • 发起网络请求
    plugin/lib/index.js:275
    const r = await fetch(`http://127.0.0.1:${port}/gradio_api/upload`, {
  • 发起网络请求
    plugin/lib/index.js:290
    const post = await fetch(base, {
  • 发起网络请求
    plugin/lib/index.js:304
    const r = await fetch(`${base}/${id}`, { signal: AbortSignal.timeout(timeoutMs || 300000) })
扫描于 2026/11/5(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

给 AI 编程助手装上耳朵和嘴:Qwen3-ASR 转写 + Qwen3-TTS 音色克隆,全程离线,双击 install.bat 装完,DSH 输入框旁边点一下就能说。

README

由 DeepSeek 最新模型翻译生成
local-voice-oneclick · 本地语音一键部署 对着麦克风说一句,文字直接落进 AI 对话的输入框;选中一段回复,点一下就能听。 转写和合成都在你自己的显卡上完成——音频不出本机,一行都不上传。 左:转写(ASR) 右:朗读(TTS,参考音频音色克隆) ——截图是冷启动瞬间,服务还是「等待中」 30 秒看懂 - 说话 → 文字:选一个音频文件(或录好的语音),中文、粤语、方言混说、中英混说都能转,逐字输出。 - 文字 → 声音:给一段 3–15 秒的参考音频,就能用那个音色念你的文本,不用训练、不用微调。 - 接进对话流:不是独立 App,是 DeepSeek Harness 输入框旁边多出来的一颗「语音」胶囊,点开即用。 - 全离线:两个服务只监听 127.0.0.1,模型、语音、文本都留在这台机器上。 - 一条命令装完:install.bat 自带 Python 3.11 + PyTorch CUDA,不污染你系统里已有的任何环境。
展开完整文档(README 剩余 1 节)
local-voice-oneclick · 本地语音一键部署

对着麦克风说一句,文字直接落进 AI 对话的输入框;选中一段回复,点一下就能听。
转写和合成都在你自己的显卡上完成——音频不出本机,一行都不上传。

左:转写(ASR) 右:朗读(TTS,参考音频音色克隆) ——截图是冷启动瞬间,服务还是「等待中」

30 秒看懂

- 说话 → 文字:选一个音频文件(或录好的语音),中文、粤语、方言混说、中英混说都能转,逐字输出。
- 文字 → 声音:给一段 3–15 秒的参考音频,就能用那个音色念你的文本,不用训练、不用微调。
- 接进对话流:不是独立 App,是 DeepSeek Harness 输入框旁边多出来的一颗「语音」胶囊,点开即用。
- 全离线:两个服务只监听 127.0.0.1,模型、语音、文本都留在这台机器上。
- 一条命令装完:install.bat 自带 Python 3.11 + PyTorch CUDA,不污染你系统里已有的任何环境。

实测(RTX 5070 Ti Laptop / 12 GB 显存):

| 场景 | 结果 |
| 一句中文转写 | 13.8 秒,逐字正确 |
| 一句中文合成(参考音色,预热后) | 7.8 秒 |
| 闭环验证:合成 → 再转写回来 | 与原文完全一致 |

环境要求

| 项 | 要求 |
| 系统 | Windows 10 / 11,64 位(两个安装脚本都做环境自检,不满足会直接说缺什么) |
| 显卡 | NVIDIA,CUDA 12.8 可用;显存 8 GB 起,12 GB 更稳(ASR ~4 GB + TTS ~5–6 GB) |
| 驱动 | 建议 ≥ 550(nvidia-smi 能看到卡和 CUDA 版本) |
| 磁盘 | 至少 25 GB 空闲(两个包各约 10 GB,外加下载缓存) |
| 内存 | 16 GB 起 |
| 网络 | 首次安装要联网(Python / PyTorch / 模型都走国内镜像);装完可断网使用 |

为什么不是"又一个语音输入法"

市面上的语音工具大多停在"把话说成字"这一步,然后你自己复制粘贴。这个项目解决的是另外三个问题:

1. 它长在对话流里。 你正在和 AI 聊代码、聊论文,忽然想说——不用切窗口、不用开录音软件,点一下胶囊就行,转写结果直接出现在光标处。
2. 它完全离线。 公司内网的代码、病历、合同,一个字都不该出网。这里的音频只从浏览器走到 127.0.0.1。
3. 它的成本是一次性的。 没有订阅、没有额度、没有每分钟计费。装完之后断网也能用。

顺带一个发现:DSH 的「添加模型提供商」只认对话协议(OpenAI Chat Completions / Responses / Anthropic Messages)。ASR / TTS 不是对话模型,硬塞进设置页没有意义——你没法对一段音频说"你好"。所以这里走的是插件 + 本地 HTTP 桥接,而不是伪装成一个模型提供商。

它由三块组成

| 组成 | 位置 | 作用 |
| 桥接插件 | plugin/ | 宿主侧 /voice-bridge/api/ 代理 + 浏览器侧「语音」胶囊与浮层 |
| ASR 一键部署包 | deploy/asr/ | Qwen3-ASR-1.7B,语音转文字,默认端口 8010 |
| TTS 一键部署包 | deploy/tts/ | Qwen3-TTS-12Hz-1.7B-Base,文字转语音,默认端口 8011 |

先说清楚体积:这两个部署包本身只是脚本,deploy/ 整个目录只有 94 KB(ASR 47.9 KB + TTS 45.6 KB)。Python 3.11、PyTorch CUDA、模型全都不在仓库里,是 install.bat 运行时按需下载的——装完每个包约占 10 GB 磁盘(Python 5.3 GB + 模型 4.4 GB + 下载缓存)。

两者各自独立,各有自己的 Python 和 PyTorch。这不是偷懒:qwen-asr 要求 transformers==4.57.6,qwen-tts 要求 transformers==4.57.3,版本冲突,共用一个环境必然炸。

三步跑起来

第 1 步:装两个语音服务(各约 10 分钟,看网速)

把 deploy/asr/ 和 deploy/tts/ 分别复制到一个路径里没有中文和空格的目录(例如 D:\Qwen3-ASR-1.7B),然后各自双击。这两个目录都很小(94 KB),真正吃磁盘的是它们接下来下载的东西:

install.bat # 第一次:环境自检 → 内置 Python → PyTorch CUDA → 推理库 → 下模型 → 冒烟测试 → 启动 start.bat # 以后启动 stop.bat # 停止 status.bat # 看是否在运行安装器会做七件事,全程有进度条:环境自检 → 下载 11 MB 嵌入式 Python 3.11(四个镜像依次试)→ 装 PyTorch CUDA 12.8(约 2.5 GB)→ 装推理库 → 从 hf-mirror.com 逐文件下模型(断点续传)→ 冒烟测试 → 启动并自动开浏览器。

中断了直接再双击一次,已完成的步骤会跳过。

| 包 | 模型 | 模型下载量 | 装完占用磁盘 | 显存 |
| ASR | Qwen/Qwen3-ASR-1.7B | 4.4 GB(12 个文件) | 约 10 GB | 约 4 GB |
| TTS | Qwen/Qwen3-TTS-12Hz-1.7B-Base | 4.3 GB(13 个文件) | 约 10 GB | 约 5–6 GB |

TTS 的仓库名必须带 -Base。Qwen/Qwen3-TTS-12Hz-1.7B(不带 -Base)在 Hugging Face 上是 401。

第 2 步:装桥接插件

把 plugin/ 放好(建议 D:\dsh-voice-bridge,不要放进 DSH 安装目录,升级会被覆盖),然后改 profile 的 package.json:

// %USERPROFILE%\.dsh\profiles\desktop\package.json
{
"dependencies": {
"dsh-voice-bridge": "link:D:/dsh-voice-bridge" // ← 加这一行 },
"dsh": { "profile": { "bundles": [ / … / "dsh-voice-bridge" ] } } // ← 数组末尾加这一项
}

改完完全退出 DSH 再打开(插件只在启动时加载,界面里 Ctrl+R 不会重载宿主半)。

第 3 步:点它

输入框左侧(权限 / 计划模式那颗胶囊右边)会多一颗 「语音」 胶囊。点开:

- 转写页:选音频 → 语种(默认"自动识别")→ 开始转写
- 朗读页:写文本 → 给参考音频 + 参考文本(或勾「只用声纹」)→ 合成 → 播放器直接播
- 面板顶部两个开关能直接起停后台服务,那三行黑框是真实启动输出

顺带:从面板里直接部署

同一排按钮里还有一颗「部署」(来自配套的 dsh-local-model-toggle 插件)。选一个含 install.bat 的目录就能就地跑安装、看实时日志——deploy/asr、deploy/tts 都能被它直接吃进去。

它是怎么接进来的

flowchart LR
U["🎙 你的声音 / 文本"] --> P["DSH 界面语音面板(浏览器半)"]
P -->|"POST /voice-bridge/api/"| H["DSH 宿主lib/index.js 薄代理"]
H -->|"Gradio call + SSE"| A["Qwen3-ASR127.0.0.1:8010"]
H -->|"Gradio call + SSE"| T["Qwen3-TTS127.0.0.1:8011"]
A --> R["📝 转写结果"]
T --> S["🔊 合成音频"]

只做一层薄代理有两个好处:浏览器不用处理跨域;端口和路径配置只在宿主侧存一份,面板不需要知道细节。

| 服务 | 端口 | Gradio 接口 | 参数 |
| Qwen3-ASR-1.7B | 8010 | POST /gradio_api/call/run | [音频, 语种, null] — 第三个 null 是隐藏 State 占位,少传会报 didn't receive enough input values |
| Qwen3-TTS-12Hz-1.7B-Base | 8011 | POST /gradio_api/call/run_voice_clone | [参考音频, 参考文本, 是否只用声纹, 正文, 语种] |

配置

%USERPROFILE%\.dsh\voice-bridge\config.json(宿主每次请求都重读,面板下次打开就生效):

{
"asr": { "port": 8010, "model": "Qwen3-ASR-1.7B", "dir": "D:\\Qwen3-ASR-1.7B", "enabled": false, "idleMinutes": 10 },
"tts": { "port": 8011, "model": "Qwen3-TTS-12Hz-1.7B-Base", "dir": "D:\\Qwen3-TTS-1.7B", "enabled": true, "idleMinutes": 10 },
"lang": "Auto",
"xvec": false
}

| 字段 | 说明 |
| dir | 指向部署目录;面板的启动/停止按钮就是去这里找 start.bat / stop.bat |
| enabled | 面板上那颗开关的持久状态 |
| idleMinutes | 闲置多少分钟自动停服,释放显存 |
| lang / xvec | 默认语种、是否只用声纹 |

常见问题

1. 合成没声音 / 报 Reference text is required when use x-vector only is NOT enabled.

-Base 模型没有内置音色,必须给参考音频。3 秒能听出音色,8–15 秒更稳。不勾「只用声纹」时还要填参考文本(即那段音频说了什么)。

2. 第一次合成特别慢

要加载模型,十几秒属正常。之后预热好了约 8 秒一句。面板的「闲置关闭」可以避免反复冷启动。

3. 显存不够 / OOM

ASR 约 4 GB、TTS 约 5–6 GB,两个同时开在 12 GB 卡上就比较紧了。建议用面板开关按需起停,或把 idleMinutes 调小。

4. 装 PyTorch 失败 控制台最后 30 行发 issue。通常是镜像或显卡驱动问题,install.ps1 会自动从官方源切到阿里云 pytorch-wheels。

5. 端口被占用

start.bat -Port 8020 换端口,同时在 config.json 里把对应 port 改掉。

6. 面板高度固定,内容被截

plugin/lib/client.js 顶部的 PANEL_H 是常量。窗口比它矮时会夹到可视区内,内容多时内部滚动。

更多排查见 docs/troubleshooting.md。

已验证 / 未验证

已验证(本机 RTX 5070 Ti Laptop 12 GB,Windows 10):

- 两个部署包完整跑通:Python 各 5.3 GB、模型 4.5 / 4.3 GB 落地,服务能起停、能出结果。
- 转写、合成、闭环(合成 → 回读)三条链路的数据见上文表格。
- 四个 .ps1 在 PowerShell 5.1 下语法零错;所有 .bat 保持纯 ASCII(规避 cmd 中文编码坑)。
- 下载器在本地 HTTP 服务上测过「正常 / 大小不符 / 404 / 坏源自动切换」四种情形。

未验证 / 已知限制:

- 只在 Windows + NVIDIA 上测过,没有 macOS / AMD 路径。
- 长音频(>10 分钟)没测过,Gradio 调用是一次性上传。
- 没有流式转写,等整段处理完才出结果。
- 面板 UI 只做了浅色/深色跟随,没做独立主题。

路线图

- [ ] 流式转写(边说边出字)
- [ ] 把两个部署包的安装器合并成一个,少下一份 PyTorch(需要先解决 transformers 版本冲突)
- [ ] 内置音色:改用 Qwen3-TTS-12Hz-1.7B-CustomVoice / -VoiceDesign,用文字描述造音色
- [ ] 录制按钮直接录,不用先存文件
- [ ] macOS / Linux 支持(Metal / ROCm 后端)

来源与致谢

- 模型与推理库:Qwen3-ASR-1.7B · Qwen3-TTS-12Hz-1.7B-Base · pip install qwen-asr qwen-tts
- 宿主平台:DeepSeek Harness
- 部署脚本里的镜像策略(华为云 / npmmirror / 阿里云 / hf-mirror)来自社区常用做法

如果这个项目帮你省下了订阅费,一颗 ⭐ 就是最好的支持。

许可

MIT © 2026 lvsun080403
预览分享卡片长什么样 ↓lvsun080403/local-voice-oneclick
分享 · DeepSeek Harness Hub
lvsun080403/local-voice-oneclick

点一下胶囊,说话转文字并克隆音色朗读回复

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