前言¶
在 DSH 里用 dsh-pet 做网页桌宠时,气泡和碎碎念通常只有文字。若希望桌宠「开口」把气泡内容读出来,需要自己接 TTS 服务或写脚本,和桌宠 UI 的联动也要额外处理。大肥鱼语音(dsh-pet-voice-fishy)是社区维护的 DSH 插件,面向同一桌宠场景:在气泡出现或碎碎念更新时自动朗读,并支持本地离线音色与可选的 Breeze 在线能力。下面介绍它的定位、能力与安装用法。
这是什么¶
- 名称:大肥鱼语音(npm 包
dsh-pet-voice-fishy) - 维护者:bbfang2025-cyber
- 分类:模型推理(社区目录 SkillHub 插件页)
- 当前版本:V1.3.3(package
1.3.3) - 作用:给 dsh-pet 的网页桌宠配音;不修改 dsh-pet 仓库里的任何文件,装完即用。
- 源码与说明:GitHub 仓库
插件本体代码约 40KB,模型不进安装包,首次选用离线音色时再按需下载。
核心功能¶
朗读行为¶
- 气泡朗读:桌宠冒气泡或碎碎念时,可把气泡文字念出来;可在设置里开关、调音量。
- 朗读频率:自动朗读的最小间隔可选「不限 / 30 秒 / 60 秒 / 3 分钟」,默认 30 秒,避免连续刷屏式播报。
- 右键再读:右键(或长按)碎碎念气泡可再读一遍,不受频率限制。
音色(共 10 个)¶
| 音色 | 类型 | 说明 |
|---|---|---|
| 鱼鱼酱(默认) | 离线本地 | 本地复刻少女音,1.25x 语速,一次下载约 58MB,无需 Key |
| 鱼鱼姐(实验版) | 离线本地 | 本地复刻御姐音,1.25x 语速,约 58MB;语料较少,清晰度略逊于鱼鱼酱 |
| 奶糖鱼 / 果冻鱼 / 泡泡鱼 / 团子鱼 | 离线 Kokoro | 萌系中文女声(合集约 348MB) |
| 冷月鱼 / 知性鱼 / 低语鱼 / 夜莺鱼 | 离线 Kokoro | 御姐系中文女声 |
鱼鱼酱、鱼鱼姐在设置页下载音色包后即可断网使用(CPU 推理,无需 GPU)。8 个 Kokoro 离线女声来自 Kokoro 中文女声(Apache-2.0,sherpa-onnx 转换版),一次下载约 348MB。
可选:在设置页填写 Breeze API Key(brz_ 开头)使用在线音色,需联网并消耗 Breeze 余额;不填不影响本地离线音色。
实现要点(来自 README)¶
- 推理在 worker 线程(sherpa-onnx / ONNX Runtime CPU),减轻对 DSH 主界面卡顿的影响。
- 模型目录默认在
$DSH_HOME/dsh-pet-voice/models/,可用环境变量DSH_PET_VOICE_MODELS_DIR覆盖。
安装与启用¶
插件以 DSH desktop profile 的 bundle 形式安装。装完后需完全退出并重新打开 DSH(不是仅刷新页面)。若已装旧版(≤1.3.0),可在 %USERPROFILE%\.dsh\profiles\desktop 执行升级命令后同样重启。
方式一:插件市场(推荐)¶
DSH → 插件市场 → 搜索「大肥鱼语音」或 dsh-pet-voice-fishy → 安装 → 重启 DSH。
方式二:pnpm 从 GitHub 安装(Agent / 文档常用)¶
在 desktop profile 目录执行:
cd $env:USERPROFILE\.dsh\profiles\desktop
pnpm add github:bbfang2025-cyber/dsh-pet-voice-fishy --registry=https://registry.npmmirror.com
将 dsh-pet-voice-fishy 加入该 profile 的 package.json 中 dsh.profile.bundles,然后重启 DSH。仓库 README 也提供「发给 AI Agent」的一行指令与 AGENT-INSTALL.md 中的验收与排错说明。
方式三:Gitee 直链(国内,v1.3.3 示例)¶
下载 release 包并本地 pnpm add:
Invoke-WebRequest -Uri "https://gitee.com/bbfcyber/dsh-pet-voice-fishy/raw/master/release/dsh-pet-voice-fishy-1.3.3.tgz" -OutFile "$env:TEMP\dsh-pet-voice-fishy.tgz"
cd $env:USERPROFILE\.dsh\profiles\desktop
pnpm add "file:$env:TEMP\dsh-pet-voice-fishy.tgz" --registry=https://registry.npmmirror.com
# 再把 dsh-pet-voice-fishy 加进 package.json 的 dsh.profile.bundles
方式四:GitHub Release 直链(可用 gh-proxy)¶
Invoke-WebRequest -Uri "https://gh-proxy.com/https://github.com/bbfang2025-cyber/dsh-pet-voice-fishy/releases/download/v1.3.3/dsh-pet-voice-fishy-1.3.3.tgz" -OutFile "$env:TEMP\dsh-pet-voice-fishy.tgz"
cd $env:USERPROFILE\.dsh\profiles\desktop
pnpm add "file:$env:TEMP\dsh-pet-voice-fishy.tgz" --registry=https://registry.npmmirror.com
# 再把 dsh-pet-voice-fishy 加进 package.json 的 dsh.profile.bundles
依赖与环境:package 要求 Node >=22;与 DSH 的兼容声明见 package 中 dsh.compatibility(含 0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.2 等标记为 compatible 的版本)。
典型用法¶
- 打开 DSH 设置 → 大肥鱼语音。
- 用「气泡朗读」开关与音量滑杆控制是否朗读及音量。
- 在「朗读频率」里选择自动朗读最小间隔(默认 30 秒)。
- 在「音色」中切换并点「试听」;需要 Kokoro 合集时在「离线音色(断网可用)」点 下载(约 348MB);需要鱼鱼酱 / 鱼鱼姐时分别下载(各约 58MB)。
- 桌宠气泡出现后,若已开启朗读且未触发频率限制,会自动播放;需要时可右键气泡再读一遍。
配置文件路径:$DSH_HOME/dsh-pet-voice/config.json,示例:
{
"enabled": true,
"volume": 0.8,
"voiceId": "breeze-yuyujiang",
"breezeApiKey": ""
}
voiceId 与音色表对应(如 breeze-yuyujiang、breeze-yuyujie、kokoro-41 等)。插件还提供 HTTP 路由(如 GET/POST /dsh-pet-voice/state、GET /dsh-pet-voice/tts、音色包安装与进度接口),便于第三方集成;v1.3.3 起 state.packs 为数组结构。
适用场景与注意¶
适合谁
- 已在 DSH 中使用 dsh-pet 网页形态桌宠,希望气泡/碎碎念带语音反馈的开发者或个人用户。
- 希望优先离线、无 Key 使用(鱼鱼酱 / 鱼鱼姐或 Kokoro 女声),或可选接入 Breeze 在线音色。
限制与合规(README 明示)
- 仅覆盖网页形态桌宠;桌面浮动版由 dsh-pet 的 Electron 助手渲染,需上游支持。
- 鱼鱼酱 / 鱼鱼姐基于 Piper 中文模型与 BZNSYP 相关数据微调,仅供个人非商业使用;插件代码为 MIT,模型许可见各上游仓库。
- 离线模型对中文里个别英文单词可能出现 OOV 式读法问题。
- 音色包首次下载需等待,支持进度与断点续传。
安全与权限
DSH 插件在当前 DSH 进程权限下运行。安装前应阅读仓库源码与 LICENSE(MIT),并理解本机会保存 breezeApiKey(仅本地、README 称不上传)以及按需下载的模型文件体积(单包约 58MB 或 Kokoro 合集约 348MB)。
结尾¶
大肥鱼语音把 dsh-pet 气泡文字和 TTS 收成一套 DSH 插件:小体积安装、按需拉模型、默认频率限制与右键复读,并兼顾本地 sherpa-onnx 与可选 Breeze。社区目录与 GitHub 是同一项目的公开入口,DeepSeek Harness 生态强调「一切皆插件」,SkillHub 等为独立社区站点,与 DeepSeek / 幻方无官方从属关系。
- 目录页:https://www.skillhub.cn/plugins/bbfang2025-cyber/dsh-pet-voice-fishy
- GitHub:https://github.com/bbfang2025-cyber/dsh-pet-voice-fishy