dsh-notify:Windows 原生 Toast 与系统托盘的 DSH 插件

前言

在 DSH 里跑长任务时,常见的问题是任务结束后还要回到 dsh web 页面确认状态。切走窗口后,页面里的 spinner 或会话状态并不总能第一时间提醒人。

dsh-notify 解决的就是这个场景:当 agent 不再运行时,自动弹 Windows 原生 Toast 通知;同时任务栏保留一个鲸鱼托盘图标,方便快速唤起 dsh web 页面或退出后台。

这是什么

dsh-notify 是 Pasumao 发布的 DSH 插件,npm 包名为 dsh-notify,许可证为 MIT。

它面向 Windows 10/11,要求 Node ≥ 22.5,资料标注实测于 DSH 0.1.1-rc.2。它主要解决两个问题:

1、agent 停止运行时,通过 Windows 原生 Toast 提醒用户;
2、通过系统托盘鲸鱼图标,提供唤起 dsh web 页面或退出后台的入口。

核心功能

Windows 原生 Toast 通知

当 agent 不再运行时,插件会自动弹系统通知。资料中列出的触发状态包括:

  • 完成;
  • 停止;
  • 出错;
  • 达到输出上限;
  • 等你选择;
  • 会话关闭。

通知正文会标注「工作区 · 会话」,方便区分多个工作区或多个会话。

系统托盘鲸鱼图标

任务栏会常驻鲸鱼图标。右键菜单可以:

  • 唤起 dsh web 页面;
  • 退出后台。

托盘图标由 tray 配置项控制,资料标注默认值为 true

防刷屏控制

插件提供两个常用控制项:

  • rootsOnly:默认 true,仅根会话通知,子代理不刷屏;
  • cooldownMs:控制同一会话、同一类型两次通知之间的最小间隔。

轻量安装

资料称该插件零运行时依赖、零构建,装完即用。

package.json 中声明了:

"peerDependencies": {
  "@deepseek-ai/cordis": "^4.0.1"
}

安装与启用

下面介绍三种安装方式。

使用 npm 包名安装

执行:

dsh plugin --profile web add dsh-notify

这一步会把 dsh-notify 安装到指定的 web profile 中。

从 GitHub 仓库安装

执行:

dsh plugin --profile web add github:Pasumao/dsh-plugin-notify

这一步适合直接使用仓库地址安装插件。

源码安装

如果需要本地调试,可以克隆源码:

git clone https://github.com/Pasumao/dsh-plugin-notify.git
cd dsh-plugin-notify
npm install

然后以 link: 方式挂载进 profile,包名保持 dsh-notify

启用验证

安装完成后,重启 dsh web。任务栏出现鲸鱼图标,即表示插件已生效。

典型用法与自测

安装后,可以先用项目脚本弹三条真实 Toast 做自测:

node scripts/test-harness.mjs

如果要调整通知行为,可以在 profile 的 cordis.patch.yml 中按 id dsh-plugin-notify 覆盖 config。

资料中列出的常用配置项如下:

  • cooldownMs:默认 10000,表示同会话同类型两次通知的最小间隔;
  • rootsOnly:默认 true,仅根会话通知;
  • tray:默认 true,托盘图标开关;
  • titlePrefix:默认 'dsh',通知标题前缀。

适用场景与注意

适合以下场景:

  • 跑 LLM 长生成、批处理等任务,想切走窗口,结束时由系统通知提醒;
  • 多个工作区会话并行,希望靠「工作区 · 会话」标注区分结果;
  • 需要在任务栏常驻一个入口,快速唤起 dsh web 页面或退出后台。

使用前注意:

  • 该插件以当前 dsh 进程权限运行,安装前建议检查源码、依赖与许可证;
  • 通知依赖 Windows 通知设置与 PowerShell 通知权限,勿扰或专注助手可能阻止通知;
  • 托盘图标依赖 tray 配置,默认 true;若被覆盖可能导致图标不显示;
  • 资料称代码与文档由 AI 辅助生成(DeepSeek Harness),并经过人工审查与实机验证。

常见问题

收不到通知?

检查 Windows「设置 → 系统 → 通知」是否允许 PowerShell 显示通知,以及是否处于专注助手 / 勿扰时段。

只想根会话通知?

保持:

rootsOnly: true

需要观察子代理时,再改为:

rootsOnly: false

通知太频繁?

调大 cooldownMs。资料给出的默认值为 10000

托盘图标不见了?

先重启 dsh web。仍没有图标时,检查 tray 配置是否被覆盖为 false

结尾

dsh-notify 的价值比较直接:把 agent 停止运行的事件变成 Windows 原生 Toast,并用常驻鲸鱼图标提供后台入口。对需要在 Windows 上跑 DSH 长任务、但不想一直盯 dsh web 页面的人,这是一个可直接安装的 DSH 插件。

相关链接:

  • GitHub:https://github.com/Pasumao/dsh-plugin-notify
  • 目录页(插件线索):https://www.skillhub.cn/plugins/Pasumao/dsh-plugin-notify
羽毛球分组比赛记分
小程序二维码

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

小夜