DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。在實際開發中,當任務運行時間較長或涉及多輪 Agent 交互時,頻繁刷新頁面或檢查 UI 狀態會消耗額外精力。dsh-notify 插件通過系統通知、瀏覽器 Tab 標題和左側會話列表,爲任務的運行、完成或異常提供明確的狀態提示。
這是什麼¶
dsh-notify 是一個標準的 DSH Host/Client 插件,不修改 DeepSeek Harness 核心邏輯。它通過監聽 Session 事件、Agent 與 Job 生命週期,在任務收斂時通過多種渠道分發狀態。
- 維護者:
weekitmo - 許可:MIT
- 定位:任務狀態通知
核心功能¶
插件提供以下狀態反饋機制:
- 系統通知:僅在頂層任務全部收斂後發送完成、錯誤、中止、阻塞或 Token 限制結果。可在設置中單獨關閉某一類通知。
- 釘釘機器人:配置 Access Token 與 Signing Secret 後,可獨立選擇發送“成功/完成”或“失敗/中止”消息。支持免打擾模式(默認 23:00-08:00)以及結束後錯過消息的彙總功能。
- Tab 狀態:
- 空閒時顯示最近工作區會話標題。
- 運行中顯示 spinner 和會話數。
- 完成或異常後顯示未讀結果計數。
- 側欄狀態燈:
- 綠點:會話完成且尚未查看。
- 紅點:錯誤、中止、阻塞或 Token 限制。
- 打開會話後清除狀態燈。
- 可配置:在 WebUI 的 設置 > 通知 中控制通知權限、Tab 動效、favicon、spinner 和側欄狀態燈。
安裝與啓用¶
前置條件¶
安裝前需確保 pnpm 已在 PATH 環境變量中。
安裝命令¶
macOS、Linux 或其他 POSIX 系統使用以下命令安裝最新穩定版:
curl -fsSL https://github.com/weekitmo/dsh-notify/releases/latest/download/install.sh | sh
Windows 用戶可克隆倉庫後運行批處理安裝器:
git clone --depth 1 https://github.com/weekitmo/dsh-notify.git
cd dsh-notify
install.bat
安裝後刷新 WebUI。若插件未自動加載,請重啓對應的 dsh web 進程。
啓用與配置¶
- 打開 WebUI,進入 設置 > 通知。
- 開啓需要的通知功能。
- 如需系統通知,點擊 請求授權,並在瀏覽器提示中允許通知。
- 如需釘釘通知,在釘釘配置組打開官方文檔創建自定義機器人,填寫 Access Token 與 Signing Secret,選擇需要發送的結果類型後保存。
注意事項¶
- 遷移狀態:本倉庫已遷移至
weekitmo/oh-my-dsh-plugins,本倉庫不再維護。後續開發、Issue 和 Release 請使用 monorepo 中的@weekit/dsh-notify。 - 釘釘配置路徑:釘釘憑據保存在
$DSH_HOME/dsh-notify/settings.json,不會寫入瀏覽器localStorage。 - 子代理通知:子代理獨立完成通知固定爲關閉,僅跟隨父會話顯示運行計數。
- 安全限制:釘釘憑據管理接口僅接受本機迴環地址上的同源 WebUI 請求。通過局域網或公網地址訪問 WebUI 時不能修改釘釘配置。
結語¶
dsh-notify 通過多渠道的狀態反饋,降低了長時間運行任務的管理成本。配合 DSH 的插件化架構,它爲智能體開發者提供了一個輕量級的狀態監控方案。