dsh-tada:爲 DeepSeek Harness 提供原生桌面通知

前言

在 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 中使用。

通知如何分流

插件根據你當前所在位置,選擇儘量不打擾的方式:

所在位置 表現
正在看剛結束的那條對話 不額外彈窗(內容已在屏幕上)
在 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

典型用法

  1. 按上文命令爲 desktop 或 web profile 安裝插件。
  2. 打開 Settings → Notifications,按需改模板、toast、事件開關與 Advanced 項,點擊 Save 後立即生效,無需重載或重啓 DSH。
  3. 在後臺跑 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 倉庫。

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

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

小夜