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

语音播报与听写 huangdejie/dsh-speech-plugin

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

朗读每条回复,还能用麦克风说话转成输入草稿

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/08·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 80 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    lib/index.js:81
    return await fetch(url, {
  • 发起网络请求
    lib/index.js:155
    return await fetch(url, {
  • 读取密钥环境变量
    lib/index.js:304
    const value = process.env.SPEECH_DASHSCOPE_API_KEY;
  • 读取密钥环境变量
    lib/index.js:309
    const value = process.env.SPEECH_VOLCENGINE_API_KEY;
  • 发起网络请求
    lib/client.js:112
    const response = await fetch(TTS_ROUTE, {
  • 发起网络请求
    lib/client.js:415
    fetch("/dsh-speech/asr/available").then((response) => response.json()).then((answer) => {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 逐条消息语音播放
  • 自动播报
  • 麦克风听写

DeepSeek Harness 语音插件:逐条消息语音播放、自动播报、麦克风听写——云端 TTS/ASR 可选阿里云百炼或火山引擎(可自由组合),并支持 Web Speech API 兜底。

README

由 DeepSeek 最新模型翻译生成
dsh-speech-plugin npm version License: MIT DeepSeek Harness 的语音插件:为每条助手消息提供「播报」、会话级「自动播报」开关,以及输入框的「语音输入」麦克风。云端 TTS/ASR 支持阿里百炼与火山豆包,播报与输入可各选一家;云端不可用时播报自动回退浏览器系统音色。以独立插件安装,不修改 harness 仓库任何源代码。 功能 - 🔊 每条消息播报:点消息操作条的喇叭即朗读该条回复正文(自动剥离 markdown 与表情符号、跳过代码块和图片);朗读中再点即停止。 - 📣 自动播报:会话头部的喇叭开关,开启后新完成的回复自动朗读,历史消息不播;偏好按浏览器本地存储,默认关闭。 - 🎤 语音输入:点麦克风开始说话,识别结果实时写入输入框草稿;再点一次结束并发送,或直接点发送(发送即终止收音,不留尾巴、不继续消耗额度)。 - ☁️ 双引擎任意组合:播报与语音输入各自独立选阿里百炼或火山豆包,也可都走同一家。 - 🔇 优雅回退:云端凭据缺失、失效或失败时,播报自动回退浏览器系统音色,语音输入按钮禁用并提示原因,控制台均有日志。
展开完整文档(README 剩余 1 节)
dsh-speech-plugin

npm version
License: MIT

DeepSeek Harness 的语音插件:为每条助手消息提供「播报」、会话级「自动播报」开关,以及输入框的「语音输入」麦克风。云端 TTS/ASR 支持阿里百炼与火山豆包,播报与输入可各选一家;云端不可用时播报自动回退浏览器系统音色。以独立插件安装,不修改 harness 仓库任何源代码。

功能

- 🔊 每条消息播报:点消息操作条的喇叭即朗读该条回复正文(自动剥离 markdown 与表情符号、跳过代码块和图片);朗读中再点即停止。
- 📣 自动播报:会话头部的喇叭开关,开启后新完成的回复自动朗读,历史消息不播;偏好按浏览器本地存储,默认关闭。
- 🎤 语音输入:点麦克风开始说话,识别结果实时写入输入框草稿;再点一次结束并发送,或直接点发送(发送即终止收音,不留尾巴、不继续消耗额度)。
- ☁️ 双引擎任意组合:播报与语音输入各自独立选阿里百炼或火山豆包,也可都走同一家。
- 🔇 优雅回退:云端凭据缺失、失效或失败时,播报自动回退浏览器系统音色,语音输入按钮禁用并提示原因,控制台均有日志。

快速开始

① 安装(任选其一):

从 npm 安装:构建产物已在包内,装完即用
dsh plugin --profile web add dsh-speech-plugin

从本地目录安装:源码仓库须先构建
git clone https://github.com/huangdejie/dsh-speech-plugin
cd dsh-speech-plugin && pnpm install && pnpm run build
cd
dsh plugin --profile web add /绝对路径/dsh-speech-plugin

② 取一个云端 key(二选一,见下方「凭据获取」):

③ 配置并重启:

全局安装的 dsh:放启动 dsh 的 shell 环境(如 ~/.zshrc)源码运行的 fork:放 harness 仓库根目录 .env(与 DEEPSEEK_API_KEY 同一处,且从仓库根目录启动)
export SPEECH_DASHSCOPE_API_KEY=sk-... # 或 SPEECH_VOLCENGINE_API_KEY=...

重启 dsh,打开 http://127.0.0.1:3080:点 🔊 播报消息;点 🎤 授权麦克风后说话。

只配一个 key、不写任何配置文件即可使用——引擎默认 auto,按已有凭据自动选择(两家都有时百炼优先)。

凭据获取

| 家 | 入口 | 要点 |
| 阿里百炼 | 百炼控制台 → API-KEY | sk- 开头;一个 key 同时用于 TTS 与 ASR;欠费(Arrearage)会拒一切调用 |
| 火山豆包 | 语音控制台 → API Key 管理 | 必须是控制台 API Key,不是应用级 Access Token(也无须 APP ID);开通的服务须与资源 ID 对应 |

配置

环境变量(共 2 个)

SPEECH_DASHSCOPE_API_KEY=sk-... # 阿里百炼:TTS + ASR
SPEECH_VOLCENGINE_API_KEY=... # 火山豆包:TTS + ASR

放哪都行:harness 仓库根目录 .env(源码运行,与 DEEPSEEK_API_KEY 同处)、~/.dsh/.env(全局安装)、或启动 dsh 的 shell 环境。注意变量名不要写成 DSH_ 开头(如 DSH_SPEECH_):harness 启动层把 DSH_ 前缀保留为自举命名空间,.env 里出现任何 DSH_ 都会启动报错。

引擎组合(可选,~/.dsh/profiles/web/cordis.patch.yml)

- id: ui-speech
config:
engine: dashscope # 播报:auto | dashscope | volcengine | system asrEngine: volcengine # 语音输入:auto | dashscope | volcengine | off

engine 与 asrEngine 完全独立。常用组合:

| 想要的效果 | engine | asrEngine | 需要的 key |
| 全自动(默认,零配置) | auto | auto | 任一家的 |
| 播报阿里 + 输入火山 | dashscope | volcengine | 两家的 |
| 播报火山 + 输入阿里 | volcengine | dashscope | 两家的 |
| 只播报,不要语音输入 | 任意 | off | 对应家的 |

全部可配字段(均有默认值,按需覆盖)

| 字段 | 默认值 | 说明 |
| engine | auto | 播报引擎,见上表 |
| asrEngine | auto | 语音输入引擎,见上表 |
| dashscopeModel | qwen3-tts-flash | 百炼合成模型 |
| dashscopeAsrModel | paraformer-realtime-v2 | 百炼实时识别模型 |
| dashscopeVoice | Cherry | 百炼音色 |
| volcengineVoice | zh_female_vv_uranus_bigtts | 火山音色(须 2.0 系;公版音色会报 55000000) |
| volcengineResourceId | seed-tts-2.0 | 火山合成资源 ID,须与开通版本一致 |
| volcengineAsrResourceId | volc.seedasr.sauc.duration | 火山识别资源 ID:2.0 小时版;1.0 用 volc.bigasr.sauc.duration,并发版把 duration 换 concurrent |
| maxTextLength | 8000 | 单条播报字符上限(成本闸门,超出回退系统音色) |
| cacheEntries | 64 | 合成结果内存缓存条数 |

改配置后重启 dsh 生效;查看合成结果:dsh --profile web --dump-config | grep -A8 dsh-speech。

使用说明

- 播报:点击消息下的 🔊;长回复边合成边播(首段 1~2 秒出声),同一条重复点击命中缓存即时重放。
- 自动播报:点会话头部喇叭开启(浏览器要求先有一次显式点击才允许发声);换设备/浏览器需各自开启。
- 语音输入:点 🎤 开始,实时看到识别预览;句末自动落定(带标点)。结束方式二选一:再点 🎤,或直接点发送——发送会立即停止收音,屏幕上已识别的文字随消息一起发出。

故障排查

浏览器 DevTools 控制台里 [dsh-speech] 开头的警告自带具体原因;服务端日志 dsh-speech: 前缀同理。

| 现象/警告 | 原因与处理 |
| tts-unavailable | 指定引擎的 key 没配或没进进程(源码运行须从 harness 仓库根目录启动,项目层 .env 按启动目录找);或 engine: system。配置后重启 |
| dashscope ... Arrearage | 百炼账户欠费,费用中心结清 |
| load grant not found in SaaS storage | 火山凭据类型不对:V3 只认控制台 API Key,应用级 Access Token 不行;或 key 未绑定服务授权 |
| 55000000 resource ID is mismatched with speaker | 火山 volcengineResourceId 与音色版本不匹配(2.0 授权配 2.0 音色) |
| asr-start: asr handshake rejected (http 403)(火山) | key 未被授权当前 volcengineAsrResourceId:开通的是 1.0 就配 volc.bigasr.sauc.duration,或去控制台给 key 关联对应资源 |
| asr-start: asr handshake rejected (http 401/403)(阿里) | SPEECH_DASHSCOPE_API_KEY 无效或账户欠费 |
| text-too-long | 清洗后文本超过 maxTextLength,已回退系统音色;确需更长可调大(成本自负) |
| 点击后 1~2 秒才出声 | 正常:云端神经合成延迟,已是流式首段优先的极限;缓存命中即时 |
| 没有麦克风按钮 / 按钮禁用 | 两家 key 都没配,或 asrEngine: off;按提示补 key 后重启 |
| 点击麦克风后一直「连接中」 | 浏览器→host 的 WebSocket 被代理/防火墙阻断;或云端握手失败,看控制台警告 |
| 麦克风授权被拒 | 浏览器地址栏 🔒/🎤 图标改回允许,刷新页面 |
| 启动报 EADDRINUSE :3080 | 旧实例占端口:lsof -ti :3080 \| xargs kill |

已知限制

- 引擎与音色是部署级配置,浏览器内切换音色的 UI 未做。
- 自动播报按「新完成」触发;切换会话期间,旧会话仍在生成的消息完成时也会播报。
- 语音输入是开放麦克风,不做说话人分离:录音期间环境人声也会被识别。
- 回退的系统音色质量取决于操作系统;macOS 可在 系统设置 → 辅助功能 → 朗读内容 下载增强版中文音色。

开发者文档

架构、双引擎协议细节、源码结构与开发循环、分发方式见 DEVELOPMENT.md。

License

MIT
预览分享卡片长什么样 ↓huangdejie/dsh-speech-plugin
分享 · DeepSeek Harness Hub
huangdejie/dsh-speech-plugin

朗读每条回复,还能用麦克风说话转成输入草稿

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