前言¶
在 DeepSeek Harness(DSH)裏跑 Agent 時,一輪對話結束、報錯、需要審批或向你提問,往往發生在後臺 Session 裏。人若正在看別的會話或切到其他應用,很容易錯過。常見做法是反覆切回 DSH 看狀態,或依賴模型「主動提醒」——後者並不可靠。下面介紹社區插件 dsh-tada:它監聽 DSH 事件,用系統通知和應用內 toast 提醒你,且不改動 DSH 本體。
這是什麼¶
dsh-tada 由維護者 junqi-lu 發佈,分類爲客戶端插件。它以常規 DSH 插件形式安裝,爲 DeepSeek Harness 提供原生桌面通知:在 Agent 完成一輪、失敗、需要審批或提問時發出提醒。通知由 DSH 自身觸發,不依賴模型決定是否 ping 你;插件不 patch DSH,無運行時依賴,可在 Desktop 應用和 dsh web 中使用。
- 目錄頁:https://www.skillhub.cn/plugins/junqi-lu/dsh-tada
- 源碼:https://github.com/junqi-lu/dsh-tada
- 許可證:MIT(package 版本 0.2.0)
通知如何分流¶
插件根據你當前所在位置,選擇儘量不打擾的方式:
| 所在位置 | 表現 |
|---|---|
| 正在看剛結束的那條對話 | 不額外彈窗(內容已在屏幕上) |
| 在 DSH 內,但在看別的 Session | 應用內 toast |
| 在其他應用 | 系統通知 |
系統通知中心顯示的是 DSH 的名稱與圖標;點擊通知會打開對應 Session。每條提醒都對應插件訂閱的 DSH 事件,而不是模型自行決定的通知。
核心功能¶
可訂閱的事件¶
默認開啓:一輪完成、錯誤、需要審批、被提問。默認關閉:Subagent、workflow 或 goal 完成。可在 Settings → Notifications 裏用總開關和分事件開關調整。
模板與文案¶
標題和正文可編輯,並帶實時預覽。默認標題爲 {{event}},正文爲 {{session}}。可用佔位符包括:
| 佔位符 | 含義 |
|---|---|
{{app}} |
應用名(默認 DSH) |
{{event}} |
本地化事件標籤,如 Turn complete |
{{session}} |
Session 標題 |
{{workspace}} |
Workspace 標題 |
{{detail}} |
回覆預覽、錯誤信息、問題或工具原因 |
未知佔位符會原樣顯示,便於發現拼寫錯誤。
應用內 toast 與高級選項¶
Toast 可在 1–30 秒後自動消失,或保持到點擊 Open / Dismiss。Advanced 中可配置投遞渠道、應用名、通知語言、靜默時段、最小間隔與正文長度。
靜默時段格式爲 HH:MM-HH:MM,可跨午夜;靜默期間會抑制自動的「一輪結束」類提醒,審批、提問以及 subagent/workflow/goal 類提醒仍會送達。最小間隔默認 1500 ms,用於限制同一 Session 內 turn-end 提醒頻率。通知文案默認跟隨應用語言,也可強制英文或中文。
安裝與啓用¶
DeepSeek Harness 生態強調「一切皆插件」;社區目錄站點(如 SkillHub)與 DeepSeek / 幻方無官方從屬關係,安裝前請自行查看源碼與 MIT 許可證。插件以當前 dsh 進程權限運行,安裝即信任其 Host/Client 邏輯。
Desktop 與 Web 配置檔¶
先做 profile 選擇,再執行 add:
dsh plugin --profile desktop add dsh-tada # Desktop app
dsh plugin --profile web add dsh-tada # dsh web profile
固定版本示例:dsh-tada@0.2.0。Web GUI 也可在 Settings → Plugins → Add plugin 中輸入 dsh-tada。
本地目錄與離線¶
從 checkout 安裝(倉庫已提交構建好的 Client bundle,無需 install/build):
dsh plugin --profile desktop add /path/to/dsh-tada
無 npm 網絡的機器可先 pack 再拷貝 tarball:
npm pack
dsh plugin --profile desktop add ./dsh-tada-0.2.0.tgz
典型用法¶
- 按上文命令爲 desktop 或 web profile 安裝插件。
- 打開 Settings → Notifications,按需改模板、toast、事件開關與 Advanced 項,點擊 Save 後立即生效,無需重載或重啓 DSH。
- 在後臺跑 Agent,切換到其他應用或別的 Session,等待一輪完成或需要審批時,應收到系統通知或 in-app toast;點擊系統通知應跳轉到對應 Session。
排查時可訪問僅 loopback 的狀態端點(不含密鑰):
curl -s "$DSH_WEB_URL/dsh-tada/status"
若升級後提醒消失:重載 DSH 頁面以便 Client 半重新註冊;Host 側更新後需重啓 DSH。Desktop 一般會自動授予通知權限;dsh web 需在瀏覽器中允許頁面通知。
適用場景與注意¶
適合長時間在 DSH 中並行多個 Session、或經常切到其他工具寫代碼/查文檔的開發者。不適合期望「只有模型認爲重要才通知」的場景——本插件 deliberately 只跟 DSH 事件走。
開發側:Host 在 lib/(純 ESM),Client 由 src/client/ 構建到已提交的 client/client.js;npm test 會先重建 Client 再跑測試套件。Node 要求 >=20。
結尾¶
dsh-tada 用 DSH 原生通知通道,在「你不在當前 Session」時補上 turn 完成、錯誤、審批與提問提醒,並可在設置裏細調文案與靜默策略。進一步瞭解可訪問 SkillHub 目錄頁 與 GitHub 倉庫。