Repository navigation
dsh-notify — 任务完成/待回复通知:页面开着弹网页通知,浏览器关掉由 Host 弹原生通知 #7190
TaoYe599
started this conversation in
Show Your Plugins!
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
一句话:DSH 跑任务时你可以去干别的 —— 任务结束、或它在等你回答时,通知会找到你,哪怕浏览器已经关掉。
它解决什么
DSH 只在两种状态下需要你:它跑完了一轮,或它在等你回答(提问 / 审批 / 计划确认)。这两种情况发生时,你往往不在 DSH 页面上。
它按「任务结束时谁还活着」分成两条通道:
(N)未读徽标两条通道不重复,靠一个存在性握手:页面持有插件期间每 20 秒 ping 一次
/dsh-notify/presence,关闭时用sendBeacon报别;只要还有页面在世,Host 就保持沉默 —— 因为只有页面知道你是否正在看。检测直接读客户端权威状态(会话
running与待处理交互表),由 DSH 自己的连接推送驱动,不轮询,因此不受后台标签页定时器节流影响。另外两条经验:权限拿不到时不静默(卡片会带着原因回来,并指出可能是浏览器的「安静通知请求」吞了询问),以及子 agent 不打扰(只对顶层会话通知)。安装
dsh plugin --profile web add github:TaoYe599/dsh-notify # 或预构建 tarball(免构建授权) dsh plugin --profile web add https://github.com/TaoYe599/dsh-notify/releases/download/v0.1.0/dsh-notify-0.1.0.tgz装完重启
dsh web。MIT,仓库:https://github.com/TaoYe599/dsh-notify一点给官方的参考
如果 DSH 将来要做平台级的完成通知(尤其是跨平台的原生通道),这里的实现与取舍可以直接参考 —— 特别是两条判据:通知应由「任务结束时仍然活着的那个进程」发出;以及两个通道靠存在性握手互斥,而不是事后去重(事后去重需要事件标识握手,而标识握手又需要推送通道,容易循环依赖)。
All reactions