READMESource: main@a39ce172
dsh-done-notify
DSH(DeepSeek Harness)插件:离开页面时,agent 有了动静就弹系统通知,点一下跳回对应会话。
dsh web 的标签页标题只显示当前会话名——切去别的窗口干活时,agent 完成一轮、 发出审批卡、或者停下来向你提问,你完全无感知;切回来才发现它已经卡了半小时。
功能
- 任务完成提醒:任意会话的 agent 完成一轮(
api-session/statusrunning 翻转), 若 dsh 窗口不在前台,弹系统通知(Web Notification)。 - 等待审批提醒:agent 发出审批卡时提醒——它会一直停在那里等你,这是最不该错过的通知。
- 提问等待回答提醒:agent 向你提问停下时提醒。
- 点击跳回:点击通知聚焦 dsh 窗口并打开对应会话。
- 多标签页去重:多个 dsh 标签页同时开着时,同一事件只弹一次(BroadcastChannel 认领,尽力而为)。
- 子代理不吵:subagent 会话的完成事件不提醒(父会话会继续产生自己的完成)。
- 同一会话 20 秒内只提醒一次;同一会话+类型的弹窗会被浏览器自动替换不堆叠。
设置入口:设置 → 离开提醒。首次使用点「请求系统通知权限」,再点「发送测试通知」验证。
可配置项
| 开关 | 默认 | 说明 |
|---|---|---|
| 启用离开提醒 | 开 | 总开关 |
| 仅在窗口未聚焦时提醒 | 开 | 关闭后,dsh 在前台时后台会话完成也会弹(前台内宿主侧栏本就有绿点) |
| 等待审批时提醒 | 开 | |
| 提问等待回答时提醒 | 开 |
配置存于浏览器 localStorage(键 dsh-done-notify.config.v1)。
已知边界
- 通知依赖浏览器权限:在系统/浏览器层面全局关闭通知时插件无法弹窗(设置面板会显示权限状态)。
- 审批/提问载荷的文本字段是尽力抽取(未知 schema 下可能只显示类型不显示内容),跳转不受影响。
- 页面完全关闭后没有通知——插件运行在 dsh web 页面内。需要"关掉浏览器也有通知"请配合 dsh-attention(审批/提问的 Windows 原生 Toast)。
开发
DSH_CHECKOUT=<dsh checkout 路径> npm run typecheck
DSH_CHECKOUT=<dsh checkout 路径> npm run build
npm test
纯判定逻辑在 src/notify-rules.ts(客户端与测试共用);客户端实现
src/client/index.ts;服务端入口为空壳(本插件零服务端行为)。
No comments yet. Be the first to write one.