dsh-win-approval-notify:DSH 桌面版 Windows 原生 Toast 通知

前言

在 DeepSeek Harness(DSH)里跑 agent 时,窗口不一定在前台:审批权限、回答追问、审阅计划或一轮任务结束,如果只靠界面内提示,很容易错过。邮件或第三方推送又要额外配置。下面介绍社区插件 dsh-win-approval-notify(GitHub 仓库 pengpenglele/dsh-approval-notify):在 Windows 10/11 上走系统通知中心,在需要你授权、等你回答/审阅、或任务阶段结束时弹出 Toast,原因文案可配置是否带全文;开关集中在 DSH 插件 页,保存即生效。

这是什么

dsh-win-approval-notify 是 DSH 桌面版(profile desktop)的客户端插件,维护者为 pengpenglele,npm 包名 dsh-win-approval-notify,许可证 MIT。插件只读监听会话事件,通过 Windows PowerShell 5.1 的 WinRT Toast 投递通知,来源显示 DeepSeek Harness(默认 AUMID com.deepseek.dsh)。它不注册 approval/request / user-questions/request 等 waterfall,不参与审批或作答本身。

SkillHub 目录页:pengpenglele/dsh-approval-notify,分类为客户端。

核心功能

通知可在以下场景分别开关(共 8 类独立开关,含审批、提问、计划审阅、任务完成/出错/被拦截/被中断/达到上限等):

  1. 审批:还可按工具名白名单过滤,减少无关提醒。
  2. 提问与计划审阅:等你输入或确认时提醒。
  3. 一轮任务结束:完成、出错、被拦截、被中断、达到上限等状态可单独控制。

其它行为要点:

  • 通知里的「会话」显示会话标题;无标题时用工作区目录名,不展示 session id。
  • 后台任务(子代理,例如 dsh-mnemon 的记忆整理)默认不提醒,可在设置页打开。
  • 触发与节奏:同会话冷却、延迟合并、并发通知上限等可在图形界面调整。
  • 外观:停留时长、静音、标题前缀、AUMID、是否带完整原因/题目文本。
  • Toast 失败时插件会尝试原生置顶卡片兜底;诊断页支持按场景发测试通知并查看最近结果与日志路径。

环境要求

安装前请确认:

  • Windows 10/11,且存在 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe(WinRT Toast 投影仅在 PowerShell 5.1 可用)。
  • DSH 桌面版,profile desktop,运行时 0.2.x(README 注明在 0.2.1-rc.3 上开发;package.json 中 dsh.engines.dsh 为 >=0.2.1-rc.2)。
  • Windows 设置 → 系统 → 通知 中允许 “DeepSeek Harness”,并关闭专注助手/勿扰(Win11 建议取消「全屏时自动开启请勿打扰」)。

插件以当前 DSH 进程权限运行;安装前可在 GitHub 查看源码与 MIT 许可证。插件声明不发起网络请求、不读凭据。

安装与启用

方式一:在 DSH 里直接添加(推荐)

  1. 打开 DeepSeek Harness,点侧栏 插件。
  2. 点 添加插件。
  3. 输入包名 dsh-win-approval-notify(固定版本可写 dsh-win-approval-notify@0.1.1),点 安装。
  4. 装完后完全退出并重启 DeepSeek Harness。

若默认安装源(国内镜像)搜不到包,可将安装源切到 npm 官方源 再装一次。

方式二:命令行安装

在普通 PowerShell(非 DSH 沙箱终端)中执行,将 <DSH 安装目录> 换成本机路径:

& "<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-win-approval-notify
& "<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add "link:E:/codeDir/ds_tools/dsh-approval-notify"

本地 link 时需先在插件目录执行 pnpm install 安装依赖;从 npm 安装时会自动带上。无论哪种方式,安装后都应完全退出并重启 DSH。

验证:侧栏 插件 → 已安装 → dsh-win-approval-notify → 行 approval-notify,行详情里应出现 配置 按钮。

配置

路径:插件 → dsh-win-approval-notify → 行 approval-notify → 配置。页面分四组:通知哪些情况、触发与节奏、通知外观、诊断。只有点击 保存 才写入当前 profile 的 Cordis patch,并通过 volatile 配置引用立即生效,无需重启。恢复默认 只重置草稿,仍需保存。

未打开过设置页时,默认值写在包内 cordis.patch.yml 中,插件仍可工作。

典型用法与自测

  1. 设置页 → 诊断 → 选择场景 → 发送测试通知:应弹出对应样式通知,页面显示成功或失败原因。
  2. 真实场景:让 agent 执行需升级权限的操作(例如写工作区外文件)→ 审批面板出现后约 0.5 秒应收到通知。
  3. 不经过 DSH,在普通 PowerShell 中验证 Toast 通道(沙箱终端为 Low integrity,WinRT Toast 会被拒绝,错误码 0x80073D54):
$ps = "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
$task = Join-Path $env:TEMP "dsh-toast-test.json"
'{"title":"测试","body":"通道正常","appId":"com.deepseek.dsh","duration":"long","silent":false}' | Set-Content $task -Encoding UTF8
& $ps -NoProfile -ExecutionPolicy Bypass `
  -File "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-win-approval-notify\lib\toast.ps1" `
  -TaskFile $task

适用场景与注意

适合:在 Windows 上使用 DSH 桌面版、希望离开窗口时仍能收到审批/追问/任务状态提醒的开发者。

注意:

  • 仅支持 win32(package.json 的 os 字段),非 Windows 环境无法使用。
  • 安装后首次必须重启 DSH;完全没通知时检查各场景开关、Windows 通知总开关与专注助手。
  • 通知进中心但不弹横幅:可在 Windows 通知设置里对「DeepSeek Harness」关闭再打开「显示通知横幅」。
  • 日志:%TEMP%\dsh-win-approval-notify\notify.log;Toast 失败见 toast-error.log;排查横幅见 diag.log。日志不记录原因/题目全文。
  • 旧版 DSH 若无 plugins.row.config slot,配置页可能不出现,可改 cordis.patch.yml(功能不受影响)。

卸载示例(路径按本机 DSH 安装目录修改):

& "<DSH 安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop remove dsh-win-approval-notify

然后重启应用。

结尾

DSH 生态强调「一切皆插件」;SkillHub 等社区目录独立于 DeepSeek / 幻方,并非官方应用商店。dsh-win-approval-notify 把「等人介入」和「一轮结束」收敛到 Windows 原生通知,配置留在 DSH 插件页,适合桌面版长时间跑任务时使用。

  • 目录页:https://www.skillhub.cn/plugins/pengpenglele/dsh-approval-notify
  • GitHub:https://github.com/pengpenglele/dsh-approval-notify
羽毛球分组比赛记分
小程序二维码

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

小夜