🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

Yihong89/dsh-voice-core

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
未验证

共享语音引擎Shared Voice Engine—— dsh-teacher 与 dsh-companion…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/17 · 已提供中文文档

语音引擎,使用Qwen TTS模型

综合分
28.1
GitHub 分
28.1
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Yihong89/dsh-voice-core
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · tool
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 39 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/26
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-session@deepseek-ai/dsh-tools
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-voice-core

共享语音引擎(Shared Voice Engine)—— dsh-teacher 与 dsh-companion 的公共底层。

一个 library,不是独立插件:消费插件(dsh-teacher / dsh-companion)在自己的
apply() 里调用 applyVoice(ctx, config)(host 侧),client 侧通过
createVoiceClient(opts) 组合共享 UI。语音由 mac mini 上的 Qwen3-TTS
(VoiceDesign,MPS 加速)生成,浏览器播放——声音从使用者自己的机器出来。

提供的能力

Host(applyVoice(ctx, config))
- Qwen3-TTS 代理路由:{ttsPath}(如 /dsh-teacher/tts)+ -health,转发到
本地 TTS 服务(127.0.0.1:3091,可用 DSH_VOICE_TTS_URL 覆盖)
- speak / cheer 模型工具(log-only voice/ 事件)
- /speak /cheer /cheer-at /cheer-text /voice 命令
- voiceSpeak 会话投影(fold voice/speak / voice/spoken / voice/cheer)
- 每日问候调度器:到点 agent.followup 让 Agent 自己生成“欢迎 + 趣闻/新闻”
(或配置固定文案直接朗读);schedulerEnabled 控制开关
- 音色配置驱动:config.styles(音色目录)+ config.defaultStyle

Client(createVoiceClient(opts))
- 无内置 UI(不渲染任何图标/按钮)——只提供底层行为:自动朗读、音频播放、
💛 cheer 卡片,配置/选择界面完全交给消费插件自己实现
- 音频队列播放(fetch WAV → ,顺序播放不重叠)
- 自动朗读每条 assistant 回复(1s 先显示文字),带按会话持久化的
localStorage cursor* —— 切换会话/刷新页面不会重复朗读旧消息
- preset 门控:只在该消费插件的 agent preset 会话里生效
- opts.resolveInstruct(sessionId) 可选:按会话动态决定 TTS instruct(优先于 defaultStyle 的静态值),供需要“每个会话自己的音色”的消费者使用

配置示例

// dsh-teacher 的 apply()
import { applyVoice } from 'dsh-voice-core'

await applyVoice(ctx, {
presetName: 'teacher',
ttsPath: '/dsh-teacher/tts',
styles: { onee: { label: '🎧 清冷御姐', instruct: '清冷柔和的成年女声…' } },
defaultStyle: 'onee',
schedulerEnabled: false,
})

// client 侧
import { createVoiceClient } from 'dsh-voice-core'

var voiceClient = createVoiceClient({
presetName: 'teacher',
ttsPath: '/dsh-teacher/tts',
styles: { onee: { label: '🎧 清冷御姐', instruct: '…' } },
defaultStyle: 'onee',
})
// 在 apply 里:voiceClient.apply(ctx)

安装

dsh plugin --profile web add github:Yihong89/dsh-voice-core

profile 的 cordis.patch.yml 注册事件:

- insert:
- id: dsh-voice-registrar
name: dsh-voice-core/register-events

pnpm 11 默认 blockExoticSubdeps: true,而 dsh-teacher/dsh-companion 把
dsh-voice-core 作为 git 子依赖。若报
ERR_PNPM_EXOTIC_SUBDEP,在 profile 的 pnpm-workspace.yaml 加
blockExoticSubdeps: false。

测试

node --test test/*.test.js   # 49 tests

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(Yihong89)的其他插件

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群