前言¶
在 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