⚠️ user 反复说 model 跑偏 (跑 frequency / 混 Qi-1 / 编 4 框架), 加 **触发规则 + 禁止项** 到 description:
**触发规则 (硬性)**: 用户问'特码'/'买码'/'今晚开什么'/'下期开什么'/'分析'/'玄学'/'六合分析' → 必须调 lottery_特码.py
**禁止**:
1. 跑 lottery.py analyze (5 期数据无意义, user 已确认)
2. 混 Qi-1 期已开号码 (081 已开, 不算 082 资料)
3. agent 自己写 4 框架 (河洛/梅花/玄空/奇门) 公式
4. 编 4 框架数据
推送格式: 横向 markdown 表格 (4-8 列, QQ 可左右滑动)
禁止: 写刚开/最新 / 不加 A/B/C 简单回答模板 / 答'从哪取'只答来源一行不展开
19 KiB
name, description, version, tags
| name | description | version | tags | ||||||
|---|---|---|---|---|---|---|---|---|---|
| lottery-hk | 香港六合开奖抓取与分析 (user B1EF5044... 偏好, 文化娱乐参考不构成投注建议)。数据源: sol.2344a.cc(2026-07-29 替代 sol.0051.cc) + btc.tktk.app/data/v_xg.json + tktk.tktk4.cc。SQLite 存数据。**触发规则 (硬性)**: 用户问'特码'/'买码'/'今晚开什么'/'下期开什么'/'分析'/'玄学'/'六合分析' → **必须调 `python3 scripts/lottery_特码.py [期号]`** (纯挂牌 + 玄机诗 + 红字, 5 步推演, 输出 Top 5 特码 + 重点金额分配)。**禁止**: (1) 跑 `lottery.py analyze` (5 期数据无意义, user 已确认); (2) 混 Qi-1 期已开号码 (081 已开, 不算 082 资料); (3) agent 自己写 4 框架 (河洛/梅花/玄空/奇门) 公式 (reference 没推演方法); (4) 编 4 框架数据。时区: 默认北京时间 UTC+8, 挂牌日=开彩日 (sol.2344a.cc 时间戳)。v_xg.json 字段: Qi=下次将开, Data.1-7=Qi-1 期已开号码, Week/Day=Qi 期开彩日, Nq=再下期。推送格式: 横向 markdown 表格 (4-8 列, QQ 可左右滑动), 必须标 (北京时间), 不写刚开/最新, 不加 A/B/C 简单回答模板 (agent 自加, 用户不要)。用户问'从哪取'只答来源一行不展开。4 框架脚本: scripts/lottery_4frame.py (v_xg.json + 综合挂牌 + 六信红字 + 玄机诗 4 步自动跑)。 | 1.2.6 |
|
香港六合开奖分析
⏰ 时区规则(硬规则): 所有时间默认 北京时间(UTC+8)。v_xg.json 的 Week/Day/Year/Moon 是 Qi 期(下次将开) 的开彩日。挂牌日 = 开彩日 (sol.2344a.cc 帖子时间戳 = 实际开奖日, 同天)。任何"周几"都指北京时间;写 QQ 推送必须带"北京时间"字样或 +8 时区。
⚠️ 历史版本错误 (已修正): 早期 SKILL.md 写"挂牌提前 2-3 天"是错的。用户 2026-07-30 反复纠正后确认: 挂牌日 = 开彩日, 同一天。
⏰ 沟通风格: 用户要"直接说怎么取的,不要分析/解释"。回答"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返回格式:
{
"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链接
脚本用法
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_特码.py)
纯挂牌分析(不混 Qi-1 期数据,不跑频率):
python3 ~/.hermes/skills/trading/lottery-hk/scripts/lottery_特码.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 凌晨, 用户多次纠正)
事件流:
- cron
668dcf3ec54d lottery-draw-result14:00 UTC (= 北京 22:00) 跑 - v_xg.json
Qi=081, Nq=082, Week=周四, Day=30 - agent 推: "081 期 = 7/30 周四 21:30 开彩" — 错(实际 081 = 7/28 周二)
- agent 推: "082 期 = 8/1 周六 21:30" — 错(实际 082 = 7/30 周四)
- 用户反复纠正"081 时间错 / 不要分析 / 你直接跑不行吗"
- 真相: 挂牌日 = 开彩日 (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 字段语义"
- 出错立刻认错,不要找理由
🚨 硬规则 (每次推送前自检)
- 时区: 所有时间默认 北京时间 (UTC+8), 必须标"(北京时间)"后缀
- 挂牌日 = 开彩日 (硬规则): sol.2344a.cc 挂牌帖时间戳 = 实际开奖日,同天。旧描述"挂牌提前 2-3 天"是错的。
- v_xg.json 字段:
Qi= 下次将开期号Data.1-7= Qi-1 期 已开号码 (7 个)Week/Day/Year/Moon= Qi 期 开彩日 (北京时间) — 不是"当前期"Nq= 再下期
- 推送格式: 不写"刚开"/"最新" — 用具体期号+明确日期
- 沟通: 用户要直接说数据来源,不要长篇分析
- 4 框架分析: 直接调
python3 scripts/lottery_4frame.py(4 步流程: v_xg.json + 综合挂牌 + 六信红字 + 玄机诗),不要 agent 自己造公式(reference 073 流程是 3 步推演,不是 4 框架玄学公式)。lottery.py不支持 4 框架。
🚨 用户偏好 (2026-07-30 实战反复纠正, 必读)
- 直接说从哪取的, 不要分析/解释 — 回答"081 是周几" → 一行答 "sol.2344a.cc 07-28 13:35 挂牌 = 081 周二开彩", 不展开 "为什么不是周四" / "Qi 字段语义" / 长篇对比
- 出错立刻认错, 不要 "分析" 或 "等回话" — 知道错了就立刻重做正确的事, 不要"让我再想想"/"让我检查一下"
- 不要在回复结尾加 "A/B/C 简单回答" 选项 — 这是 agent 自己加的回复模板, 不是用户让的 (2026-07-30 user 指出 "这是什么技能输出的" — 实际没有这个 skill, 是我加的)
- 看到 "4 框架" / "跑 X 框架" 关键词, 不要立刻自己推公式 — 先看
references/analysis-example-073/074/075.md用 example 方法推演, 不是自己写 - 挂错 / 跑错 / 答错不要重发分析, 立刻重做 — 用户说 "你直接跑不行吗" 意思是: 别说废话, 重做
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/28 周二下次将开), Data.1-7 是 080 期(7/25 周六已开)号码
- 挂牌日 = 开彩日 (用户 2026-07-30 实战确认, 同一天, 不是提前 2-3 天): sol.2344a.cc 挂牌发布时间 = 实际开奖日
- 取真刚开期号 + 号码: 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 工具查看页面截图。
-
⚠️ "4 框架" ≠ agent 自己造公式 (2026-07-30 实战, 用户多次拒绝): 用户说"4 框架"指 reference
analysis-example-073/074/075.md里的真实推演流程 (v_xg.json 五行统计 + 综合挂牌解读 + 六信红字), 不是 agent 自己写 河洛/梅花/玄空/奇门 公式。用户原话: "记得我说过不要跑频率, 没有意义, 我要说什么你才能记住"。看到"4 框架"必跑python3 scripts/lottery_4frame.py(已固化真脚本), 不要尝试自己推公式。 -
⚠️ 特码分析不混 Qi-1 期数据 (2026-07-30 实战): 用户原话: "不要参考 081 期的, 没有意义, 就用挂牌分析就行了"。分析
082 期时, 只用 sol.2344a.cc 挂牌 + 玄机 + 红字, 不要混v_xg.json Data.1-7(那是 081 期已开号码, 不算 082 资料)。特码分析必跑python3 scripts/lottery_te_ma.py(已固化真脚本)。 -
⚠️ 不要在回复结尾加 "A/B/C 简单回答" 选项 (2026-07-30 用户指出): 这是 agent 自己加的回复模板, 不是用户让的, 也不是任何 skill 输出的。看到用户问"这是什么技能输出的"才意识到: agent 默认加了"简单回答 X"模板, 但用户没要求。不要在回复结尾加这种模板, 直接回答用户问题。
-
⚠️ 出错立刻重做, 不要"分析"或"等回话" (2026-07-30 用户原话): 用户说"知道错了, 还要来确认, 你直接跑不行吗"。错了立刻重做, 不要 "让我再想想" / "让我检查一下" / 重新分析原因。
-
⚠️ "从哪取"只答来源一行, 不展开 (2026-07-30 实战): 用户原话: "我要知道你从哪里取的时间啊?" — agent 不该展开"我对比了 X / Y / Z 三个数据源才确认" 的分析。回答"082 时间从哪取的" → 直接答 "v_xg.json
Week=周四 Day=30", 不展开。 -
抓取编码: 这些站点多为UTF-8 with BOM,curl 输出可能有
锘开头(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: 买码建议文章索引(赢钱秘诀、七戒律等)references/agent-workflow-pitfalls.md: 2026-07-30 实战累积的用户硬偏好 + agent workflow 坑 (跨 skill 通用, 必读)- 不要加 "A/B/C 简单回答" 模板
- "从哪取" 只答来源一行
- 错了立刻重做, 不分析
- 跑 4 框架/特码 必跑真脚本
- 推送用横向 markdown 表格
- cron agent 模式限制
- 4 位置保证 cron 读到硬规则
定时任务
| 任务 | 时间(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 真已开)。