dsh-turn-notify: Windows System Notification at the End of the Current DSH Session Turn

前言

在 DSH 里跑长任务时,窗口最小化或切到别的应用后,很难知道某次对话的「一轮运行」什么时候结束。DSH 本身若没有后台消息通道,只能反复切回客户端看状态。dsh-turn-notify 是社区维护的客户端插件,在 Windows 上于会话本轮运行结束时弹出系统通知,并可点击通知尝试把 DSH 窗口拉回前台。

这是什么

@99galaxy/dsh-turn-notify(GitHub:99galaxy/dsh-turn-notify)由维护者 99galaxy 发布,分类为客户端插件。定位是:Windows 系统通知,在 DSH 会话本轮运行完成时提醒你(README 英文简介:Windows system notifications for DSH turn completion)。

插件以 DSH 桌面客户端提供的 dsh 命令安装,通过包内 dsh.bundle(cordis.patch.yml)自动注册,无需手动追加 insert。当前 npm 包版本为 1.0.4(MIT 许可证)。

核心功能

下面介绍 README 中已说明的行为,均需在 Windows、DSH 客户端保持运行且 系统允许 DSH 发通知 的前提下才生效;DSH 完全退出后无法提醒。

  1. 回合结束通知:会话本轮运行结束后发送系统通知,标题和正文都会标明完成的是哪个对话。正文默认以「本轮已完成」为前缀,下一行显示「对话:\<会话名称>」;若观察到开始时间,会同时显示耗时。
  2. 点击行为:点击通知会尝试将 DSH 窗口切回前台;Windows 的前台锁定策略可能阻止强制置顶。
  3. 打扰策略:默认前台、后台均提醒;可将 notifyWhenFocused 设为 false,在窗口在前台且正在查看该会话时不提醒。
  4. 子代理:默认 skipSubagents: true,跳过子代理会话,避免重复打扰。
  5. 检测方式:结合状态订阅、完成标记和两秒轮询检测回合结束,并对同一完成周期去重。

说明:「本轮已完成」表示运行已结束,不区分成功、失败或取消。仅靠轮询且没有完成标记时,两次采样之间结束的短回合仍可能漏报。

可选隐私:maskTitle: true 时,标题和正文中的会话名称都显示为「会话已完成」。

安装与启用

需要 Windows、DSH 桌面客户端,以及客户端提供的 dsh 命令。

先做 npm 包安装(桌面 profile 使用 desktop):

dsh plugin --profile desktop add @99galaxy/dsh-turn-notify

也可直接从 GitHub 安装:

dsh plugin --profile desktop add github:99galaxy/dsh-turn-notify

再做客户端侧确认:重启 DSH,并确保 Windows 允许 DSH 发送系统通知。安装器通过包内的 dsh.bundle 自动注册插件,无需手动追加 insert。

如需修改默认设置,在该 profile 的 cordis.patch.yml 顶层数组末尾添加配置覆盖:

- id: dsh-turn-notify
  config:
    enabled: true
    notifyWhenFocused: true
    skipSubagents: true
    maskTitle: false
    message: 本轮已完成

配置项说明(默认值以 README 为准):

配置项 默认值 作用
enabled true 是否启用通知
notifyWhenFocused true 设为 false 时,窗口在前台且正在查看该会话则不提醒
skipSubagents true 是否跳过子代理会话
maskTitle false 设为 true 时,标题和正文中的会话名称都显示为「会话已完成」
message 本轮已完成 通知正文前缀

配置需要 profile 提供 webServer 服务。修改配置后重启 DSH,使客户端重新读取。

典型用法

经过上面的步骤安装并重启后,无需额外命令:在 DSH 中正常发起对话并等待一轮运行结束,即可在 Windows 通知中心看到提醒。

若希望「正在看这条会话时不弹窗」,在 cordis.patch.yml 中将 notifyWhenFocused 设为 false 并重启 DSH。

若不希望通知里出现真实会话名,将 maskTitle 设为 true,并视需要调整 message 文案。

从源码本地打包安装时(需 Node.js ≥ 22.19、Git;本地装到 DSH 时还需 pnpm),在项目目录执行 npm pack 得到 99galaxy-dsh-turn-notify-<version>.tgz,再执行:

dsh plugin --profile desktop add <插件压缩包的路径>

每次修改源码后,需重新打包、安装,再重启客户端。

适用场景与注意

适合在 Windows 上使用 DSH 桌面版、且经常后台或最小化跑任务的开发者。不适合非 Windows 环境(插件面向 Windows 系统通知)。

安装前建议浏览 GitHub 仓库 源码与 MIT 许可证;插件随 DSH 客户端进程运行,权限与客户端一致。

DeepSeek Harness 生态强调「一切皆插件」;社区插件目录托管在独立站点,与 DeepSeek / 幻方无官方从属关系。目录页:https://www.skillhub.cn/plugins/99galaxy/dsh-turn-notify。问题反馈可走 GitHub Issues。

结尾

dsh-turn-notify 用 Windows 系统通知补齐「本轮跑完」这一环的可见性,并支持前台免打扰、子代理过滤和点击回窗。仓库:https://github.com/99galaxy/dsh-turn-notify。

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

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

Xiaoye