dsh-pet-tts:把桌寵氣泡用 Edge 神經音色念出來

前言

在 DeepSeek Harness 裏配了 dsh-pet 桌寵時,氣泡裏會冒出短句,但默認只有文字。若希望這些臺詞被朗讀出來,又不想把整段助手回覆都交給 TTS,就需要一個只盯桌寵氣泡、範圍明確的插件。市場裏也有「朗讀助手回覆」類插件,職責不同;下面介紹的是維護者 jimmyfenwick 發佈的 dsh-pet-tts(分類:聯網工具),用微軟 Edge 在線神經音色合成 mp3,並通過瀏覽器播放。

這是什麼

dsh-pet-tts 是 DeepSeek Harness 插件:前端監聽 Web UI 裏 class 爲 dsh-pet-bubble 的 DOM 節點;宿主側在私有 Python 虛擬環境中調用開源 edge-tts 客戶端生成音頻。它只念桌寵氣泡,桌寵不說話時保持安靜;不充當通用「讀助手正文」工具。

倉庫:jimmyfenwick/dsh-pet-tts
目錄頁:skillhub.cn 插件頁
當前 package 版本:0.1.0,MIT 許可。

依賴與環境

使用前需滿足 README 列出的條件:

  • 帶 Web UI 的 DeepSeek Harness(dsh web 或桌面版網頁視圖),在 0.2.1-rc.5 上驗證過。
  • dsh-pet 用於產生氣泡(可選;不裝桌寵也能用控制台 API)。
  • Python 3.9+ 在 PATH 上,或通過 DSH_PET_TTS_SYSTEM_PYTHON 指定解釋器。
  • 網絡可訪問 speech.platform.bing.com;首次安裝還需一次性訪問 PyPI(或鏡像)以安裝 edge-tts。
  • Node.js 20+。

核心功能

自動跟讀氣泡

頁面腳本監視 .dsh-pet-bubble;有內容時向宿主請求合成並播放。單條氣泡文本上限 300 字符,更長會被截斷——設計上是短句氣泡,不是長文朗讀。

音色預設

內置多組預設(默認 anime-girl),語速、音高、音量與 dsh-pet-dfeiyu-mo 同源,換插件後聽感可保持一致。例如默認預設使用 zh-CN-XiaoyiNeural,另有 anime-girl-hi、anime-boy、netstar、xiaoyi-raw 等,完整表格見 GitHub README。

瀏覽器控制台 API

不依賴桌寵時,可在 DevTools 裏直接調用:

dshPetTTS.setPreset('anime-girl-hi')          // 切換預設,寫入 localStorage
dshPetTTS.say('主人,我回來了')                 // 立即念一句
dshPetTTS.say('你好', { voice: 'en-US-AriaNeural', rate: '+10%' })
dshPetTTS.mute(true)                          // 靜音;mute(false) 恢復
await dshPetTTS.voices()                      // 宿主側已知的微軟音色列表
await dshPetTTS.health()                      // { ready, python, edgeTts, dataRoot }

宿主 HTTP 路由

前綴 /dsh-pet-tts/,便於腳本或自定義前端:

  • GET /dsh-pet-tts/ping → { ok, defaultPreset, presets }
  • GET /dsh-pet-tts/health → 含 venv 等健康信息
  • GET /dsh-pet-tts/presets → 完整預設表
  • GET /dsh-pet-tts/voices → 微軟當前返回的全部音色
  • GET /dsh-pet-tts/say?text=…&preset=… → audio/mpeg(可選 voice、rate、pitch、volume)

合成結果緩存在 ~/.dsh/dsh-pet-tts/cache,鍵爲文本與參數組合,重複臺詞不再請求合成。

安裝與啓用

安裝命令以 README 爲準。任選其一:

dsh plugin --profile <你的檔名> add github:jimmyfenwick/dsh-pet-tts

或從 release tarball:

dsh plugin --profile <你的檔名> add https://github.com/jimmyfenwick/dsh-pet-tts/releases/latest/download/dsh-pet-tts.tgz

裝完後重啓或 reload 宿主。在頁面內先點一次(或按鍵)——瀏覽器在用戶手勢前會攔截自動播放,這不是插件缺陷。再讓桌寵說話或調用 dshPetTTS.say。

首次合成時插件會在 ~/.dsh/dsh-pet-tts/venv 創建虛擬環境並安裝 edge-tts(約 30 MB,一次性,不污染全局 Python)。宿主機日誌可見 [dsh-pet-tts] creating virtualenv … / installing edge-tts …。

配置項

環境變量 含義
DSH_PET_TTS_ROOT 數據目錄,默認 $DSH_HOME/dsh-pet-tts
DSH_PET_TTS_PYTHON 直接使用該解釋器,跳過虛擬環境
DSH_PET_TTS_SYSTEM_PYTHON 用來創建虛擬環境的基解釋器

若 pip install 連不上 PyPI,插件會先重試清華鏡像再試上游;也可預先裝好 Python 環境並設置 DSH_PET_TTS_PYTHON 以跳過在線安裝。

適用場景與注意

適合:已在 DSH Web UI 中使用 dsh-pet,希望氣泡臺詞有語音反饋;或需要 Edge 神經音色、可切換預設的桌寵 TTS。

不適合:朗讀助手完整回覆——請選用市場內專門的回覆朗讀插件。

權限與安全:插件以當前 DSH 進程權限運行,會創建本地 venv、訪問微軟朗讀端點並可能拉取 PyPI 包;安裝前建議瀏覽倉庫源碼與 MIT 許可證。DeepSeek Harness 社區插件目錄(如 skillhub.cn)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

限制(README 原文要點):

  • 合成依賴網絡,無離線模型。
  • 首次發聲需用戶手勢;僅 dsh-pet-bubble 類節點觸發自動朗讀。
  • macOS / Linux 爲主驗證環境;Windows 代碼路徑存在但未實測。
  • 使用微軟 Edge 公開朗讀接口,未獲微軟背書,可能變更或限流;商業用途需自行覈對微軟條款。

卸載:

dsh plugin --profile <你的檔名> remove dsh-pet-tts

可選刪除 ~/.dsh/dsh-pet-tts(虛擬環境 + 緩存)。

結尾

dsh-pet-tts 把桌寵氣泡與 Edge 在線 TTS 接在一起:範圍窄、默認安靜,需要時再出聲。更多預設、路由與限制見 GitHub README;安裝入口也可從 SkillHub 目錄頁 進入倉庫鏈接。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜