{
 "schema": "learn/1",
 "generated_at": "2026-10-14 02:30:02",
 "generated_ts": 1791916202,
 "collector": "/opt/internal_board/sync_learn.py · crontab */30",
 "page": "/learn/daily/",
 "families": {
  "漫游型": {
   "root": "/opt/learner_*",
   "count": 95,
   "how": "读它的 notes.md（行数/条数/段落日期）+ raw 素材数 + logic 产物数 + visited 记录 + 是否有页面；近24h新增按 notes.md 段落日期实测；连续0新增轮数=本采集器每30分钟一轮的累计（首轮由最近更新时刻推算）",
   "schedule": "由 learn-center 统一调度（crontab 里没有它们的行）"
  },
  "项目型": {
   "root": "/opt/devbot/projects",
   "count": 16,
   "how": "不数 notes：看 state.json 时间戳 + 日志里最近一次 run 的结果 + learned//reports/ 里近24h的新文件数；调度时间从 crontab -l 里 cd <项目目录> 那一行抽出来",
   "schedule": "各自 cron（见每条 schedules）"
  }
 },
 "how": "两族：漫游型看 notes.md；项目型看 state.json + 日志最近一次 run + 产出目录新文件。touched_24h / files_24h 只说明它在动，不等于有成果；判「在长」必须看新条目/新产出文件",
 "summary": {
  "crafts_total": 95,
  "roaming_total": 95,
  "project_total": 16,
  "all_total": 111,
  "families": {
   "漫游型": {
    "total": 95,
    "growing": 2,
    "stalled": 2,
    "sleeping": 91,
    "new_24h": 48,
    "with_notes": 42,
    "touched_24h": 8
   },
   "项目型": {
    "total": 16,
    "growing": 6,
    "stalled": 3,
    "sleeping": 7,
    "new_24h": 770,
    "with_state": 8,
    "scheduled": 9
   }
  },
  "with_dir": 56,
  "with_notes": 42,
  "notes_lines_total": 12275,
  "notes_bytes_total": 1364318,
  "raw_files_total": 2598,
  "growing": 2,
  "stalled": 2,
  "sleeping": 91,
  "new_24h_total": 48,
  "touched_24h": 8,
  "top_growing": [
   "creator",
   "math"
  ]
 },
 "status_rule": "在长=近24h有新笔记条目（漫游）/近24h有新产出文件或 state.json 今天动过（项目）；停滞=7 天内还动过但近24h没新料；睡=超 7 天没新料/没 notes/备份目录",
 "buckets": [
  {
   "name": "出图能力",
   "crafts": 18,
   "growing": 0,
   "stalled": 0,
   "sleeping": 18,
   "new_24h": 0,
   "items": [
    {
     "craft": "branding",
     "name": "品牌视觉工",
     "bucket": "出图能力",
     "text": "[branding] Agentforce combines user-defi",
     "truncated": true,
     "raw": "- [branding] Agentforce combines user-defined safeguards and Salesforce managed protections to foster trust and maintain control over agent behavior.",
     "src": "/opt/learner_branding/notes.md",
     "line": 141,
     "ts": "2026-09-05 16:45",
     "url": "https://www.salesforce.com/agentforce/how-it-works/",
     "is_24h": false,
     "prio": 0
    },
    {
     "craft": "branding",
     "name": "品牌视觉工",
     "bucket": "出图能力",
     "text": "[branding] Key mechanisms prevent deviat",
     "truncated": true,
     "raw": "- [branding] Key mechanisms prevent deviations from core instructions, block off-topic or inappropriate conversations, and mitigate risks such as hallucination, bias, or the dissemination of incorrect information.",
     "src": "/opt/learner_branding/notes.md",
     "line": 142,
     "ts": "2026-09-05 16:45",
     "url": "https://www.salesforce.com/agentforce/how-it-works/",
     "is_24h": false,
     "prio": 0
    },
    {
     "craft": "branding",
     "name": "品牌视觉工",
     "bucket": "出图能力",
     "text": "[branding] The Einstein Trust Layer prot",
     "truncated": true,
     "raw": "- [branding] The Einstein Trust Layer protects the privacy and security of data, improves the safety and accuracy of AI results, and promotes responsible AI use across Salesforce.",
     "src": "/opt/learner_branding/notes.md",
     "line": 143,
     "ts": "2026-09-05 16:45",
     "url": "https://www.salesforce.com/agentforce/how-it-works/",
     "is_24h": false,
     "prio": 0
    }
   ]
  },
  {
   "name": "海外渠道与投放",
   "crafts": 8,
   "growing": 0,
   "stalled": 0,
   "sleeping": 8,
   "new_24h": 0,
   "items": [
    {
     "craft": "ecommerce",
     "name": "独立站电商工",
     "bucket": "海外渠道与投放",
     "text": "[access_policy] Accessing ChatGPT from u",
     "truncated": true,
     "raw": "- [access_policy] Accessing ChatGPT from unsupported countries may result in account suspension.",
     "src": "/opt/learner_ecommerce/notes.md",
     "line": 419,
     "ts": "2026-09-07 05:09",
     "url": "https://help.openai.com/en/articles/7947663-chatgpt-supported-countries",
     "is_24h": false,
     "prio": 1
    },
    {
     "craft": "ecommerce",
     "name": "独立站电商工",
     "bucket": "海外渠道与投放",
     "text": "[access_policy] The list of supported co",
     "truncated": true,
     "raw": "- [access_policy] The list of supported countries is provided for reference and compliance.",
     "src": "/opt/learner_ecommerce/notes.md",
     "line": 420,
     "ts": "2026-09-07 05:09",
     "url": "https://help.openai.com/en/articles/7947663-chatgpt-supported-countries",
     "is_24h": false,
     "prio": 1
    },
    {
     "craft": "ecommerce",
     "name": "独立站电商工",
     "bucket": "海外渠道与投放",
     "text": "[access_policy] The supported countries",
     "truncated": true,
     "raw": "- [access_policy] The supported countries list is regularly updated for accuracy.",
     "src": "/opt/learner_ecommerce/notes.md",
     "line": 421,
     "ts": "2026-09-07 05:09",
     "url": "https://help.openai.com/en/articles/7947663-chatgpt-supported-countries",
     "is_24h": false,
     "prio": 1
    }
   ]
  },
  {
   "name": "版权与合规",
   "crafts": 8,
   "growing": 0,
   "stalled": 0,
   "sleeping": 8,
   "new_24h": 0,
   "items": [
    {
     "craft": "insurance",
     "name": "保险专家",
     "bucket": "版权与合规",
     "text": "[养老保险政策] if (政府加强养老保险转移接续政策) -> then (人民",
     "truncated": true,
     "raw": "- [养老保险政策] if (政府加强养老保险转移接续政策) -> then (人民群众对养老保险转移接续问题有更多了解) -> because (政策透明度提高，民众对政策有更清晰的认知)",
     "src": "/opt/learner_insurance/notes.md",
     "line": 11,
     "ts": "2026-09-04 19:46",
     "url": "https://www.gov.cn/",
     "is_24h": false,
     "prio": 2
    },
    {
     "craft": "insurance",
     "name": "保险专家",
     "bucket": "版权与合规",
     "text": "[商品消费政策] if (政府发布关于推动商品消费扩容升级的实施意见) -> t",
     "truncated": true,
     "raw": "- [商品消费政策] if (政府发布关于推动商品消费扩容升级的实施意见) -> then (商品消费市场得到政策支持) -> because (政策有助于刺激消费，促进经济增长)",
     "src": "/opt/learner_insurance/notes.md",
     "line": 12,
     "ts": "2026-09-04 19:46",
     "url": "https://www.gov.cn/",
     "is_24h": false,
     "prio": 2
    },
    {
     "craft": "insurance",
     "name": "保险专家",
     "bucket": "版权与合规",
     "text": "[农业政策] if (政府强调农业防灾减灾) -> then (农业产量得到保障",
     "truncated": true,
     "raw": "- [农业政策] if (政府强调农业防灾减灾) -> then (农业产量得到保障) -> because (有效预防灾害，减少损失，保障粮食安全)",
     "src": "/opt/learner_insurance/notes.md",
     "line": 13,
     "ts": "2026-09-04 19:46",
     "url": "https://www.gov.cn/",
     "is_24h": false,
     "prio": 2
    }
   ]
  },
  {
   "name": "连环画与双语",
   "crafts": 5,
   "growing": 0,
   "stalled": 1,
   "sleeping": 4,
   "new_24h": 0,
   "items": [
    {
     "craft": "english",
     "name": "英语老师",
     "bucket": "连环画与双语",
     "text": "[词汇] 如果(学生难理解{词汇}) → 那么(用{具体讲法/类比/可视化/例子",
     "truncated": true,
     "raw": "- [词汇] 如果(学生难理解{词汇}) → 那么(用{具体讲法/类比/可视化/例子}) → 因为({认知原因})",
     "src": "/opt/learner_english/notes.md",
     "line": 243,
     "ts": "2026-10-08 03:17",
     "url": "https://easyenglish.com/short-stories/a1/the-man-on-the-plane/",
     "is_24h": false,
     "prio": 3
    },
    {
     "craft": "english",
     "name": "英语老师",
     "bucket": "连环画与双语",
     "text": "[语法结构] 如果(学生难理解{语法结构}) → 那么(用{具体讲法/类比/可视",
     "truncated": true,
     "raw": "- [语法结构] 如果(学生难理解{语法结构}) → 那么(用{具体讲法/类比/可视化/例子}) → 因为({认知原因})",
     "src": "/opt/learner_english/notes.md",
     "line": 244,
     "ts": "2026-10-08 03:17",
     "url": "https://easyenglish.com/short-stories/a1/the-man-on-the-plane/",
     "is_24h": false,
     "prio": 3
    },
    {
     "craft": "english",
     "name": "英语老师",
     "bucket": "连环画与双语",
     "text": "[故事情节] 如果(学生难理解{故事情节}) → 那么(用{具体讲法/类比/可视",
     "truncated": true,
     "raw": "- [故事情节] 如果(学生难理解{故事情节}) → 那么(用{具体讲法/类比/可视化/例子}) → 因为({认知原因})",
     "src": "/opt/learner_english/notes.md",
     "line": 245,
     "ts": "2026-10-08 03:17",
     "url": "https://easyenglish.com/short-stories/a1/the-man-on-the-plane/",
     "is_24h": false,
     "prio": 3
    }
   ]
  },
  {
   "name": "广告与卖点",
   "crafts": 13,
   "growing": 2,
   "stalled": 0,
   "sleeping": 11,
   "new_24h": 48,
   "items": [
    {
     "craft": "creator",
     "name": "创作者经济工",
     "bucket": "广告与卖点",
     "text": "[气候科学] 气候变化是指温度和天气模式的长期变化。",
     "truncated": false,
     "raw": "- [气候科学] 气候变化是指温度和天气模式的长期变化。",
     "src": "/opt/learner_creator/notes.md",
     "line": 2473,
     "ts": "2026-10-13 19:37",
     "url": "https://www.un.org/zh/climatechange/what-is-climate-change",
     "is_24h": true,
     "prio": 4
    },
    {
     "craft": "creator",
     "name": "创作者经济工",
     "bucket": "广告与卖点",
     "text": "[环境科学] 人类活动是过去两百年来全球变暖的最主要原因。",
     "truncated": false,
     "raw": "- [环境科学] 人类活动是过去两百年来全球变暖的最主要原因。",
     "src": "/opt/learner_creator/notes.md",
     "line": 2474,
     "ts": "2026-10-13 19:37",
     "url": "https://www.un.org/zh/climatechange/what-is-climate-change",
     "is_24h": true,
     "prio": 4
    },
    {
     "craft": "creator",
     "name": "创作者经济工",
     "bucket": "广告与卖点",
     "text": "[环境科学] 化石燃料燃烧会产生温室气体排放，这些气体捕获太阳的热量并使温度不断",
     "truncated": true,
     "raw": "- [环境科学] 化石燃料燃烧会产生温室气体排放，这些气体捕获太阳的热量并使温度不断升高。",
     "src": "/opt/learner_creator/notes.md",
     "line": 2475,
     "ts": "2026-10-13 19:37",
     "url": "https://www.un.org/zh/climatechange/what-is-climate-change",
     "is_24h": true,
     "prio": 4
    }
   ]
  },
  {
   "name": "GEO 与地图",
   "crafts": 3,
   "growing": 0,
   "stalled": 0,
   "sleeping": 3,
   "new_24h": 0,
   "items": [
    {
     "craft": "geography",
     "name": "地理老师",
     "bucket": "GEO 与地图",
     "text": "[地理知识] 如果(学生难理解{地理知识}) → 那么(通过{地理游戏}) →",
     "truncated": true,
     "raw": "- [地理知识] 如果(学生难理解{地理知识}) → 那么(通过{地理游戏}) → 因为({游戏提供直观体验，增强记忆})",
     "src": "/opt/learner_geography/notes.md",
     "line": 43,
     "ts": "2026-09-03 21:04",
     "url": "https://www.ducksters.com/games/",
     "is_24h": false,
     "prio": 5
    },
    {
     "craft": "geography",
     "name": "地理老师",
     "bucket": "GEO 与地图",
     "text": "[数学概念] 如果(学生难理解{数学概念}) → 那么(使用{数学游戏}) →",
     "truncated": true,
     "raw": "- [数学概念] 如果(学生难理解{数学概念}) → 那么(使用{数学游戏}) → 因为({游戏化学习使抽象概念具体化})",
     "src": "/opt/learner_geography/notes.md",
     "line": 44,
     "ts": "2026-09-03 21:04",
     "url": "https://www.ducksters.com/games/",
     "is_24h": false,
     "prio": 5
    },
    {
     "craft": "geography",
     "name": "地理老师",
     "bucket": "GEO 与地图",
     "text": "[历史事件] 如果(学生难理解{历史事件}) → 那么(通过{历史游戏或模拟}进",
     "truncated": true,
     "raw": "- [历史事件] 如果(学生难理解{历史事件}) → 那么(通过{历史游戏或模拟}进行学习) → 因为({游戏模拟历史情境，提高兴趣和参与度})",
     "src": "/opt/learner_geography/notes.md",
     "line": 45,
     "ts": "2026-09-03 21:04",
     "url": "https://www.ducksters.com/games/",
     "is_24h": false,
     "prio": 5
    }
   ]
  },
  {
   "name": "数据与埋点",
   "crafts": 6,
   "growing": 0,
   "stalled": 1,
   "sleeping": 5,
   "new_24h": 0,
   "items": [
    {
     "craft": "datamind",
     "name": "数据思维工",
     "bucket": "数据与埋点",
     "text": "[Concept] Data is defined as unprocessed",
     "truncated": true,
     "raw": "- [Concept] Data is defined as unprocessed raw records that lack organization and classification, representing symbols of things and serving as the original material for constructing messages and knowledge.",
     "src": "/opt/learner_datamind/notes.md",
     "line": 248,
     "ts": "2026-09-07 00:42",
     "url": "https://www.godic.net/mdicts/en/data",
     "is_24h": false,
     "prio": 6
    },
    {
     "craft": "datamind",
     "name": "数据思维工",
     "bucket": "数据与埋点",
     "text": "[Concept] Data can be classified into si",
     "truncated": true,
     "raw": "- [Concept] Data can be classified into simulation data and digital data, serving as the 'raw material' for processing, such as images, sounds, texts, numbers, characters, and symbols.",
     "src": "/opt/learner_datamind/notes.md",
     "line": 249,
     "ts": "2026-09-07 00:42",
     "url": "https://www.godic.net/mdicts/en/data",
     "is_24h": false,
     "prio": 6
    },
    {
     "craft": "datamind",
     "name": "数据思维工",
     "bucket": "数据与埋点",
     "text": "[Concept] Data is measured, collected, r",
     "truncated": true,
     "raw": "- [Concept] Data is measured, collected, reported, and analyzed, whereupon it can be visualized using graphs or images, representing existing information or knowledge in a suitable form for better usage or processing.",
     "src": "/opt/learner_datamind/notes.md",
     "line": 250,
     "ts": "2026-09-07 00:42",
     "url": "https://www.godic.net/mdicts/en/data",
     "is_24h": false,
     "prio": 6
    }
   ]
  },
  {
   "name": "其它",
   "crafts": 34,
   "growing": 0,
   "stalled": 0,
   "sleeping": 34,
   "new_24h": 0,
   "items": [
    {
     "craft": "biology",
     "name": "生物老师",
     "bucket": "其它",
     "text": "[DNA分子结构] 如果(学生难理解{DNA分子结构}) → 那么(用{互动式探",
     "truncated": true,
     "raw": "- [DNA分子结构] 如果(学生难理解{DNA分子结构}) → 那么(用{互动式探索}) → 因为({增强直观理解})",
     "src": "/opt/learner_biology/notes.md",
     "line": 43,
     "ts": "2026-09-03 20:57",
     "url": "https://learn.genetics.utah.edu/content/genetics/",
     "is_24h": false,
     "prio": 7
    },
    {
     "craft": "biology",
     "name": "生物老师",
     "bucket": "其它",
     "text": "[基因转录与翻译] 如果(学生难理解{基因转录与翻译}) → 那么(用{互动式实",
     "truncated": true,
     "raw": "- [基因转录与翻译] 如果(学生难理解{基因转录与翻译}) → 那么(用{互动式实验}) → 因为({实践操作促进记忆})",
     "src": "/opt/learner_biology/notes.md",
     "line": 44,
     "ts": "2026-09-03 20:57",
     "url": "https://learn.genetics.utah.edu/content/genetics/",
     "is_24h": false,
     "prio": 7
    },
    {
     "craft": "biology",
     "name": "生物老师",
     "bucket": "其它",
     "text": "[环境因素与基因相互作用] 如果(学生难理解{环境因素与基因相互作用}) → 那",
     "truncated": true,
     "raw": "- [环境因素与基因相互作用] 如果(学生难理解{环境因素与基因相互作用}) → 那么(用{互动式探索}) → 因为({直观展示复杂关系})",
     "src": "/opt/learner_biology/notes.md",
     "line": 45,
     "ts": "2026-09-03 20:57",
     "url": "https://learn.genetics.utah.edu/content/genetics/",
     "is_24h": false,
     "prio": 7
    }
   ]
  }
 ],
 "highlights": [
  {
   "craft": "branding",
   "name": "品牌视觉工",
   "bucket": "出图能力",
   "text": "[branding] Agentforce combines user-defi",
   "truncated": true,
   "raw": "- [branding] Agentforce combines user-defined safeguards and Salesforce managed protections to foster trust and maintain control over agent behavior.",
   "src": "/opt/learner_branding/notes.md",
   "line": 141,
   "ts": "2026-09-05 16:45",
   "url": "https://www.salesforce.com/agentforce/how-it-works/",
   "is_24h": false,
   "prio": 0
  },
  {
   "craft": "branding",
   "name": "品牌视觉工",
   "bucket": "出图能力",
   "text": "[branding] Key mechanisms prevent deviat",
   "truncated": true,
   "raw": "- [branding] Key mechanisms prevent deviations from core instructions, block off-topic or inappropriate conversations, and mitigate risks such as hallucination, bias, or the dissemination of incorrect information.",
   "src": "/opt/learner_branding/notes.md",
   "line": 142,
   "ts": "2026-09-05 16:45",
   "url": "https://www.salesforce.com/agentforce/how-it-works/",
   "is_24h": false,
   "prio": 0
  },
  {
   "craft": "branding",
   "name": "品牌视觉工",
   "bucket": "出图能力",
   "text": "[branding] The Einstein Trust Layer prot",
   "truncated": true,
   "raw": "- [branding] The Einstein Trust Layer protects the privacy and security of data, improves the safety and accuracy of AI results, and promotes responsible AI use across Salesforce.",
   "src": "/opt/learner_branding/notes.md",
   "line": 143,
   "ts": "2026-09-05 16:45",
   "url": "https://www.salesforce.com/agentforce/how-it-works/",
   "is_24h": false,
   "prio": 0
  },
  {
   "craft": "ecommerce",
   "name": "独立站电商工",
   "bucket": "海外渠道与投放",
   "text": "[access_policy] Accessing ChatGPT from u",
   "truncated": true,
   "raw": "- [access_policy] Accessing ChatGPT from unsupported countries may result in account suspension.",
   "src": "/opt/learner_ecommerce/notes.md",
   "line": 419,
   "ts": "2026-09-07 05:09",
   "url": "https://help.openai.com/en/articles/7947663-chatgpt-supported-countries",
   "is_24h": false,
   "prio": 1
  },
  {
   "craft": "ecommerce",
   "name": "独立站电商工",
   "bucket": "海外渠道与投放",
   "text": "[access_policy] The list of supported co",
   "truncated": true,
   "raw": "- [access_policy] The list of supported countries is provided for reference and compliance.",
   "src": "/opt/learner_ecommerce/notes.md",
   "line": 420,
   "ts": "2026-09-07 05:09",
   "url": "https://help.openai.com/en/articles/7947663-chatgpt-supported-countries",
   "is_24h": false,
   "prio": 1
  },
  {
   "craft": "ecommerce",
   "name": "独立站电商工",
   "bucket": "海外渠道与投放",
   "text": "[access_policy] The supported countries",
   "truncated": true,
   "raw": "- [access_policy] The supported countries list is regularly updated for accuracy.",
   "src": "/opt/learner_ecommerce/notes.md",
   "line": 421,
   "ts": "2026-09-07 05:09",
   "url": "https://help.openai.com/en/articles/7947663-chatgpt-supported-countries",
   "is_24h": false,
   "prio": 1
  },
  {
   "craft": "insurance",
   "name": "保险专家",
   "bucket": "版权与合规",
   "text": "[养老保险政策] if (政府加强养老保险转移接续政策) -> then (人民",
   "truncated": true,
   "raw": "- [养老保险政策] if (政府加强养老保险转移接续政策) -> then (人民群众对养老保险转移接续问题有更多了解) -> because (政策透明度提高，民众对政策有更清晰的认知)",
   "src": "/opt/learner_insurance/notes.md",
   "line": 11,
   "ts": "2026-09-04 19:46",
   "url": "https://www.gov.cn/",
   "is_24h": false,
   "prio": 2
  },
  {
   "craft": "insurance",
   "name": "保险专家",
   "bucket": "版权与合规",
   "text": "[商品消费政策] if (政府发布关于推动商品消费扩容升级的实施意见) -> t",
   "truncated": true,
   "raw": "- [商品消费政策] if (政府发布关于推动商品消费扩容升级的实施意见) -> then (商品消费市场得到政策支持) -> because (政策有助于刺激消费，促进经济增长)",
   "src": "/opt/learner_insurance/notes.md",
   "line": 12,
   "ts": "2026-09-04 19:46",
   "url": "https://www.gov.cn/",
   "is_24h": false,
   "prio": 2
  },
  {
   "craft": "insurance",
   "name": "保险专家",
   "bucket": "版权与合规",
   "text": "[农业政策] if (政府强调农业防灾减灾) -> then (农业产量得到保障",
   "truncated": true,
   "raw": "- [农业政策] if (政府强调农业防灾减灾) -> then (农业产量得到保障) -> because (有效预防灾害，减少损失，保障粮食安全)",
   "src": "/opt/learner_insurance/notes.md",
   "line": 13,
   "ts": "2026-09-04 19:46",
   "url": "https://www.gov.cn/",
   "is_24h": false,
   "prio": 2
  },
  {
   "craft": "english",
   "name": "英语老师",
   "bucket": "连环画与双语",
   "text": "[词汇] 如果(学生难理解{词汇}) → 那么(用{具体讲法/类比/可视化/例子",
   "truncated": true,
   "raw": "- [词汇] 如果(学生难理解{词汇}) → 那么(用{具体讲法/类比/可视化/例子}) → 因为({认知原因})",
   "src": "/opt/learner_english/notes.md",
   "line": 243,
   "ts": "2026-10-08 03:17",
   "url": "https://easyenglish.com/short-stories/a1/the-man-on-the-plane/",
   "is_24h": false,
   "prio": 3
  },
  {
   "craft": "english",
   "name": "英语老师",
   "bucket": "连环画与双语",
   "text": "[语法结构] 如果(学生难理解{语法结构}) → 那么(用{具体讲法/类比/可视",
   "truncated": true,
   "raw": "- [语法结构] 如果(学生难理解{语法结构}) → 那么(用{具体讲法/类比/可视化/例子}) → 因为({认知原因})",
   "src": "/opt/learner_english/notes.md",
   "line": 244,
   "ts": "2026-10-08 03:17",
   "url": "https://easyenglish.com/short-stories/a1/the-man-on-the-plane/",
   "is_24h": false,
   "prio": 3
  },
  {
   "craft": "english",
   "name": "英语老师",
   "bucket": "连环画与双语",
   "text": "[故事情节] 如果(学生难理解{故事情节}) → 那么(用{具体讲法/类比/可视",
   "truncated": true,
   "raw": "- [故事情节] 如果(学生难理解{故事情节}) → 那么(用{具体讲法/类比/可视化/例子}) → 因为({认知原因})",
   "src": "/opt/learner_english/notes.md",
   "line": 245,
   "ts": "2026-10-08 03:17",
   "url": "https://easyenglish.com/short-stories/a1/the-man-on-the-plane/",
   "is_24h": false,
   "prio": 3
  },
  {
   "craft": "creator",
   "name": "创作者经济工",
   "bucket": "广告与卖点",
   "text": "[气候科学] 气候变化是指温度和天气模式的长期变化。",
   "truncated": false,
   "raw": "- [气候科学] 气候变化是指温度和天气模式的长期变化。",
   "src": "/opt/learner_creator/notes.md",
   "line": 2473,
   "ts": "2026-10-13 19:37",
   "url": "https://www.un.org/zh/climatechange/what-is-climate-change",
   "is_24h": true,
   "prio": 4
  },
  {
   "craft": "creator",
   "name": "创作者经济工",
   "bucket": "广告与卖点",
   "text": "[环境科学] 人类活动是过去两百年来全球变暖的最主要原因。",
   "truncated": false,
   "raw": "- [环境科学] 人类活动是过去两百年来全球变暖的最主要原因。",
   "src": "/opt/learner_creator/notes.md",
   "line": 2474,
   "ts": "2026-10-13 19:37",
   "url": "https://www.un.org/zh/climatechange/what-is-climate-change",
   "is_24h": true,
   "prio": 4
  },
  {
   "craft": "creator",
   "name": "创作者经济工",
   "bucket": "广告与卖点",
   "text": "[环境科学] 化石燃料燃烧会产生温室气体排放，这些气体捕获太阳的热量并使温度不断",
   "truncated": true,
   "raw": "- [环境科学] 化石燃料燃烧会产生温室气体排放，这些气体捕获太阳的热量并使温度不断升高。",
   "src": "/opt/learner_creator/notes.md",
   "line": 2475,
   "ts": "2026-10-13 19:37",
   "url": "https://www.un.org/zh/climatechange/what-is-climate-change",
   "is_24h": true,
   "prio": 4
  },
  {
   "craft": "geography",
   "name": "地理老师",
   "bucket": "GEO 与地图",
   "text": "[地理知识] 如果(学生难理解{地理知识}) → 那么(通过{地理游戏}) →",
   "truncated": true,
   "raw": "- [地理知识] 如果(学生难理解{地理知识}) → 那么(通过{地理游戏}) → 因为({游戏提供直观体验，增强记忆})",
   "src": "/opt/learner_geography/notes.md",
   "line": 43,
   "ts": "2026-09-03 21:04",
   "url": "https://www.ducksters.com/games/",
   "is_24h": false,
   "prio": 5
  },
  {
   "craft": "geography",
   "name": "地理老师",
   "bucket": "GEO 与地图",
   "text": "[数学概念] 如果(学生难理解{数学概念}) → 那么(使用{数学游戏}) →",
   "truncated": true,
   "raw": "- [数学概念] 如果(学生难理解{数学概念}) → 那么(使用{数学游戏}) → 因为({游戏化学习使抽象概念具体化})",
   "src": "/opt/learner_geography/notes.md",
   "line": 44,
   "ts": "2026-09-03 21:04",
   "url": "https://www.ducksters.com/games/",
   "is_24h": false,
   "prio": 5
  },
  {
   "craft": "geography",
   "name": "地理老师",
   "bucket": "GEO 与地图",
   "text": "[历史事件] 如果(学生难理解{历史事件}) → 那么(通过{历史游戏或模拟}进",
   "truncated": true,
   "raw": "- [历史事件] 如果(学生难理解{历史事件}) → 那么(通过{历史游戏或模拟}进行学习) → 因为({游戏模拟历史情境，提高兴趣和参与度})",
   "src": "/opt/learner_geography/notes.md",
   "line": 45,
   "ts": "2026-09-03 21:04",
   "url": "https://www.ducksters.com/games/",
   "is_24h": false,
   "prio": 5
  },
  {
   "craft": "datamind",
   "name": "数据思维工",
   "bucket": "数据与埋点",
   "text": "[Concept] Data is defined as unprocessed",
   "truncated": true,
   "raw": "- [Concept] Data is defined as unprocessed raw records that lack organization and classification, representing symbols of things and serving as the original material for constructing messages and knowledge.",
   "src": "/opt/learner_datamind/notes.md",
   "line": 248,
   "ts": "2026-09-07 00:42",
   "url": "https://www.godic.net/mdicts/en/data",
   "is_24h": false,
   "prio": 6
  },
  {
   "craft": "datamind",
   "name": "数据思维工",
   "bucket": "数据与埋点",
   "text": "[Concept] Data can be classified into si",
   "truncated": true,
   "raw": "- [Concept] Data can be classified into simulation data and digital data, serving as the 'raw material' for processing, such as images, sounds, texts, numbers, characters, and symbols.",
   "src": "/opt/learner_datamind/notes.md",
   "line": 249,
   "ts": "2026-09-07 00:42",
   "url": "https://www.godic.net/mdicts/en/data",
   "is_24h": false,
   "prio": 6
  },
  {
   "craft": "datamind",
   "name": "数据思维工",
   "bucket": "数据与埋点",
   "text": "[Concept] Data is measured, collected, r",
   "truncated": true,
   "raw": "- [Concept] Data is measured, collected, reported, and analyzed, whereupon it can be visualized using graphs or images, representing existing information or knowledge in a suitable form for better usage or processing.",
   "src": "/opt/learner_datamind/notes.md",
   "line": 250,
   "ts": "2026-09-07 00:42",
   "url": "https://www.godic.net/mdicts/en/data",
   "is_24h": false,
   "prio": 6
  },
  {
   "craft": "biology",
   "name": "生物老师",
   "bucket": "其它",
   "text": "[DNA分子结构] 如果(学生难理解{DNA分子结构}) → 那么(用{互动式探",
   "truncated": true,
   "raw": "- [DNA分子结构] 如果(学生难理解{DNA分子结构}) → 那么(用{互动式探索}) → 因为({增强直观理解})",
   "src": "/opt/learner_biology/notes.md",
   "line": 43,
   "ts": "2026-09-03 20:57",
   "url": "https://learn.genetics.utah.edu/content/genetics/",
   "is_24h": false,
   "prio": 7
  },
  {
   "craft": "biology",
   "name": "生物老师",
   "bucket": "其它",
   "text": "[基因转录与翻译] 如果(学生难理解{基因转录与翻译}) → 那么(用{互动式实",
   "truncated": true,
   "raw": "- [基因转录与翻译] 如果(学生难理解{基因转录与翻译}) → 那么(用{互动式实验}) → 因为({实践操作促进记忆})",
   "src": "/opt/learner_biology/notes.md",
   "line": 44,
   "ts": "2026-09-03 20:57",
   "url": "https://learn.genetics.utah.edu/content/genetics/",
   "is_24h": false,
   "prio": 7
  },
  {
   "craft": "biology",
   "name": "生物老师",
   "bucket": "其它",
   "text": "[环境因素与基因相互作用] 如果(学生难理解{环境因素与基因相互作用}) → 那",
   "truncated": true,
   "raw": "- [环境因素与基因相互作用] 如果(学生难理解{环境因素与基因相互作用}) → 那么(用{互动式探索}) → 因为({直观展示复杂关系})",
   "src": "/opt/learner_biology/notes.md",
   "line": 45,
   "ts": "2026-09-03 20:57",
   "url": "https://learn.genetics.utah.edu/content/genetics/",
   "is_24h": false,
   "prio": 7
  }
 ],
 "highlights_dropped": 102,
 "highlights_unmatched": 0,
 "growing": [
  "creator",
  "math"
 ],
 "stalled": [
  {
   "craft": "webdeploy_agent_01",
   "name": "网页部署工",
   "age_days": 6.6,
   "zero_rounds": 318,
   "notes_lines": 288,
   "new_24h": 0,
   "why": "近 24h 0 新增；最近更新 6.6 天前（还在名单，源暂无新料）"
  },
  {
   "craft": "english",
   "name": "英语老师",
   "age_days": 6.0,
   "zero_rounds": 286,
   "notes_lines": 248,
   "new_24h": 0,
   "why": "近 24h 0 新增；最近更新 6.0 天前（还在名单，源暂无新料）"
  }
 ],
 "sleeping": [
  {
   "craft": "chinese",
   "name": "语文老师",
   "age_days": 40.3,
   "zero_rounds": 1939,
   "notes_lines": 48,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 40.3 天前（>7 天）"
  },
  {
   "craft": "biology",
   "name": "生物老师",
   "age_days": 40.2,
   "zero_rounds": 1938,
   "notes_lines": 48,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "geography",
   "name": "地理老师",
   "age_days": 40.2,
   "zero_rounds": 1937,
   "notes_lines": 48,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "history",
   "name": "历史老师",
   "age_days": 40.2,
   "zero_rounds": 1937,
   "notes_lines": 48,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "physics",
   "name": "物理老师",
   "age_days": 40.2,
   "zero_rounds": 1938,
   "notes_lines": 48,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "science",
   "name": "科学老师",
   "age_days": 40.2,
   "zero_rounds": 1938,
   "notes_lines": 48,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "econ",
   "name": "经济学专家",
   "age_days": 39.3,
   "zero_rounds": 1892,
   "notes_lines": 16,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 39.3 天前（>7 天）"
  },
  {
   "craft": "insurance",
   "name": "保险专家",
   "age_days": 39.3,
   "zero_rounds": 1892,
   "notes_lines": 16,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 39.3 天前（>7 天）"
  },
  {
   "craft": "bizstruct",
   "name": "商业结构设计工",
   "age_days": 38.6,
   "zero_rounds": 1858,
   "notes_lines": 120,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 38.6 天前（>7 天）"
  },
  {
   "craft": "learn_manager_001",
   "name": "学习调度员",
   "age_days": 38.6,
   "zero_rounds": 1858,
   "notes_lines": 116,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 38.6 天前（>7 天）"
  },
  {
   "craft": "branding",
   "name": "品牌视觉工",
   "age_days": 38.4,
   "zero_rounds": 1850,
   "notes_lines": 146,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 38.4 天前（>7 天）"
  },
  {
   "craft": "cooking_merged_food",
   "name": "cooking_merged_food",
   "age_days": 38.4,
   "zero_rounds": 1847,
   "notes_lines": 32,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 38.4 天前（>7 天）"
  },
  {
   "craft": "fashion",
   "name": "服装设计工",
   "age_days": 38.1,
   "zero_rounds": 1836,
   "notes_lines": 259,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 38.1 天前（>7 天）"
  },
  {
   "craft": "resume",
   "name": "简历面试工",
   "age_days": 38.0,
   "zero_rounds": 1832,
   "notes_lines": 152,
   "has_notes": true,
   "backup": false,
   "touched_24h": true,
   "why": "源已学完/无新增：最近更新 38.0 天前（>7 天）"
  },
  {
   "craft": "needsminer",
   "name": "需求挖掘工",
   "age_days": 37.7,
   "zero_rounds": 1817,
   "notes_lines": 128,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.7 天前（>7 天）"
  },
  {
   "craft": "seasia",
   "name": "东南亚出海工",
   "age_days": 37.6,
   "zero_rounds": 1810,
   "notes_lines": 57,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.6 天前（>7 天）"
  },
  {
   "craft": "uiux",
   "name": "UI/UX设计工",
   "age_days": 37.5,
   "zero_rounds": 1806,
   "notes_lines": 421,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.5 天前（>7 天）"
  },
  {
   "craft": "zhang",
   "name": "卖点张老师",
   "age_days": 37.3,
   "zero_rounds": 1796,
   "notes_lines": 32,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.3 天前（>7 天）"
  },
  {
   "craft": "eastwisdom",
   "name": "东方智慧产品化工",
   "age_days": 37.2,
   "zero_rounds": 1793,
   "notes_lines": 204,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.2 天前（>7 天）"
  },
  {
   "craft": "ad",
   "name": "广告引流推广工",
   "age_days": 37.1,
   "zero_rounds": 1786,
   "notes_lines": 328,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.1 天前（>7 天）"
  },
  {
   "craft": "datamind",
   "name": "数据思维工",
   "age_days": 37.1,
   "zero_rounds": 1786,
   "notes_lines": 253,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.1 天前（>7 天）"
  },
  {
   "craft": "envdesign",
   "name": "环境艺术设计工",
   "age_days": 37.1,
   "zero_rounds": 1786,
   "notes_lines": 88,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.1 天前（>7 天）"
  },
  {
   "craft": "moneymind",
   "name": "赚钱方法研究工",
   "age_days": 37.0,
   "zero_rounds": 1784,
   "notes_lines": 334,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.0 天前（>7 天）"
  },
  {
   "craft": "motion",
   "name": "动效设计工",
   "age_days": 37.0,
   "zero_rounds": 1784,
   "notes_lines": 399,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.0 天前（>7 天）"
  },
  {
   "craft": "sethgodin",
   "name": "营销大师分身工",
   "age_days": 37.0,
   "zero_rounds": 1784,
   "notes_lines": 646,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 37.0 天前（>7 天）"
  },
  {
   "craft": "travel",
   "name": "国外旅游研究工",
   "age_days": 37.0,
   "zero_rounds": 1781,
   "notes_lines": 378,
   "has_notes": true,
   "backup": false,
   "touched_24h": true,
   "why": "源已学完/无新增：最近更新 37.0 天前（>7 天）"
  },
  {
   "craft": "courses",
   "name": "知识付费工",
   "age_days": 36.9,
   "zero_rounds": 1776,
   "notes_lines": 144,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.9 天前（>7 天）"
  },
  {
   "craft": "ecommerce",
   "name": "独立站电商工",
   "age_days": 36.9,
   "zero_rounds": 1777,
   "notes_lines": 424,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.9 天前（>7 天）"
  },
  {
   "craft": "startup",
   "name": "创业思维工",
   "age_days": 36.9,
   "zero_rounds": 1778,
   "notes_lines": 176,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.9 天前（>7 天）"
  },
  {
   "craft": "cooking",
   "name": "厨艺菜谱工",
   "age_days": 36.8,
   "zero_rounds": 1773,
   "notes_lines": 329,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.8 天前（>7 天）"
  },
  {
   "craft": "graphic",
   "name": "平面设计工",
   "age_days": 36.8,
   "zero_rounds": 1774,
   "notes_lines": 216,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.8 天前（>7 天）"
  },
  {
   "craft": "photoid",
   "name": "证件照美学工",
   "age_days": 36.8,
   "zero_rounds": 1771,
   "notes_lines": 830,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.8 天前（>7 天）"
  },
  {
   "craft": "workflow_agent_001",
   "name": "工作流工",
   "age_days": 36.8,
   "zero_rounds": 1775,
   "notes_lines": 486,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.8 天前（>7 天）"
  },
  {
   "craft": "secondbrain",
   "name": "第二大脑工",
   "age_days": 36.7,
   "zero_rounds": 1770,
   "notes_lines": 167,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.7 天前（>7 天）"
  },
  {
   "craft": "excel",
   "name": "Excel办公工",
   "age_days": 36.6,
   "zero_rounds": 1761,
   "notes_lines": 176,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 36.6 天前（>7 天）"
  },
  {
   "craft": "automation",
   "name": "AI自动化工",
   "age_days": 35.3,
   "zero_rounds": 1703,
   "notes_lines": 535,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 35.3 天前（>7 天）"
  },
  {
   "craft": "marketing",
   "name": "推广研究工",
   "age_days": 30.1,
   "zero_rounds": 1453,
   "notes_lines": 567,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 30.1 天前（>7 天）"
  },
  {
   "craft": "webdesign",
   "name": "网页设计工",
   "age_days": 7.2,
   "zero_rounds": 346,
   "notes_lines": 702,
   "has_notes": true,
   "backup": false,
   "touched_24h": false,
   "why": "源已学完/无新增：最近更新 7.2 天前（>7 天）"
  },
  {
   "craft": "antifraud",
   "name": "防骗安全工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "backup_20260906",
   "name": "backup_20260906",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": true,
   "touched_24h": false,
   "why": "读不到 notes.md（备份目录）"
  },
  {
   "craft": "beautyfit",
   "name": "美业健身工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "chemistry",
   "name": "化学老师",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "childmind",
   "name": "儿童思维启蒙工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "city",
   "name": "city",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": true,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "code",
   "name": "代码学习工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": true,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "codelib",
   "name": "codelib",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "cooking_merged_laofangu",
   "name": "cooking_merged_laofangu",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "corpstruct",
   "name": "公司结构设计工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "cultranslate",
   "name": "文化转译工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "divine",
   "name": "命理测算工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "emailpm",
   "name": "邮件私域工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "englishwriting",
   "name": "英文写作工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "equity",
   "name": "股权设计工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "fashion_merged_folkdress",
   "name": "fashion_merged_folkdress",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "fiction",
   "name": "小说写作工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "financetax",
   "name": "财税合规工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "folkdress",
   "name": "民族服饰文化工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "food",
   "name": "餐饮行业研究工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "foreignb2b",
   "name": "外贸B2B工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "freelance",
   "name": "自由职业工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "gamification",
   "name": "游戏化设计工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "gongwen",
   "name": "公文写作工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "health",
   "name": "健康研究工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "hiring",
   "name": "用人管理工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "illustration",
   "name": "插画设计工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "interior",
   "name": "空间设计工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "invest",
   "name": "投资理财工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "laofangu",
   "name": "老饭骨·大师菜学工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "learnscience",
   "name": "学习科学研究工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "legalrisk",
   "name": "法律风控工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "livecom",
   "name": "直播电商工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "localbiz",
   "name": "实体店生意工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "ma",
   "name": "马师傅",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "monetize",
   "name": "变现策略研究工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "newbrand",
   "name": "新消费工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "packaging",
   "name": "包装设计工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "pet",
   "name": "宠物经济工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "photoedit",
   "name": "修图美化工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "photovideo",
   "name": "摄影摄像工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "politics",
   "name": "政治老师",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "ppt",
   "name": "PPT演示工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "retired",
   "name": "retired",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "shu",
   "name": "舒老师",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "socmed",
   "name": "社媒运营工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "speech",
   "name": "演讲表达工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "src_backup_20260911_20260911_173903",
   "name": "src_backup_20260911_20260911_173903",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": true,
   "touched_24h": false,
   "why": "读不到 notes.md（备份目录）"
  },
  {
   "craft": "supplychain",
   "name": "供应链工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "talk",
   "name": "话术沟通工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "tasks",
   "name": "tasks",
   "age_days": null,
   "zero_rounds": 465,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": true,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "tcm",
   "name": "中医养生工",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": false,
   "why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "woshipm",
   "name": "人人都是产品经理",
   "age_days": null,
   "zero_rounds": 1051,
   "notes_lines": 0,
   "has_notes": false,
   "backup": false,
   "touched_24h": true,
   "why": "无 notes.md —— 源已学完/未开工"
  }
 ],
 "crafts": [
  {
   "craft": "ad",
   "name": "广告引流推广工",
   "icon": "📣",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "/opt/learner_ad/notes.md",
   "state_time": "2026-09-07 00:37",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_ad",
   "dir": "/opt/learner_ad",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 328,
   "notes_bytes": 39084,
   "bullets": 246,
   "sections": 41,
   "raw_files": 42,
   "logic_files": 37,
   "visited_lines": 51,
   "files_total": 82,
   "files_24h": 0,
   "dir_touched": 1790515308,
   "touched_24h": false,
   "last_mtime": 1788712629,
   "last_update": "2026-09-07 00:37",
   "age_days": 37.1,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1786,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "品牌推广",
   "latest_when": "2026-09-07 00:37",
   "latest_url": "https://advertising.amazon.com/solutions/products/sponsored-brands?ref_=a20m_us_lbr_gd_wida_4b_p_sb",
   "page": "/learn/ad.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.1 天前（>7 天）"
  },
  {
   "craft": "antifraud",
   "name": "防骗安全工",
   "icon": "🛡️",
   "group": "健康生活",
   "bucket": "版权与合规",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "automation",
   "name": "AI自动化工",
   "icon": "🤖",
   "group": "赚钱研究",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "/opt/learner_automation/notes.md",
   "state_time": "2026-09-08 18:17",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_automation",
   "dir": "/opt/learner_automation",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 535,
   "notes_bytes": 54445,
   "bullets": 403,
   "sections": 66,
   "raw_files": 68,
   "logic_files": 64,
   "visited_lines": 106,
   "files_total": 135,
   "files_24h": 0,
   "dir_touched": 1789198570,
   "touched_24h": false,
   "last_mtime": 1788862672,
   "last_update": "2026-09-08 18:17",
   "age_days": 35.3,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1703,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "RPA与工作流自动化比较",
   "latest_when": "2026-09-08 18:17",
   "latest_url": "https://blog.n8n.io/tag/guide/",
   "page": "/learn/automation.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 35.3 天前（>7 天）"
  },
  {
   "craft": "backup_20260906",
   "name": "backup_20260906",
   "icon": "",
   "group": "未登记",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_backup_20260906/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_backup_20260906",
   "dir": "/opt/learner_backup_20260906",
   "has_dir": true,
   "has_notes": false,
   "backup": true,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 694,
   "files_24h": 0,
   "dir_touched": 1788699765,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "读不到 notes.md（备份目录）"
  },
  {
   "craft": "beautyfit",
   "name": "美业健身工",
   "icon": "💇",
   "group": "健康生活",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "biology",
   "name": "生物老师",
   "icon": "🧬",
   "group": "学科老师",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_biology/notes.md",
   "state_time": "2026-09-03 20:57",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_biology",
   "dir": "/opt/learner_biology",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 48,
   "notes_bytes": 6391,
   "bullets": 36,
   "sections": 6,
   "raw_files": 6,
   "logic_files": 6,
   "visited_lines": 7,
   "files_total": 15,
   "files_24h": 0,
   "dir_touched": 1788440277,
   "touched_24h": false,
   "last_mtime": 1788440275,
   "last_update": "2026-09-03 20:57",
   "age_days": 40.2,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1938,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "DNA分子结构",
   "latest_when": "2026-09-03 20:57",
   "latest_url": "https://learn.genetics.utah.edu/content/genetics/",
   "page": "/learn/biology.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "bizstruct",
   "name": "商业结构设计工",
   "icon": "🏗️",
   "group": "商业结构",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_bizstruct/notes.md",
   "state_time": "2026-09-05 12:43",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_bizstruct",
   "dir": "/opt/learner_bizstruct",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 120,
   "notes_bytes": 13595,
   "bullets": 90,
   "sections": 15,
   "raw_files": 12,
   "logic_files": 12,
   "visited_lines": 56,
   "files_total": 28,
   "files_24h": 0,
   "dir_touched": 1789483766,
   "touched_24h": false,
   "last_mtime": 1788583420,
   "last_update": "2026-09-05 12:43",
   "age_days": 38.6,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1858,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Private Business Ownership",
   "latest_when": "2026-09-05 12:43",
   "latest_url": "https://businessmodelanalyst.com/everywhere-millionaire-main-street-wealth-exit/",
   "page": "/learn/bizstruct.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 38.6 天前（>7 天）"
  },
  {
   "craft": "branding",
   "name": "品牌视觉工",
   "icon": "🏷️",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_branding/notes.md",
   "state_time": "2026-09-05 16:45",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_branding",
   "dir": "/opt/learner_branding",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 146,
   "notes_bytes": 15999,
   "bullets": 112,
   "sections": 17,
   "raw_files": 17,
   "logic_files": 17,
   "visited_lines": 29,
   "files_total": 37,
   "files_24h": 0,
   "dir_touched": 1789124599,
   "touched_24h": false,
   "last_mtime": 1788597903,
   "last_update": "2026-09-05 16:45",
   "age_days": 38.4,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1850,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "branding",
   "latest_when": "2026-09-05 16:45",
   "latest_url": "https://www.salesforce.com/agentforce/how-it-works/",
   "page": "/learn/branding.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 38.4 天前（>7 天）"
  },
  {
   "craft": "chemistry",
   "name": "化学老师",
   "icon": "🧪",
   "group": "学科老师",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_chemistry/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_chemistry",
   "dir": "/opt/learner_chemistry",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 1,
   "files_total": 2,
   "files_24h": 0,
   "dir_touched": 1788440018,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/chemistry.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "childmind",
   "name": "儿童思维启蒙工",
   "icon": "👶",
   "group": "教育成长",
   "bucket": "连环画与双语",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "chinese",
   "name": "语文老师",
   "icon": "📜",
   "group": "学科老师",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_chinese/notes.md",
   "state_time": "2026-09-03 20:13",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_chinese",
   "dir": "/opt/learner_chinese",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 48,
   "notes_bytes": 6211,
   "bullets": 36,
   "sections": 6,
   "raw_files": 6,
   "logic_files": 6,
   "visited_lines": 6,
   "files_total": 15,
   "files_24h": 0,
   "dir_touched": 1788437594,
   "touched_24h": false,
   "last_mtime": 1788437594,
   "last_update": "2026-09-03 20:13",
   "age_days": 40.3,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1939,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "字词读音和意义",
   "latest_when": "2026-09-03 20:13",
   "latest_url": "https://www.gushiwen.cn/zici/",
   "page": "/learn/chinese.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 40.3 天前（>7 天）"
  },
  {
   "craft": "city",
   "name": "city",
   "icon": "",
   "group": "未登记",
   "bucket": "GEO 与地图",
   "family": "漫游型",
   "state_path": "/opt/learner_city/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_city",
   "dir": "/opt/learner_city",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 1228,
   "logic_files": 0,
   "visited_lines": 24,
   "files_total": 1230,
   "files_24h": 32,
   "dir_touched": 1791834821,
   "touched_24h": true,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "code",
   "name": "代码学习工",
   "icon": "💻",
   "group": "其他",
   "bucket": "数据与埋点",
   "family": "漫游型",
   "state_path": "/opt/learner_code/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_code",
   "dir": "/opt/learner_code",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 31,
   "visited_lines": 33,
   "files_total": 37,
   "files_24h": 2,
   "dir_touched": 1791914497,
   "touched_24h": true,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/code.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "codelib",
   "name": "codelib",
   "icon": "",
   "group": "未登记",
   "bucket": "数据与埋点",
   "family": "漫游型",
   "state_path": "/opt/learner_codelib/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_codelib",
   "dir": "/opt/learner_codelib",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 132,
   "files_24h": 0,
   "dir_touched": 1791817043,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "cooking",
   "name": "厨艺菜谱工",
   "icon": "🍳",
   "group": "内容技能",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_cooking/notes.md",
   "state_time": "2026-09-07 07:15",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_cooking",
   "dir": "/opt/learner_cooking",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 329,
   "notes_bytes": 35444,
   "bullets": 243,
   "sections": 43,
   "raw_files": 44,
   "logic_files": 23,
   "visited_lines": 332,
   "files_total": 70,
   "files_24h": 0,
   "dir_touched": 1791061016,
   "touched_24h": false,
   "last_mtime": 1788736555,
   "last_update": "2026-09-07 07:15",
   "age_days": 36.8,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1773,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "烹饪",
   "latest_when": "2026-09-07 07:15",
   "latest_url": "https://www.cookinghub.com/a-guide-to-the-best-types-of-pumpkin-for-cooking-and-baking/",
   "page": "/learn/cooking.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.8 天前（>7 天）"
  },
  {
   "craft": "cooking_merged_food",
   "name": "cooking_merged_food",
   "icon": "",
   "group": "未登记",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_cooking_merged_food/notes.md",
   "state_time": "2026-09-05 18:01",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_cooking_merged_food",
   "dir": "/opt/learner_cooking_merged_food",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 32,
   "notes_bytes": 3138,
   "bullets": 24,
   "sections": 4,
   "raw_files": 4,
   "logic_files": 4,
   "visited_lines": 17,
   "files_total": 11,
   "files_24h": 0,
   "dir_touched": 1788723767,
   "touched_24h": false,
   "last_mtime": 1788602510,
   "last_update": "2026-09-05 18:01",
   "age_days": 38.4,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1847,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Food Security",
   "latest_when": "2026-09-05 18:01",
   "latest_url": "https://www.nature.com/natfood/",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 38.4 天前（>7 天）"
  },
  {
   "craft": "cooking_merged_laofangu",
   "name": "cooking_merged_laofangu",
   "icon": "",
   "group": "未登记",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_cooking_merged_laofangu/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_cooking_merged_laofangu",
   "dir": "/opt/learner_cooking_merged_laofangu",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 1,
   "visited_lines": 6,
   "files_total": 3,
   "files_24h": 0,
   "dir_touched": 1788532634,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "corpstruct",
   "name": "公司结构设计工",
   "icon": "🏛️",
   "group": "商业结构",
   "bucket": "版权与合规",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "courses",
   "name": "知识付费工",
   "icon": "🎓",
   "group": "教育成长",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_courses/notes.md",
   "state_time": "2026-09-07 05:55",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_courses",
   "dir": "/opt/learner_courses",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 144,
   "notes_bytes": 18205,
   "bullets": 108,
   "sections": 18,
   "raw_files": 18,
   "logic_files": 18,
   "visited_lines": 27,
   "files_total": 39,
   "files_24h": 0,
   "dir_touched": 1789124599,
   "touched_24h": false,
   "last_mtime": 1788731758,
   "last_update": "2026-09-07 05:55",
   "age_days": 36.9,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1776,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "concept",
   "latest_when": "2026-09-07 05:55",
   "latest_url": "http://fco.qq.com/main.shtml",
   "page": "/learn/courses.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.9 天前（>7 天）"
  },
  {
   "craft": "creator",
   "name": "创作者经济工",
   "icon": "💰",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "/opt/learner_creator/notes.md",
   "state_time": "2026-10-13 19:37",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_creator",
   "dir": "/opt/learner_creator",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 2478,
   "notes_bytes": 233276,
   "bullets": 1876,
   "sections": 301,
   "raw_files": 327,
   "logic_files": 297,
   "visited_lines": 487,
   "files_total": 629,
   "files_24h": 17,
   "dir_touched": 1791893505,
   "touched_24h": true,
   "last_mtime": 1791891454,
   "last_update": "2026-10-13 19:37",
   "age_days": 0.3,
   "new_24h": 42,
   "delta_round": 0,
   "zero_rounds": 13,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "气候科学",
   "latest_when": "2026-10-13 19:37",
   "latest_url": "https://www.un.org/zh/climatechange/what-is-climate-change",
   "page": "/learn/creator.html",
   "has_page": true,
   "status": "在长",
   "status_why": "近 24h 新增 42 条（notes.md 段落日期实测）"
  },
  {
   "craft": "cultranslate",
   "name": "文化转译工",
   "icon": "🌏",
   "group": "出海贸易",
   "bucket": "海外渠道与投放",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "datamind",
   "name": "数据思维工",
   "icon": "📊",
   "group": "内容技能",
   "bucket": "数据与埋点",
   "family": "漫游型",
   "state_path": "/opt/learner_datamind/notes.md",
   "state_time": "2026-09-07 00:42",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_datamind",
   "dir": "/opt/learner_datamind",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 253,
   "notes_bytes": 26058,
   "bullets": 191,
   "sections": 31,
   "raw_files": 29,
   "logic_files": 29,
   "visited_lines": 40,
   "files_total": 61,
   "files_24h": 0,
   "dir_touched": 1789124599,
   "touched_24h": false,
   "last_mtime": 1788712943,
   "last_update": "2026-09-07 00:42",
   "age_days": 37.1,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1786,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Concept",
   "latest_when": "2026-09-07 00:42",
   "latest_url": "https://www.godic.net/mdicts/en/data",
   "page": "/learn/datamind.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.1 天前（>7 天）"
  },
  {
   "craft": "divine",
   "name": "命理测算工",
   "icon": "🔮",
   "group": "健康生活",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "eastwisdom",
   "name": "东方智慧产品化工",
   "icon": "🧘",
   "group": "未登记",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_eastwisdom/notes.md",
   "state_time": "2026-09-06 21:02",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_eastwisdom",
   "dir": "/opt/learner_eastwisdom",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 204,
   "notes_bytes": 24279,
   "bullets": 154,
   "sections": 25,
   "raw_files": 25,
   "logic_files": 25,
   "visited_lines": 40,
   "files_total": 53,
   "files_24h": 0,
   "dir_touched": 1789124599,
   "touched_24h": false,
   "last_mtime": 1788699751,
   "last_update": "2026-09-06 21:02",
   "age_days": 37.2,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1793,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Educational Psychology",
   "latest_when": "2026-09-06 15:14",
   "latest_url": "https://positivepsychology.com/twice-exceptional-students/?utm_source=rss&utm_medium=rss&utm_campaign=twice-exceptional-students",
   "page": "/learn/eastwisdom.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.2 天前（>7 天）"
  },
  {
   "craft": "ecommerce",
   "name": "独立站电商工",
   "icon": "🛒",
   "group": "出海贸易",
   "bucket": "海外渠道与投放",
   "family": "漫游型",
   "state_path": "/opt/learner_ecommerce/notes.md",
   "state_time": "2026-09-07 05:09",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_ecommerce",
   "dir": "/opt/learner_ecommerce",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 424,
   "notes_bytes": 53138,
   "bullets": 318,
   "sections": 53,
   "raw_files": 34,
   "logic_files": 34,
   "visited_lines": 70,
   "files_total": 71,
   "files_24h": 0,
   "dir_touched": 1789124639,
   "touched_24h": false,
   "last_mtime": 1788728967,
   "last_update": "2026-09-07 05:09",
   "age_days": 36.9,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1777,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "access_policy",
   "latest_when": "2026-09-07 05:09",
   "latest_url": "https://help.openai.com/en/articles/7947663-chatgpt-supported-countries",
   "page": "/learn/ecommerce.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.9 天前（>7 天）"
  },
  {
   "craft": "econ",
   "name": "经济学专家",
   "icon": "📊",
   "group": "商业结构",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_econ/notes.md",
   "state_time": "2026-09-04 19:51",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_econ",
   "dir": "/opt/learner_econ",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 16,
   "notes_bytes": 1692,
   "bullets": 12,
   "sections": 2,
   "raw_files": 3,
   "logic_files": 2,
   "visited_lines": 10,
   "files_total": 8,
   "files_24h": 0,
   "dir_touched": 1788862329,
   "touched_24h": false,
   "last_mtime": 1788522688,
   "last_update": "2026-09-04 19:51",
   "age_days": 39.3,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1892,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "economics",
   "latest_when": "2026-09-04 19:51",
   "latest_url": "https://www.economicprinciples.org/how-countries-go-broke",
   "page": "/learn/econ.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 39.3 天前（>7 天）"
  },
  {
   "craft": "emailpm",
   "name": "邮件私域工",
   "icon": "📧",
   "group": "营销推广",
   "bucket": "海外渠道与投放",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "english",
   "name": "英语老师",
   "icon": "🔤",
   "group": "学科老师",
   "bucket": "连环画与双语",
   "family": "漫游型",
   "state_path": "/opt/learner_english/notes.md",
   "state_time": "2026-10-08 03:17",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_english",
   "dir": "/opt/learner_english",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 248,
   "notes_bytes": 33272,
   "bullets": 186,
   "sections": 31,
   "raw_files": 31,
   "logic_files": 31,
   "visited_lines": 33,
   "files_total": 65,
   "files_24h": 0,
   "dir_touched": 1791400636,
   "touched_24h": false,
   "last_mtime": 1791400636,
   "last_update": "2026-10-08 03:17",
   "age_days": 6.0,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 286,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "词汇",
   "latest_when": "2026-10-08 03:17",
   "latest_url": "https://easyenglish.com/short-stories/a1/the-man-on-the-plane/",
   "page": "/learn/english.html",
   "has_page": true,
   "status": "停滞",
   "status_why": "近 24h 0 新增；最近更新 6.0 天前（还在名单，源暂无新料）"
  },
  {
   "craft": "englishwriting",
   "name": "英文写作工",
   "icon": "✒️",
   "group": "内容技能",
   "bucket": "连环画与双语",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "envdesign",
   "name": "环境艺术设计工",
   "icon": "🏞️",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_envdesign/notes.md",
   "state_time": "2026-09-07 00:54",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_envdesign",
   "dir": "/opt/learner_envdesign",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 88,
   "notes_bytes": 11290,
   "bullets": 66,
   "sections": 11,
   "raw_files": 13,
   "logic_files": 11,
   "visited_lines": 21,
   "files_total": 27,
   "files_24h": 0,
   "dir_touched": 1789124599,
   "touched_24h": false,
   "last_mtime": 1788713647,
   "last_update": "2026-09-07 00:54",
   "age_days": 37.1,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1786,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "期刊运营",
   "latest_when": "2026-09-07 00:54",
   "latest_url": "https://www.frontiersin.org/journals/environmental-science",
   "page": "/learn/envdesign.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.1 天前（>7 天）"
  },
  {
   "craft": "equity",
   "name": "股权设计工",
   "icon": "⚖️",
   "group": "商业结构",
   "bucket": "版权与合规",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "excel",
   "name": "Excel办公工",
   "icon": "📗",
   "group": "内容技能",
   "bucket": "数据与埋点",
   "family": "漫游型",
   "state_path": "/opt/learner_excel/notes.md",
   "state_time": "2026-09-07 13:03",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_excel",
   "dir": "/opt/learner_excel",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 176,
   "notes_bytes": 18330,
   "bullets": 132,
   "sections": 22,
   "raw_files": 21,
   "logic_files": 20,
   "visited_lines": 47,
   "files_total": 44,
   "files_24h": 0,
   "dir_touched": 1791384064,
   "touched_24h": false,
   "last_mtime": 1788757395,
   "last_update": "2026-09-07 13:03",
   "age_days": 36.6,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1761,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Excel Formulas",
   "latest_when": "2026-09-07 13:03",
   "latest_url": "https://www.w3schools.com/excel/excel_formulas.php",
   "page": "/learn/excel.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.6 天前（>7 天）"
  },
  {
   "craft": "fashion",
   "name": "服装设计工",
   "icon": "👗",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_fashion/notes.md",
   "state_time": "2026-09-05 23:45",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_fashion",
   "dir": "/opt/learner_fashion",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 259,
   "notes_bytes": 25005,
   "bullets": 195,
   "sections": 32,
   "raw_files": 34,
   "logic_files": 32,
   "visited_lines": 60,
   "files_total": 70,
   "files_24h": 0,
   "dir_touched": 1789215647,
   "touched_24h": false,
   "last_mtime": 1788623143,
   "last_update": "2026-09-05 23:45",
   "age_days": 38.1,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1836,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Fashion Design",
   "latest_when": "2026-09-05 23:45",
   "latest_url": "https://www.gooood.cn/type/fashion-design",
   "page": "/learn/fashion.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 38.1 天前（>7 天）"
  },
  {
   "craft": "fashion_merged_folkdress",
   "name": "fashion_merged_folkdress",
   "icon": "",
   "group": "未登记",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_fashion_merged_folkdress/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_fashion_merged_folkdress",
   "dir": "/opt/learner_fashion_merged_folkdress",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 3,
   "files_total": 2,
   "files_24h": 0,
   "dir_touched": 1788865426,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "fiction",
   "name": "小说写作工",
   "icon": "📖",
   "group": "内容技能",
   "bucket": "连环画与双语",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "financetax",
   "name": "财税合规工",
   "icon": "🧾",
   "group": "商业结构",
   "bucket": "版权与合规",
   "family": "漫游型",
   "state_path": "/opt/learner_financetax/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_financetax",
   "dir": "/opt/learner_financetax",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 1,
   "files_total": 2,
   "files_24h": 0,
   "dir_touched": 1789830259,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/financetax.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "folkdress",
   "name": "民族服饰文化工",
   "icon": "👘",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/folkdress.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "food",
   "name": "餐饮行业研究工",
   "icon": "🍜",
   "group": "商业结构",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/food.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "foreignb2b",
   "name": "外贸B2B工",
   "icon": "🌐",
   "group": "出海贸易",
   "bucket": "海外渠道与投放",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "freelance",
   "name": "自由职业工",
   "icon": "💼",
   "group": "内容技能",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "gamification",
   "name": "游戏化设计工",
   "icon": "🎮",
   "group": "教育成长",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "geography",
   "name": "地理老师",
   "icon": "🌍",
   "group": "学科老师",
   "bucket": "GEO 与地图",
   "family": "漫游型",
   "state_path": "/opt/learner_geography/notes.md",
   "state_time": "2026-09-03 21:04",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_geography",
   "dir": "/opt/learner_geography",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 48,
   "notes_bytes": 6167,
   "bullets": 36,
   "sections": 6,
   "raw_files": 6,
   "logic_files": 6,
   "visited_lines": 6,
   "files_total": 15,
   "files_24h": 0,
   "dir_touched": 1788440682,
   "touched_24h": false,
   "last_mtime": 1788440682,
   "last_update": "2026-09-03 21:04",
   "age_days": 40.2,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1937,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "地理知识",
   "latest_when": "2026-09-03 21:04",
   "latest_url": "https://www.ducksters.com/games/",
   "page": "/learn/geography.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "gongwen",
   "name": "公文写作工",
   "icon": "📝",
   "group": "内容技能",
   "bucket": "连环画与双语",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "graphic",
   "name": "平面设计工",
   "icon": "🖌️",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_graphic/notes.md",
   "state_time": "2026-09-07 06:35",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_graphic",
   "dir": "/opt/learner_graphic",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 216,
   "notes_bytes": 22637,
   "bullets": 162,
   "sections": 27,
   "raw_files": 28,
   "logic_files": 26,
   "visited_lines": 56,
   "files_total": 58,
   "files_24h": 0,
   "dir_touched": 1789124640,
   "touched_24h": false,
   "last_mtime": 1788734125,
   "last_update": "2026-09-07 06:35",
   "age_days": 36.8,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1774,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "exchange_rates",
   "latest_when": "2026-09-07 06:35",
   "latest_url": "https://www.ecb.europa.eu/stats/exchange_rates/html/index.en.html",
   "page": "/learn/graphic.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.8 天前（>7 天）"
  },
  {
   "craft": "health",
   "name": "健康研究工",
   "icon": "💊",
   "group": "健康生活",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "hiring",
   "name": "用人管理工",
   "icon": "👥",
   "group": "商业结构",
   "bucket": "版权与合规",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "history",
   "name": "历史老师",
   "icon": "🏛️",
   "group": "学科老师",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_history/notes.md",
   "state_time": "2026-09-03 21:01",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_history",
   "dir": "/opt/learner_history",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 48,
   "notes_bytes": 5502,
   "bullets": 36,
   "sections": 6,
   "raw_files": 6,
   "logic_files": 6,
   "visited_lines": 6,
   "files_total": 15,
   "files_24h": 0,
   "dir_touched": 1788440476,
   "touched_24h": false,
   "last_mtime": 1788440476,
   "last_update": "2026-09-03 21:01",
   "age_days": 40.2,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1937,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "数学",
   "latest_when": "2026-09-03 21:01",
   "latest_url": "https://www.ducksters.com/games/",
   "page": "/learn/history.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "illustration",
   "name": "插画设计工",
   "icon": "🎨",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "insurance",
   "name": "保险专家",
   "icon": "🛡️",
   "group": "健康生活",
   "bucket": "版权与合规",
   "family": "漫游型",
   "state_path": "/opt/learner_insurance/notes.md",
   "state_time": "2026-09-04 19:46",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_insurance",
   "dir": "/opt/learner_insurance",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 16,
   "notes_bytes": 1968,
   "bullets": 12,
   "sections": 2,
   "raw_files": 2,
   "logic_files": 2,
   "visited_lines": 4,
   "files_total": 7,
   "files_24h": 0,
   "dir_touched": 1788522400,
   "touched_24h": false,
   "last_mtime": 1788522400,
   "last_update": "2026-09-04 19:46",
   "age_days": 39.3,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1892,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "养老保险政策",
   "latest_when": "2026-09-04 19:46",
   "latest_url": "https://www.gov.cn/",
   "page": "/learn/insurance.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 39.3 天前（>7 天）"
  },
  {
   "craft": "interior",
   "name": "空间设计工",
   "icon": "🛋️",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "invest",
   "name": "投资理财工",
   "icon": "📈",
   "group": "商业结构",
   "bucket": "版权与合规",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "laofangu",
   "name": "老饭骨·大师菜学工",
   "icon": "👨‍🍳",
   "group": "老饭骨",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/laofangu.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "learn_manager_001",
   "name": "学习调度员",
   "icon": "🧠",
   "group": "管理",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "/opt/learner_learn_manager_001/notes.md",
   "state_time": "2026-09-05 12:43",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_learn_manager_001",
   "dir": "/opt/learner_learn_manager_001",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 116,
   "notes_bytes": 10263,
   "bullets": 88,
   "sections": 14,
   "raw_files": 13,
   "logic_files": 3,
   "visited_lines": 27,
   "files_total": 21,
   "files_24h": 0,
   "dir_touched": 1788868285,
   "touched_24h": false,
   "last_mtime": 1788583387,
   "last_update": "2026-09-05 12:43",
   "age_days": 38.6,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1858,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "网络学堂系统",
   "latest_when": "2026-09-05 12:43",
   "latest_url": "https://learn.tsinghua.edu.cn/f/wlxt/common/help",
   "page": "/learn/learn_manager_001.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 38.6 天前（>7 天）"
  },
  {
   "craft": "learnscience",
   "name": "学习科学研究工",
   "icon": "📚",
   "group": "教育成长",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "legalrisk",
   "name": "法律风控工",
   "icon": "⚖️",
   "group": "商业结构",
   "bucket": "版权与合规",
   "family": "漫游型",
   "state_path": "/opt/learner_legalrisk/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_legalrisk",
   "dir": "/opt/learner_legalrisk",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 8,
   "files_total": 2,
   "files_24h": 0,
   "dir_touched": 1789913003,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/legalrisk.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "livecom",
   "name": "直播电商工",
   "icon": "🛍️",
   "group": "其他",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "localbiz",
   "name": "实体店生意工",
   "icon": "🏪",
   "group": "商业结构",
   "bucket": "GEO 与地图",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "ma",
   "name": "马师傅",
   "icon": "🗣️",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "marketing",
   "name": "推广研究工",
   "icon": "📣",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "/opt/learner_marketing/notes.md",
   "state_time": "2026-09-13 23:19",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_marketing",
   "dir": "/opt/learner_marketing",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 567,
   "notes_bytes": 67557,
   "bullets": 425,
   "sections": 71,
   "raw_files": 0,
   "logic_files": 114,
   "visited_lines": 332,
   "files_total": 119,
   "files_24h": 0,
   "dir_touched": 1791391101,
   "touched_24h": false,
   "last_mtime": 1789312741,
   "last_update": "2026-09-13 23:19",
   "age_days": 30.1,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1453,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Marketing Strategy",
   "latest_when": "2026-09-13 23:19",
   "latest_url": "https://www.toolshero.com/marketing/marketing-plan/",
   "page": "/learn/marketing.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 30.1 天前（>7 天）"
  },
  {
   "craft": "math",
   "name": "数学老师",
   "icon": "🔢",
   "group": "学科老师",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "/opt/learner_math/notes.md",
   "state_time": "2026-10-13 16:35",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_math",
   "dir": "/opt/learner_math",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 96,
   "notes_bytes": 12381,
   "bullets": 72,
   "sections": 12,
   "raw_files": 13,
   "logic_files": 12,
   "visited_lines": 12,
   "files_total": 28,
   "files_24h": 4,
   "dir_touched": 1791880558,
   "touched_24h": true,
   "last_mtime": 1791880558,
   "last_update": "2026-10-13 16:35",
   "age_days": 0.4,
   "new_24h": 6,
   "delta_round": 0,
   "zero_rounds": 19,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "指数与对数",
   "latest_when": "2026-10-13 16:35",
   "latest_url": "https://betterexplained.com/articles/",
   "page": "/learn/math.html",
   "has_page": true,
   "status": "在长",
   "status_why": "近 24h 新增 6 条（notes.md 段落日期实测）"
  },
  {
   "craft": "monetize",
   "name": "变现策略研究工",
   "icon": "💎",
   "group": "赚钱研究",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "moneymind",
   "name": "赚钱方法研究工",
   "icon": "💵",
   "group": "赚钱研究",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_moneymind/notes.md",
   "state_time": "2026-09-07 01:48",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_moneymind",
   "dir": "/opt/learner_moneymind",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 334,
   "notes_bytes": 39162,
   "bullets": 250,
   "sections": 42,
   "raw_files": 32,
   "logic_files": 31,
   "visited_lines": 67,
   "files_total": 66,
   "files_24h": 0,
   "dir_touched": 1789119544,
   "touched_24h": false,
   "last_mtime": 1788716934,
   "last_update": "2026-09-07 01:48",
   "age_days": 37.0,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1784,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "货币汇率",
   "latest_when": "2026-09-07 01:48",
   "latest_url": "https://www.msn.cn/zh-cn/money/tools/currencyconverter",
   "page": "/learn/moneymind.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.0 天前（>7 天）"
  },
  {
   "craft": "motion",
   "name": "动效设计工",
   "icon": "🌀",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_motion/notes.md",
   "state_time": "2026-09-07 01:36",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_motion",
   "dir": "/opt/learner_motion",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 399,
   "notes_bytes": 42993,
   "bullets": 303,
   "sections": 48,
   "raw_files": 49,
   "logic_files": 48,
   "visited_lines": 146,
   "files_total": 100,
   "files_24h": 0,
   "dir_touched": 1790876515,
   "touched_24h": false,
   "last_mtime": 1788716204,
   "last_update": "2026-09-07 01:36",
   "age_days": 37.0,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1784,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "资源分类",
   "latest_when": "2026-09-07 01:36",
   "latest_url": "https://so.youku.com/search/q_%E8%8A%B1%E9%83%BD%E5%BD%B1%E8%A7%86%E8%8A%B1%E9%83%BD%E8%B5%84%E6%BA%90",
   "page": "/learn/motion.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.0 天前（>7 天）"
  },
  {
   "craft": "needsminer",
   "name": "需求挖掘工",
   "icon": "🔎",
   "group": "赚钱研究",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_needsminer/notes.md",
   "state_time": "2026-09-06 09:27",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_needsminer",
   "dir": "/opt/learner_needsminer",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 128,
   "notes_bytes": 15768,
   "bullets": 96,
   "sections": 16,
   "raw_files": 16,
   "logic_files": 16,
   "visited_lines": 25,
   "files_total": 35,
   "files_24h": 0,
   "dir_touched": 1789124640,
   "touched_24h": false,
   "last_mtime": 1788658049,
   "last_update": "2026-09-06 09:27",
   "age_days": 37.7,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1817,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Business English",
   "latest_when": "2026-09-06 09:27",
   "latest_url": "https://nativecamp.net/zh-tw/blog/30166/",
   "page": "/learn/needsminer.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.7 天前（>7 天）"
  },
  {
   "craft": "newbrand",
   "name": "新消费工",
   "icon": "☕",
   "group": "其他",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "packaging",
   "name": "包装设计工",
   "icon": "📦",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "pet",
   "name": "宠物经济工",
   "icon": "🐾",
   "group": "健康生活",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "photoedit",
   "name": "修图美化工",
   "icon": "📸",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "photoid",
   "name": "证件照美学工",
   "icon": "📇",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_photoid/notes.md",
   "state_time": "2026-09-07 08:18",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_photoid",
   "dir": "/opt/learner_photoid",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 830,
   "notes_bytes": 108036,
   "bullets": 622,
   "sections": 104,
   "raw_files": 110,
   "logic_files": 104,
   "visited_lines": 771,
   "files_total": 217,
   "files_24h": 0,
   "dir_touched": 1790935551,
   "touched_24h": false,
   "last_mtime": 1788740312,
   "last_update": "2026-09-07 08:18",
   "age_days": 36.8,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1771,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "公司简介",
   "latest_when": "2026-09-07 08:18",
   "latest_url": "https://www.portrait.com/",
   "page": "/learn/photoid.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.8 天前（>7 天）"
  },
  {
   "craft": "photovideo",
   "name": "摄影摄像工",
   "icon": "📸",
   "group": "其他",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "physics",
   "name": "物理老师",
   "icon": "⚡",
   "group": "学科老师",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_physics/notes.md",
   "state_time": "2026-09-03 20:52",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_physics",
   "dir": "/opt/learner_physics",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 48,
   "notes_bytes": 6205,
   "bullets": 36,
   "sections": 6,
   "raw_files": 6,
   "logic_files": 6,
   "visited_lines": 7,
   "files_total": 15,
   "files_24h": 0,
   "dir_touched": 1788439967,
   "touched_24h": false,
   "last_mtime": 1788439965,
   "last_update": "2026-09-03 20:52",
   "age_days": 40.2,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1938,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "物理概念",
   "latest_when": "2026-09-03 20:52",
   "latest_url": "https://www.physicsclassroom.com/recent-additions",
   "page": "/learn/physics.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "politics",
   "name": "政治老师",
   "icon": "⚖️",
   "group": "学科老师",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_politics/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_politics",
   "dir": "/opt/learner_politics",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 1,
   "files_total": 2,
   "files_24h": 0,
   "dir_touched": 1788441868,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/politics.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "ppt",
   "name": "PPT演示工",
   "icon": "📊",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "resume",
   "name": "简历面试工",
   "icon": "📄",
   "group": "未登记",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_resume/notes.md",
   "state_time": "2026-09-06 01:32",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_resume",
   "dir": "/opt/learner_resume",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 152,
   "notes_bytes": 17082,
   "bullets": 114,
   "sections": 19,
   "raw_files": 19,
   "logic_files": 19,
   "visited_lines": 33,
   "files_total": 41,
   "files_24h": 1,
   "dir_touched": 1791904611,
   "touched_24h": true,
   "last_mtime": 1788629521,
   "last_update": "2026-09-06 01:32",
   "age_days": 38.0,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1832,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "简历模板",
   "latest_when": "2026-09-06 01:32",
   "latest_url": "https://resumegenius.com/resume-templates",
   "page": "/learn/resume.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 38.0 天前（>7 天）"
  },
  {
   "craft": "retired",
   "name": "retired",
   "icon": "",
   "group": "未登记",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_retired/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_retired",
   "dir": "/opt/learner_retired",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 90,
   "files_24h": 0,
   "dir_touched": 1789132947,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "science",
   "name": "科学老师",
   "icon": "🔬",
   "group": "学科老师",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_science/notes.md",
   "state_time": "2026-09-03 20:48",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_science",
   "dir": "/opt/learner_science",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 48,
   "notes_bytes": 5703,
   "bullets": 36,
   "sections": 6,
   "raw_files": 6,
   "logic_files": 6,
   "visited_lines": 7,
   "files_total": 15,
   "files_24h": 0,
   "dir_touched": 1788439731,
   "touched_24h": false,
   "last_mtime": 1788439731,
   "last_update": "2026-09-03 20:48",
   "age_days": 40.2,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1938,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "数学",
   "latest_when": "2026-09-03 20:48",
   "latest_url": "https://www.ducksters.com/games/",
   "page": "/learn/science.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 40.2 天前（>7 天）"
  },
  {
   "craft": "seasia",
   "name": "东南亚出海工",
   "icon": "🌏",
   "group": "出海贸易",
   "bucket": "海外渠道与投放",
   "family": "漫游型",
   "state_path": "/opt/learner_seasia/notes.md",
   "state_time": "2026-09-06 12:34",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_seasia",
   "dir": "/opt/learner_seasia",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 57,
   "notes_bytes": 4620,
   "bullets": 43,
   "sections": 7,
   "raw_files": 8,
   "logic_files": 7,
   "visited_lines": 17,
   "files_total": 18,
   "files_24h": 0,
   "dir_touched": 1789124599,
   "touched_24h": false,
   "last_mtime": 1788669298,
   "last_update": "2026-09-06 12:34",
   "age_days": 37.6,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1810,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "地理",
   "latest_when": "2026-09-06 12:34",
   "latest_url": "https://m.baike.com/wikiid/7288307150387183631",
   "page": "/learn/seasia.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.6 天前（>7 天）"
  },
  {
   "craft": "secondbrain",
   "name": "第二大脑工",
   "icon": "🧠",
   "group": "教育成长",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_secondbrain/notes.md",
   "state_time": "2026-09-07 08:57",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_secondbrain",
   "dir": "/opt/learner_secondbrain",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 167,
   "notes_bytes": 19983,
   "bullets": 125,
   "sections": 21,
   "raw_files": 21,
   "logic_files": 21,
   "visited_lines": 38,
   "files_total": 45,
   "files_24h": 0,
   "dir_touched": 1790086233,
   "touched_24h": false,
   "last_mtime": 1788742632,
   "last_update": "2026-09-07 08:57",
   "age_days": 36.7,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1770,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Personal Knowledge Management",
   "latest_when": "2026-09-07 08:57",
   "latest_url": "https://www.buildingasecondbrain.com/app",
   "page": "/learn/secondbrain.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.7 天前（>7 天）"
  },
  {
   "craft": "sethgodin",
   "name": "营销大师分身工",
   "icon": "🧠",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "/opt/learner_sethgodin/notes.md",
   "state_time": "2026-09-07 01:54",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_sethgodin",
   "dir": "/opt/learner_sethgodin",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 646,
   "notes_bytes": 68244,
   "bullets": 484,
   "sections": 81,
   "raw_files": 120,
   "logic_files": 82,
   "visited_lines": 228,
   "files_total": 206,
   "files_24h": 0,
   "dir_touched": 1790409120,
   "touched_24h": false,
   "last_mtime": 1788717277,
   "last_update": "2026-09-07 01:54",
   "age_days": 37.0,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1784,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "SSL证书安装",
   "latest_when": "2026-09-07 01:54",
   "latest_url": "https://cloud.tencent.com/developer/article/2643968",
   "page": "/learn/sethgodin.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.0 天前（>7 天）"
  },
  {
   "craft": "shu",
   "name": "舒老师",
   "icon": "🎤",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "socmed",
   "name": "社媒运营工",
   "icon": "📱",
   "group": "营销推广",
   "bucket": "海外渠道与投放",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "speech",
   "name": "演讲表达工",
   "icon": "🗣️",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "src_backup_20260911_20260911_173903",
   "name": "src_backup_20260911_20260911_173903",
   "icon": "",
   "group": "未登记",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_src_backup_20260911_20260911_173903/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_src_backup_20260911_20260911_173903",
   "dir": "/opt/learner_src_backup_20260911_20260911_173903",
   "has_dir": true,
   "has_notes": false,
   "backup": true,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 78,
   "files_24h": 0,
   "dir_touched": 1789119544,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "读不到 notes.md（备份目录）"
  },
  {
   "craft": "startup",
   "name": "创业思维工",
   "icon": "🚀",
   "group": "商业结构",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_startup/notes.md",
   "state_time": "2026-09-07 04:55",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_startup",
   "dir": "/opt/learner_startup",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 176,
   "notes_bytes": 21969,
   "bullets": 132,
   "sections": 22,
   "raw_files": 19,
   "logic_files": 18,
   "visited_lines": 31,
   "files_total": 40,
   "files_24h": 0,
   "dir_touched": 1789124640,
   "touched_24h": false,
   "last_mtime": 1788728121,
   "last_update": "2026-09-07 04:55",
   "age_days": 36.9,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1778,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "General Definition",
   "latest_when": "2026-09-07 04:55",
   "latest_url": "https://www.koolearn.com/dict/wd_141840.html",
   "page": "/learn/startup.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.9 天前（>7 天）"
  },
  {
   "craft": "supplychain",
   "name": "供应链工",
   "icon": "📦",
   "group": "出海贸易",
   "bucket": "海外渠道与投放",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "talk",
   "name": "话术沟通工",
   "icon": "💬",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "tasks",
   "name": "tasks",
   "icon": "",
   "group": "未登记",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_tasks/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_tasks",
   "dir": "/opt/learner_tasks",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 23,
   "files_24h": 4,
   "dir_touched": 1791909617,
   "touched_24h": true,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 465,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "tcm",
   "name": "中医养生工",
   "icon": "🀄",
   "group": "健康生活",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "缺",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "缺",
   "dir": "",
   "has_dir": false,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 0,
   "visited_lines": 0,
   "files_total": 0,
   "files_24h": 0,
   "dir_touched": 0,
   "touched_24h": false,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": null,
   "has_page": false,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "travel",
   "name": "国外旅游研究工",
   "icon": "✈️",
   "group": "出海贸易",
   "bucket": "海外渠道与投放",
   "family": "漫游型",
   "state_path": "/opt/learner_travel/notes.md",
   "state_time": "2026-09-07 03:22",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_travel",
   "dir": "/opt/learner_travel",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 378,
   "notes_bytes": 54764,
   "bullets": 283,
   "sections": 47,
   "raw_files": 0,
   "logic_files": 69,
   "visited_lines": 208,
   "files_total": 72,
   "files_24h": 1,
   "dir_touched": 1791905864,
   "touched_24h": true,
   "last_mtime": 1788722528,
   "last_update": "2026-09-07 03:22",
   "age_days": 37.0,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1781,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "旅游产品与服务",
   "latest_when": "2026-09-07 03:22",
   "latest_url": "https://www.ly.com/",
   "page": "/learn/travel.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.0 天前（>7 天）"
  },
  {
   "craft": "uiux",
   "name": "UI/UX设计工",
   "icon": "🖥️",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_uiux/notes.md",
   "state_time": "2026-09-06 14:53",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_uiux",
   "dir": "/opt/learner_uiux",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 421,
   "notes_bytes": 41040,
   "bullets": 317,
   "sections": 52,
   "raw_files": 53,
   "logic_files": 51,
   "visited_lines": 80,
   "files_total": 108,
   "files_24h": 0,
   "dir_touched": 1788737545,
   "touched_24h": false,
   "last_mtime": 1788677628,
   "last_update": "2026-09-06 14:53",
   "age_days": 37.5,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1806,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "Travel and Tourism",
   "latest_when": "2026-09-06 14:53",
   "latest_url": "https://www.visitflorida.com/beaches/popular/daytona-beach/",
   "page": "/learn/uiux.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.5 天前（>7 天）"
  },
  {
   "craft": "webdeploy_agent_01",
   "name": "网页部署工",
   "icon": "🌐",
   "group": "设计类",
   "bucket": "数据与埋点",
   "family": "漫游型",
   "state_path": "/opt/learner_webdeploy_agent_01/notes.md",
   "state_time": "2026-10-07 11:03",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_webdeploy_agent_01",
   "dir": "/opt/learner_webdeploy_agent_01",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 288,
   "notes_bytes": 35320,
   "bullets": 216,
   "sections": 36,
   "raw_files": 46,
   "logic_files": 36,
   "visited_lines": 51,
   "files_total": 88,
   "files_24h": 0,
   "dir_touched": 1791342235,
   "touched_24h": false,
   "last_mtime": 1791342235,
   "last_update": "2026-10-07 11:03",
   "age_days": 6.6,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 318,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "cgroup_management",
   "latest_when": "2026-10-07 11:03",
   "latest_url": "https://kubernetes.io/blog/2026/10/06/kubernetes-cgroups-v2-shift/",
   "page": "/learn/webdeploy_agent_01.html",
   "has_page": true,
   "status": "停滞",
   "status_why": "近 24h 0 新增；最近更新 6.6 天前（还在名单，源暂无新料）"
  },
  {
   "craft": "webdesign",
   "name": "网页设计工",
   "icon": "🎨",
   "group": "设计类",
   "bucket": "出图能力",
   "family": "漫游型",
   "state_path": "/opt/learner_webdesign/notes.md",
   "state_time": "2026-10-06 21:11",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_webdesign",
   "dir": "/opt/learner_webdesign",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 702,
   "notes_bytes": 77411,
   "bullets": 526,
   "sections": 88,
   "raw_files": 0,
   "logic_files": 116,
   "visited_lines": 250,
   "files_total": 131,
   "files_24h": 0,
   "dir_touched": 1791292284,
   "touched_24h": false,
   "last_mtime": 1791292284,
   "last_update": "2026-10-06 21:11",
   "age_days": 7.2,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 346,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "UI Design",
   "latest_when": "2026-10-06 21:11",
   "latest_url": "https://smashingmagazine.com/2026/10/how-name-things/",
   "page": "/learn/webdesign.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 7.2 天前（>7 天）"
  },
  {
   "craft": "workflow_agent_001",
   "name": "工作流工",
   "icon": "🔧",
   "group": "商业结构",
   "bucket": "数据与埋点",
   "family": "漫游型",
   "state_path": "/opt/learner_workflow_agent_001/notes.md",
   "state_time": "2026-09-07 06:27",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_workflow_agent_001",
   "dir": "/opt/learner_workflow_agent_001",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 486,
   "notes_bytes": 55381,
   "bullets": 366,
   "sections": 60,
   "raw_files": 59,
   "logic_files": 58,
   "visited_lines": 128,
   "files_total": 128,
   "files_24h": 0,
   "dir_touched": 1791292159,
   "touched_24h": false,
   "last_mtime": 1788733667,
   "last_update": "2026-09-07 06:27",
   "age_days": 36.8,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1775,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "微信网页版登录机制",
   "latest_when": "2026-09-07 06:27",
   "latest_url": "https://wx.qq.com/",
   "page": "/learn/workflow_agent_001.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 36.8 天前（>7 天）"
  },
  {
   "craft": "woshipm",
   "name": "人人都是产品经理",
   "icon": "📖",
   "group": "其他",
   "bucket": "其它",
   "family": "漫游型",
   "state_path": "/opt/learner_woshipm/notes.md",
   "state_time": "缺",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_woshipm",
   "dir": "/opt/learner_woshipm",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "notes_lines": 0,
   "notes_bytes": 0,
   "bullets": 0,
   "sections": 0,
   "raw_files": 0,
   "logic_files": 92,
   "visited_lines": 204,
   "files_total": 95,
   "files_24h": 2,
   "dir_touched": 1791876947,
   "touched_24h": true,
   "last_mtime": 0,
   "last_update": "",
   "age_days": null,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1051,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "",
   "latest_when": "",
   "latest_url": "",
   "page": "/learn/woshipm.html",
   "has_page": true,
   "status": "睡",
   "status_why": "无 notes.md —— 源已学完/未开工"
  },
  {
   "craft": "zhang",
   "name": "卖点张老师",
   "icon": "💡",
   "group": "营销推广",
   "bucket": "广告与卖点",
   "family": "漫游型",
   "state_path": "/opt/learner_zhang/notes.md",
   "state_time": "2026-09-06 19:57",
   "schedule": "由 learn-center 统一调度（无独立 cron）",
   "schedule_src": "crontab -l 里没有 /opt/learner_<名> 的行",
   "out_dir": "/opt/learner_zhang",
   "dir": "/opt/learner_zhang",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "notes_lines": 32,
   "notes_bytes": 5310,
   "bullets": 24,
   "sections": 4,
   "raw_files": 4,
   "logic_files": 4,
   "visited_lines": 5,
   "files_total": 12,
   "files_24h": 0,
   "dir_touched": 1789124599,
   "touched_24h": false,
   "last_mtime": 1788695831,
   "last_update": "2026-09-06 19:57",
   "age_days": 37.3,
   "new_24h": 0,
   "delta_round": 0,
   "zero_rounds": 1796,
   "zero_rounds_src": "本采集器与上轮快照对比",
   "latest_topic": "基础科学",
   "latest_when": "2026-09-06 19:57",
   "latest_url": "https://cnki.com.cn/",
   "page": "/learn/zhang.html",
   "has_page": true,
   "status": "睡",
   "status_why": "源已学完/无新增：最近更新 37.3 天前（>7 天）"
  }
 ],
 "projects": [
  {
   "craft": "space_design",
   "name": "空间设计",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/space_design",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "focus": true,
   "state_path": "/opt/devbot/projects/space_design/state.json",
   "state_time": "2026-10-13 06:16",
   "state_mtime": 1791843363,
   "log_path": "/var/log/space_design.log",
   "last_run": "[06:40:33] ✅ 本轮完成",
   "last_run_ok": true,
   "schedule": "15 3 */2 * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/space_design 那一行",
   "out_dir": "/opt/devbot/learned/space_design",
   "out_how": "learned/<名> 直命中",
   "out_files": 602,
   "out_files_24h": 505,
   "out_newest": "2026-10-13 06:40",
   "out_newest_path": "/opt/devbot/learned/space_design/space_design.tar.gz",
   "new_24h": 505,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791844833,
   "last_update": "2026-10-13 06:40",
   "age_days": 0.8,
   "files_total": 106,
   "files_24h": 1,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "[06:40:33] ✅ 本轮完成",
   "status": "在长",
   "status_why": "近 24h 有 505 个产出文件；state.json 今天也动过"
  },
  {
   "craft": "na_youth",
   "name": "北美年轻用户",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/na_youth",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "focus": true,
   "state_path": "/opt/devbot/projects/na_youth/state.json",
   "state_time": "2026-10-13 04:46",
   "state_mtime": 1791837965,
   "log_path": "/var/log/na_youth.log",
   "last_run": "[04:47:53] ✅ 本轮完成",
   "last_run_ok": true,
   "schedule": "50 3 */2 * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/na_youth 那一行",
   "out_dir": "/opt/devbot/learned/na_youth",
   "out_how": "learned/<名> 直命中",
   "out_files": 146,
   "out_files_24h": 107,
   "out_newest": "2026-10-13 04:47",
   "out_newest_path": "/opt/devbot/learned/na_youth/na_youth.tar.gz",
   "new_24h": 107,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791838073,
   "last_update": "2026-10-13 04:47",
   "age_days": 0.9,
   "files_total": 78,
   "files_24h": 1,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "[04:47:53] ✅ 本轮完成",
   "status": "在长",
   "status_why": "近 24h 有 107 个产出文件；state.json 今天也动过"
  },
  {
   "craft": "competition_math",
   "name": "竞赛数学",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/competition_math",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "focus": true,
   "state_path": "/opt/devbot/projects/competition_math/state.json",
   "state_time": "2026-10-13 03:01",
   "state_mtime": 1791831682,
   "log_path": "/var/log/competition_math.log",
   "last_run": "[03:04:11] ✅ 本轮完成",
   "last_run_ok": true,
   "schedule": "45 2 */2 * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/competition_math 那一行",
   "out_dir": "/opt/devbot/learned/competition_math",
   "out_how": "learned/<名> 直命中",
   "out_files": 60,
   "out_files_24h": 59,
   "out_newest": "2026-10-13 03:04",
   "out_newest_path": "/opt/devbot/learned/competition_math/competition_math.tar.gz",
   "new_24h": 59,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791831851,
   "last_update": "2026-10-13 03:04",
   "age_days": 1.0,
   "files_total": 12,
   "files_24h": 1,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "[03:04:11] ✅ 本轮完成",
   "status": "在长",
   "status_why": "近 24h 有 59 个产出文件；state.json 今天也动过"
  },
  {
   "craft": "econ_agent",
   "name": "经济杠杆",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/econ_agent",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "focus": true,
   "state_path": "/opt/devbot/projects/econ_agent/state.json",
   "state_time": "2026-09-15 22:23",
   "state_mtime": 1789482230,
   "log_path": "缺",
   "last_run": "缺",
   "last_run_ok": false,
   "schedule": "无独立 cron",
   "schedule_src": "crontab 里没有这个项目的行",
   "out_dir": "/opt/devbot/learned/econ_economics",
   "out_how": "learned/econ_economics 前缀匹配（econ）",
   "out_files": 74,
   "out_files_24h": 0,
   "out_newest": "2026-09-15 22:34",
   "out_newest_path": "/opt/devbot/learned/econ_economics/econ_economics.tar.gz",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1789553707,
   "last_update": "2026-09-16 18:15",
   "age_days": 27.3,
   "files_total": 9,
   "files_24h": 0,
   "touched_24h": false,
   "page": null,
   "has_page": false,
   "latest_topic": "缺",
   "status": "睡",
   "status_why": "源已学完/无新增：最近动作 27.3 天前（>7 天）"
  },
  {
   "craft": "cost_sentinel",
   "name": "成本哨兵",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/cost_sentinel",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "focus": false,
   "state_path": "缺",
   "state_time": "缺",
   "state_mtime": 0,
   "log_path": "/var/log/cost_sentinel.log",
   "last_run": "✅ 成本哨兵流水线完成 (只报不改)",
   "last_run_ok": true,
   "schedule": "50 23 * * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/cost_sentinel 那一行",
   "out_dir": "/opt/devbot/projects/cost_sentinel/reports",
   "out_how": "项目自己的 reports/",
   "out_files": 39,
   "out_files_24h": 1,
   "out_newest": "2026-10-13 23:50",
   "out_newest_path": "/opt/devbot/projects/cost_sentinel/reports/2026-10-13.md",
   "new_24h": 1,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791906604,
   "last_update": "2026-10-13 23:50",
   "age_days": 0.1,
   "files_total": 51,
   "files_24h": 2,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "✅ 成本哨兵流水线完成 (只报不改)",
   "status": "在长",
   "status_why": "近 24h 有 1 个产出文件"
  },
  {
   "craft": "color_palette",
   "name": "高级配色",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/color_palette",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "focus": false,
   "state_path": "/opt/devbot/projects/color_palette/state.json",
   "state_time": "2026-10-13 03:56",
   "state_mtime": 1791834966,
   "log_path": "/var/log/color_palette.log",
   "last_run": "三件套数: 6",
   "last_run_ok": false,
   "schedule": "35 3 */2 * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/color_palette 那一行",
   "out_dir": "/opt/devbot/learned/color_palette",
   "out_how": "learned/<名> 直命中",
   "out_files": 90,
   "out_files_24h": 73,
   "out_newest": "2026-10-13 04:08",
   "out_newest_path": "/opt/devbot/learned/color_palette/PROVENANCE.md",
   "new_24h": 73,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791835685,
   "last_update": "2026-10-13 04:08",
   "age_days": 0.9,
   "files_total": 9,
   "files_24h": 1,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "三件套数: 6",
   "status": "在长",
   "status_why": "近 24h 有 73 个产出文件；state.json 今天也动过"
  },
  {
   "craft": "web_design_agent",
   "name": "网页设计",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/web_design_agent",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "focus": false,
   "state_path": "/opt/devbot/projects/web_design_agent/state.json",
   "state_time": "2026-10-13 02:36",
   "state_mtime": 1791830197,
   "log_path": "/var/log/web_design_agent.log",
   "last_run": "[02:37:23] ✅ 本轮完成",
   "last_run_ok": true,
   "schedule": "30 2 */2 * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/web_design_agent 那一行",
   "out_dir": "/opt/devbot/learned/web_design",
   "out_how": "learned/<名去_agent> 命中",
   "out_files": 30,
   "out_files_24h": 25,
   "out_newest": "2026-10-13 02:37",
   "out_newest_path": "/opt/devbot/learned/web_design/web_design.tar.gz",
   "new_24h": 25,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791830243,
   "last_update": "2026-10-13 02:37",
   "age_days": 1.0,
   "files_total": 12,
   "files_24h": 1,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "[02:37:23] ✅ 本轮完成",
   "status": "在长",
   "status_why": "近 24h 有 25 个产出文件；state.json 今天也动过"
  },
  {
   "craft": "legion_command",
   "name": "军团指挥站",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/legion_command",
   "has_dir": true,
   "has_notes": true,
   "backup": false,
   "focus": false,
   "state_path": "/opt/devbot/projects/legion_command/hub/data/state.json",
   "state_time": "2026-09-21 09:20",
   "state_mtime": 1789953600,
   "log_path": "/opt/devbot/projects/legion_command/logs/agent-001.log",
   "last_run": "[02:29:57][ERR][agent-001] 定时备份失败: 源目录不存在或不是目录: /tmp/legion_",
   "last_run_ok": false,
   "schedule": "无独立 cron",
   "schedule_src": "crontab 里没有这个项目的行",
   "out_dir": "缺",
   "out_how": "缺",
   "out_files": 0,
   "out_files_24h": 0,
   "out_newest": "缺",
   "out_newest_path": "",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791916197,
   "last_update": "2026-10-14 02:29",
   "age_days": 0.0,
   "files_total": 986,
   "files_24h": 1,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "[02:29:57][ERR][agent-001] 定时备份失败: 源目录不存",
   "status": "停滞",
   "status_why": "近 24h 无新产出；最近动作 0.0 天前"
  },
  {
   "craft": "foreign_search",
   "name": "国外资讯搜索",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/foreign_search",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "focus": false,
   "state_path": "缺",
   "state_time": "缺",
   "state_mtime": 0,
   "log_path": "/opt/devbot/projects/foreign_search/cron.log",
   "last_run": "============================================================",
   "last_run_ok": false,
   "schedule": "50 2 * * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/foreign_search 那一行",
   "out_dir": "缺",
   "out_how": "缺",
   "out_files": 0,
   "out_files_24h": 0,
   "out_newest": "缺",
   "out_newest_path": "",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791831037,
   "last_update": "2026-10-13 02:50",
   "age_days": 1.0,
   "files_total": 52,
   "files_24h": 3,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "========================================",
   "status": "停滞",
   "status_why": "近 24h 无新产出；最近动作 1.0 天前"
  },
  {
   "craft": "overseas_tracking",
   "name": "国外信息追踪",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/overseas_tracking",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "focus": false,
   "state_path": "缺",
   "state_time": "缺",
   "state_mtime": 0,
   "log_path": "/opt/devbot/projects/overseas_tracking/logs/cron.log",
   "last_run": "[2026-10-13 02:40:55] run_all exit=0",
   "last_run_ok": false,
   "schedule": "40 2 * * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/overseas_tracking 那一行",
   "out_dir": "缺",
   "out_how": "缺",
   "out_files": 0,
   "out_files_24h": 0,
   "out_newest": "缺",
   "out_newest_path": "",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1791830455,
   "last_update": "2026-10-13 02:40",
   "age_days": 1.0,
   "files_total": 14,
   "files_24h": 5,
   "touched_24h": true,
   "page": null,
   "has_page": false,
   "latest_topic": "[2026-10-13 02:40:55] run_all exit=0",
   "status": "停滞",
   "status_why": "近 24h 无新产出；最近动作 1.0 天前"
  },
  {
   "craft": "city_opportunity_map",
   "name": "中国城市机会地图",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/city_opportunity_map",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "focus": false,
   "state_path": "缺",
   "state_time": "缺",
   "state_mtime": 0,
   "log_path": "缺",
   "last_run": "缺",
   "last_run_ok": false,
   "schedule": "50 4 * * *",
   "schedule_src": "crontab -l（root）里 cd /opt/devbot/projects/city_opportunity_map 那一行",
   "out_dir": "/opt/devbot/projects/city_opportunity_map/data",
   "out_how": "项目自己的 data/",
   "out_files": 2,
   "out_files_24h": 0,
   "out_newest": "2026-08-31 09:21",
   "out_newest_path": "/opt/devbot/projects/city_opportunity_map/data/province_northeast.py",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1790141351,
   "last_update": "2026-09-23 13:29",
   "age_days": 20.5,
   "files_total": 19,
   "files_24h": 0,
   "touched_24h": false,
   "page": null,
   "has_page": false,
   "latest_topic": "缺",
   "status": "睡",
   "status_why": "源已学完/无新增：最近动作 20.5 天前（>7 天）"
  },
  {
   "craft": "space_design.bak-retro2-20260918_080400",
   "name": "space_design.bak-retro2-20260918_080400",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/space_design.bak-retro2-20260918_080400",
   "has_dir": true,
   "has_notes": true,
   "backup": true,
   "focus": false,
   "state_path": "/opt/devbot/projects/space_design.bak-retro2-20260918_080400/state.json",
   "state_time": "2026-09-18 07:14",
   "state_mtime": 1789686887,
   "log_path": "/opt/devbot/projects/space_design.bak-retro2-20260918_080400/b_finalize.log",
   "last_run": "B_FINALIZE_DONE",
   "last_run_ok": false,
   "schedule": "无独立 cron",
   "schedule_src": "crontab 里没有这个项目的行",
   "out_dir": "/opt/devbot/learned/space_design.bak-retro2-20260918_080400",
   "out_how": "learned/<名> 直命中",
   "out_files": 497,
   "out_files_24h": 0,
   "out_newest": "2026-09-18 07:39",
   "out_newest_path": "/opt/devbot/learned/space_design.bak-retro2-20260918_080400/space_design.tar.gz",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1789688390,
   "last_update": "2026-09-18 07:39",
   "age_days": 25.8,
   "files_total": 0,
   "files_24h": 0,
   "touched_24h": false,
   "page": null,
   "has_page": false,
   "latest_topic": "B_FINALIZE_DONE",
   "status": "睡",
   "status_why": "备份目录（不进生产计数）"
  },
  {
   "craft": "pta",
   "name": "产品思维算法 PTA",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/pta",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "focus": false,
   "state_path": "缺",
   "state_time": "缺",
   "state_mtime": 0,
   "log_path": "缺",
   "last_run": "缺",
   "last_run_ok": false,
   "schedule": "无独立 cron",
   "schedule_src": "crontab 里没有这个项目的行",
   "out_dir": "缺",
   "out_how": "缺",
   "out_files": 0,
   "out_files_24h": 0,
   "out_newest": "缺",
   "out_newest_path": "",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1788569342,
   "last_update": "2026-09-05 08:49",
   "age_days": 38.7,
   "files_total": 3,
   "files_24h": 0,
   "touched_24h": false,
   "page": null,
   "has_page": false,
   "latest_topic": "缺",
   "status": "睡",
   "status_why": "源已学完/无新增：最近动作 38.7 天前（>7 天）"
  },
  {
   "craft": "fengyu_judger",
   "name": "风语判断器",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/fengyu_judger",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "focus": false,
   "state_path": "缺",
   "state_time": "缺",
   "state_mtime": 0,
   "log_path": "缺",
   "last_run": "缺",
   "last_run_ok": false,
   "schedule": "无独立 cron",
   "schedule_src": "crontab 里没有这个项目的行",
   "out_dir": "缺",
   "out_how": "缺",
   "out_files": 0,
   "out_files_24h": 0,
   "out_newest": "缺",
   "out_newest_path": "",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1788516348,
   "last_update": "2026-09-04 18:05",
   "age_days": 39.4,
   "files_total": 12,
   "files_24h": 0,
   "touched_24h": false,
   "page": null,
   "has_page": false,
   "latest_topic": "缺",
   "status": "睡",
   "status_why": "源已学完/无新增：最近动作 39.4 天前（>7 天）"
  },
  {
   "craft": "overseas_tracker",
   "name": "国外追踪（旧）",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/overseas_tracker",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "focus": false,
   "state_path": "缺",
   "state_time": "缺",
   "state_mtime": 0,
   "log_path": "/opt/devbot/projects/overseas_tracker/tracker.log",
   "last_run": "2026-08-31 11:06:55,971 [WARNING] overseas_tracker: 请求失败 htt",
   "last_run_ok": false,
   "schedule": "无独立 cron",
   "schedule_src": "crontab 里没有这个项目的行",
   "out_dir": "缺",
   "out_how": "缺",
   "out_files": 0,
   "out_files_24h": 0,
   "out_newest": "缺",
   "out_newest_path": "",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1788147318,
   "last_update": "2026-08-31 11:35",
   "age_days": 43.6,
   "files_total": 7,
   "files_24h": 0,
   "touched_24h": false,
   "page": null,
   "has_page": false,
   "latest_topic": "2026-08-31 11:06:55,971 [WARNING] overse",
   "status": "睡",
   "status_why": "源已学完/无新增：最近动作 43.6 天前（>7 天）"
  },
  {
   "craft": "douyin_crawler",
   "name": "抖音爬虫",
   "icon": "",
   "group": "项目型学习工",
   "bucket": "项目型",
   "family": "项目型",
   "dir": "/opt/devbot/projects/douyin_crawler",
   "has_dir": true,
   "has_notes": false,
   "backup": false,
   "focus": false,
   "state_path": "缺",
   "state_time": "缺",
   "state_mtime": 0,
   "log_path": "缺",
   "last_run": "缺",
   "last_run_ok": false,
   "schedule": "无独立 cron",
   "schedule_src": "crontab 里没有这个项目的行",
   "out_dir": "缺",
   "out_how": "缺",
   "out_files": 0,
   "out_files_24h": 0,
   "out_newest": "缺",
   "out_newest_path": "",
   "new_24h": 0,
   "delta_round": null,
   "zero_rounds": null,
   "last_mtime": 1788080508,
   "last_update": "2026-08-30 17:01",
   "age_days": 44.4,
   "files_total": 5,
   "files_24h": 0,
   "touched_24h": false,
   "page": null,
   "has_page": false,
   "latest_topic": "缺",
   "status": "睡",
   "status_why": "源已学完/无新增：最近动作 44.4 天前（>7 天）"
  }
 ],
 "project_focus": [
  "space_design",
  "na_youth",
  "competition_math",
  "econ_agent"
 ],
 "sources": {
  "notes": "42/95 个漫游型有 notes.md",
  "learner_dirs": "56 个 /opt/learner_*",
  "project_dirs": "16 个 /opt/devbot/projects/*（含 1 个备份目录）",
  "project_state": "8 个有 state.json",
  "crontab": "crontab -l（root）—— 项目族的排班从这里抽，不改它",
  "craft_meta": "/opt/craft_meta.json",
  "snapshot": "/opt/internal_board/_state/learn_snapshot.json"
 }
}