Files
Hermes-Skills/lottery-hk/SKILL.md
T
mike c56ea1ad91 lottery-hk: v1.2.5 — 特码分析真脚本 lottery_te_ma.py
User 2026-07-30 实战需求:
- 不跑频率 (5 期数据无意义, user 已多次确认)
- 不混 Qi-1 期号码 (081 已开, 不算 082 资料)
- 只用挂牌 (sol.2344a.cc) + 玄机诗 + 红字 推演
- 输出 Top 5 特码 + 重点金额分配 (15 元 = 5/4/3/2/1)

脚本 lottery_te_ma.py:
- 拿综合挂牌列表 + 详情 (彩图挂 / 另版挂 / 爆 / 尾数)
- 拿玄机诗 (诗象 / 彩霸王 / 玄机字 / 红马蓝狗)
- 拿红字 (大数偏多)
- 权重排序, 输出特码候选 + 重点分配表

SKILL.md description 加 lottery_te_ma.py 指引,
scripts 用法段加特码分析子段 + 不要项 (不再跑偏)
2026-07-30 20:42:25 +08:00

260 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: lottery-hk
description: "香港六合开奖抓取与分析。数据源: sol.2344a.cc(2026-07-29 替代 sol.0051.cc) + btc.tktk.app/data/v_xg.json + tktk.tktk4.cc。文化解读: 奇门遁甲/梅花易数/河洛数理/玄空飞星 (4 框架在 references/analysis-example-073/074/075.md, 不是脚本, agent 用 example 推演)。SQLite 存数据, analytical 标注'文化娱乐参考'。硬规则: (1) 所有时间默认北京时间 UTC+8; (2) 挂牌日 = 开彩日 (sol.2344a.cc 帖子时间戳 = 实际开奖日, 同天); (3) v_xg.json Qi=下次将开期号, Nq=再下期, Week/Day=Qi 期开彩日, Data.1-7=Qi-1 期已开号码; (4) agent 推送格式必须标 (北京时间), 不写刚开/最新; (5) 用户问'从哪取'只答来源一行, 不展开。必读: references/v_xg-qi-pitfall.md (Qi 字段语义陷阱实战)。特码分析: scripts/lottery_te_ma.py (纯挂牌, 不混 Qi-1 期数据, 输出 Top 5 特码 + 重点金额分配)。"
version: 1.2.5
tags: [lottery, hk, 六合彩, analysis, sol-2344a, qdrant-memory]
---
# 香港六合开奖分析
**⏰ 时区规则(硬规则)**: 所有时间默认 **北京时间(UTC+8)**。v_xg.json 的 `Week`/`Day`/`Year`/`Moon`**Qi 期(下次将开)** 的开彩日。挂牌日 = 开彩日 (sol.2344a.cc 帖子时间戳 = 实际开奖日, 同天)。任何"周几"都指北京时间;写 QQ 推送必须带"北京时间"字样或 +8 时区。
**⏰ 沟通风格**: 用户要"直接说怎么取的,不要分析/解释"。回答"081 是周几"时,直接说"来源是 v_xg.json Week=周四" — 不分析"为什么不是周二"。
**📦 4 框架 (奇门/梅花/河洛/玄空) 的位置**:
- **真脚本**: `scripts/lottery_4frame.py` (4 步流程, 自动跑)
- **Reference**: `references/analysis-example-073/074/075.md` (073 真实推演示范: 3 步 v_xg+挂牌+红字)
- **不要**: agent 写 河洛/梅花/玄空/奇门 公式, reference 没推演方法, 拍脑袋推的没意义
- **Cron 直接调 `python3 lottery_4frame.py` 拿完整分析**, agent 不需要手动算
**⚠️ 4 框架 ≠ agent 自己造公式 (2026-07-30 实战)**: user 问"4 框架"时,**先 cat `references/analysis-example-073/074/075.md` 看实际推演流程**。073 example 是 3 步: (1) v_xg.json 五行统计 (2) 综合挂牌解读 (爆/出肖) (3) 六信红字。**不要**自己写 河洛洛书九宫 / 梅花起卦 / 玄空飞星盘 / 奇门遁甲 公式,这些 reference 没推演方法,agent 拍脑袋推的没意义。**改用 `lottery_4frame.py` 脚本跑。**
**5 期数据 (analyze 频率) 没意义**: `lottery.py analyze` 输出 5 期冷热号,数据量太少,user 已明确说"不要跑频率,没有意义"。`analyze` 只用作辅助核对,不是主要分析方法。
从天空彩票抓取香港六合彩开奖结果,提供数据分析。**数据存SQLite,不存图片。**
## 数据源
### 主站
- 主站: https://tktk.tktk4.cc/ww.htm(首页,含iframe开奖倒计时)
- **资料站**: https://sol.2344a.cc/(所有挂牌/解牌/玄机资料实际托管在此, 2026-07-29 已迁移)
- 综合挂牌: https://sol.2344a.cc/zongheguapai/ ← 首选挂牌数据源
- 六信红字: https://sol.2344a.cc/lxhz/
- 梅花诗/玄机: https://sol.2344a.cc/xuanjiziliao/
- 解牌: https://sol.2344a.cc/jiepai/
- 平碼平肖: https://sol.2344a.cc/pingxiaopingma/
- **ai.c8c.cc** (NOT sol.2344a.cc 替代): 六合站, 与 sol 系列无关
### 当前开奖JSON API
- **v_xg.json**: `https://btc.tktk.app/data/v_xg.json`(直接返回JSON,无需浏览器)
- **Qi 字段语义 (pitfall)**: Qi 是**下一次将开**的期号, 不是"已开"。**真开奖**要从 sol.2344a.cc 挂牌历史 / 数据库历史查
- **sol.2344a.cc 历史API**: `/e/api/api.php?get=sixlist&year=YYYY` 仍返回空 (历史AJAX失效)
### 开奖时间
- 每周二、四、六 21:30(北京时间)
- 49个号码,6个平码 + 1个特码
### tktk API架构(从public.js逆向)
tktk Vue.js应用的数据源URL模式: `https://btc.tktk.app/data/v_{cod}.json?{timestamp}`
| cod | 彩种 | 说明 |
|-----|------|------|
| xg | 香港六合 | 每周二/四/六 21:30 |
| 48am | 天天澳门彩 | 每天 22:14-22:40 |
| am | 新澳门六合 | 每天 21:14-21:40 |
| tw | 台湾六合 | 每天 20:28-20:58 |
| xjp | 新加坡六合 | 每天 18:35-18:55 |
| fckl8 | 快乐8 | 每天 21:25-21:40 |
JSON返回格式:
```json
{
"Data": {
"1": {"nim":"金","number":"34","color":"红","style":"red","sx":"鸡"},
"2": {...}, ... "7": {...}
},
"Time": "21点30分", "Day": "05", "Moon": "07", "Year": 2026,
"Qi": "071", "Nq": "072", "Week": "周日", "Auto": false
}
```
- `Data.1`-`Data.6`: 平码,`Data.7`: 特码
- `Qi`: 当前期号(下次将开),`Nq`: 下期号
- `nim`: 五行,`sx`: 生肖,`color`: 波色(红/蓝/绿)
### ⚠️ 重要: v_xg.json 字段语义陷阱
- **正确**: Qi = 下一次将开期号,不是"已开"Nq = 下下期;Week/Day/Year/Moon 都是**下期**的开奖时间
- **7 号码 (Data.1-7)**: 真已开期号的号码(Qi-1 期的结果)
- **实战 (2026-07-29)**: cron 周二 14:00 (7/28 22:00) 跑, v_xg.json Qi=081 (7/30 周四下次将开), 7 号码是 080 期(已开);081 期要等 7/30 周四 21:30
- **取下下期 / 周几等时间**: 拿 v_xg.json 即可(Qi/Nq/Week/Day 都是下期时间)
- **取真刚开期号 + 号码**: 7 号码是 Data.1-7 + sol.2344a.cc 挂牌历史索引 Qi-1 期号,或数据库 history 表
## 数据存储
**SQLite数据库**: `~/.hermes/trading/lottery.db`
- `draws` 表: 开奖记录(期号、日期、6个号码+特码、生肖、五行、波色)
- `cold_data` 表: 冷数据(key-value,网页文本内容)
- `image_links` 表: 图片链接(类别、标题、URL、期号,不下载图片)
- **不存图片文件**,图片类只存URL链接
## 脚本用法
```bash
SCRIPT=~/.hermes/skills/trading/lottery-hk/scripts/lottery.py
python3 $SCRIPT add <期号> <号码> # 手动添加
python3 $SCRIPT add_full <期号> <号码> <生肖> # 手动添加(带生肖)
python3 $SCRIPT history [期数] # 查看历史
python3 $SCRIPT analyze # 分析(频率/热号/冷号/生肖/五行/波色)
python3 $SCRIPT zodiac # 生肖号码对照表
python3 $SCRIPT next # 下期开奖时间
python3 $SCRIPT import_json <文件> # 导入JSON历史数据
python3 $SCRIPT save_cold <key> <content> # 保存冷数据
python3 $SCRIPT get_cold <key> # 读取冷数据
python3 $SCRIPT save_image <类别> <标题> <URL> [期号] # 保存图片链接
python3 $SCRIPT list_images [类别> # 列出图片链接
```
### 特码分析 (scripts/lottery_te_ma.py)
**纯挂牌分析**(不混 Qi-1 期数据,不跑频率):
```bash
python3 ~/.hermes/skills/trading/lottery-hk/scripts/lottery_te_ma.py [期号]
```
输出:
- Top 5 特码候选(按挂牌共识权重排序)
- 重点金额分配(默认 ¥15 = 5/4/3/2/1)
- 来源映射(挂牌链接 + 玄机诗)
**不要**:
- 不要混 Qi-1 期 (081 期) 号码 (Qi-1 已开, 不算 082 资料)
- 不要跑 `lottery.py analyze` (5 期数据无意义)
- 不要 agent 自己写 4 框架玄学公式 (河洛/梅花/玄空/奇门, reference 没推演方法)
## 生肖映射(网站实际映射,已验证)
网站的生肖表和标准12生肖轮转不同,用 mod 12 映射:
```
0=狗, 1=猪, 2=蛇, 3=马, 4=羊, 5=虎, 6=兔, 7=鼠, 8=牛, 9=猴, 10=鸡, 11=龙
```
071期验证: 34=鸡(34%12=10)✅, 46=鸡(46%12=10)✅, 17=虎(17%12=5)✅
## 冷数据 vs 热数据
**🧊 冷数据**(存cold_data表,不常变):
- 歷史、生肖表、日期、常識、全年、技巧、規律、策略
**🔥 热数据**(每期更新):
- 開獎、掛牌、解牌、綜掛、平碼平肖、玄机资料、论坛高手推荐等
## 参考资料
- 用户说"六合"、"开奖"、"彩票"、"特码"
- 用户问"今天开什么"、"最近开奖号码"
## 注意事项
- 页面用Vue.js动态加载,非开奖时间段(21:14-21:40外)可能无数据
- 图库类页面(玄机图库、经典图库等)是图片,不抓取
- 网站有大量博彩广告,解析时需过滤
### 📌 082 期实战案例 (2026-07-29 凌晨, 用户多次纠正)
**事件流**:
1. cron `668dcf3ec54d lottery-draw-result` 14:00 UTC (= 北京 22:00) 跑
2. v_xg.json `Qi=081, Nq=082, Week=周四, Day=30`
3. agent 推: "081 期 = 7/30 周四 21:30 开彩" — **错**(实际 081 = 7/28 周二)
4. agent 推: "082 期 = 8/1 周六 21:30" — **错**(实际 082 = 7/30 周四)
5. 用户反复纠正"081 时间错 / 不要分析 / 你直接跑不行吗"
6. **真相**: 挂牌日 = 开彩日 (sol.2344a.cc 挂牌 07-28 13:35 = 081 周二开彩)
**坑 1 (v_xg.json 字段)**: `Week`/`Day`**Qi 期开彩日** (下次将开),不是"当前期"。
- Qi=081 → 081 周二开 (7/28)
- Week=周四 → 081 错的,实际 Qi 周二是周二,但 Week 字段是 Qi 期开彩日 — **这是 agent 多次误读的根本原因**
**坑 2 (挂牌日 vs 开彩日)**: sol.2344a.cc 挂牌帖的发布时间 ≠ 开彩日,实际是**同一天**(挂牌发出来当天就是开彩日)。**挂牌提前 2-3 天的旧描述是错的**。
**坑 3 (沟通)**: agent 答 "081 是周几" 时,反复用"为什么不是周二"的长篇分析 → 用户纠正"我说了,你不要分析,只说怎么取的就行了"。
**正确做法**:
- 用户问"081 是周几" → 一行答: "挂牌日 = 开彩日, sol.2344a.cc 07-28 13:35 挂牌 = 081 周二开彩 (北京时间 21:30)"
- **不展开** "为什么" / "不是周四" / "Qi 字段语义"
- 出错立刻认错,不要找理由
## 🚨 硬规则 (每次推送前自检)
1. **时区**: 所有时间默认 **北京时间 (UTC+8)**, 必须标"(北京时间)"后缀
2. **挂牌日 = 开彩日** (硬规则): sol.2344a.cc 挂牌帖时间戳 = 实际开奖日,**同天**。旧描述"挂牌提前 2-3 天"是错的。
3. **v_xg.json 字段**:
- `Qi` = 下次将开期号
- `Data.1-7` = Qi-1 期 已开号码 (7 个)
- `Week`/`Day`/`Year`/`Moon` = Qi 期 开彩日 (北京时间) — **不是"当前期"**
- `Nq` = 再下期
4. **推送格式**: 不写"刚开"/"最新" — 用具体期号+明确日期
5. **沟通**: 用户要直接说数据来源,不要长篇分析
6. **4 框架分析**: **直接调 `python3 scripts/lottery_4frame.py`**(4 步流程: v_xg.json + 综合挂牌 + 六信红字 + 玄机诗),**不要 agent 自己造公式**(reference 073 流程是 3 步推演,不是 4 框架玄学公式)。`lottery.py` 不支持 4 框架。
## 🚨 用户偏好 (2026-07-30 实战反复纠正, 必读)
1. **直接说从哪取的, 不要分析/解释** — 回答"081 是周几" → 一行答 "sol.2344a.cc 07-28 13:35 挂牌 = 081 周二开彩", **不展开** "为什么不是周四" / "Qi 字段语义" / 长篇对比
2. **出错立刻认错, 不要 "分析" 或 "等回话"** — 知道错了就立刻重做正确的事, 不要"让我再想想"/"让我检查一下"
3. **不要在回复结尾加 "A/B/C 简单回答" 选项** — 这是 agent 自己加的回复模板, **不是用户让的** (2026-07-30 user 指出 "这是什么技能输出的" — 实际没有这个 skill, 是我加的)
4. **看到 "4 框架" / "跑 X 框架" 关键词, 不要立刻自己推公式** — 先看 `references/analysis-example-073/074/075.md` 用 example 方法推演, 不是自己写
5. **挂错 / 跑错 / 答错不要重发分析, 立刻重做** — 用户说 "你直接跑不行吗" 意思是: **别说废话, 重做**
### Pitfalls (2026-07-29 更新)
- **sol.2344a.cc 全站 200 OK** (替代失效的 sol.0051.cc):
- https://sol.2344a.cc/zongheguapai/ ✅
- https://sol.2344a.cc/lxhz/ ✅
- https://sol.2344a.cc/xuanjiziliao/ ✅
- https://sol.2344a.cc/jiepai/ ✅
- https://sol.2344a.cc/pingxiaopingma/ ✅
- 挂牌帖含 "080期/081期" + 发布日期, 可索引历史
- **v_xg.json 字段语义 (硬规则)**: Qi/Nq/Week/Day/Year/Moon 都指**下期**(不是当前期)。Data.1-7 才是 Qi-1 期号码。详见上文重要Pitfall
- 实战案例 (2026-07-29 凌晨 0:43 北京): v_xg.json Qi=081 (7/30 周四下次将开), Data.1-7 是 080 期(7/28 周二已开)号码
- 挂牌日 ≠ 开奖日: sol.2344a.cc 挂牌比实际开奖早 2-3 天
- **取真刚开期号 + 号码**: 7 号码 = Data.1-7; 期号 = Qi-1; 下期时间 = Week/Day + Nq/Week
- **取真历史**: sol.2344a.cc 挂牌索引 或本地 SQLite draws 表
- **📌 推送格式偏好 (用户硬偏好, 2026-07-30 实战)**: QQ 推送用 **markdown 横向表格** (每票 1 列, 4-8 票可滑动比较)。**严禁** 1 票 1 块 (垂直堆叠), 用户说过"用列表方式显示 / 把所有表格都换成这样的"。
- 字段顺序: 名称表 + 项目表 (2 张表上下)
- 列用票代码, 行用指标 (现价/股息率/趋势/MA50/支撑/离均线/ATR/策略)
- 类似脚本: `daily_t_analysis.py` / `dividend_alert.py` / `cn_dividend_buy_timing.py` 全部已转横向表格
- **时间默认北京时间(用户硬规则, 2026-07-30)**: 任何日期时间 (挂牌/开奖/推送) 默认 UTC+8 北京时间;cron schedule UTC → 换算时也明确标"北京"
- **v_xg.json Week/Day 是下期时间** (北京时间周二/四/六 21:30)
- **挂牌日 ≠ 开奖日** (挂牌提前 2-3 天)
- **用户纠正"082 时间错"**: 因为 agent 没标"北京时间" + 没区分挂牌日和开奖日
- 沟通风格: 用户要"直接说怎么取的,不要分析/解释" — 错了立刻认错
- **v_xg.json 在 browser_navigate 下返回空白包装页**: skill文档说"直接返回JSON,无需浏览器"——但在 cron agent 模式下 terminal 被拦截,只能用 browser_navigate。此时 btc.tktk.app/data/v_xg.json 显示的是一个带 Pretty-print 复选框的包装页,JSON 内容不在 DOM 里。**临时方案**: 用 browser_snapshot(full=true) 尝试,或改用 tktk.tktk4.cc 首页的 Vue iframe 框架内的数据。
- **e/api/kj.php?xg 返回空页面**: 同样 Vue 包装,cron 模式无法获取实际开奖数据。
- **tktk.tktk4.cc 历史页 (history/) 返回 404**: 不是正确路径。
- **sol.2344a.cc 历史API仍失效**: `/e/api/api.php?get=sixlist&year=YYYY` 返回空数据(2026-07确认)。需要从挂牌帖文本提取历史期号
- **历史数据无批量API**: 目前没有可用的批量历史开奖数据API。**替代**: 从 sol.2344a.cc 挂牌列表按"期号/发布日期"索引
- **生肖表URL会过期**: sol.2344a.cc 的生肖表页面每年更新,旧URL会404。应先访问 https://sol.2344a.cc/sssx/ 列表页,找到最新年份的文章链接。
- **中文彩票站内容多为图片**: sol.2344a.cc 等网站的详细资料(公式、规律、技巧)嵌在图片中,curl/sed只能抓到文章标题索引,无法提取实际内容。需要用 browser 工具查看页面截图。
- **抓取编码**: 这些站点多为UTF-8 with BOMcurl 输出可能有 `锘` 开头(BOM标记),不影响内容但需注意。
## 参考资料
- `references/zodiac-table.md`: 2026年完整生肖五行波色对照表(号码→生肖→五行→波色→分类)
- `references/draw-dates.md`: 2021-2023年搅珠日期(JS日历数据)
- `references/v_xg-qi-pitfall.md`: **v_xg.json Qi 字段语义陷阱实战**(2026-07-29 发现,Qi = 下次将开期号, 不是已开)
- `references/common-knowledge.md`: 生肖属性文章索引、关键概念
- `references/techniques.md`: 规律秘诀文章索引(出波、波色法等)
- `references/patterns.md`: 固定规律文章索引(日期定波、杀肖、出尾等)
- `references/strategies.md`: 买码建议文章索引(赢钱秘诀、七戒律等)
## 定时任务
| 任务 | 时间(UTC) | 内容 |
|------|-----------|------|
| lottery-hot-data | 周二/四/六 11:30 (19:30北京) | 抓热数据+频率分析,推QQ |
| lottery-draw-result | 周二/四/六 14:00 (22:00北京) | 抓开奖结果入库,推QQ |
开奖时间: 21:30 北京时间 → 先抓热数据分析(19:30),开奖后抓结果(22:00)。
注意: draw-result cron 跑时 7 号码已在 sol.2344a.cc 历史挂牌文里 (提前2-3天发布), agent 应该同时查 v_xg.json (当前 Qi 下期) + sol.2344a.cc 历史挂牌 (Qi-1 真已开)。