# lottery_特码.py — 2026-08-04 marksix6.com 验证 + SQLite 分析跟踪 ## 验证 v_xg.json Data.1-7 = Qi 期真开彩 (第 4 次修正) ### 当时已知 - v_xg.json `Qi=083`, `Data.1-7=[37, 7, 16, 1, 32, 22, 23]` - sol.2344a.cc 挂牌资料无真开彩字段 - hkjc.com 被所有外部 browser agent 拦 (详见 references/hkjc-com-blocked.md) ### 突破口: marksix6.com - curl 拿不到 (Vue SSR 包装, 需 JS 渲染) - **browser_navigate + snapshot 可以拿到!** - `https://www.marksix6.com/` 直接显示最新期号 + 7 号码 + 开彩时间 ### 8/4 验证流程 ```bash browser_navigate(url="https://www.marksix6.com/") # snapshot 拿到: # 香港彩 - 最新开奖详情 # 期数: 2026083 # 开奖: 37 07 16 01 32 22 23 # 生死肖: 马, 鼠, 兔, 马, 猪, 鸡, 猴 # 波色: 蓝, 红, 绿, 红, 绿, 绿, 红 # 开奖时间: 2026-08-01 21:32:32 ``` ### 结论 ✅ **v_xg.json Data.1-7 = Qi 期真开彩号码 = marksix6.com 083 期真开 (完全一致)** **4 次修正历史**: | # | 时间 | 错误描述 | 验证 | |---|------|---------|------| | 1 | 2026-07-29 | Data.1-7 = Qi-1 期 | 错 | | 2 | 2026-08-02 | Data.1-7 = Qi-2 期 | 错 | | 3 | 2026-08-04 | Week/Day = Nq 期开彩日 | **对** | | 4 | 2026-08-04 | Data.1-7 = Qi 期真开彩 | **对** (marksix6.com 验证) | ## marksix6.com 用法 ### 限制 - web 页面**只显示最近 1 期** (Vue SSR 包装) - 历史期号 无公开源 (sol.2344a.cc 也不显示) - 旧期号真开彩 **只能从 v_xg.json Data.1-7 拿**(反正现在 Data = Qi 期真开) ### 翻历史 - 网页上"+" 展开历史记录按钮 — lazy load 后面 7-8 期 - 但**只显示最新 ~7-8 期** - 080 期 7/25 已开彩但** marksix6.com 不显示** ### 实战拿到数据 - 083 期: 37/7/16/1/32/22 + 23 (8/1 周六 21:32) - 084 期: 31/16/4/11/13/33 + 38 (8/4 周二 21:32) — lottery_特码.py TOP 1=38 ✅ 中奖 ## lottery_特码.py CLI 实战 (2026-08-04) ### Default 模式 (跑分析) ```bash python3 ~/.hermes/skills/trading/lottery-hk/scripts/lottery_特码.py [期号] # 不传期号 → 自动取 v_xg.json Qi # 传期号 → 跑该期分析 # 执行: 5 步 (Qi + 挂牌 + 玄机诗 + 红字 + 重点金额) # 入库 SQLite analysis 表 ``` ### 手填真开彩 (add) ```bash python3 lottery_特码.py add 083 23 37 7 16 1 32 22 # 入库 draws 表 + reset 该 period analysis.actual_special + check_hits # 输出: 哪些 analysis 命中 (hit=1/0) ``` ### 列出历史 (list) ```bash python3 lottery_特码.py list 5 # 输出表格: id, period, Top 5, ¥, v_xg, 真开, hit, 时间 ``` ### 单独跑 hit check ```bash python3 lottery_特码.py hits ``` ## 关键 bug: advisor 返回 0 张 ≠ 推 0 张 ### 用户 push 8/4 真号 083=23 时 - analysis #2, #3 Top 5 = [27, 21, 36] - 真开 special=23 — **不在 Top 3** - hit=0 ✗ (用户问"怎么 1 是 0") ### 8/4 084 期真号 special=38 时 - lottery_特码.py 推 Top 1 = 38 (权重 10) — **真开 38** - hit=1 ✓ (用户问"是不是 38") ### 关键洞察 - analyzer 能命中 ✓ (直挂好) - analyzer 推的期号 vs 真开彩 **只能验证命中与否**,**不能预测** - 真开彩是**外部随机事件**,**analyzer 不可能保证命中** ## 084 期实战命中 (2026-08-04) ```bash # 跑 084 期 (8/4 周二 21:30 北京开彩) python3 lottery_特码.py 084 # 输出: # Top 1: 38 (权重 10, 信源多) # Top 2: 26 (权重 5) # 重点金额: 38→¥5, 26→¥4, ... # 8/4 21:32 开彩后, 用 marksix6.com 验证 # 真开: 31/16/4/11/13/33 + 38 # special=38 → Top 1 = 38 ✓ # 入库 python3 lottery_特码.py add 084 38 31 16 4 11 13 33 # ✅ analysis #4 hit=✓ ``` ## 入库 SQLite SQLite 表结构 ```sql CREATE TABLE analysis ( id INTEGER PRIMARY KEY, period TEXT NOT NULL, candidates TEXT NOT NULL, -- JSON: [{"num":16,"weight":3,"amount":5}, ...] budget INTEGER NOT NULL DEFAULT 15, v_xg_qi TEXT, v_xg_nq TEXT, v_xg_week TEXT, v_xg_day TEXT, actual_special INTEGER, -- 真开彩 hit INTEGER, -- 1=中 / 0=没中 / NULL=未开 created_at TEXT DEFAULT CURRENT_TIMESTAMP ); ``` ### 关键命令 ```bash # 看最近 10 条分析 sqlite3 ~/.hermes/trading/lottery.db "SELECT id, period, candidates, hit, actual_special FROM analysis ORDER BY id DESC LIMIT 10" # 看具体某期 sqlite3 ~/.hermes/trading/lottery.db "SELECT id, period, candidates FROM analysis WHERE period='083'" ``` ## cron 模式 (no_agent + script) ⚠️ **不要用 agent 模式 cron** — 会编标题/时间/号码! `scripts/lottery_特码_cron.sh` 直接跑真脚本, 输出到 cron 配置的 `deliver`: ```bash #!/bin/bash set -e SCRIPT=~/.hermes/skills/trading/lottery-hk/scripts/lottery_特码.py # 自动取 Qi/Nq 期 python3 $SCRIPT ``` Cron 配置: - `5bec1f60f77f lottery-hot-data` — 30 11 * * 0,2,4 (北京) - `668dcf3ec54d lottery-draw-result` — 0 14 * * 0,2,4 (北京) **只调脚本,不调 agent** — 0% 编概率。 ## 沟通偏好 (用户硬性) 1. **不要在回复结尾加 A/B/C 模板** — 用户原话 "简单回答就行" 2. **直接说数据来源,不要长篇分析** — 用户原话 "答'081 是周几'直接从 sol.2344a.cc 拿" 3. **错了立刻重做,不要分析** — 用户原话 "你直接跑不行吗" 4. **不要 A/B/C** — agent 经常自加模板,用户没要求 ## 实战教训 (2026-08-04) ### 教训 1: marksix6.com 是真开彩唯一可靠源 - hkjc.com ✗ (被所有外部 browser agent 拦) - sol.2344a.cc ✗ (只显示挂牌,无真开字段) - v_xg.json ⚠️ (Data 字段对,但仍是间接来源) - **marksix6.com ✓** (browser 渲染,直接显示) ### 教训 2: v_xg.json Data 字段语义坑(第 4 次修正) - 4 次不同理解,每次都"看起来对" - 必须**用第三个独立源验证**(marksix6.com) - 验证后:Data.1-7 = Qi 期真开彩号码 ### 教训 3: Top 5 候选 ≠ 真开彩 - analyzer 推 Top 5,**不保证命中** - 083 期 Top 5 = [27, 21, 36], 真开彩 special=23 → 不命中 - 084 期 Top 5 = [38, 26, ...], 真开彩 special=38 → ✅ 命中 - **完全随机性** ### 教训 4: advisor 推 0 张 ≠ 实际推 0 张 - 084 期 99.7% 余额用尽 0.056 张 → advisor 不推 0 张,只推尽量用尽 - 真发单执行真实单,只是张数极少 - 083 期 analysis 0 条 ≠ 0 张 — advisor 推 Top 5 ## 参考 - `references/v_xg-data-qi-pitfall.md` — v_xg.json 字段语义详细时间线 - `references/hkjc-com-blocked.md` — hkjc.com 哪个路径都拦 - `references/2026-08-04-analytics-history-and-cron-no-agent.md` — SQLite analysis 表 + cron no_agent 模式 - `references/agent-workflow-pitfalls.md` — 跨 skill 通用硬偏好 - `references/082-success-workflow.md` — 082 期成功跑通 (反向参考)