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

多源语音朗读 WYR-233/dsh-multi-tts

DeepSeek 客户端
WYR-23353 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

为每条助手回复添加朗读按钮并自动播报

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/WYR-233/dsh-multi-tts.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 53 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-multi-tts(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 10:40:32

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 25 处,展示前 21 条)
  • 读取本地文件
    lib/index.js:82
    for (const line of readFileSync(file, 'utf8').split(/ ? /)) {
  • 写入本地文件
    lib/index.js:102
    writeFileSync(tmp, text, { encoding: 'utf8', mode: 0o600 })
  • 写入本地文件
    lib/index.js:103
    renameSync(tmp, target)
  • 读取本地文件
    lib/index.js:108
    if (!existsSync(target)) return null
  • 读取本地文件
    lib/index.js:109
    const v = JSON.parse(readFileSync(target, 'utf8'))
  • 读取本地文件
    lib/index.js:116
    try { raw = readFileSync(file, 'utf8') } catch { cache = {}; return cache }
  • 写入本地文件
    lib/index.js:119
    try { if (!existsSync(keep)) copyFileSync(file, keep) } catch { }
  • 读取本地文件
    lib/index.js:119
    try { if (!existsSync(keep)) copyFileSync(file, keep) } catch { }
  • 读取本地文件
    lib/index.js:127
    const v = JSON.parse(readFileSync(file, 'utf8'))
  • 写入本地文件
    lib/index.js:138
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true })
  • 写入本地文件
    lib/index.js:144
    try { if (!existsSync(keep)) copyFileSync(file, keep) } catch { }
  • 写入本地文件
    lib/index.js:151
    try { writeFileSync(file, JSON.stringify(next, null, 2), { encoding: 'utf8', mode: 0o600 }) } catch { }
  • 请求外部主机api.minimax.cn
    lib/index.js:201
    const r = await fetch('https://api.minimax.cn/v1/t2a_v2', {
  • 发起网络请求
    lib/index.js:201
    const r = await fetch('https://api.minimax.cn/v1/t2a_v2', {
  • 发起网络请求
    lib/index.js:219
    const r = await fetch(`${base}/audio/speech`, {
  • 发起网络请求
    lib/client.js:50
    const r = await fetch(API + "/synthesize", {
  • 发起网络请求
    lib/client.js:180
    fetch(api + "/config").then((r) => r.json()).then((j) => {
  • 发起网络请求
    lib/client.js:188
    fetch(api + "/config", {
  • 发起网络请求
    lib/client.js:195
    fetch(api + "/synthesize", {
  • 发起网络请求
    lib/client.js:372
    fetch(API + "/config").then((r) => r.json()).then((j) => {
  • 发起网络请求
    lib/client.js:397
    fetch(API + "/config", {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:api.minimax.cn

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 添加朗读按钮
  • 自动播报回复
  • 自选服务商与音色

多服务商 TTS 插件(朗读回复),用于 DeepSeek Harness——自选服务商和音色

README

由 DeepSeek 最新模型翻译生成
dsh-multi-tts 在 DeepSeek Harness 中朗读助手回复——选择你自己的 TTS 提供商和语音。 英文 | 中文 一个面向 DSH 的多提供商文本转语音插件:每条助手回复旁都有一个 🔊 按钮,输入框中有自动朗读开关,还有一个设置页面,让你选择提供商、语音、情感和语速。无需构建步骤——纯 ESM + 手写 React。 功能 - 🔊 逐条回复朗读——每条助手消息上都有一个按钮;再次点击即可停止。 - 🔇 自动朗读开关——位于输入框左侧槽位;新回复会自动朗读。 - ⚙️ 多提供商设置页面——提供商下拉菜单、语音下拉菜单、手动语音 ID、情感、语速、模型、基础 URL、API 密钥,以及一键测试按钮。 - 🧹 对 TTS 友好的文本清理——朗读前会去除代码块、行内代码、URL、文件路径、Markdown 强调标记和列表项目符号。 - 🔑 灵活的密钥解析——插件配置 → 环境变量 → $DSH_HOME/.env → .env 中的常见密钥名称。 - 📦 零构建——客户端包是手写的 React.createElement,按原样放在 lib/ 中发布。
展开完整文档(README 剩余 1 节)
dsh-multi-tts

在 DeepSeek Harness 中朗读助手回复——选择你自己的 TTS 提供商和语音。

英文 | 中文

一个面向 DSH 的多提供商文本转语音插件:每条助手回复旁都有一个 🔊 按钮,输入框中有自动朗读开关,还有一个设置页面,让你选择提供商、语音、情感和语速。无需构建步骤——纯 ESM + 手写 React。

功能

- 🔊 逐条回复朗读——每条助手消息上都有一个按钮;再次点击即可停止。
- 🔇 自动朗读开关——位于输入框左侧槽位;新回复会自动朗读。
- ⚙️ 多提供商设置页面——提供商下拉菜单、语音下拉菜单、手动语音 ID、情感、语速、模型、基础 URL、API 密钥,以及一键测试按钮。
- 🧹 对 TTS 友好的文本清理——朗读前会去除代码块、行内代码、URL、文件路径、Markdown 强调标记和列表项目符号。
- 🔑 灵活的密钥解析——插件配置 → 环境变量 → $DSH_HOME/.env → .env 中的常见密钥名称。
- 📦 零构建——客户端包是手写的 React.createElement,按原样放在 lib/ 中发布。

提供商

| 提供商 | 端点 | 内置语音 | 情感 |
| minimax | MiniMax(海螺)/v1/t2a_v2 | 12 种中文语音(例如 female-shaonv、qiaopi_mengmei、lovely_girl) | ✅ |
| openai | 任何兼容 OpenAI 的 /audio/speech | 6 种语音(alloy、echo、fable、onyx、nova、shimmer) | — |

任何兼容 OpenAI 的端点都可以通过 openai 提供商使用——只需设置基础 URL(OpenAI、DashScope、SiliconFlow、本地服务器等)。

安装

dsh plugin --profile web add dsh-multi-tts

然后将该包添加到配置文件的 bundle 列表中(dsh plugin add 只会写入依赖——真正挂载插件的是 dsh.profile.bundles):

{
"dsh": {
"profile": {
"bundles": ["dsh-multi-tts"]
}
}
}

重启 DSH,然后打开 设置 → Multi TTS / 语音朗读。

配置

1. 打开插件的设置区域。
2. 选择一个提供商,然后选择一种语音(或粘贴任意语音 ID)。
3. 粘贴 API 密钥,或将密钥放入 $DSH_HOME/.env:

MINIMAX_API_KEY=sk-...
OPENAI_API_KEY=sk-...

4. 点击 🔊 测试朗读 / Test 进行验证。当密钥来自环境时,密钥状态标签会显示 (from env/.env)。

配置存储在 $DSH_HOME/multi-tts/config.json 中(可通过 stateDir 选项覆盖该目录)。

路由

宿主端在 DSH Web 服务器上注册了四个路由:

| 方法 | 路径 | 用途 |
| POST | /multi-tts/synthesize | { text, voice?, provider?, speed? } → 音频字节(字符数在 x-tts-chars 中) |
| GET | /multi-tts/status | 当前提供商 / 语音 / 密钥是否存在 |
| GET POST | /multi-tts/config | 读取 / 修补存储的配置 |
| GET | /multi-tts/voices | 当前提供商的语音列表 |

备注
- 对等依赖:@deepseek-ai/cordis ^4.0.1,由 DSH 宿主提供。
- 每次请求的文本上限为 4000 个字符。
- 需要 Node.js ≥ 22(使用全局 fetch)。

许可

MIT

中文说明

在 DeepSeek Harness 里把助手的回复念出来——服务商与音色都由你自己挑。

DSH 的多服务商语音朗读插件:每条回复旁有 🔊 朗读按钮,输入框有自动朗读开关,设置页里可选服务商、音色、情绪与语速。零构建,纯 ESM + 手写 React。

功能

- 🔊 每条回复旁朗读——点一下开口,再点一下停止。
- 🔇 自动朗读开关——输入框左侧,新回复自动念。
- ⚙️ 多服务商设置页——服务商下拉、音色下拉、手填音色 ID、情绪、语速、模型、Base URL、API Key,外加一键测试朗读。
- 🧹 朗读前文本清洗——代码块、行内代码、网址、文件路径、Markdown 强调与列表符号都不会念出来。
- 🔑 Key 多路兜底——插件配置 → 环境变量 → $DSH_HOME/.env → .env 常见键名。
- 📦 零构建——client 端是手写 React.createElement,直接以 lib/ 里的源文件形式分发。

服务商

| 服务商 | 接口 | 内置音色 | 情绪 |
| minimax | MiniMax(海螺)/v1/t2a_v2 | 12 个中文音色(female-shaonv 少女音、qiaopi_mengmei 俏皮萌妹、lovely_girl 萌萌女童……) | ✅ |
| openai | 任意 OpenAI 兼容 /audio/speech | 6 个音色(alloy、echo、fable、onyx、nova、shimmer) | — |

凡是 OpenAI 兼容的语音端点都能用 openai 这条通道接进来——改 Base URL 即可(OpenAI、DashScope、SiliconFlow、本地服务……)。

安装

dsh plugin --profile web add dsh-multi-tts

再把包名加进 profile 的 bundles 清单(dsh plugin add 只写依赖,bundles 才是挂载清单):

{
"dsh": {
"profile": {
"bundles": ["dsh-multi-tts"]
}
}
}

重启 DSH,打开设置 → 语音朗读。

配置

1. 打开插件设置页;
2. 选服务商、再选音色(也可直接手填音色 ID);
3. 粘贴 API Key,或写进 $DSH_HOME/.env:

MINIMAX_API_KEY=sk-...
OPENAI_API_KEY=sk-...

4. 点 🔊 测试朗读 验证。Key 来自环境变量时,状态会显示「(来自环境/.env)」。

配置存在 $DSH_HOME/multi-tts/config.json(可用 stateDir 选项改目录)。

路由

host 端在 DSH web 服务器上挂 4 条路由:

| 方法 | 路径 | 用途 |
| POST | /multi-tts/synthesize | { text, voice?, provider?, speed? } → 音频字节(字符数在 x-tts-chars) |
| GET | /multi-tts/status | 当前服务商 / 音色 / 是否已配 Key |
| GET POST | /multi-tts/config | 读 / 改配置 |
| GET | /multi-tts/voices | 当前服务商的音色表 |

说明

- peer 依赖:@deepseek-ai/cordis ^4.0.1,由 DSH 本体提供。
- 单次合成文本上限 4000 字符。
- 需要 Node.js ≥ 22(用到全局 fetch)。

许可

MIT
预览分享卡片长什么样 ↓WYR-233/dsh-multi-tts
分享 · DeepSeek Harness Hub
WYR-233/dsh-multi-tts

为每条助手回复添加朗读按钮并自动播报

这是你的仓库?认领条目

回到顶部