dsh-voice-doubao · 豆包语音输入
29.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add FYZB2020/dsh-voice-doubao该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 19 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 36 处,展示前 25 条)
- 写入本地文件lib/config.js:44
writeFileSync(path, `${JSON.stringify({ ...payload, at: new Date().toISOString() }, null, 2)}\n`, 'utf8') - 读取本地文件lib/config.js:126
if (!existsSync(path)) return {} - 读取本地文件lib/config.js:128
const parsed = JSON.parse(readFileSync(path, 'utf8')) - 发起网络请求lib/ark.js:94
const response = await fetch(request.url, { - 发起网络请求lib/auc.js:136
const submit = await fetch(String(config.submitEndpoint), { - 发起网络请求lib/auc.js:156
const query = await fetch(String(config.queryEndpoint), { - 读取本地文件doctor.mjs:58
if (!existsSync(entry)) return false - 读取本地文件doctor.mjs:59
return statSync(entry).mtime > statusStat.mtime - 读取本地文件doctor.mjs:72
if (!existsSync(patch)) return '' - 读取本地文件doctor.mjs:74
const text = readFileSync(patch, 'utf8') - 读取本地文件doctor.mjs:91
if (!existsSync(configPath)) { - 读取本地文件doctor.mjs:96
config = JSON.parse(readFileSync(configPath, 'utf8')) - 读取本地文件install.mjs:80
if (!existsSync(packageJsonPath)) { - 读取本地文件install.mjs:97
profile = JSON.parse(stripBom(readFileSync(packageJsonPath, 'utf8'))) - 写入本地文件install.mjs:137
mkdirSync(modules, { recursive: true }) - 读取本地文件install.mjs:139
if (existsSync(linkPath) || isLink(linkPath)) { - 删除本地文件install.mjs:141
unlinkSync(linkPath) - 写入本地文件install.mjs:155
if (!existsSync(backup)) copyFileSync(packageJsonPath, backup) - 读取本地文件install.mjs:155
if (!existsSync(backup)) copyFileSync(packageJsonPath, backup) - 写入本地文件install.mjs:156
writeFileSync(packageJsonPath, `${JSON.stringify(profile, null, 2)}\n`, 'utf8') - 读取本地文件install.mjs:170
return lstatSync(path).isSymbolicLink() - 读取本地文件install.mjs:189
if (existsSync(configPath)) { - 写入本地文件install.mjs:192
mkdirSync(dshHome, { recursive: true }) - 写入本地文件install.mjs:193
writeFileSync( - 发起网络请求probe-resources.mjs:80
const response = await fetch(endpoint, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
给 DeepSeek Harness 语音输入选择器加豆包云端语音识别,可选再用大模型把口语顺成通顺的书面句子。
README
由 DeepSeek 最新模型翻译生成dsh-voice-doubao · 豆包语音输入
English · 中文
一个云端语音识别器,接入 DeepSeek Harness 的语音输入选择器,底层用火山引擎的豆包语音服务。
DeepSeek Harness 的语音输入设置页:识别器下拉框选中「豆包听写 + 顺稿(云端)」,下面两条豆包条目都显示 云端语音识别已就绪
它们出现的地方——设置 → 插件 → 语音输入 → 配置。两条都已注册并就绪。
为什么做这个
DeepSeek Harness 自带语音输入,而且做得不错:内置本地 SenseVoice 模型,离线运行,输入框旁边放个麦克风,说完话直接落进输入框。不花钱,也不用你配置什么。
但我说话就是普通人说话的样子。于是我按住按钮,说了一段完全通顺的话,拿回来的转写里塞着三个「那个」,一个标点都没有。字是对的,句子不是。
所以这个插件往同一个识别器选择器里加了几条,指向豆包的云端模型。界面其他部分一概不动。
你会得到什么
| 选择器里的条目 | 作用 |
| 豆包听写(云端) | 识别,外加服务自带的语气词清理——「嗯 / 那个 / 就是说」在你看到之前就被去掉了 |
| 豆包听写 + 顺稿(云端) | 把转写交给大模型,由它把句子重新拼好:标点、同音字、说了一半的从句都接上 |
第二条只有在你配置了火山引擎 Ark 密钥之后才会出现。
展开完整文档(README 剩余 1 节)
dsh-voice-doubao · 豆包语音输入 English · 中文 一个云端语音识别器,接入 DeepSeek Harness 的语音输入选择器,底层用火山引擎的豆包语音服务。 DeepSeek Harness 的语音输入设置页:识别器下拉框选中「豆包听写 + 顺稿(云端)」,下面两条豆包条目都显示 云端语音识别已就绪 它们出现的地方——设置 → 插件 → 语音输入 → 配置。两条都已注册并就绪。 为什么做这个 DeepSeek Harness 自带语音输入,而且做得不错:内置本地 SenseVoice 模型,离线运行,输入框旁边放个麦克风,说完话直接落进输入框。不花钱,也不用你配置什么。 但我说话就是普通人说话的样子。于是我按住按钮,说了一段完全通顺的话,拿回来的转写里塞着三个「那个」,一个标点都没有。字是对的,句子不是。 所以这个插件往同一个识别器选择器里加了几条,指向豆包的云端模型。界面其他部分一概不动。 你会得到什么 | 选择器里的条目 | 作用 | | 豆包听写(云端) | 识别,外加服务自带的语气词清理——「嗯 / 那个 / 就是说」在你看到之前就被去掉了 | | 豆包听写 + 顺稿(云端) | 把转写交给大模型,由它把句子重新拼好:标点、同音字、说了一半的从句都接上 | 第二条只有在你配置了火山引擎 Ark 密钥之后才会出现。没配的话,插件根本不显示它——一个按下去悄悄没反应的按钮,比没有按钮更糟。 同一段九秒录音,两条路径,真实输出: raw :那个就是我想说一下,我们是不是应该把这个语音识别的接口先接上,然后再说后面的事情? tidied :我想说一下,我们是不是应该把这个语音识别的接口先接上,再说后面的事情? 花多少钱 | 服务 | 价格 | 免费额度 | | 录音文件识别模型 2.0——默认路径 | 0.8 元 / 小时 | 20 小时,半年 | | 豆包流式语音识别模型 2.0——短音频 | 1 元 / 小时 | 20 小时,半年 | | 火山方舟——可选的顺稿 | 每次调用约 0.06 分 | — | 一百句十秒的话 ≈ 0.22 元。 免费额度要手动领:打开语音控制台,找到对应模型,点【试用】。每个识别器各有自己的 20 小时。 ⚠️ 有个坑值得提前知道:开通时选按小时 / 按量付费那一档。并发规格是按并发路数卖的(每路每月 ¥500,默认零),你的第一个请求就会失败,报 quota exceeded for types: concurrency。这一条让我搭进去一个晚上。 安装 方式 A——双击。 解压到一个固定位置,然后双击 安装.cmd。它会找到 DeepSeek Harness 自带的 Node,剩下的交给它。 方式 B——命令行。 $node = "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\primary-runtime\dependencies\node\bin\node.exe" & $node install.mjs 路线 C —— 插件管理器。 DSH 的插件管理器接受本地绝对路径(不支持拖拽)。把解压后的文件夹路径粘贴到它的安装框里。 A 和 B 会创建目录链接并修改配置档清单 —— 不涉及包管理器。C 走 pnpm。如果 pnpm 在你的机器上曾经失败过,优先选 A 或 B。 然后:把 API key 放进 %USERPROFILE%\.dsh\voice-doubao.json,重启 DeepSeek Harness,运行 doctor: & $node doctor.mjs 一切就位时,它会以 15 项正常,全部就绪 结尾;每一行标了 ✗ 的都会附带该怎么处理。 解压后的文件夹之后不能移动或删除 —— DSH 通过链接进入其中访问插件。 为什么它不慢(以及哪里快不起来) 这个插件背后有两个服务,行为不一样,所以它按录音逐条选择 —— 对着真实 API 实测,各跑三次,交替顺序: | 录音 | 提交 + 轮询 | 流式 | 胜出 | | 4.3 s | 1234 ms | 1174 ms | 流式,险胜 | | 9.1 s | 2343 ms | 1714 ms | 流式,快 27% | | 21.0 s | 3187 ms | 3462 ms | 提交,险胜 | | 43.1 s | 4150 ms | 7619 ms | 提交,快 84% | 交叉点大约在 15 秒,所以默认的 transport: "auto" 把短片段交给流式,长片段走提交路径。在同一组录音上: | 录音 | 仅提交 | auto | | 4.3 s | 1.28 s | 0.87 s | | 9.1 s | 2.44 s | 1.37 s | | 43 s | 4.15 s | 4.36 s | 你可以用 transport: "submit" 或 "stream" 强制指定其中一种。 我修不了的部分: 豆包手机 App 感觉是即时的,因为它在你说话的同时就出字。DSH 的语音输入服务只暴露一个操作 —— 「这是一段录好的音频,给我文字」—— 所以文字只能在你松手之后出现。在这个限制之内,这个插件对短句等大约一秒,对四十秒的录音等大约四秒。 怎么确认它真的在用 doctor.mjs 直接回答这个问题,依据是插件实时维护的状态文件: ✓ 当前选中的识别器就是豆包 现在选的是 doubao-polished · 最近一次识别 2026/10/14 22:20:31 doubao-polished 处理,3.2s 音频 → 17 字,1.9s,顺稿已生效 第二行是你最近一次录音的记录 —— 哪个识别器处理的、音频多长、顺稿环节有没有跑。转写文本本身不会写入磁盘,除非你设置 logTranscripts。 实话实说的限制 - 你需要自己的 API key。 这个仓库不带,也永远不会带。 - 顺稿环节需要另一把独立的 key,来自火山引擎方舟 —— 不同的控制台、不同的服务、不同的账单。它是可选的;没有它识别照样能用。 - 你得自己选识别器,在设置 → 插件 → 语音输入 → 配置里。麦克风按钮会立刻开始录音,从不弹出菜单。这我也很意外。 - 目录是一份精选清单。 DSH 的插件市场只从这份清单安装,所以这个插件必须先列进去,才能在应用内安装。在那之前,zip 包和这个仓库就是安装入口。 - 附了两个 Windows 批处理文件,供双击安装。插件代码本身与平台无关,只有这两个辅助脚本仅限 Windows。 - Windows 用户用记事本编辑 package.json 时注意:安装器能容忍 UTF-8 BOM,因为我自己就踩过这个坑。 已验证 - 168 项离线测试,在 Node 22 和 Node 24 上运行——WAV 契约、协议分帧、传输选择、失败分类、取消、并发、整理护栏、回退、配置分层、实时状态文件。 - 真实服务运行,覆盖两种传输和两种识别器,对接线上豆包和线上方舟,原始输出见上。 - 另有 56 项检查针对真实运行时——22 项针对真实的 Cordis 4.0.4 服务,13 项走真实插件加载器(所以「重启后会挂载」是测出来的,不是假设的),21 项针对整理提示词的实际输出。 - 市场自身的要求全部满足:声明了 dsh.bundle,有 cordis.patch.yml,没有 private 字段,.cmd 文件以 CRLF 存储(在 git 对象里逐字节验证过,所以下载的 ZIP 仍然能双击)。 细节——包括只有线上服务才能暴露的三个问题(流式音频格式声明、指向错误对象的静音诊断、一个没被激活的旗舰模型),以及传输数据是怎么测的——都在 技术说明.md 里。 仓库结构 lib/ the plugin: config, two transports, the tidy-up pass test/ offline suite + a mock service + a live check + a benchmark install.mjs link the plugin into a profile and register it doctor.mjs read-only health check: what's missing and what to do probe-resources.mjs which Volcengine speech resources your key can actually use 使用说明.md step-by-step guide in Chinese 技术说明.md engineering deep-dive: protocol, pitfalls, measurements 许可证 MIT。 这东西为什么会有 DeepSeek Harness 本来就带语音输入,而且做得挺好:内置一个本地 SenseVoice 模型,离线就能跑,输入框旁边放个麦克风,说完字就进框里。不要钱,也不用你配任何东西。 但我说话就是人说话的样子。所以每次按住麦克风、说一段挺正常的话,转出来就是满屏「那个那个」、一个标点都没有。字是对的,句子不是。 所以这个插件往同一个识别器列表里多加了两个选项,指向豆包的云端模型。界面上别的地方都没动。 你会得到什么 | 列表里显示 | 它做什么 | | 豆包听写(云端) | 识别,外加服务端自带的顺滑——「嗯 / 那个 / 就是说」会在你看到之前就被拿走 | | 豆包听写 + 顺稿(云端) | 再把这段文字交给大模型重新组织:补标点、修同音字、把说了一半又改口的地方接顺 | 第二条只有在配了火山方舟的 Key 之后才会出现。没配就不显示——摆一个点了没反应的按钮,比不摆更糟。 同一段 9 秒录音,两条路的真实输出: 原文 :那个就是我想说一下,我们是不是应该把这个语音识别的接口先接上,然后再说后面的事情? 整理后:我想说一下,我们是不是应该把这个语音识别的接口先接上,再说后面的事情? 多少钱 | 服务 | 单价 | 免费额度 | | 录音文件识别模型 2.0 —— 默认走这条 | 0.8 元 / 小时 | 20 小时,半年 | | 豆包流式语音识别模型 2.0 —— 短句走这条 | 1 元 / 小时 | 20 小时,半年 | | 火山方舟 —— 可选的顺稿 | 约 0.06 分 / 次 | — | 说 100 句、每句 10 秒,大约 0.22 元。 免费额度要手动领:进语音控制台,找到模型,点【试用】。两个识别服务各有自己的 20 小时。 ⚠️ 有个坑提前说:开通时选「按量后付费 / 小时版」。那个「并发版」是按并发路数卖的(500 元/路/月,默认 0 路),第一次请求就会报 quota exceeded for types: concurrency。我在这上面花了一个晚上。 怎么装 路子 A —— 双击。 解压到一个固定目录,双击 安装.cmd。它会自己找到 DSH 自带的 Node 并把剩下的做完。 路子 B —— 命令行。 $node = "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\primary-runtime\dependencies\node\bin\node.exe" & $node install.mjs 路子 C —— 插件管理界面。 DSH 的插件管理器支持填本地绝对路径(它不支持拖拽)。把解压后的文件夹路径粘进它的安装框。 A 和 B 只是建一个目录链接 + 改 profile 清单,不依赖包管理器;C 走 pnpm。如果你机器上 pnpm 出过问题,优先 A 或 B。 然后把 Key 填进 %USERPROFILE%\.dsh\voice-doubao.json,重启 DeepSeek Harness,跑一次体检: & $node doctor.mjs 全部就位时会打印 15 项正常,全部就绪;每一条 ✗ 下面都会写清楚该怎么做。 解压出来的目录装完不能移动、不能删除——DSH 是通过链接指向它的。 为什么它不慢(以及哪里快不了) 它背后是两个服务,脾气不一样,所以按录音长度自动挑。下面是打真实接口量出来的(每档 3 轮、交替顺序): | 录音长度 | 提交+轮询 | 流式 | 谁快 | | 4.3 秒 | 1234 ms | 1174 ms | 流式,微弱 | | 9.1 秒 | 2343 ms | 1714 ms | 流式,快 27% | | 21.0 秒 | 3187 ms | 3462 ms | 提交,微弱 | | 43.1 秒 | 4150 ms | 7619 ms | 提交,快 84% | 交叉点在 15 秒附近,所以默认的 transport: "auto" 让短句走流式、长录音走提交。同一批素材的实际效果: | 录音长度 | 只用提交 | auto | | 4.3 秒 | 1.28 s | 0.87 s | | 9.1 秒 | 2.44 s | 1.37 s | | 43 秒 | 4.15 s | 4.36 s | 想强制走某一条,把 transport 设成 "submit" 或 "stream"。 有一件事我修不了:豆包手机 App 感觉"瞬间出字",是因为它边说你边打。而 DSH 的语音输入服务只提供了一个操作——"给你一段录完的音频,还我文字"——所以字只能在你松手之后才出现。在这个限制里,这个插件短句等大约 1 秒,40 秒的录音等大约 4 秒。 怎么确认它真的在工作 doctor.mjs 会直接告诉你,读的是插件维护的实时状态文件: ✓ 当前选中的识别器就是豆包 现在选的是 doubao-polished · 最近一次识别 2026/10/14 22:20:31 doubao-polished 处理,3.2s 音频 → 17 字,1.9s,顺稿已生效 第二行是你上一次录音的真实记录:谁处理的、音频多长、顺稿有没有生效。 识别出来的原文默认不落盘——除非你把 logTranscripts 打开。 说点实话(限制) - Key 得你自己申请。 这个仓库里没有任何密钥,以后也不会有。 - 顺稿那一步要第二个 Key(火山方舟)。不同控制台、不同服务、不同账单。它是可选的,不配也能用识别。 - 识别器要你自己切一次:设置 → 插件 → 语音输入 → 配置。麦克风按钮是"按下去就开始录",它不弹菜单。这一点当初也让我愣了一下。 - 市场是人工策展的清单。 DSH 的插件市场只装清单里的插件,所以这个插件得先被收录,才能在应用里一键装。在那之前,zip 和这个仓库就是入口。 - 包里附了两个 Windows 批处理,用来实现"双击安装"。插件代码本身不分平台,只有这两个小助手是 Windows 专用的。 - 用记事本改过 package.json 的 Windows 用户:安装脚本能容忍 UTF-8 BOM——因为我自己就踩过。 验证到什么程度 - 168 项离线测试,Node 22 和 Node 24 各跑一遍——WAV 契约、协议分帧、通道选择、失败分类、取消、并发、顺稿护栏、回退、配置分层、实时状态文件。 - 真实服务跑通了两条通道和两种识别器,打的是线上豆包和线上方舟,上面贴的就是原始输出。 - 另有 56 项打真实运行时——22 项打真实 Cordis 4.0.4 服务、13 项走真实插件加载器(所以"重启后确实会挂上"是测过的,不是猜的)、21 项跑顺稿提示词的真实输出。 - 市场那套要求也满足:声明了 dsh.bundle、有 cordis.patch.yml、没有 private 字段、.cmd 以 CRLF 存进仓库(从 git 对象里逐字节验证过,所以下载 ZIP 之后照样能双击)。 协议细节、只有真实服务才能暴露的三个问题(流式的音频格式声明、把人引错方向的静音提示、以及一个根本没开通的旗舰模型)、还有上面那些数字是怎么量的,都在 技术说明.md。 仓库结构 lib/ 插件本体:配置、两条通道、顺稿那一步 test/ 离线套件 + 假服务 + 真实检查 + 基准脚本 install.mjs 把插件链接进 profile 并登记 doctor.mjs 只读体检:缺什么、下一步做什么 probe-resources.mjs 你这个 Key 到底能用哪些资源使用说明.md 中文一步步安装手册技术说明.md 工程向深文档:协议、坑、实测数据 许可 MIT。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
FYZB2020/dsh-voice-doubao
dsh-voice-doubao · 豆包语音输入
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目