Files
Hermes-Skills/lottery-hk/references/lottery-te-ma-2026-08-04-marksix6-verification.md

199 lines
6.5 KiB
Markdown

# 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 期成功跑通 (反向参考)