前言¶
DeepSeek Harness(DSH)桌面版的审批卡片只出现在窗口内。你切去浏览器、全屏看视频,或把窗口最小化后,待审批的请求无人看见,任务会一直挂着;一轮跑完也不一定能及时察觉。
dsh-desktop-notifier 是社区维护的客户端插件(qmzh-zyz),把两类提醒挪到 Windows 系统层:审批请求在桌面右下角弹通知,任务完成时在任务栏图标上叠红色数字角标并响提示音。DSH 在前台时可按配置少打扰;切走后再提醒。
这是什么¶
插件全名 dsh-desktop-notifier,归类为客户端工具,当前 package 版本为 0.2.0,MIT 许可。宿主侧只用 Node 内置模块,通知与角标通过系统自带的 PowerShell 5.1 调用,不额外安装运行时。
适用环境:Windows 10 1809+ 或 Windows 11;DeepSeek Harness 桌面版 0.2.1 及以上。非 Windows 平台会静默禁用。
目录页:https://www.skillhub.cn/plugins/qmzh-zyz/dsh-desktop-notifier
源码:https://github.com/qmzh-zyz/dsh-desktop-notifier
核心功能¶
下面按事件说明插件已核实的能力。
审批请求:右下角通知¶
监听 approval/request(waterfall,prepend + global)。同一 callId 5 秒内去重;默认在 DSH 不在前台时,于桌面右下角弹出通知,标题、工具名、申请原因一并展示。通知走 WinRT toast,可按 scenario 尝试穿透「请勿打扰」与全屏;拿不到包标识时自动降级为托盘气泡。监听器只透传审批语义,不代为回答。
任务完成:任务栏角标与提示音¶
在 session/event 的 turn/end(reason.kind === 'completed')路径上计数。子代理回合不计入;短于 completion.minTurnMs 的回合可过滤。完成时可在任务栏 DSH 按钮上显示红色数字角标(经 ITaskbarList3::SetOverlayIcon,非 Electron 自绘),并播放提示音;可选再弹一条完成 toast。切回 DSH 后角标可在约 2 秒内清掉。
其它行为¶
- 点击通知可将 DSH 拉到前台(
dshnotifier:协议,用户注册表,无需管理员)。 - 审批与完成的声音由插件合成,不依赖系统通知音。
- 可选
debugLog路径,便于排查「没弹」类问题。
安装与启用¶
方式一:由 DSH 安装(推荐)¶
在 DSH「插件」页选「从 Git 安装」并填仓库地址,或调用内置 plugin_manager:
install_bundle target = github:qmzh-zyz/dsh-desktop-notifier
桌面端 profile 由客户端管理;命令行 dsh plugin --profile desktop add ... 可能被拒绝,走插件页或 plugin_manager 更稳。
方式二:本地源码(开发 / 调试)¶
- 将仓库复制到固定目录,例如
%USERPROFILE%\.dsh\plugins\dsh-desktop-notifier。 - 在
%USERPROFILE%\.dsh\profiles\desktop执行:
pnpm add link:$env:USERPROFILE\.dsh\plugins\dsh-desktop-notifier
- 把
"dsh-desktop-notifier"追加到该 profilepackage.json的dsh.profile.bundles数组末尾。 - 重开 DeepSeek Harness。
第 3 步不能省:pnpm add 只装进 node_modules,未写入 bundles 的包不会被加载。
装完后可用仓库内 demo 自检(不必先重启客户端):
node tools/demo.mjs focus
node tools/demo.mjs toast approval
node tools/demo.mjs badge 3
node tools/demo.mjs chime
配置¶
在 profile 的 cordis.patch.yml 中按 id desktop-notifier 覆盖,例如:
- id: desktop-notifier
config:
badgeColor: '#f5455c'
approval:
repeat: 2
scenario: urgent
completion:
minTurnMs: 5000
常用项包括:enabled 总开关;windowMatch 匹配任务栏按钮的进程名(默认 DeepSeek Harness);badgeColor 角标颜色;approval.skipWhenFocused 前台时不弹审批;approval.repeat / repeatIntervalSec 未处理时的追加提醒;completion.minTurnMs 短回合不计数;appPath 在 DSH 已退出时用于点通知重新拉起。完整键与默认值见仓库 README 配置表。
典型用法¶
按 README 描述的验收路径操作即可复现:
- 最小化 DSH,触发需要审批的操作 → 右下角出现「DSH 需要你审批」类通知。
- 在 DSH 或通知流程中完成「允许一次」→ 任务继续。
- 任务仍在后台跑完、你停留在其它窗口 → 任务栏 DSH 图标出现红色角标并响提示音。
- 切回 DSH → 角标消失,计数清零。
需要强提醒审批时,可将 approval.scenario 设为 urgent;希望过滤随手改句造成的短回合完成提醒时,调高 completion.minTurnMs。
适用场景与注意¶
适合谁: 经常在 DSH 跑长任务、又会切换窗口的 Windows 用户;希望审批与完成态不依赖「一直盯着 DSH 窗口」。
平台与限制: 仅 Windows 具备任务栏角标与完整通知通道。托盘气泡降级不能穿透独占全屏,也不支持点击跳回;多实例 DSH 时助手默认按进程名匹配第一个窗口,可用 windowMatch 调整。通知文案目前以中文为主,approval.title 可改。
安全与权限: 插件在 DSH 进程权限下运行,会写用户级协议注册表并调用 PowerShell。安装前建议阅读源码与 MIT 许可证,确认符合你的环境策略。DSH 插件生态以「一切皆插件」为理念;SkillHub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系。
卸载:从 dsh.profile.bundles 删除 dsh-desktop-notifier,pnpm remove dsh-desktop-notifier,重开客户端。
结尾¶
dsh-desktop-notifier 针对「窗口外看不见审批、不知道任务已跑完」做了系统层补强:审批 toast、完成角标与提示音,且不改动审批本身的处理逻辑。若你只想要通知或只要角标,README 中也列出了同类插件供组合或替换。