YuMo226/dsh-task-notify

任务完成时弹出 Windows 原生系统通知(通知中心横幅):目标完成或 Agent 结束一轮。

Bundle 已验证 MIT JavaScript 未知
Bundle 已验证

已收录

0

Notify

Bundle 已验证

版本未知
语言JavaScript
许可证MIT
在 GitHub 查看

预览

第 1 个预览,共 2 个:YuMo226/dsh-task-notify
第 2 个预览,共 2 个:YuMo226/dsh-task-notify

功能介绍

任务完成时弹出 Windows 原生系统通知(通知中心横幅):目标完成或 Agent 结束一轮。

适合

  • 希望在目标完成或 Agent 一轮结束时收到 Windows 通知中心原生横幅的用户。
  • 会把耗时较长的 DSH 任务放到后台、需要系统级完成提醒的用户。
  • 需要可配置完成触发条件和通知最小间隔的工作流。

不适合

  • 不适合始终在前台观察任务完成状态、系统通知增益很小的工作流。
  • 不适合关闭通知中心或由专注助手屏蔽普通通知的 Windows 系统。
  • 不适合要求每个密集完成事件都弹出横幅的场景,因为通知受频率限制。

README

dsh-task-notify

English 中文

A DeepSeek Harness (DSH) plugin that shows a native OS system notification whenever a task completes — goal completion or agent turn end. Windows / macOS / Linux.

Features

  • Native OS notifications on every platform: Windows toast, macOS Notification Center, Linux libnotify — real system banners, not blocking dialogs.
  • Two “task done” triggers (configurable):
    • goal completes (phase = complete)
    • an agent turn ends normally
  • Zero runtime dependencies — Node built-ins + OS-native commands (PowerShell, osascript, notify-send).
  • CJK-safe — Windows text travels via UTF-8 temp files so Chinese/Japanese/Korean content is never corrupted.
  • Anti-spam rate-limit between notifications.

Platform support

OS Mechanism Requires
Windows WinRT toast (Notification Center) nothing (AUMID registered at runtime)
macOS osascript display notification macOS 10.8+
Linux notify-send (libnotify) libnotify (notify-send); falls back to zenity, then kdialog

How it works (Windows)

  1. On first notify, the plugin registers an AppUserModelID (dsh.tasknotify) under HKCU\Software\Classes\AppUserModelId so CreateToastNotifier can deliver to the interactive desktop.
  2. When a task completes, it writes the title/body to UTF-8 temp files and runs a small PowerShell script that shows a WinRT ToastText02 notification via ToastNotificationManager.
  3. Temp files are removed afterwards. Failures are logged (never thrown) so they never break an agent turn.

Each notification (and any failure) is recorded in an audit log at <home>/task-notify.log.

Install

As a dsh bundle, installable via the profile plugin manager:

dsh plugin --profile web add dsh-task-notify

Or install the repo directly (npm alias spec):

dsh plugin --profile web add github:YuMo226/dsh-task-notify
Manual install (no pnpm)

Copy this package into the profile’s hoisted node_modules and add a loader entry:

- insert:
    - id: notify
      name: dsh-task-notify
      config:
        onGoalComplete: true
        onTurnEnd: true
        title: 'DeepSeek Harness'
        minIntervalMs: 4000

Restart dsh web after installing for the plugin to mount.

Configuration

Key Type Default Description
onGoalComplete boolean true Notify when a goal completes.
onTurnEnd boolean true Notify when an agent turn ends normally.
title string DeepSeek Harness Leading line of the notification.
minIntervalMs number 4000 Minimum ms between two notifications (anti-spam).

Troubleshooting

  • Windows: make sure the notification center is on and Focus Assist is not set to “Alarms only” / “Priority only”.
  • Linux: install libnotify (provides notify-send); if missing, the plugin falls back to zenity, then kdialog.
  • If no notification appears, check <home>/task-notify.log for an error line and open an issue.

License

MIT

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:YuMo226/dsh-task-notify。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。