Files
Hermes-Skills/lottery-hk/SKILL.md
T
mike 074cfd1dbd lottery-hk: SKILL.md 加硬规则 (时区+挂牌=开彩+v_xg.json)
description 字段 + '## 🚨 硬规则' 块:
1. 时区: 默认北京时间 UTC+8 (必须标)
2. 挂牌日 = 开彩日 (sol.2344a.cc 时间戳 = 实际开彩日)
3. v_xg.json 字段语义 (Qi=下次, Data.1-7=Qi-1 期已开)
4. 推送格式 (不写刚开, 用具体期号)
5. 沟通 (直接说数据来源, 不分析)

修正旧版 description 错的 '挂牌日 ≠ 开彩日'
2026-07-30 14:53:53 +08:00

200 lines
11 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。文化解读: 奇门遁甲/梅花易数/河洛数理/玄空飞星。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 推送格式必须标 (北京时间), 不写刚开/最新。"
version: 1.2.3
tags: [lottery, hk, 六合彩, analysis, sol-2344a, qdrant-memory]
---
# 香港六合开奖分析
**⏰ 时区规则(硬规则)**: 所有时间默认 **北京时间(UTC+8)**。v_xg.json 的 `Week`/`Day` 是下期开奖日;挂牌日 ≠ 开奖日(挂牌提前 2-3 天)。任何"周几"都指北京时间;写 QQ 推送必须带"北京时间"字样或 +8 时区。
**⏰ 沟通风格**: 用户要"直接说怎么取的,不要分析/解释"。回答"081 是周几"时,直接说"来源是 v_xg.json Week=周四" — 不分析"为什么不是周二"。
从天空彩票抓取香港六合开奖结果,提供数据分析。**数据存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 [类别> # 列出图片链接
```
## 生肖映射(网站实际映射,已验证)
网站的生肖表和标准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外)可能无数据
- 图库类页面(玄机图库、经典图库等)是图片,不抓取
- 网站有大量博彩广告,解析时需过滤
## 🚨 硬规则 (每次推送前自检)
1. **时区**: 所有时间默认 **北京时间 (UTC+8)**, 必须标"(北京时间)"后缀
2. **挂牌日 = 开彩日**: sol.2344a.cc 挂牌帖子时间戳 = 实际开奖日 (同天)
3. **v_xg.json 字段**:
- `Qi` = 下次将开期号
- `Data.1-7` = Qi-1 期 已开号码 (7 个)
- `Week`/`Day`/`Year`/`Moon` = Qi 期 开彩日 (北京时间)
- `Nq` = 再下期
4. **推送格式**: 不写"刚开"/"最新" — 用具体期号+明确日期
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 真已开)。