dsh-notifier:DeepSeek Harness 任務完成與審批通知插件

在 DeepSeek Harness (dsh) 中進行智能體開發或任務編排時,經常需要關注任務狀態或等待人工確認。當窗口被遮擋或在其他應用中工作時,很容易錯過這些關鍵節點。dsh-notifier 插件通過調用操作系統的原生通知能力,將任務完成和審批請求直接推送到桌面,從而解決這個問題。

是什麼

dsh-notifier 是 DeepSeek Harness (dsh) 的一個系統通知插件。它由 YZz-S 維護,採用 MIT 許可證。該插件主要解決“任務執行狀態不直觀”和“審批流程易遺漏”的問題,確保開發者或用戶在切換窗口時也能及時獲取 DSH 的狀態變化。

核心功能

  1. 任務完成通知
    當頂層會話從 running 狀態變回 idle(即一個回合結束)時,插件會發送“Task completed(任務已完成)”的通知。插件使用 agents.roots() 來識別頂層會話,避免子代理結束時的通知刷屏。

  2. 審批與輸入通知
    當觸發審批(approval/request)或需要頁面內手動輸入時,插件發送“Action required(需要確認)”的通知,並在正文中包含觸發該請求的工具名稱和原因。

  3. 不干擾審批流程
    插件的通知邏輯透明地通過 waterfall 的 next() 傳遞,不會回答或改變審批結果,完全不影響原有的審批流程。

  4. 跨平臺支持
    * Windows:支持 WinRT Toast,失敗時降級爲氣泡通知。
    * macOS:調用 osascript 執行 display notification。
    * Linux:使用 notify-send。

  5. DeepSeek Harness 品牌標識
    在 Windows 平臺上,插件會註冊一個自定義的 AppUserModelID(DeepSeekHarness.Notify),這樣系統顯示的通知來源應用名和圖標即爲“DeepSeek Harness”。

安裝與啓用

安裝該插件需要使用 DSH 的命令行工具。

dsh plugin --profile web add github:YZz-S/dsh-notifier

安裝後,只要 dsh 進程在運行,任務完成或需要人工確認時系統通知會自動彈出。該插件爲純 Host 插件,無需刷新頁面即可生效。

典型用法

根據使用場景的不同,有兩種啓用方式。

方式一:動態 Cordis 插件(臨時運行)

這種方式適合在開發調試時臨時啓用,生命週期綁定在當前 dsh 進程。

  1. 在 dsh Web GUI 的 Cordis 工具中調用 cordis_define,將 host.js 的內容粘貼到 code.host 字段。參數需設置爲 plugin.kind: 'new',idPrefix 取 3-6 個小寫字母。
  2. 調用 cordis_run 激活插件。
  3. 下一次任務完成或觸發審批時,系統通知會彈出。

注意:動態插件的生命週期與當前 dsh 進程相同。重啓 dsh 後必須重新定義並運行。

方式二:安裝爲正式插件(推薦)

使用上方提供的安裝命令將其安裝爲正式插件,無需每次手動定義。

工作原理

插件通過 subprocess.spawn 調用操作系統的原生命令來發送通知。命令探測順序爲:
1. Windows:優先使用 PowerShell 調用 WinRT Toast(帶自定義 AppUserModelID),失敗則降級爲氣泡通知。
2. macOS:調用 osascript。
3. Linux:調用 notify-send。

標題固定爲“DeepSeek Harness”,正文顯示“會話標題”+ 狀態。爲了防止通知過多,插件僅在檢測到頂層會話(通過 agents.roots())從 running 變爲 idle 時才發送任務完成通知。

隱私與注意事項

  1. 隱私
    * 僅在 HKCU 註冊 AppUserModelID 用於顯示來源名稱和圖標。
    * 不進行文件寫入、遙測或持久化存儲。
    * 不採集或上傳任何本地數據。
    * Windows 平臺僅在顯示通知時從公開 CDN 拉取圖標(avatars.githubusercontent.com/u/148330874?v=4&s=200)。

  2. 限制
    * 進程級別:動態插件以當前 dsh 進程爲生命週期,重啓後需重新加載。
    * 服務依賴:如果 subprocess 服務不可用,插件會靜默禁用。
    * 網絡依賴:Windows 平臺的圖標依賴網絡,斷網時圖標不顯示,但通知本身仍會彈出。

總結

dsh-notifier 通過輕量級的系統通知機制,解決了 DSH 任務執行和審批流程中信息滯後的問題。它遵循“不干擾業務”的原則,在提供即時反饋的同時,保持了極低的隱私風險和資源佔用。

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

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

小夜