dsh-windows-notify:在 Windows 上把 DSH 的待确认、已回答与任务结束推到系统通知

前言

用 DSH 跑智能体时,授权确认、ask_user_question 提问和一轮任务结束往往发生在后台:窗口被别的应用盖住,就容易错过。邮件、聊天软件有系统通知,DSH 会话本身通常没有同等级的桌面提醒。下面介绍社区插件 dsh-windows-notify(维护者 3493750852),在 Windows 上把三类关键节点打成系统托盘通知,并支持点击回到 DSH 窗口。

这是什么

dsh-windows-notify 是 DSH 的 Host-only 插件:只装在宿主端,没有前端界面,不联网,不带额外依赖。它监听 DSH 的 waterfall 事件,在需要你操作或一轮任务结束时调用 Windows 通知;不改变授权或问答的决策逻辑。

分类上属于 客户端 插件。当前 GitHub 星标为 0;npm 包版本为 1.0.2,许可证 MIT(见仓库 package.json)。

核心功能

通知在什么时候弹出

你看到的通知 触发时机 事件来源
需要你确认 有工具在申请授权,真的开始等你点 approval/request
需要你回答 模型问了 ask_user_question,等你选 user-questions/request
你已回答 你点了允许/拒绝,或选完了选项 上面两个请求返回时
任务完成 / 任务出错 本轮结束,且这一轮超过 taskEndMinSeconds session/event 的 turn/end + agent/error

为避免打扰,README 里还写了若干规则,例如:请求在 interactionDelayMs(默认 1.2 秒)内被宿主自动处理则不提醒;一轮短于 taskEndMinSeconds(默认 8 秒)不提示任务结束;子智能体回合默认不提示;有请求挂着时不当作任务结束。

通知外观与点击行为

在 Windows 10/11 上为标准系统通知,带 DSH 应用图标(从正在运行的 DeepSeek Harness.exe 取,与任务栏一致)、标题、正文和可选系统提示音。示例文案包括「需要你确认 / Bash:执行命令 npm install」「任务完成 / … · 用时 2 分 13 秒」等。

点击通知会把 DSH 窗口叫到前台(最小化也会还原);实现上通过桌面壳的单实例锁再走应用自己的聚焦入口。通知在屏幕上及进入通知中心后约 8 秒内可点(与 dwellSeconds 相关);之后负责接点击的进程已退出。若只用浏览器 Web GUI 而无桌面应用,会退化为用浏览器打开 GUI 地址。可通过 clickAction 改为 url 或 none。

图标与点击目标从运行中的进程解析,不写死安装路径。DSH Web UI 没有会话级 URL,点击无法直达某个后台会话,任务结束类通知可带会话标题便于对照。

安装与启用

从 npm(推荐)

在 DSH 会话里让 agent 使用 plugin_manager 的 install_bundle,安装包名 dsh-windows-notify,会从 npm 装进当前 profile 并写好配置行。也可自行安装后再用 install_bundle 指向包名启用:

npm install dsh-windows-notify

从源码

  1. 将仓库放到本机任意目录(README 示例为 git clone 该 GitHub 地址)。
  2. 让 agent 用 install_bundle 安装该目录的绝对路径。
  3. 验证:随便发一条消息,本轮结束时应收到「任务完成」通知;点击应回到 DSH 窗口。

插件以当前 DSH 进程权限运行;安装前建议自行查看仓库源码与 MIT 许可证。

配置

开关在 cordis.patch.yml 里对应插件行的 config 下(也可在 DSH 配置里改同样键),改完重启 DSH 生效。常用项如下(完整表见 README):

键 默认 说明
enabled true 总开关
confirm true 需要你确认 / 回答时提示
answered true 你回答之后提示
taskEnd true 任务结束时提示
taskError true 报错结束时提示
sound true 播放系统提示音
language zh 文案语言,zh 或 en
taskEndMinSeconds 8 短于该秒数不提示结束
interactionDelayMs 1200 挂起超过该毫秒才算「真的在等你」
hideWhenSubagent true 子智能体结束不提示
clickAction focus focus / url / none
selfTest false 改为 true 重载插件可立刻弹自检通知
debug false 判定过程写入 %TEMP%\dsh-windows-notify.log

典型用法与自检

安装后无需单独「调用接口」:正常跑 DSH 会话,在需要确认、需要选题回答、你完成回答、或长任务结束/出错时,系统会按配置弹通知。

收不到通知时,README 建议先把 selfTest 设为 true 重载插件;若仍异常,可开 debug 查看日志里 PowerShell shim 是否正常跑满数秒。也可在插件目录用手动 PowerShell 调用 notify.ps1 测一条测试通知(载荷为 base64 编码的 UTF-8 JSON),退出码 0 表示流程正常。

适用场景与注意

  • 适合:在 Windows 上长期使用 DSH 桌面应用或 Web GUI,希望切到别的窗口时仍能收到待办提醒,并一键回到 DSH。
  • 不适合:非 Windows 环境(插件仅支持 Windows);期望通过通知 deep link 到具体会话(当前不支持会话级 URL)。
  • 权限与安全:插件不联网,但会启动独立的 PowerShell 进程显示通知;安装前请阅读 GitHub 仓库 源码。DSH 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-windows-notify 把 DSH 里「等你确认」「等你回答」「你已回答」和「任务结束/出错」映射到 Windows 系统通知,并尽量用去重、最短时长和子智能体过滤减少打扰。目录页:skillhub.cn/plugins/3493750852/dsh-windows-notify;源码与完整配置说明:github.com/3493750852/dsh-windows-notify。

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

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

Xiaoye