# Draws 表入库流程断点 (2026-08-13 发现) ## 🚨 问题 完整"开奖后核验"流程断在 2 处,需要 user/agent 手动介入: | # | 位置 | 状态 | |---|------|------| | 1 | `draws` 表入库真开彩**只有手填命令** `python3 scripts/lottery_特码.py add ` | 2026-08-13 无自动抓 marksix6.com 脚本 | | 2 | cron `lottery-draw-result` (22:00 北京) 跑错脚本 — 之前跑 `lottery_特码_cron.sh` (分析脚本, 重复产生 analysis 记录), 不跑 `verify_lottery.sh` (核验脚本) | 2026-08-13 已修 | | 3 | `verify_lottery.sh` 找 Qi-1 期分析文件 — Qi→Nq 修复后, .md 现在都是 Nq 期 (未开下期), 22:00 跑时 Qi 已经是新一期, 应该找 Qi 期不是 Qi-1 | 2026-08-13 已修 | ## 修复 (2026-08-13) ### cron `lottery-draw-result` script 改 ```bash hermes cronjob update 668dcf3ec54d --script verify_lottery.sh ``` ### `verify_lottery.sh` 改 Qi-1 → Qi 原来: ```bash QI_NUM=$((10#$QI)) PREV_PERIOD=$((QI_NUM - 1)) ANALYSIS_FILE=$(grep -l "${PREV_PERIOD}期" ...) ``` 现在 (2026-08-13): ```bash # 改自 verify_lottery.sh: 2026-08-13 因 Qi→Nq 修复, 分析 .md 现在是 Nq 期 (未开下期), # 不再是 Qi-1 期。verify 时 Qi 已经是新一期 (刚开), 分析文件应该是 Qi 期。 ANALYSIS_FILE=$(grep -lE "${QI}期" "$HOME/.hermes/cron/output/5bec1f60f77f/"*.md 2>/dev/null | tail -1) ``` ## 仍未自动化: 抓真开彩 `draws` 表入库**没有自动脚本**, 仍需手填: ```bash # 1. 21:30 后等 marksix6.com 出来, 用 browser 抓或 curl # 2. 拿到 7 个号码: n1 n2 n3 n4 n5 n6 + special # 3. 手填: python3 ~/.hermes/skills/trading/lottery-hk/scripts/lottery_特码.py add 088 42 37 7 16 1 32 22 # 4. 这会自动: INSERT draws + reset 该 period analysis.actual_special=NULL + 跑 check_hits ``` **check_hits 流程** (自动): - 查 `draws.special WHERE period = ?` - 对该 period 所有 `actual_special IS NULL` 的 analysis 行, 算 hit=1/0 (special 在 Top 5 = 1) - UPDATE analysis SET actual_special, hit **为什么不自动抓**: - marksix6.com 是 Vue SSR, 必须 browser_navigate, cron 跑 no_agent 模式不能 browser - hkjc.com 被所有外部 browser agent 拦 (Browserbase / bet.hkjc.com / fonts 卡 30s+) - v_xg.json Data.1-7 是 Qi 期真开彩 (上一期), 不是当期, **不能用于当期核验** - sol.2344a.cc / 百度 都不显示真开 ## 验证 ```bash # 模拟 22:00 cron 跑 (Qi=088 期已开, 087 期 analysis 已生成, 087 期 special 已 add): bash ~/.hermes/skills/trading/lottery-hk/scripts/verify_lottery.sh # 期望: # ## 🎯 核验报告 | 088期 # ... (088 draws 表为空, exit 1 "❌ 期号 088 还没入库开奖结果") # 或 (087 期 special=13 已入库): # ### 实际开奖 # | 特码 | **13** | # ### 预测 vs 实际 # **预测**: ... # ### 命中分析 # - 特码 13: ❌ 未中 (or ✅ 中) ``` ## 教训 1. **数据库写入必须有自动化路径** — `draws` 表只有手填, 流程被卡在 user 介入。下次加 `lottery_fetch_draw.sh` 用 no_agent + browser (browser-based scripts 在 no_agent 也能跑) 自动入库 2. **cron 配错脚本比 cron 配错参数更隐蔽** — `lottery-draw-result` 跑分析脚本不会报错, 因为 no_agent + script 模式下 `lottery_特码_cron.sh` 也是合法脚本。要定期 `hermes cronjob list` 校对每个 cron 的 `--script` 3. **Qi→Nq 修复有副作用** — 之前所有 .md 都是 Qi 期 (错的), verify_lottery.sh 找 Qi-1 还能匹配上; 修复后 .md 都是 Nq 期, verify 必须找 Qi 期。这种**隐式依赖期号语义的脚本**特别容易踩