前言¶
使用 DeepSeek Harness(DSH)跑任务时,任务完成、等待审批、Agent 等待回答,这些状态如果只出现在 DSH 界面或日志里,离开屏幕就不容易及时发现。dsh-notify-windows 是一个 DSH 插件,作用是在这些关键节点向 Windows 桌面发送系统通知,让你不需要一直盯着 DSH 界面。
这是什么¶
dsh-notify-windows 是 SeverusZh 维护的 DeepSeek Harness(DSH)插件,用于在任务完成、等待审批、等待回答时发送 Windows 系统桌面通知。
资料中标注平台为 Windows 10/11。运行环境要求 node >=20,peer dependency 为 @deepseek-ai/cordis: ^4.0.1。许可证为 MIT © 2026 SeverusZh。
核心功能¶
任务完成、出错、输出超限提醒¶
插件监听会话 turn/end 事件。当任务完成、出错或输出达到 token 上限时,会发送 Windows 桌面通知。通知标题会自动使用会话标题,正文中会显示原因与轮次。
权限审批提醒¶
插件监听 approval/asked 事件。当有操作等待审批时,会发送提醒。
审批策略为 never 时,审批会被自动拒绝、不会等待,插件会跳过提醒;策略为 ask 时才会提醒。
Agent 提问提醒¶
当 Agent 调用 ask_user_question 等待回答时,插件会发送提醒。
插件会扫描 run_code 程序源码中的 tools.ask_user_question( 调用,并从中提取问题文本用于通知。
防打扰¶
插件默认忽略子代理(subagent)会话,只提醒主会话。
如果确实需要提醒子代理会话,可以将 includeSubagents 设为 true。
通知发送与诊断¶
通知通过 Windows PowerShell 5.1 的 WinRT Toast API 发送,并自动注册 HKCU 的 AppUserModelId,无需管理员权限。
插件支持可选日志,日志路径为 %TEMP%\dsh-notify\notify.log,也支持 debug 事件日志。
点击通知跳转¶
任务完成、等待审批、等待回答的通知可以打开 DSH Web GUI。打开时优先聚焦已打开的 DSH 浏览器标签或 Chrome Application 窗口。
目标 URL 会带 ?session=<id> 参数。在 DSH 0.1.0-rc.8 前端中,该参数暂不消费;点击后打开的是 DSH 界面并聚焦已有窗口。
首次点击时会自动注册 dshnotify:// 协议处理器,注册在 HKCU,无需管理员权限。如果跳转失败,会静默降级为默认浏览器打开。
WSL 支持¶
在 WSL 环境下,插件会调用 wslpath -w 将脚本路径转换为 \\wsl.localhost\... UNC 路径,并优先通过固定路径调用 PowerShell。
安装与启用¶
1、安装插件:
dsh plugin --profile web add dsh-notify-windows
2、重启 DSH 并刷新浏览器后生效:
dsh --profile web
注意:不要再用 - insert: 手动添加 dsh-notify,否则可能报 duplicate loader entry id: dsh-notify。
3、更新或卸载插件:
dsh plugin --profile web update dsh-notify-windows
dsh plugin --profile web remove dsh-notify-windows
更新插件代码后,需要执行更新命令并重启 DSH 宿主。
调整配置¶
插件配置可以在 $DSH_HOME/profiles/web/cordis.patch.yml 里按 id 覆盖主条目。该文件会被运行中的 DSH 热监视,改动立即生效,无需重启。
例如:
- id: dsh-notify
name: dsh-notify-windows
config:
includeSubagents: true
验证与排查¶
可以在插件目录中执行 smoke test:
node scripts\smoke-test.mjs
如果收不到通知,先检查 Windows 通知设置、专注助手,以及 %TEMP%\dsh-notify\notify.log 中的 error 条目。
适用场景与注意¶
这个插件适合在 Windows 10/11 上使用 DSH,并且希望任务完成、等待审批、Agent 等待回答时有桌面提醒的场景。
使用前注意:
- 插件会以当前
dsh进程权限运行,安装前应检查源码与许可证。 - DSH 0.1.0-rc.8 前端暂不支持按 URL 直达单个会话;点击通知后打开的是 DSH 界面并聚焦已有窗口。
- 审批策略为
never时,审批会被自动拒绝、不会等待,插件会跳过提醒。 - 默认忽略子代理会话;如需提醒子代理,需要将
includeSubagents设为true。
结尾¶
dsh-notify-windows 把 DSH 中需要人工关注的状态接到 Windows 桌面通知里,减少“任务已经结束或正在等待输入,但人不在 DSH 界面前”的情况。
GitHub 仓库:https://github.com/SeverusZh/dsh-notify-windows
项目资料中列出的目录页:https://www.skillhub.cn/plugins/SeverusZh/dsh-notify-windows。该社区目录是独立站点,不是官方应用商店。