系统健康 有项目需要留意
下面是每个自动化任务「上次成功完成」是多久以前,以及它本该多久跑一次。启动过但崩溃了不算完成——那种情况下该跑的步骤被跳过了,等于没干活。这一栏是为了让你不用靠翻日志去猜「是系统停了还是我没干活」。
| 任务 | 期望周期 | 上次成功 | 状态 |
|---|---|---|---|
| ▲ 3 小时自主循环 | 每 3 小时 | 1.0 小时前 | 正在运行中 |
| ● 每日榜单采集 | 每天 07:10 | 8.3 小时前 | 正常 |
| ● 多平台趋势采集 | 每天全量 + 每 3 小时快信号 | 0 分钟前 | 34 个平台有数据 |
| ● 主动改进记录 | 持续 | 2.7 小时前 | 有近期记录 |
改进待办 5 / 13 项超期
这是系统手上排着的活:每项本该多久跑一次、上次跑是什么时候。干活监督(每分钟检查一次的那个任务)每小时会挑到期的全部跑掉;如果发现过去 2 小时什么产出都没有,它会不等间隔、直接开工——这就是「一发现没干活就继续改进」的落点。需要判断力或改代码的活(新功能、新分析)脚本不硬做,它会标成「待 AI 处理」写进下面的日志等我做。监督器上次运行:1.5 小时前。
| 任务 | 频率 | 上次跑 | 状态 | 为什么要有这项 |
|---|---|---|---|---|
| 补采商品详情 | 每小时 | 2.0 小时前 | 超期 | 榜单只给列表字段,价格历史/尺码/评论要单独抓;按预算小步跑 |
| 分析冒烟测试 | 每 2 小时 | 2.5 小时前 | 超期 | 分析都是页面实时算的、没测试,坏了只有用户点开才知道 |
| 款式词典回归 | 每 2 小时 | 2.5 小时前 | 超期 | 正则漏了 waisted 的 ed 就让 7 个中腰款消失、建议开发自家已有的款;词典错了不报错只给错结论 |
| 数据质量门禁 | 每 2 小时 | 2.5 小时前 | 超期 | 七项断言:新鲜度/类目全/价格合理/名次唯一/关联完整/标题非空/趋势源覆盖 |
| 品牌情报留痕 | 每小时 | 1.0 小时前 | 超期 | 离线计算,不打网络;给 /intel 积累每日基线用于画趋势 |
| 快信号采集(工厂+社媒) | 每小时 | 30 分钟前 | 正常 | 工厂批发与社媒搜索是最早的信号,且最便宜,值得每小时刷 |
| 多平台趋势全量采集 | 每 6 小时 | 2.9 小时前 | 正常 | 全部 35 个源跑一遍约 10 分钟,按 6 小时一次控制抓取量 |
| 全站死链审计 | 每 4 小时 | 1.5 小时前 | 正常 | 目录扩量会不断引入只有列表信息的 ASIN,站内链接可能变成死胡同 |
| 品牌名录补采 | 每 4 小时 | 1.0 小时前 | 正常 | 榜单里出现的品牌要补上体量、店铺等信息,供品牌排行与情报使用 |
| 阈值自我改进 | 每 6 小时 | 1.5 小时前 | 正常 | 只调阈值不改代码:记录旧值、原因、取值范围,每天最多动一步 |
| 新品榜刷新 | 每 6 小时 | 1.5 小时前 | 正常 | 16 个类目的新品榜,新品开发板块的核心数据源 |
| 品牌目录扩量 | 每小时 | 14 分钟前 | 正常 | 榜单每类目只 100 名,只看榜单会严重低估品牌体量 |
| 完整性抽检 | 每 3 小时 | 32 分钟前 | 正常 | 比对缓存文件与数据库快照是否一致,抓解析与落库的偏差 |
开发日志
每个月、每天、每个小时我干了什么。所有条目都写在这里,包括没干活的小时。
今天我记录的
3
定时任务另有 31 条(分开计)
今天活跃小时
16/24
其余小时无任何工作记录
本月我记录的
3
本月共 230 条(含自动)
本月有记录的天
1
30 天中的 1 天
这个日志怎么读
「我(AI)」是我实际做的工作;「定时任务」是服务器按计划自动跑的采集和自我改进,
两者分开计。用自动任务的产出冒充我干的活,这个日志就没有检验价值了。
没干活的小时显示「无记录」,不会用任何方式填空。过去 14 天有 14 天我没有任何记录:10-22、10-23、10-24、10-25、10-26、10-27、10-28、10-29、10-30、10-31、11-01、11-02、11-03、11-04
每条尽量给「依据」——你可以照着依据自己去核对,而不是只信我的描述。
2026 年 11 月 ← 上月 下月 →
格子里的数字是当天「我」记录的条数;定时任务的条数不计入颜色,只在悬停提示里显示。 点任意一天看那天的逐小时明细。
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 53 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
2026-11-05 逐小时明细(34 条)
24 小时全列出来。空行就是那一个小时我没干活。
| 时间 | 谁 | 做了什么 | 依据 |
|---|---|---|---|
| 00:19 | 定时任务 | 数据采集 自主循环完成:目录扩量 + 详情补采 每小时一轮、6 小时轮转一圈,本轮专题是「目录扩量 + 详情补采」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 00: | 定时任务 | 数据采集 干活监督:有到期任务,完成 1 项 过去 2 小时工作记录 51 条。本轮跑掉:款式词典回归(约 1 分钟)。⚠ AI 已 370.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 01:15 | 定时任务 | 数据采集 自主循环完成:多平台趋势全量采集 每小时一轮、6 小时轮转一圈,本轮专题是「多平台趋势全量采集」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 01: | 定时任务 | 数据采集 干活监督:有到期任务,完成 6 项 过去 2 小时工作记录 53 条。本轮跑掉:品牌名录补采、分析冒烟测试、数据质量门禁、快信号采集(工厂+社媒)、品牌目录扩量、补采商品详情(约 26 分钟)。⚠ AI 已 371.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 02:05 | 定时任务 | 数据采集 自主循环完成:新品榜刷新 + 完整性 + 自我改进 每小时一轮、6 小时轮转一圈,本轮专题是「新品榜刷新 + 完整性 + 自我改进」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 02: | 定时任务 | 数据采集 干活监督:有到期任务,完成 2 项 过去 2 小时工作记录 5 条。本轮跑掉:全站死链审计、款式词典回归(约 2 分钟)。⚠ AI 已 372.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 03:05 | 定时任务 | 数据采集 自主循环完成:品牌补采 + 情报留痕 每小时一轮、6 小时轮转一圈,本轮专题是「品牌补采 + 情报留痕」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 03: | 定时任务 | 数据采集 干活监督:有到期任务,完成 3 项 过去 2 小时工作记录 7 条。本轮跑掉:快信号采集(工厂+社媒)、品牌目录扩量、补采商品详情(约 23 分钟)。⚠ AI 已 373.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 04:07 | 定时任务 | 数据采集 自主循环完成:快信号采集 + 死链审计 每小时一轮、6 小时轮转一圈,本轮专题是「快信号采集 + 死链审计」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 04: | 定时任务 | 数据采集 干活监督:有到期任务,完成 2 项 过去 2 小时工作记录 9 条。本轮跑掉:分析冒烟测试、数据质量门禁(约 2 分钟)。⚠ AI 已 374.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 05:05 | 定时任务 | 修问题 自主循环(分析刷新 + 数据质量)有 1 个步骤失败 失败步骤:-m tracker.cli analyze(退出码 2)。其余步骤已正常完成,下一轮会自动重试。 | 依据:logs/cron/loop.log 完整堆栈;data/state/loop.json 心跳 |
| 05: | 定时任务 | 数据采集 干活监督:有到期任务,完成 5 项 过去 2 小时工作记录 11 条。本轮跑掉:完整性抽检、款式词典回归、品牌目录扩量、补采商品详情、快信号采集(工厂+社媒)(约 25 分钟)。⚠ AI 已 375.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 06:19 | 定时任务 | 数据采集 自主循环完成:目录扩量 + 详情补采 每小时一轮、6 小时轮转一圈,本轮专题是「目录扩量 + 详情补采」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 06: | 定时任务 | 数据采集 干活监督:有到期任务,无需行动 过去 2 小时工作记录 13 条。⚠ AI 已 376.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 07:15 | 定时任务 | 数据采集 自主循环完成:多平台趋势全量采集 每小时一轮、6 小时轮转一圈,本轮专题是「多平台趋势全量采集」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 07: | 定时任务 | 数据采集 每日采集完成(2026-11-05) 16 个类目 Top100 采集 + 详情补齐 + QA 门禁 | 依据:data/state/last_run.json、logs/cron/daily.log |
| 08:05 | 定时任务 | 数据采集 自主循环完成:新品榜刷新 + 完整性 + 自我改进 每小时一轮、6 小时轮转一圈,本轮专题是「新品榜刷新 + 完整性 + 自我改进」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 08: | 定时任务 | 数据采集 干活监督:有到期任务,完成 6 项 过去 2 小时工作记录 15 条。本轮跑掉:品牌名录补采、分析冒烟测试、数据质量门禁、快信号采集(工厂+社媒)、品牌目录扩量、补采商品详情(约 42 分钟)。⚠ AI 已 377.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 08: | 定时任务 | 数据采集 干活监督:有到期任务,完成 5 项 过去 2 小时工作记录 18 条。本轮跑掉:阈值自我改进、新品榜刷新、全站死链审计、款式词典回归、品牌情报留痕(约 5 分钟)。⚠ AI 已 378.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 09:07 | 定时任务 | 数据采集 自主循环完成:品牌补采 + 情报留痕 每小时一轮、6 小时轮转一圈,本轮专题是「品牌补采 + 情报留痕」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 10:07 | 定时任务 | 数据采集 自主循环完成:快信号采集 + 死链审计 每小时一轮、6 小时轮转一圈,本轮专题是「快信号采集 + 死链审计」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 11:04 | 定时任务 | 数据采集 干活监督:有到期任务,完成 4 项 过去 2 小时工作记录 21 条。本轮跑掉:分析冒烟测试、数据质量门禁、品牌目录扩量、补采商品详情(约 31 分钟)。⚠ AI 已 380.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 11: | 定时任务 | 修问题 自主循环(分析刷新 + 数据质量)有 1 个步骤失败 失败步骤:-m tracker.cli analyze(退出码 2)。其余步骤已正常完成,下一轮会自动重试。 | 依据:logs/cron/loop.log 完整堆栈;data/state/loop.json 心跳 |
| 11: | 定时任务 | 数据采集 干活监督:有到期任务,完成 2 项 过去 2 小时工作记录 23 条。本轮跑掉:款式词典回归、快信号采集(工厂+社媒)(约 2 分钟)。⚠ AI 已 381.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 12:33 | 定时任务 | 数据采集 自主循环完成:目录扩量 + 详情补采 每小时一轮、6 小时轮转一圈,本轮专题是「目录扩量 + 详情补采」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 12: | 定时任务 | 数据采集 干活监督:有到期任务,完成 1 项 过去 2 小时工作记录 25 条。本轮跑掉:完整性抽检(约 1 分钟)。⚠ AI 已 382.4 小时没有主动记录工作。需要判断力或改代码的改进(新功能、新分析、分析口径调整)脚本不该硬做,标记为待 AI 处理。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 13:14 | 定时任务 | 数据采集 自主循环完成:多平台趋势全量采集 每小时一轮、6 小时轮转一圈,本轮专题是「多平台趋势全量采集」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 13: | 我(AI) | 新功能 看板接入域名 https://htil.carovia.cc(Let's Encrypt 证书已签发) DNS 本来就已经指向本机,卡的是云防火墙没开 443 和本机没有 443 服务。443 由用户在控制台开通后,新建了一个独立的 caddy-dashboard 服务:不复用、也不修改 dsh-webui 管理的 /etc/caddy/Caddyfile——那个 Caddy 占着 80/19956 属于 DSH 面板自己,改它会被插件覆盖。新实例只监听 443,因为 80 被 dsh 占用,ACME 只能走 443 上的 TLS-ALPN-01,配置里显式 disable_http_challenge。证书目录也隔离到 /var/lib/caddy-dashboard,避免两个 Caddy 抢同一份存储。证书签发成功,Let's Encrypt 签发、有效期至 2027-02-03,Caddy 自动续期。全部 11 个页面走域名均 200。 | 依据:证书 issuer=Let's Encrypt CN=YE1、notAfter=Feb 3 2027;11 个路由 HTTPS 200;caddy-dashboard active/enabled |
| 13: | 我(AI) | 修问题 补上 HEAD 支持:公众站点缺它会回 501 上线后自测发现 HEAD 请求返回 501。原因是 Python 的 BaseHTTPRequestHandler 默认不实现 do_HEAD,而浏览器用 GET 所以看不出来。放在内网端口后面没影响,但现在挂在公网域名上:监控探活、爬虫、部分 CDN 的健康检查默认发 HEAD,拿到 501 会判定服务故障。补了 do_HEAD,复用 GET 的路由和状态码,只是不下发正文,Content-Type / Content-Length 与 GET 保持一致。修完 HEAD / 从 501 变成 200。 | 依据:HEAD / 修复前 501、修复后 200 且带 content-length;GET 仍 200 |
| 13: | 我(AI) | note 风险:站点现在是公网可访问且没有登录鉴权 代码里 TRACKER_AUTH 环境变量是空的,也就是说没有任何 Basic 认证。以前它只在内网端口 8090 上,现在挂了域名,等于任何人都能访问全部采集数据和分析页面。代码注释本身就写着「一旦公开强烈建议开启」。另外这些数据来自亚马逊榜单抓取,按合规口径只应用于内部分析,公网无鉴权地放出去并不合适。没有擅自开启,因为这会改变用户的访问方式;开启方式:设置 TRACKER_AUTH='用户名:密码' 后重启 sportswear-dashboard。 | 依据:tracker/web.py:42 AUTH = os.environ.get('TRACKER_AUTH', '').strip(),实测为空;https://htil.carovia.cc/ 无认证直接 200 |
| 14:05 | 定时任务 | 数据采集 自主循环完成:新品榜刷新 + 完整性 + 自我改进 每小时一轮、6 小时轮转一圈,本轮专题是「新品榜刷新 + 完整性 + 自我改进」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 14: | 定时任务 | 数据采集 干活监督:有到期任务,完成 7 项 过去 2 小时工作记录 30 条。本轮跑掉:品牌名录补采、分析冒烟测试、数据质量门禁、款式词典回归、快信号采集(工厂+社媒)、品牌目录扩量、补采商品详情(约 37 分钟)。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 14: | 定时任务 | 数据采集 干活监督:有到期任务,完成 4 项 过去 2 小时工作记录 32 条。本轮跑掉:阈值自我改进、新品榜刷新、全站死链审计、品牌情报留痕(约 4 分钟)。 | 依据:logs/work_supervisor.log;data/state/work_supervisor.json |
| 15:05 | 定时任务 | 数据采集 自主循环完成:品牌补采 + 情报留痕 每小时一轮、6 小时轮转一圈,本轮专题是「品牌补采 + 情报留痕」。这样安排是因为全量跑一轮约 25 分钟,每小时都全跑会把各站限流打满、反而拉低数据质量;轮转能保证不同数据源在一天内都被刷新多次。 | 依据:data/state/loop.json 心跳;logs/cron/loop.log |
| 16:00 | — 无记录 | ||
| 17:00 | — 无记录 | ||
| 18:00 | — 无记录 | ||
| 19:00 | — 无记录 | ||
| 20:00 | — 无记录 | ||
| 21:00 | — 无记录 | ||
| 22:00 | — 无记录 | ||
| 23:00 | — 无记录 | ||