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

16 KiB
Raw Blame History

name, description, version, tags
name description version tags
lottery-hk 香港六合开奖抓取与分析。数据源: 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 特码 + 重点金额分配)。 1.2.5
lottery
hk
六合彩
analysis
sol-2344a
qdrant-memory

香港六合开奖分析

时区规则(硬规则): 所有时间默认 北京时间(UTC+8)。v_xg.json 的 Week/Day/Year/MoonQi 期(下次将开) 的开彩日。挂牌日 = 开彩日 (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,不存图片。

数据源

主站

当前开奖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_te_ma.py)

纯挂牌分析(不混 Qi-1 期数据,不跑频率):

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/DayQi 期开彩日 (下次将开),不是"当前期"。

  • 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):

  • 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 真已开)。