前言¶
DeepSeek Harness(DSH)在终端里跑 Agent 时,每轮完成、出错、请求审批或提问都需要你抬头看一眼。如果正在处理别的任务或离开屏幕,很容易漏掉关键动作,导致 Agent 被阻塞或回滚。
本地通知插件能把 DSH 的这些状态直接推到 Windows 通知中心。你不必一直盯着终端,也不必频繁切回 DSH;对于审批和提问,可以在通知里直接点按钮完成操作。
这是什么¶
这是 DeepSeek Harness 的 Windows 原生通知插件,由 zhangyuzhangyu233 维护。它使用 Windows PowerShell 5.1 的 WinRT API,以 DSH 桌面端的 AppUserModelID(AUMID com.deepseek.dsh)发送原生 Toast,通知中心里的分组和图标都来自 DSH 本身,而不是 PowerShell。
插件零依赖、不联网、不需要管理员权限,支持旧版 Web 运行时(dsh 0.1.x)与桌面端 0.2.x。
核心功能¶
插件在以下事件触发通知:
- 一轮回答完成:显示会话标题、智能摘要(用时、步数、工具调用)、清洗后的回复预览,提供
打开 DSH/知道了按钮; - 一轮任务出错:显示会话标题、错误码与摘要,提供
打开 DSH/知道了按钮; - 请求审批(Agent 不在前台时):显示工具名与审批原因,提供
允许一次/拒绝/打开 DSH按钮; - Agent 提问(Agent 不在前台时):显示问题与选项概览(或文本输入框),提供选项按钮 /
发送/打开 DSH按钮; - 演示通知:在设置页选择演示类型(完成 / 审批 / 提问·选项 / 提问·文本),点击按钮查看对应通知样式。
通知行为补充:
- 子代理(subagent)会话不触发通知,避免刷屏,同一轮只通知一次;
- 同一会话的完成/错误通知默认合并替换(通知中心只保留最新一条);
- 审批/提问只在 DSH 不在前台时接管;你在应用内时仍由应用内 UI 处理;
- 审批 30 秒、提问 60 秒无回应时自动交回应用内,不会把 Agent 卡死;
- DSH 在前台时默认不弹自动通知;
- 系统开启“勿扰”时通知仍会进入通知中心,审批、提问与错误通知使用 High 优先级,可在系统设置中允许发送优先通知。
通知里的操作通过协议激活实现:
- 宿主插件在
HKCU\Software\Classes\dsh-notify注册dsh-notify://协议,指向插件目录里的notify-handler.ps1; - Toast 按钮/正文携带
dsh-notify://…URI; - 点击通知时 Windows 启动
notify-handler.ps1,读取%LOCALAPPDATA%\dsh-windows-notification\bridge.json中的本机回环端口与一次性 token,把open/approve/deny/answer/demo动作 POST 给宿主插件的本机回环桥,必要时把 DSH 窗口还原并切到前台; - 回环桥只监听
127.0.0.1,只接受带 token 的POST /action,只接受与待决请求匹配的一次性 id,token 每次启动重新生成,不写日志; - 审批/提问等待期间使用一次性 id,超时/取消/异常一律回退到应用内 UI,绝不阻塞 Agent。
设置页(桌面端:设置 → 内置插件 → Windows 通知;旧版 Web 运行时:设置 → 插件 → 插件配置)提供 18 个默认配置项,包括总开关、各类事件开关、前台跳过、摘要与优先级、超时时间、演示选项与测试通道。
安装与启用¶
从本地目录安装(推荐)¶
- 克隆或下载本仓库到任意目录,例如:
git clone https://github.com/zhangyuzhangyu233/dsh-windows-notification C:/plugins/dsh-windows-notification
- 在 DSH 的插件管理里「从本地目录安装」本目录,条目名为 Windows 系统通知 / Windows Notification;
- 在 profile 的
package.json里加入依赖并以link:方式链接:
{ "dependencies": { "dsh-windows-notification": "link:C:/plugins/dsh-windows-notification" } }
- 如果 profile 没有自动加载它,把包名加进
dsh.profile.bundles,或在本 profile 的cordis.patch.yml里插入一行(二选一,同一个 id 只能出现一次):
- insert:
- id: dsh-windows-notification
name: dsh-windows-notification
- 重启一次 DeepSeek Harness,刷新页面后在 设置 → 内置插件 → Windows 通知 看到配置页(旧版 OSS
dsh web运行时则是 设置 → 插件 → 插件配置 里的卡片)。
从 npm 安装¶
插件已发布到 npm:dsh-windows-notification
npm install dsh-windows-notification
# 或作为 DSH profile 依赖:
# "dependencies": { "dsh-windows-notification": "^1.3.0" }
也可以在 DSH 的插件管理里直接从 npm 安装 dsh-windows-notification,然后重启一次 DeepSeek Harness。
典型用法¶
启用插件后,DSH 会自动在发生以下事件时发送通知:
- 回答完成:通知显示会话标题、用时、步数、工具调用摘要和清洗后的回复预览,你可以点击
打开 DSH查看详情或点击知道了忽略; - 出错:通知显示会话标题、错误码与摘要,同样提供
打开 DSH/知道了按钮; - 审批:Agent 在 workspace 外执行敏感操作时,如果 DSH 不在前台,会弹出带
允许一次/拒绝/打开 DSH的通知;点击允许一次会通过协议激活调用回环桥完成审批,Agent 继续执行; - 提问:Agent 在你离开时向你提问,通知显示问题与选项概览(或文本输入框),点击选项按钮即可选择回答,Agent 会收到回执并继续执行。
在设置页,你可以:
- 调整各类事件的通知开关;
- 设置是否在通知中显示摘要、是否启用智能摘要、是否合并同一会话的通知;
- 配置审批和提问的超时时间(默认 30 秒与 60 秒);
- 选择演示类型并点击“发送演示通知”查看对应通知样式;
- 点击“发送测试通知”验证通知通道是否正常。
适用场景与注意¶
适合需要长时间运行 Agent 的场景,例如后台批处理、自动测试、定时任务,以及需要审批或回答但难以频繁切回终端的场景。
注意:插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证(MIT)。插件依赖 Windows PowerShell 5.1 的 WinRT API,需要 Windows 10/11。
结尾¶
本插件把 DSH 的状态推到 Windows 通知中心,让你在离开终端时仍能通过原生 Toast 完成审批与回答,减少切屏频率。安装后即可在设置页配置行为与演示,无需额外依赖。
插件目录页:https://www.skillhub.cn/plugins/zhangyuzhangyu233/dsh-windows-notification
GitHub:https://github.com/zhangyuzhangyu233/dsh-windows-notification