跳转至

Wiki 索引

跨版本沉淀的项目知识。改架构/字段/组件前先查这里

必读

文档 描述 何时必读
共享队列架构 v0.10.0 后的核心调度模型 — 多任务共用调度器,Tab/worker 全局 改任何并发字段 / 调度逻辑前
设置字段语义对照 settings 全部字段实际语义 + 字段名暗示 vs 真实对照表 改 settings UI / label / helper 前

解析与抓取

文档 描述 相关源码
解析层开关 scraper.ts 把 7 类规则剥离为独立 boolean + custom 列表 src/utils/scraper.ts
内页跟随策略 网站抓取深度 ≥ 2 时跟哪些链接 — 同域/关键词/跨根域白名单 src/utils/dynamic-scraper.ts
域名状态机(SPEC-004 Phase 2 核心概念) SPEC-004 Phase 2 — 域名 6 态分类 (dead/antibot-hard/-soft/friendly/cold/unknown) + TTL + 转换规则 (SPEC-004 实施时)

运维与稳定性

文档 描述 相关源码
Tab 生命周期与看门狗 抓取 Tab 创建/销毁完整流程 + v0.10.15 看门狗的兜底机制(防长跑卡死) src/utils/scrape-window.tssrc/utils/scrape-watchdog.ts
Popup 认证状态机 popup 4 态登录状态机 + 2 秒超时兜底 + 多重登录入口(防 loading 死循环) src/sections/popup/index.tsxsrc/utils/auto-login.ts

组件

文档 描述 相关源码
正则演示组件(RegexTester) RegexTester — 即改即看的正则测试折叠组件 src/sections/settings/regex-tester.tsx

占位 / 待补(按需建档)

以下是已识别但未建档的主题。遇到要改这部分时主动建档

  • TODO:任务调度器.md(task-manager.ts 的 pumpTasks 流程)
  • TODO:数据库表结构.md(jsstore 的 MapTaskData / 其它表)
  • TODO:数据过滤管道.md(addSearchData 的 advParms / minRating / 黑名单 / 企业邮箱)
  • TODO:抓取动态/静态切换.md(dynamic-scraper 与 fetch 各自适用场景)

新增 wiki 的 checklist

新增 wiki/<主题>.md 时:

  • _template.md 起手
  • 头部元数据:描述 / 最后更新 / 相关源码(精确到文件路径,最好到函数名)
  • 「是什么」一句话 + 图(必要时)
  • 「为什么这么设计」附历史背景(包括失败的老方案)
  • 「关键代码位置」表格指向源码
  • 「易踩坑」列至少 1 条
  • 「修改这块时要/不要做什么」给后续改动者明确边界
  • 「版本里程碑」记录关键变更点
  • 回到本文件新增一行

命名约定

  • 中文标题:<主题>.md(如 shared-queue-architecture.md
  • 不加序号前缀(rules 才用 00- 表示元规则)
  • 重要架构主题用 4 字短语:X 架构X 策略X 组件X 管道

全部 wiki 条目

标题 描述 链接
Popup 认证状态机 浏览器扩展 popup 的登录态机制 — 4 态状态机 + 2 秒超时兜底 + 多重登录入口 打开
Tab 生命周期与看门狗 抓取 Tab 的创建/销毁完整流程 + v0.10.15 看门狗的兜底机制 打开
云端同步架构(SPEC-004 Phase 3 准备) 为什么所有 sync-related 数据用 jsstore;4 类同步数据的 store 设计预览 打开
共享队列架构 v0.10.0 后的核心调度模型 — 多任务共用一个调度器、Tab/worker 是全局资源 打开
内页跟随策略 网站抓取深度 ≥ 2 时,从首页找哪些站内链接进入再抓的规则 打开
域名状态机(SPEC-004 Phase 2 核心概念) 网站采集中每个域名的状态分类、转换规则、TTL 设计 打开
多阶段抓取 pipeline(SPEC-004 Phase 1) 客户端 HEAD → GET → regex → tab fallback 四层决策,跳过死站/反爬/无 contact 站,省 tab 开销 打开
扩展 reload 生命周期(MV3) SW 重启 + chrome-extension tab 失效 + 双轨恢复机制全流程 打开
正则演示组件(RegexTester) 让用户即改即看的正则测试折叠组件,避免抽象正则改完不知道效果 打开
解析层开关 scraper.ts 把'反爬解码 / 黑名单 / 噪音过滤 / 手机层级 / 社媒过滤'全部剥离为独立可控开关 打开
设置字段语义对照 settings 全部字段的实际语义、对应源码、易混淆点 — 改 UI 前必查 打开