dsh-task-notifier:任務完成時的系統通知插件

DeepSeek Harness (DSH) 在後臺運行 agent 時,用戶常因離開終端而錯過任務完成的時間點。dsh-task-notifier 是一個社區插件,它監聽 DSH 內部的任務結束信號,將這些信號轉化爲操作系統的原生通知(Windows 吐司、Linux 桌面通知、macOS 通知中心),告知用戶“某某任務已經完成”。

插件定位

  • 名稱:dsh-task-notifier
  • 類型:DeepSeek Harness 社區插件
  • 維護者:yuan-source-666
  • 許可證:MIT
  • 核心價值:將 DSH 內部的“任務結束”信號接出,交給操作系統的通知中心。

核心能力

該插件監聽五種 DSH 內部任務結束信號:

  1. 輪次結束 (onTurnEnd):對話任務答完。
  2. 子代理結束 (onSubagentEnd):委派的子任務結束。
  3. 後臺作業結束 (onJobDone):依賴 ctx.jobs,如 pnpm test。
  4. 目標標記完成 (onGoalComplete):目標狀態變爲完成或阻塞。
  5. 工作流結束 (onWorkflowEnd):工作流任務結束。

插件提供以下特性:
* 跨平臺支持:Windows、Linux、macOS 均可使用。
* 本地化:支持中英文本地化。
* 靈活配置:提供獨立開關控制各類信號,支持去重窗口(默認 2 秒)。
* 自定義投遞:支持自定義命令覆蓋內置渠道。
* 事件發佈:任務完成時發佈 task-notifier/completed 事件,供其他插件訂閱。

安裝與啓用

以下命令在 DSH 倉庫根目錄執行。

方式一:直接跑源碼(推薦驗證)

先重寫開發層佔位路徑,然後啓動:

node scripts/write-dev-patch.mjs
cd /path/to/deepseek-harness
pnpm dsh web --patch "它打印出來的那個 load.dev.patch.yml 絕對路徑"

打開 http://127.0.0.1:3080,Agent 答完任務時桌面會彈出通知。

方式二:安裝組合包

dsh plugin --profile demo add E:/ai_agent_workspace/deepseek_harness/dsh-task-notifier
dsh --profile demo

方式三:GitHub 安裝

dsh plugin --profile demo add github:yuan-source-666/dsh-task-notifier

安裝後可通過 dsh --profile demo --dump-config 查看配置是否生效。

配置說明

配置項位於 config: 字段中。以下是常用默認配置:

config:
  enabled: true                # 總開關
  locale: 'zh'                 # 語言:'zh' 或 'en'
  onTurnEnd: true
  onSubagentEnd: true
  onJobDone: true
  onGoalComplete: true
  onWorkflowEnd: true
  onlySuccess: false           # 是否僅通知成功
  includeChildSessions: false  # 是否通知子會話輪次
  dedupeMs: 2000               # 去重窗口(毫秒)
  command: []                  # 自定義投遞命令 argv
  timeoutMs: 15000             # 投遞超時時間

通知模板佔位符:
* {kind}:任務類型(如“對話任務”)
* {task}:任務名
* {outcome}:結束原因
* {ref}:會話或任務 ID

自定義投遞:
command 數組非空時,插件將使用該命令投遞通知,而非系統原生渠道。命令不支持 shell,直接拼接 {title} 和 {body} 字符串。

已知邊界與注意事項

  1. 運行環境:通知發生在運行 dsh 的機器上,而非瀏覽器端。
  2. 標題生成:會話標題由 DSH 標題服務異步生成,未生成時退回最近一條人類指令。
  3. 依賴關係:onJobDone 依賴組合包中存在 ctx.jobs。
  4. 去重:目標自動續跑時,每一輪都是新信號,需依賴 dedupeMs 或關閉 onTurnEnd 來減少打擾。
  5. 中斷處理:崩潰修補的 interrupted 輪次不會觸發通知。

相關鏈接

  • GitHub:https://github.com/yuan-source-666/dsh-task-notifier
  • 社區目錄:https://www.skillhub.cn/plugins/yuan-source-666/dsh-task-notifier
羽毛球分组比赛记分
小程序二维码

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

小夜