# v_xg.json 字段语义陷阱 (2026-08-04 marksix6.com 第 4 次修正) ## 🚨 第 4 次修正 (2026-08-04) — 重大发现 **之前 3 版全错** —— **Data.1-7 实际是 Qi 期真开彩号码**,**不是 Qi-1 也不是 Qi-2 期**! ### 验证 (2026-08-04) **v_xg.json 当前数据**: ```json { "Qi": "083", "Nq": "084", "Week": "周二", "Day": "04", "Data.1-7": ["37", "07", "16", "01", "32", "22", "23"] } ``` **marksix6.com 083 期真开彩** (2026-08-01 21:32:32 北京): ``` 37 07 16 01 32 22 + 23 ``` **完全一致!** Data.1-7 = Qi 期真开彩。 ### 完整 v_xg.json 字段语义 (2026-08-04 第 4 次修正) | 字段 | 实际含义 | 验证 | |------|----------|------| | `Qi` | **最新已开期号** (刚开) | 083 (8/1 周六已开) | | `Nq` | **未开下期期号** (下一个) | 084 (8/4 周二未开) | | `Week`/`Day` | **Nq 期开彩日** (北京时间) | 周二, 04 (= 084 期 8/4 周二) | | `Data.1-7` | **Qi 期真开彩号码** (7 个) | [37,7,16,1,32,22,23] (= 083 期真开) | ### 4 版错误时间线 | 时间 | 错误描述 | 触发原因 | |---|---|---| | 2026-07-29 | Data.1-7 = Qi-1 期 | 用户说"082 时间错" | | 2026-08-02 | Data.1-7 = Qi-2 期 (但 Week/Qi 期) | 用户说"为什么统计的是上上期" | | 2026-08-04 | Qi=最新已开 (Week=Nq 期) | 用户说"8 月 4 号不是 083 期" | | 2026-08-04 (第 4) | **Data.1-7 = Qi 期真开彩** | marksix6.com 验证 ✓ | ### 关键洞察 (2026-08-04) 1. **Qi 是最新已开** — 不变 2. **Week/Day 是 Nq 期开彩日** — 不变 3. **Data.1-7 是 Qi 期真开彩** — **新修正** (不是 Qi-1 也不是 Qi-2) **v_xg.json 直接显示 Qi 期真开彩** (7 个号码 + 5 行字段 sx/nim/color/style/number)。 **没有更早/更晚的数据** (不像之前以为 Qi-1/Qi-2)。 ### 验证方法 拿 v_xg.json Data.1-7, 跟 marksix6.com / tktk.tktk4.cc / sol.2344a.cc 历史挂牌对比, **完全一致** = Qi 期真开。 ### 真 082 期 / 081 期 / 080 期 - **082 期**(7/30 周四已开) — **v_xg.json 已刷新到 083 期, 082 期真开已不在 v_xg.json 里** - **081 期**(7/28 周二已开) — 同上 - **080 期**(7/25 周六) — SQLite 里有 (special=11) 要查早期期号真开 — 用: - sol.2344a.cc 历史挂牌 (挂牌日 = 开彩日) - marksix6.com (但只显示最近 1 期, 不显示历史) - tktk.tktk4.cc (Vue 渲染, browser 抓) - hkjc.com (被商业 IP 拦, browser timeout) ### 教训 (给未来) **v_xg.json 字段语义坑有 4 层** (2026-07-29 → 2026-08-04 改了 4 次): 1. ~~Data.1-7 = Qi-1 期~~ (错) 2. ~~Data.1-7 = Qi-2 期~~ (错) 3. ~~Week/Day = Qi 期开彩日~~ (错) 4. **Data.1-7 = Qi 期真开彩** (对) — marksix6.com 验证 每次需要验证: **拿 v_xg.json Data.1-7, 对比真彩站 (marksix6.com / tktk4)**。 ## 🚨 第 5 层坑 (2026-08-13) — Cron wrapper 默认取 Qi 不是 Nq 之前 4 版都是"字段语义"层,这一版是**"用哪个字段"层**: | 场景 | 错取 | 正取 | |------|------|------| | Cron 自动选期 | `Qi` (已开) | `Nq` (未开下期) | | `lottery_特码.py` 无参 | `Qi` 期间 | `Nq` 期间 | **根因**: skill 描述里同时提 Qi 和 Nq, 但脚本里只 default 一个。Cron wrapper 当时随手写了 `print(d['Qi'])`, 没人核对。**结果: 2026-08-13 之前所有 cron 推送都跑的是 Qi 期(已开), 用户问"下期买什么"时给的是上期挂牌**。 **用户原话**: "你这前面写的期数是已开的, 分析的数据也是已开的? 我只要你分析未开的啊" **修法 (2026-08-13)**: - `scripts/lottery_特码_cron.sh` 第 9-19 行: `print(d['Nq'])`, fallback `'082'` → `'088'` - `scripts/lottery_特码.py` 第 397-406 行: `get('Nq', '088')`, fallback `'082'` → `'088'` **预防**: - 改 `lottery_特码*.sh` / `lottery_特码.py` 时, 改完立刻 `grep -n "Qi" lottery_特码*.sh lottery_特码.py` — 确认 runtime 路径全用 Nq, 只在 `Qi = 最新已开` 文档注释里出现 - **铁律**: 用户问"特码"/"下期"/"今晚开什么" = Nq (未开); 只有"上一期开什么"/"真开彩核对"才用 Qi - 推送标题的"分析期号: NNN"必须能跟"v_xg.json Nq=NNN"对得上, 对不上 = bug