dsh-notify:把 DSH 后台状态转成 Windows 系统通知

前言

DeepSeek Harness(DSH)经常在后台跑长任务:整理文件、跑测试、查资料。任务结束或停在工具审批、提问上时,只有切回窗口才能看到状态,容易空等或忘掉。窗口标题和会话列表能看状态,但不能在你做别的事时主动提醒你。

下面介绍社区插件 dsh-notify(维护者 Teyvat0,分类:客户端)。它在 DSH 桌面端(Electron)里订阅会话运行与交互状态,在适当时机弹出 Windows Toast,并可在「设置 → 通知」里配置声音与是否前台也提醒。插件以 MIT 许可证发布,当前 npm 版本为 1.3.5(以 package.json 为准)。

这是什么

dsh-notify 是仅含客户端半部的 DSH 插件:Host 半部 index.js 为空,逻辑在 client.js 中通过 window.__ModuleLoader__.load() 注册。它不依赖 PowerShell、BurntToast 或额外系统组件,通知走渲染进程的标准 Web Notification,由 Electron 转成 Windows Toast。

适用环境:Windows 10 / 11(README 标明已实测);运行环境为 DSH 桌面端;不需要联网。macOS / Linux 上的 Electron 理论上也可能弹出,但 README 注明未验证,焦点判定可能不同。

核心功能

插件把三类需要你留意的状态转成系统通知:

时机 触发条件 通知内容(概要)
运行结束 主会话从「运行中」变为「空闲」,且没有待处理交互 标题「DSH 运行结束」,正文「本轮任务已完成,点击查看结果。」
需要批准 出现工具审批请求 标题「DSH 需要你的批准」,正文为工具名与请求原因(超过 120 字截断)
需要回答 出现提问或计划评审 标题「DSH 需要你的回答」或「DSH 计划待确认」,正文为对应等待提示

行为要点(均来自 README):

  • 默认只在 DSH 不在前台时弹出;正看着 DSH 时不打扰,可在设置里改为「总是弹窗提醒」。
  • 结束提醒延迟约 1.2 秒,给「刚跑完就停下来问你」的场景留合并窗口,减少连弹两条。
  • 六种提示音:系统默认、清脆、低沉、双响、自定义音频、静音;音量 0–100% 可调(默认 80%)。
  • 点击通知可把 DSH 切回前台;对应状态解除后,通知自动收起。
  • 子代理会话结束不单独提醒,避免并发子代理刷屏。
  • 内置诊断面板与 45 项回归测试(test/verify.mjs),便于排查「为什么没弹」。

安装与启用

需要已安装 DSH 桌面端(Electron)。README 强调:npm 包只是分发渠道,仅把它加进 profile 依赖不会自动加载,还需在插件管理里安装一次,以登记到 profile 的 bundle 列表。

方式一:插件管理界面

  1. 打开左侧栏的插件管理,点「+」安装第三方插件。
  2. 选择本地目录,或直接填入包名 @teyvat0/dsh-notify。
  3. 确认插件显示为已启用,按 Ctrl + R 刷新窗口或重启 DSH。

方式二:让 Agent 代装

plugin_manager action=install_bundle target="@teyvat0/dsh-notify"

方式三:从源码安装

git clone https://github.com/Teyvat0/dsh-notify.git

再将克隆目录按「本地目录」方式装进插件管理。

安装后,「设置」左侧菜单会多出一项「通知」(铃铛图标)。

典型用法与设置

所有开关集中在「设置 → 通知」一页:

设置项 作用
提醒声音 系统默认 / 清脆 / 低沉 / 双响 / 自定义文件 / 静音
提醒音量 0–100%,默认 80%;只作用于插件自己播放的声音
总是弹窗提醒 开启后 DSH 在前台也弹;关闭则只在切到其他窗口时提醒
发送测试 立刻弹一条,正文带版本号、时间、焦点状态和提示音名称
诊断信息 最近 16 条判定记录,排查「为什么没弹」时先看它

使用上的几条说明:

  • 首次加载会弹一条「DSH 通知已开启」,用于确认系统通知链路畅通,每个页面会话一次。
  • 除「系统默认」外,通知以静音方式发出、由插件自己出声,避免与 Windows 自带提示音叠成两声。
  • 自定义音频通过文件选择器读入,保存在本机渲染进程存储里,不上传、不写插件目录。
  • 「总是弹窗提醒」会持久保存,重启 DSH 后仍然生效。

收不到通知时,README 建议顺序:先点「发送测试」→ 看「诊断信息」→ 检查 Windows「系统 → 通知」里 DSH 是否允许通知、专注助手是否拦截 → 若仅前台不弹则打开「总是弹窗提醒」。

适用场景与注意

适合谁: 在 Windows 上长期使用 DSH 桌面端、习惯把 DSH 放后台跑 Agent,又希望跑完、审批、提问能以系统 Toast 触达自己的开发者。

安全与权限: 插件在 DSH 进程(Electron 渲染进程)内运行,能访问会话状态与通知 API;安装前建议查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。

生态说明: DSH 奉行「一切皆插件」;社区目录站点 skillhub.cn 上的 dsh-notify 页 与 GitHub 为社区维护入口,与 DeepSeek / 幻方无官方从属关系,不宜当作官方应用商店。

结尾

dsh-notify 把「运行结束」「需要批准」「需要回答」三类状态接到 Windows 通知上,并辅以前台判定、延迟合并、诊断与测试,减少后台跑 DSH 时的空等。若你需要同类能力,可从目录页或 GitHub 安装 @teyvat0/dsh-notify,在「设置 → 通知」里用「发送测试」验证通道是否正常。

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

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

Xiaoye