dsh-done-notifier:模型完成時的 macOS 提示

在 DeepSeek Harness (DSH) 的開發或使用流程中,模型完成一輪迴復後,通常需要手動切換窗口或等待狀態變化。如果正在處理其他任務,很容易錯過這一時機。dsh-done-notifier 插件解決了這個問題。

它是一個客戶端插件,由 tdeluna024-ui 維護。當模型完成回覆並進入 idle 狀態時,它會彈出 macOS 系統通知並播放提示音。

核心功能

  • 狀態觸發:監聽宿主事件 agent/status,僅在狀態從 running 回到 idle 時觸發一次。
  • 系統通知:彈出 macOS 橫幅,標題爲 DeepSeek,正文爲 模型已完成,等你回覆。
  • 音頻提示:使用系統命令 afplay 播放隨包攜帶的童聲提示音(真人神經語音合成)。
  • 對話過濾:只通知頂層對話,忽略子代理(subagent)的結束,避免通知轟炸。
  • 防重複觸發:單輪內模型連續調用多個工具期間,狀態保持 running,不會重複觸發。
  • 零依賴:純 JS 實現,無需構建授權,從 GitHub 直裝即可。

安裝

推薦使用官方 CLI 進行安裝:

dsh plugin --profile <你的 profile 名> add github:tdeluna024-ui/dsh-done-notifier

安裝完成後,需要重啓 DSH 生效。

若 dsh 命令未配置在 PATH 中,可使用完整路徑:

node <dsh 安裝根目錄>/apps/cli/lib/bin.js plugin --profile <name> add github:tdeluna024-ui/dsh-done-notifier

配置與自定義

  • 提示音替換:插件內置了童聲提示音。若需更換,替換 assets/notify-kid.mp3 即可。afplay 支持的格式包括 mp3、aiff、m4a 和 wav,保持文件名一致即可。
  • 橫幅文案:如需修改通知標題和正文,可在 index.js 頂部修改 TITLE 和 BODY 常量。

注意事項

  • 環境依賴:插件依賴系統自帶的 osascript 與 afplay(macOS 原生支持)。DSH 的 profile 需包含提供 agents 與 shell 服務的宿主組合(@deepseek-ai/dsh-base 即滿足)。
  • 平臺限制:非 macOS 平臺會打印警告並跳過通知功能,不會影響 DSH 的正常運行。
  • 權限說明:插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。

結語

該插件通過簡單的系統級反饋,解決了在多任務場景下漏掉模型回覆的問題。相關代碼與文檔位於:

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

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

小夜