🛡️ Watchdog 看门狗¶
长跑稳定性兜底 — Tab 巡检 + 自动恢复 + 累积告警
⚙️ 本文件由
pnpm docs:rebuild自动生成 — 修改无效。
涉及文档(22 个)¶
📐 架构 / 知识沉淀(1)¶
- Tab 生命周期与看门狗
- 抓取 Tab 的创建/销毁完整流程 + v0.10.15 看门狗的兜底机制
🎯 功能规格(3)¶
- Watchdog 核弹重启后自动恢复(带上限保护) · done
- 核弹重启后默认自动 pumpTasks,避免无人值守场景必须手动点开始;加 cycle 上限防止无限循环
- 文档治理自动化(docs:check + docs:rebuild + _overview) · done
- 用脚本 enforcement 解决"INDEX 脱节 / 断链 / 重复信息"持续累积的问题
- SPEC-006 — task delete 时二选一 confirm 商家数据去留 · done
- controlTask('delete') 前弹 dialog 询问"是否一并删除该任务的 N 条商家数据" — 解决孤儿数据 UX
🔧 已知问题 + 修复(10)¶
- 长时间运行后浏览器卡死 / 累积孤儿 Tab · fixed
- 插件运行时间长,会导致电脑卡死,页面没正常关闭,是不是要加上定期的检查?确保浏览器正常关闭,而不是打开一堆?
- Watchdog 鲁棒性三连:并发触发 / nuke 不真关 tab / 计数残留 · fixed
- watchdog 鲁棒性三连:并发 / nuke 不真关 tab / 计数残留
- watchdog 自动恢复 cooldown 用 setTimeout(SW kill 时丢失) · fixed
- v0.10.23/24 的自动恢复 cooldown setTimeout 在 SW kill 时丢,与 ISSUE-0026 同款
- 第三轮 agent 找到 3 真 bug — watchdog 镜像 / 死 listener / 正则漂移 · fixed
- 第三轮独立 agent 验证收敛失败,3 个真问题
- scan:protocol 基础设施 + open-results lost message + 死 messager 删 · fixed
- 实施 agent 提议的 Tool 2(dead listener 检测器),扫到真 lost + 整个 messager-extension 死代码
- 第四轮 agent 找到 ISSUE-0031 第 4 兄弟 + 2 个孤儿 listener · fixed
- 同函数内 3/4 分支补了 pumpAllSchedulers 漏第 4 个 catch 兜底;2 个 dead listener 工具盲区漏检
- watchdog 自动恢复触发浏览器'确认关闭 N 个标签页'弹窗 · fixed
- 共享窗口孤儿累积 — storage 漏写 + SW kill 竞态 · fixed
- 用户截图反馈"几十个新标签页 - Cent Browser"窗口积累,根因是 windows.create 成功但 storage.setItem 未完成 SW 就被 kill
- SPEC-006 cascade 删命中 ISSUE-0008 历史回归 — where:taskId 老 DB 给 0 行 · fixed
- cleanupOrphanScrapeWindows 误杀用户新标签页 — 尺寸阈值 ±80 太宽 · fixed
- v0.10.101 修共享窗口孤儿引入新 bug — 680-840×480-640 范围所有空白窗口都被误关,用户调过尺寸的小窗口高风险
📋 工作流规则(2)¶
- Rule — MV3 持久化陷阱清单(每次 background 改动跑一遍) · stable
- setTimeout / module-let / SW kill 等 MV3 通用陷阱的自查清单
- 用户反馈前置查询 — 先查 INDEX 再动代码 · stable
- 用户报 bug / 提需求时,按反馈类型给具体 grep 命令清单,防直接读代码错过历史
🗒️ 原始素材(4)¶
- 反馈 — 自动恢复默认值调激进(10s/无限) · spec-ed
- v0.10.23 默认 60s/3 次太保守,用户希望 10s 后继续 + 无限次(除非人工点停止)
- 讨论 — 文档体系体检诊断 · spec-ed
- 用户请求评估 v0.10.22 建立的文档体系;我跑数据诊断找出 9 个真问题
- task delete 不删 MapTaskData 行 — 设计 vs bug 待确认 · spec-ed
- controlTask('delete') 只删 task store + progress,不删该 taskId 的商家数据行
- 反馈 — Watchdog 重启后希望自动继续,而不要手动点开始 · spec-ed
- 系统通知截图后,用户报告自动暂停的任务需要手动点开始才能恢复
给 AI / 新协作者的建议阅读顺序¶
- 先读 wiki(了解架构)
- 再读 specs(了解需求 / 设计决策)
- 遇到 bug 查 issues(避免重蹈覆辙)
- 追溯起源看 raw(用户原话)