dsh-voice-notify:DSH 插件:每輪對話收尾時用中文語音播報提醒

前言

DeepSeek Harness (DSH) 提供了插件化架構。在長時間運行或調試時,開發者往往需要明確知道當前 Agent 的對話輪次是否結束。dsh-voice-notify 是一個宿主側插件,它掛接 DSH 原生的“輪次收尾”擴展點,在對話真正結束時觸發中文語音播報。

核心功能

  • 輪次收尾播報:監聽 agent/turn-stopping 事件,在對話真正結束時播報中文語音。
  • 內置語音庫:內置 20 條“曉曉·溫暖”風格的疊詞語音(WAV 格式)。
  • 可視化配置:提供設置頁,支持總開關、子代理輪次過濾、最小間隔、固定語音選擇等。
  • 自定義擴展:支持指定自定義語音目錄和腳本。
  • 輪次過濾與間隔:支持子代理輪次過濾,並可通過 minIntervalMs 防止頻繁播報。

安裝與啓用

插件僅支持 Windows 平臺。

安裝命令

在解壓後的目錄下運行:

powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1

守護熱掛載(推薦)

如需在運行中的 DSH 實例中立即生效(無需重啓),可使用守護熱掛載模式:

powershell -ExecutionPolicy Bypass -File .\install.ps1 -Hot

工作原理

  • 掛接縫:agent/turn-stopping(宿主 serial 擴展點,一輪真正收尾時派發)。
  • 放音:隨機播一條內置 WAV;可選追加自己的語音目錄。
  • 非阻塞:spawn 後 unref(),立刻返回,絕不等它放完。
  • 容錯:任何異常都吞掉只記日誌,絕不影響任務收尾。

配置

配置項位於掛載條目的 config 中:

- id: voice-notify
  name: dsh-voice-notify
  config:
    enabled: true            # 總開關
    includeSubagents: false  # 子代理輪次是否也響
    minIntervalMs: 4000      # 兩條提醒的最小間隔
    clip: ''                 # 固定一條,如 'done-3';留空則隨機
    clipDir: ''              # 額外語音目錄,*.wav 一起進隨機池
    voiceScript: ''          # 覆蓋放音腳本(默認包內 lib/play.ps1)

注意事項

  • 平臺限制:僅支持 Windows 平臺。
  • 子代理默認行爲:子代理輪次默認不響,需配置 includeSubagents: true。
  • 最小間隔:默認爲 4000ms,防止頻繁播報。
  • React 依賴:React 爲可選依賴。
  • 日誌位置:日誌文件位於 $DSH_HOME/voice-notify.log。

鏈接

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

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

小夜