下载地址
https://api.skillhub.cn/api/v1/download?slug=%40user_b35a0bc0%2Fshuangseqiu将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b35a0bc0/shuangseqiu。中国福利彩票双色球与体育彩票超级大乐透的官方历史开奖数据统计分析与概率可视化教学工具。覆盖双色球(红球 33 选 6 + 蓝球 16 选 1,2003 年至今)与超级大乐透(前区 35 选 5 + 后区 12 选 2,2007 年至今)全量历史数据,提供频率/卡方检验/和值/奇偶/区间/连号/遗漏/AC值等统计特征与可视化,含开奖对照与号码全史回测;内置严格回测,证明两者均为独立随机事件、统计方法不提高中奖期望。
当用户提到"双色球统计"、"大乐透统计"、"超级大乐透历史数据"、"彩票概率"、"前区后区"、"红球分布"、"蓝球频率"、"和值分析"、"遗漏统计"、"随机性验证"时触发。
注意:本工具仅用于历史数据学习与概率科普,所有探索仅供演示,不构成任何中奖建议或决策依据。
阅读全文 (展开查看完整说明)
概述
双色球 + 超级大乐透 · 历史开奖数据的统计分析与概率可视化教学工具
安装
本技能在 SkillHub 公开发布(作者 @user_b35a0bc0,slug shuangseqiu)。双色球与大乐透在同一个包内,装一次即可,无需分别安装。
- 推荐(CLI 一条命令):
skillhub install shuangseqiu
完整坐标写法 skillhub install @user_b35a0bc0/shuangseqiu;slug 已全站唯一,简写即可。
- 无 CLI 时的兜底:浏览器打开
https://api.skillhub.cn/api/v1/download?slug=shuangseqiu下载 zip,解压到~/.workbuddy/skills/shuangseqiu/。 - 验证:
ls ~/.workbuddy/skills/shuangseqiu/SKILL.md—— agent 能读到本文件即安装成功。
调用
安装后无需任何配置,直接用自然语言触发。例如:「用历史数据统计一下双色球红球频率」「大乐透前区 29 号历史出现多少次」「这组号码 02 05 06 08 11 25+09 在第 25102 期命中几球」「大乐透这组号码历史上中过几次」。
手动命令行(Python 用下方「环境依赖」里的托管解释器):
# 双色球
python scripts/ssq_run.py # 规律探索 + 命中演示 + 生成 HTML 汇报(含大乐透模块)
python scripts/ssq_check_ticket.py --issue 25102 --single "02 05 06 08 11 25+09" # 号码对照某期开奖
python scripts/ssq_check_history.py --single "02 05 06 08 11 25+09" # 该号码全史命中统计
# 超级大乐透
python scripts/dlt_run.py # 单独运行大乐透流水线并打印结果
python scripts/dlt_analyze.py # 大乐透全量统计分析报告
python scripts/dlt_check_ticket.py --issue 26121 --single "06 08 19 24 25+01 08" # 号码对照某期开奖
python scripts/dlt_check_ticket.py --issue 26121 --append --single "06 08 19 24 25+01 08" # 追加投注口径
python scripts/dlt_check_history.py --single "06 08 19 24 25+01 08" # 该号码全史命中统计
python scripts/dlt_check_history.py --single "06 08 19 24 25+01 08" --append # 追加口径全史回测号码格式(两者一致:「主号码用空格分隔,+ 之后为特别号码」):
- 双色球:红球 6 个 + 蓝球 1 个;红球多于 6 个、蓝球多于 1 个即为复式(如
01 02 03 04 05 06 07+01 02)。 - 大乐透:前区 5 个 + 后区 2 个;前区多于 5 个、后区多于 2 个即为复式(如
06 08 19 24 25 34+01 08即 6+2)。
目的
对双色球与超级大乐透的全量历史开奖数据做统计学与概率论视角的分析,生成多策略历史规律探索候选,并按周自动演示历史命中、迭代修正策略权重。本技能价值在于历史规律探索与可自我修正的分析框架演示、概率论与随机性科普,而非预测中奖。§4 内置回测已用数学证明迭代对提升命中无效——这正是彩票预测骗局的核心(用历史回测拟合"看似有效",样本外即失效),本技能用真实数据把它讲清楚。两个彩种共用同一套方法论,分别独立运行、互不影响。
何时使用
- 用户要求分析双色球或超级大乐透历史数据、做统计或概率建模、做数据可视化。
- 用户想验证"历史数据能否预测彩票"类疑问(用本技能内置回测脚本做严格样本外检验,结论:不能)。
- 用户想学习概率论/随机性,用真实彩票数据做教学演示(和值分布、奇偶比、连号概率、卡方均匀性检验等)。
- 用户发来一组双色球号码,想对照官方历史开奖数据核对"这组号码在某期命中几球、对应哪个奖级"(纯历史数据对照,非真实资金参与)→ 用 §5 历史开奖对照。
- 用户发来一组大乐透号码(前区+后区),想对照某期开奖核对命中与奖级 → 用下方「大乐透模块 · 号码对照」。
- 用户给出一组号码,想看"这组号码在历史全部期次中命中过几次、最高命中几球"(历史统计演示)→ 用 §6 号码全史回测(双色球)或「大乐透模块 · 全史回测」。
环境依赖
- 纯标准库 Python(无需 pandas/numpy)。用 WorkBuddy 托管 Python 运行:
C:/Users/lenovo/.workbuddy/binaries/python/envs/default/Scripts/python.exe(或任意 Python 3.8+)。 - 抓取最新开奖依赖
curl(Git Bash 自带);无网络时退回本地数据,链路不中断。
文件结构(scripts/)
ssq_lib.py:数据加载与抓取(500.com)、卡方拟合优度检验(自实现 chi2_sf,无 scipy)、和值理论分布、奇偶/区间/连号组合概率、AC 值、极距、遗漏、尾数;6 策略历史规律探索候选生成(频率均衡/热号优先/冷号回补/区间均衡/和值中心/概率抽样);按官方奖级规则判定命中的函数grade_single_ticket()(单式 6+1)与grade_complex_ticket()(复式枚举所有单式求最高奖级/固定奖合计),仅用于历史数据演示。ssq_run.py:历史规律探索 + 命中演示 + 自我修正流水线。周一三五 11:00 槽位逻辑,幂等、漏跑补跑、链条不中断;运行结束自动生成 HTML 汇报ssq_report_YYYYMMDD.html(布局见 §3,顶部显著显示最新一期开奖号码)。ssq_analyze.py:生成全量统计分析 HTML 报告(ssq_stats_report.html)。ssq_backtest.py:严格 walk-forward 样本外回测,验证迭代是否提高命中。ssq_api.py:HTTP API 服务(纯标准库 http.server),供 Coze/外部调用。端点:/api/health、/api/latest、/api/predict(生成历史规律探索候选号码,只读演示,非真实资金用途)、/api/history?issue=xxx、/api/review(POST 对照判奖,支持单式+复式)。启动:python ssq_api.py --port 8000;配合 ngrok 暴露公网后可接入 Coze 插件(详见工作区coze_ngrok_guide.md)。ssq_check_ticket.py:历史开奖对照。给定开奖期号 + 一组号码(单式 6+1 / 任意复式 m+n,可多组、可--bets-file批量),自动从ssq_history.csv取该期开奖号,按官方奖级规则判定每组命中红/蓝球数、对应奖级、固定奖金说明,并汇总。用于"这组号码对照某期开奖命中几球"。ssq_check_history.py:号码全史回测。给定一组号码(单式/复式),逐期扫描ssq_history.csv全部历史,统计命中次数、最高奖级、各奖级命中次数、固定奖累计、命中期号清单。用于"这组号码历史上能中几次、最大几球"。
大乐透模块(与双色球并列、完全独立):
dlt_lib.py:大乐透核心库。数据加载与抓取(500.com)、卡方检验、和值/奇偶/区间/连号/遗漏/AC 值/极距/尾数统计、6 策略候选生成、四档奖级规则判奖(含 7 奖级制的奖池升档,见下方规则表)、追加投注判奖。dlt_run.py:大乐透流水线 + 报告页「模块二」渲染。周一三五 11:00 与双色球同槽位运行;异常在本模块内收敛,失败只让模块二降级,不影响双色球与整份报告。dlt_analyze.py:大乐透全量统计分析报告(dlt_stats_report.html/.json,十一节含分时段卡方对照)。dlt_check_ticket.py:大乐透号码对照某期开奖(单式 5+2 / 任意 m+n 复式,支持--bets-file批量,支持--append追加投注口径)。dlt_check_history.py:大乐透号码全史回测(跨规则版本逐期按当期口径判奖,支持--append追加投注口径)。dlt_history.csv:大乐透全量开奖数据(07001 起至今),列格式期号,前1..前5,后1,后2,日期,奖池,销售额,一等奖注数,一等奖奖金,二等奖注数,二等奖奖金。奖池为当期开奖后滚存金额(元),用于 v4 固定奖升档判定。
使用步骤
1. 获取全量历史
脚本在首次运行 ssq_run.py / ssq_analyze.py 时通过 ssq_lib.fetch_latest() 自动抓取 500.com 全量数据并写入 ssq_history.csv / ssq_history_full.csv。无网络时退回已有本地数据。
2. 全量统计分析报告
python scripts/ssq_analyze.py产出 ssq_stats_report.html(十节统计 + 理论对照)。
3. 周度历史规律探索与命中演示(核心)
python scripts/ssq_run.py- 抓最新开奖 → 全量统计 → 演示上一期历史规律探索候选的命中(红球/蓝球)→ 历史命中对照(演示随机性) → 6 策略生成下一期候选号码(供历史规律探索,非真实资金用途)→ 按 softmax 累计得分更新策略权重。
- 输出:
ssq_predictions_log.csv、ssq_review_log.csv(含命中对照列)、ssq_state.json、ssq_last_run.json,以及自动生成的 HTML 汇报ssq_report_YYYYMMDD.html(自包含单文件、浅色主题、含打印样式;布局:① 最新一期开奖号码(大字号显著红蓝球)置顶 → ② 数据抓取状态 → ③ 本期候选号码(主推★标红)→ ④ 上一期命中演示 → ⑤ 当前策略权重)。 - 槽位逻辑(见
ssq_lib.most_recent_slot / next_draw_date / slot_iter):无论何时触发,都精准处理最近一个周一/三/五 11:00;重复触发幂等(不重复生成/演示);漏跑时补跑所有错过槽位,链条不中断。
复盘中的「历史命中对照」(演示随机性,非真实资金参与)
每期演示会对照真实开奖,展示该策略候选号码的历史命中情况(用于直观展示"即使有历史规律探索,命中仍属随机"):
- 单式对照:取该策略的 6+1 候选,直接比对真实开奖 → 返回命中红/蓝球数、对应官方奖级(一等奖~六等奖/未中)+ 该奖级固定奖金说明(三~六等精确:3000/200/10/5元;一/二等浮动,以中彩网公告为准)。
- 复式对照:取该策略的 7+2 候选(红 7 个 + 蓝 2 个),枚举全部 C(7,6)×C(2,1)=14 注单式,汇总最高奖级、固定奖合计、总注数(仅统计演示用,非真实花费)。
示例输出(真实运行时):
[主推 和值中心 ★] 单式=四等奖 | 复式=三等奖 (固定奖演示 4000元, 14注枚举)对照函数见 ssq_lib.grade_single_ticket() 与 ssq_lib.grade_complex_ticket()(按官方奖级规则判定命中,仅用于历史数据演示)。
4. 样本外回测(验证"迭代是否更准")
python scripts/ssq_backtest.py产出 ssq_backtest_result.json。结论:迭代 3286 次后主推策略平均命中红球 1.1226,仅比随机机选基准 1.0909 高 0.03 球,且命中随迭代递减(前/中/后 1/3 = 1.15/1.12/1.10)→ 不提高准确度。
4.5 历史槽位补跑(无前视偏差 · 必须用 _backfill_ssq.py)
问题:ssq_run.py 用全量历史库生成所有槽位候选。事后补跑历史日期时(如休假后一次性回填多日),历史库已含「补跑目标日之后」的开奖 → 把未来数据喂进过去的探索,验证结果全部作废。
正确做法:用 _backfill_ssq.py,生成某槽位候选时只取「目标开奖日之前」的记录:
python scripts/_backfill_ssq.py 2026-09-02 2026-09-04 2026-09-07 2026-09-09- 逐槽位输出:
探索依据期数 + 末期期号 + 实际开奖 + 6 策略红蓝命中数 + 单式/复式对照; - 只 print、不写运行态(不改
ssq_state.json/ 权重日志),避免污染权重迭代; - 目标开奖日尚未开出时正常输出候选,不报错。
⚠️ 留档铁律(2026-09-10 实测教训):本脚本不落盘,磁盘上不留任何证据 → 事后核对「补跑是否完成」时极易被漏统计(本次 8/31–9/9 的 5 个槽位就只跑了 1 个而未被发现)。补跑必须
tee到带日期的文件,例如:
python scripts/_backfill_ssq.py <dates> | tee E:/workfwb/双色球_补跑_YYYYMMDD_YYYYMMDD.txt
5. 历史开奖对照(用户发来一组号码,对照某期开奖)
用于回答"这组号码对照某期开奖,命中几球、对应哪个奖级"。两种接入方式:
- 照片:若当前对话支持看图,直接识别票面号码;不支持时请用户口述/粘贴号码(最稳妥)。
- 口述/粘贴:用户给出"红1 红2 … 红6 + 蓝"即可。
# 单式,多组用 --single 重复
python scripts/ssq_check_ticket.py --issue 26098
--single "02 05 06 08 11 25+09"
--single "02 04 09 17 18 31+07"
# 复式 7+2(自动展开 C(7,6)×2=14 注核算)
python scripts/ssq_check_ticket.py --issue 26098 --single "02 09 13 24 25 30 14+04 02"
# 批量文件(每行一注,# 注释)
python scripts/ssq_check_ticket.py --issue 26098 --bets-file bets.txt- 开奖号取自
ssq_history.csv;若该期尚未入库(未来期),脚本提示先跑ssq_run.py更新。 - 输出每组命中红/蓝球数、对应奖级、固定奖金说明,末尾给中奖注数与固定奖合计(浮动奖单独标注"以公告为准")。
- 奖级规则(官方,仅作对照说明):一等奖 6+1(浮动) / 二等奖 6+0(浮动) / 三等奖 5+1(固定 3000) / 四等奖 5+0 或 4+1(固定 200) / 五等奖 4+0 或 3+1(固定 10) / 六等奖 2+1 或 1+1 或 0+1(固定 5)。仅一、二等奖为浮动奖(随奖池与销量变动,以中彩网公告为准)。
6. 号码全史回测(用户想看某组号码历史战绩)
用于回答"这组号码历史上命中过几次、最高几球"。
# 单式随机想的号码
python scripts/ssq_check_history.py --single "02 04 09 17 18 31+07"
# 复式(逐期展开核算)
python scripts/ssq_check_history.py --single "02 09 13 24 25 30 14+04 02"
# 多组批量
python scripts/ssq_check_history.py --bets-file my_numbers.txt- 扫描
ssq_history.csv全量历史(当前 3500 余期,03001 ~ 26118),输出命中次数、最高奖级、各奖级命中次数、固定奖累计、命中期号清单。 - 示例(02 04 09 17 18 31 + 07):历史命中 232 次,最高三等奖(1 次),固定奖累计 ¥4500(三等奖 3000 + 四等奖 200 + 五等奖 30×10 + 六等奖 200×5)。
- 仅历史统计/娱乐性对照;双色球每期独立随机,回测战绩不预示未来中奖概率。
大乐透模块(模块二)
规则要点
- 前区 01–35 选 5,后区 01–12 选 2;每周一、三、六 21:25 开奖。
- 奖级规则随期号自动切换四档(实现见
dlt_lib.ruleset_of()):
| 期号区间 | 版本 | 奖级数 | 固定奖金(元) |
|---|---|---|---|
| ≥ 26014(2026-02-02 起) | v4 | 7 | 三 5000 / 四 300 / 五 150 / 六 15 / 七 5(奖池 ≥8 亿时升为 6666/380/200/18/7) |
| 19019–26013(2019-02-20 起) | v3 | 9 | 三 10000 / 四 3000 / 五 300 / 六 200 / 七 100 / 八 15 / 九 5 |
| 09121–19018(2009-10-14 起) | v2 | 8 | 四 3000 / 五 600 / 六 100 / 七 10 / 八 5 |
| < 09121(2009-10-14 前) | v1 | 8 | 四 3000 / 五 500 / 六 200 / 七 10 / 八 5 |
- v4 是「奖级合并」不是改条件:13 个中奖条件完全不变,9 个奖级并成 7 个 —— 三等 = 5+0 或 4+2;四等 = 4+1;五等 = 4+0 或 3+2;六等 = 3+1 或 2+2;七等 = 3+0 / 2+1 / 1+2 / 0+2。所以「4+2」在 26013 期是四等奖 3000 元,在 26014 期是三等奖 5000 元,不要混。
- v4 固定奖分两档:以上一期开奖后的奖池滚存判断,≥8 亿元自动升档。
dlt_history.csv已存每期奖池,dlt_lib.pool_before()取前一期值。 - 中奖条件归属:旧制两档相同 —— 五等奖 4+1;六等奖 4+0 或 3+2;七等奖 3+1 或 2+2;八等奖 3+0 / 2+1 / 1+2 / 0+2。九奖级 v3 —— 六等奖 3+2、七等奖 4+0、八等奖 3+1 或 2+2、九等奖 3+0 / 2+1 / 1+2 / 0+2。
- 一、二等奖为浮动奖(旧制含三等奖),报告只标"浮动"、不给具体金额,以体彩开奖公告为准。v3/v4 一等奖单注封顶 1000 万元。
- 预测给出的两种复式规格按基本投注计价:6+2 = C(6,5)×C(2,2) = 6 注 / 12 元;5+3 = C(5,5)×C(3,2) = 3 注 / 6 元。追加投注对应 18 元 / 9 元。
追加投注(3 元/注)
追加投注 = 2 元基本 + 1 元追加。追加奖金的比例和适用奖级随规则版本变化,代码按当期期号自动切换:
| 规则版本 | 参与追加的奖级 | 追加比例 | 可算实金额 |
|---|---|---|---|
| v4(≥ 26014) | 仅一、二等奖 | 基本奖金 80% | 浮动,不可预知 |
| v3(19019–26013) | 仅一、二等奖 | 基本奖金 80% | 浮动,不可预知 |
| 旧制 v2/v1(< 19019) | 一、二、三等奖 | 基本奖金 60% | 浮动,不可预知 |
| 旧制 v2/v1(< 19019) | 四等奖、五等奖 | 基本奖金 50% | 四等奖 +1500 元;五等奖 v1 +250 元 / v2 +300 元 |
判奖脚本用 --append 开启追加口径(投入 3 元/注),也可在单注末尾写标记覆盖全局设置 —— 追加 或 [追加] 表示该注追加,基本 或 [基本] 表示该注基本。例:
python scripts/dlt_check_ticket.py --issue 07001 --append --single "22 24 29 31 35+04 11"
python scripts/dlt_check_ticket.py --issue 26121 --bets-file bets.txt # 每行可带 追加 / [追加]
python scripts/dlt_check_history.py --single "06 08 19 24 25+01 08" --append注意:v3/v4 下追加只加码一、二等奖,固定奖不参与(v3 是三至九等,v4 是三至七等)。所以一张不中浮动奖的票,追加是纯多花钱 —— 全史回测里同号码基本口径返奖率 30.6%,追加口径降到 23.8%(投入 +50%,可算实回报只 +16.7%)。这不改变中奖概率,只改变奖金结构。
报告页布局
ssq_run.py 生成的 HTML 汇报中,双色球四节之后接「模块二 · 超级大乐透」,编号顺延为五~八:
五、大乐透数据抓取状态 → 六、大乐透本期预测(6 策略 + 复式 6+2 / 5+3)→ 七、大乐透上一期复盘(单式与两种复式并列)→ 八、大乐透当前各策略权重。
模块二的样式(分隔条、琥珀色主题)由 dlt_run.MODULE_CSS 内联注入,不改动双色球原有样式表。
号码对照
python scripts/dlt_check_ticket.py --issue 26121 --single "06 08 19 24 25+01 08"
python scripts/dlt_check_ticket.py --issue 26121 --single "06 08 19 24 25+01 08 11" # 5+3 复式
python scripts/dlt_check_ticket.py --issue 26121 --append --single "06 08 19 24 25+01 08" # 追加投注
python scripts/dlt_check_ticket.py --issue 26121 --bets-file bets.txt脚本会自动打印该期适用的规则版本(v1/v2/v3)与追加规则,并按当期口径判奖。
全史回测
python scripts/dlt_check_history.py --single "06 08 19 24 25+01 08" --top 20
python scripts/dlt_check_history.py --single "06 08 19 24 25+01 08" --append --top 20逐期按当期适用规则判奖,跨 2009、2019 两次规则调整都正确;--append 时同时给出投入、可算实回报与返奖率。
数据维护
dlt_history.csv由dlt_lib.fetch_latest()自动抓取与增量合并,抓不到时退回本地,链路不中断。合并时除追加新期号,也会给旧记录补全缺失的奖池/销售额等字段。- 运行态文件:
dlt_state.json、dlt_predictions_log.csv、dlt_review_log.csv、dlt_last_run.json(重装前需一并备份,见 §10.2)。
§7 输入约束(号码 / 期号 / 文件格式 / API 参数)
本节把代码里隐式接受的输入格式全部写明,避免误用导致"查不到/结果无意义"。
7.1 号码与期号格式
- 红球:6 个不重复整数,范围 01–33(每注必选 6 个)。
- 蓝球:1 个整数,范围 01–16(单式 1 个;复式可 2 个及以上)。
- 书写格式:红球用空格分隔,红蓝用 + 分隔。例:
02 05 06 08 11 25+09。 - 复式:红球 m 个(m ≥ 6,常见 7)、蓝球 n 个(n ≥ 1,常见 2),格式
02 09 13 24 25 30 14+04 02;脚本自动展开 C(m,6)×n 注核算。 - 期号
--issue:支持 5 位(26098) 或 7 位(2026098) 两种写法,脚本内部自动兼容。 - 批量文件
--bets-file:每行一注,格式同单式/复式;#开头为注释行,空行自动忽略。 - 数据文件
ssq_history.csv列名:期号,红1,红2,红3,红4,红5,红6,蓝(脚本按此列名读取,请勿改动列名或顺序)。 - 容错边界:脚本仅校验"是否含
+、红球数量、蓝球数量",不硬校验号码是否越界(如红>33、蓝>16)。越界号码解析不会报错但结果无实际意义,请严格按官方范围输入。
7.2 HTTP API 端点参数与响应(ssq_api.py)
启动:python scripts/ssq_api.py --port 8000(纯本地监听,需用 ngrok 等隧道暴露公网后再接入 Coze,详见工作区 coze_ngrok_guide.md)。
| 端点 | 方法 | 请求 | 成功响应(节选) | 错误码 |
|---|---|---|---|---|
/api/health | GET | 无 | {status:"ok", periods, first_issue, last_issue, server_time} | — |
/api/latest | GET | 无 | 最近一次流水线结果(读 ssq_last_run.json) | — |
/api/predict | GET | 无 | {target_draw_date, seed, strategies:[{strategy,red_balls,blue_balls,complex_red,complex_blue,metrics}], main_strategy, history_periods, last_issue}(生成历史规律探索候选号码,只读演示,非真实资金用途) | — |
/api/history | GET | ?issue=26098(可选,缺省最新一期) | {result:{issue,date,reds,blue}} | 404 未找到 |
/api/review | POST | JSON body(见下) | {issue, date, draw:{reds,blue}, single?, complex?} | 400 参数缺失/解析失败 |
POST /api/review 请求体示例:
{
"reds": [2, 5, 6, 8, 11, 25], "blue": 9, // 单式 6+1
"complex_reds": [2, 5, 6, 8, 11, 25, 30], "complex_blues": [9, 10], // 复式(可选)
"issue": "26098" // 对照用开奖期号(可选,缺省最新一期)
}返回 single / complex 两段对照结果:含 mode、命中红/蓝球数、tier(奖级)、money(固定奖金额或"浮动")、combos(复式展开注数)。
§8 常见错误用法与反模式(Anti-Patterns)
| ❌ 错误用法 | ✅ 正确做法 |
|---|---|
| 把历史规律探索的候选号码当真实资金依据 | 候选是历史规律探索/娱乐演示,不提高中奖期望(见诚实边界) |
期号写成 2026098 又混用 26098 导致查不到 | 两种写法脚本都支持,但同一批核对请统一;若提示"未找到期号",先跑 ssq_run.py 更新历史库 |
复式漏写蓝球 + 或红球不足 6 个(如 02 05 06 08 11 25 30+04 02 红球仅 7 但想当 7+2 却写错) | 必须含 +,红球 ≥6、蓝球 ≥1;复式写作 红1..红m+蓝1..蓝n |
| 用 §5 对照尚未开奖的未来期 | §5/§6 是事后验证;未来期需先更新历史库(ssq_run.py)才能对照 |
| 把 §6 全史回测战绩当"下一期中奖概率" | 每期独立随机,历史战绩不预示未来 |
| 以为 API 默认已开公网 | ssq_api.py 仅本地监听;暴露公网需自行用 ngrok 并保管好地址,避免未授权调用 |
| 在对话里只贴票面截图却不口述号码 | 若当前环境不支持看图,请口述/粘贴"红 x x x x x x + 蓝 x" |
§9 常见问题 FAQ(高频困惑)
Q1:候选号码从来没中过,为什么还要看?A:本技能定位是"历史规律探索 + 可自我修正分析框架演示、概率论与随机性科普"。§4 内置回测已用数学证明:迭代 3286 次后主推策略平均命中红球仅 1.1226,比机选基准 1.0909 高 0.03 球,且命中随迭代递减——即迭代修正对提升命中无效。价值在方法论演示与娱乐性分析,不在中奖。
Q2:怎么更新到最新一期开奖数据?A:运行 python scripts/ssq_run.py(或任一主脚本),会自动通过 ssq_lib.fetch_latest() 抓取 500.com 最新数据写入 ssq_history.csv / ssq_history_full.csv;无网络时退回本地已有数据,链路不中断。
Q3:API 怎么暴露到公网给 Coze 用?A:本地 python scripts/ssq_api.py --port 8000 启动后,用 ngrok 等隧道工具暴露(参考工作区 coze_ngrok_guide.md)。注意保管公网地址,避免未授权调用;纯本地使用时无需暴露。
Q4:§5 对照 和 §6 回测 有什么区别?A:§5 对照"某一期开奖后,我这组号码命中几球、对应哪个奖级"(单期判定);§6 回测"这组号码扫全部历史,命中过几次、最高几球"(全史统计)。两者都是事后中性验证,既不预测未来、也不提高中奖概率。
Q5:复式 7+2 展开为多少注、各注如何对照?A:7+2 = C(7,6)×2 = 14 注;脚本展开全部 14 注对照最高奖级与固定奖合计,浮动奖(仅一/二等奖)单独标注"以中彩网公告为准",三等奖按固定 3000 元计入。此对照仅供理解奖级规则,非真实资金参与。
Q6:号码范围到底是多少?A:红球 01–33 选 6(不重复),蓝球 01–16 选 1;复式红球 ≥6、蓝球 ≥1。越界号码解析不报错但结果无意义,请严格按规则输入。
§10 部署与运维须知(自动化运行家 = 技能目录 scripts/)
本节记录本技能的运行态约定,避免跨机迁移 / 重装 SkillHub 时丢失权重迭代与历史日志。
10.1 自动化运行家
- 周度流水线(
ssq_run.py)通过DATA_DIR = os.path.dirname(os.path.abspath(__file__))解析数据文件,数据读写绑定在脚本自身所在目录。 - 自动化任务(
automation-1785985604322,周一三五 11:00)的固化命令与cwds已指向C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/,即技能目录就是字面运行家。 - 因此:技能目录一个文件夹即带走全部(历史规律探索/命中演示逻辑 + 权重迭代 + 历史库 + §5/§6 按需工具),便于跨机迁移。
10.2 运行态文件清单(重装前必须备份)
技能目录 scripts/ 下除代码外,还有以下运行态/数据文件,重装技能前务必备份、重装后复制回来:
| 文件 | 作用 | 丢失后果 |
|---|---|---|
ssq_state.json | 6 策略权重迭代状态 | 权重回到初始、自我修正失效 |
ssq_predictions_log.csv | 历史候选记录 | 探索轨迹丢失 |
ssq_review_log.csv | 历史命中演示(含对照列) | 演示轨迹丢失 |
ssq_last_run.json | 最近一次运行快照 | 幂等/补跑判断失准 |
ssq_history.csv | 历史开奖库(主) | 可由 ssq_run.py 自动重新抓取,但会短暂滞后 |
ssq_history_full.csv | 历史开奖库(全量备份) | 同上 |
dlt_state.json | 大乐透 6 策略权重迭代状态 | 权重回到初始、自我修正失效 |
dlt_predictions_log.csv | 大乐透历史候选记录 | 探索轨迹丢失 |
dlt_review_log.csv | 大乐透历史命中演示 | 演示轨迹丢失 |
dlt_last_run.json | 大乐透最近一次运行快照 | 幂等/补跑判断失准 |
dlt_history.csv | 大乐透历史开奖库 | 可由 dlt_run.py 自动重新抓取,但会短暂滞后 |
备份命令(重装前执行):
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/ssq_state.json <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/ssq_predictions_log.csv <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/ssq_review_log.csv <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/ssq_last_run.json <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/ssq_history.csv <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/ssq_history_full.csv <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/dlt_state.json <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/dlt_predictions_log.csv <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/dlt_review_log.csv <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/dlt_last_run.json <备份目录>/
cp C:/Users/lenovo/.workbuddy/skills/shuangseqiu/scripts/dlt_history.csv <备份目录>/重装技能后,将这 11 个文件从备份目录复制回 scripts/ 即可恢复运行态。
注:
ssq_report_YYYYMMDD.html为每次运行自动重新生成的汇报文件,非运行态,重装后首次运行即重建,无需备份。
10.3 发布 SkillHub 的副作用
- 发布(
skillhub publish)会把scripts/当前内容打包上传,包括上述运行态文件——即线上包含发布时刻的权重/日志/历史库(数据非敏感,无害)。 - 风险:将来若从 SkillHub 重装/更新技能,本地
scripts/会被线上包覆盖,运行态回到发布时旧版本。应对:重装前按 §10.2 备份,重装后恢复。 - 发布 CLI 不含图标字段(payload 白名单静默丢弃
icon),换图标须发布后在 SkillHub 网页端手动上传,或走自定义发布脚本(custom_publish_with_icon.py)注入iconUrl。
统计学方法论要点
- 红球 33 选 6 无放回抽样:和值理论 E=102、σ≈21.42;机选命中红球期望 = 6×6/33 ≈ 1.0909;头奖概率恒为 1/C(33,6) = 1/1772万。
- 卡方拟合优度检验红球/蓝球均匀性(H0:各号均匀)。
- 含连号理论概率 66.0%(组合计数);奇偶 3:3 为二项分布众数。
⚠️ 诚实边界(必须向用户说明)
双色球与超级大乐透每期均为独立随机事件,任何统计/概率方法都不能提高中奖期望。所有历史规律探索仅作数据学习与娱乐性演示,仅供学习研究,不构成任何中奖承诺或建议。本技能回测已用数学证明迭代修正无效——这正是彩票预测骗局的核心(用历史回测拟合"看似有效",样本外即失效)。§5 历史对照与 §6 全史回测同样属中性事后验证(对照已发生的开奖、统计已发生的历史),既不预测未来、也不提高中奖概率,汇报时须保持客观、仅供学习参考。
大乐透额外一条:前区长期分布并非全程均匀——2007–2013 年前区卡方检验 p≈0(显著偏离),2014 年之后 p 值回到 0.66–0.79(无统计学意义上的偏离)。这段历史说明偏差具有时段性、成因在摇奖设备一侧;它不能用来选号(无法预知何时再出现、偏向哪个号),也不能据此认为"某些号该补了"。如实呈现这一事实,不要包装成"规律"。
版本历史
v1.6.1(2026-10-25 · 补上 7 奖级新规与奖池升档,1.6.0 → 1.6.1)
- 修正 v1.6.0 的判奖错误:1.6.0 只按 2019 年规则判奖,遗漏了自 26014 期(2026-02-02)起执行的 7 奖级新规。26014 期之后约 108 期开奖的奖级归属与金额都是错的,本次修正。
- 新增 v4 规则档:13 个中奖条件不变,9 奖级合并为 7 —— 三等 5+0 或 4+2、四等 4+1、五等 4+0 或 3+2、六等 3+1 或 2+2、七等 3+0/2+1/1+2/0+2。
- 新增奖池动态升档:7 奖级制固定奖分两档,前一期奖池 ≥8 亿元时自动升为 6666/380/200/18/7,否则 5000/300/150/15/5。
dlt_history.csv新增奖池/销售额/一、二等奖注数与奖金 6 列(2939 期全量回填),dlt_lib.pool_before()取前一期奖池。 - 追加投注适配 v4:一、二等奖 80% 不变,三至七等奖不参与追加。
- 其余(双色球模块、预测策略、报告布局)零改动。
v1.6.0(2026-10-25 · 新增超级大乐透模块 + 追加投注判奖,1.5.4 → 1.6.0)
- 新增模块二「超级大乐透」:前区 35 选 5 + 后区 12 选 2,全量历史 2939 期(07001 / 2007-05-30 起至最新)。与双色球共用方法论但代码独立,双色球核心文件零改动。
- 新增文件:
dlt_lib.py、dlt_run.py、dlt_analyze.py、dlt_check_ticket.py、dlt_check_history.py、dlt_history.csv。 - 报告页扩展:双色球四节之后接大乐透五~八节,同页双模块;模块二异常只降级自身,不影响双色球与整份报告。
- 奖级判定的三档规则:现行 9 奖级(≥19019)、旧制 600/100(09121–19018)、旧制 500/200(<09121)。旧制的中奖条件归属按官方公告核对:六等奖为 4+0 或 3+2、七等奖为 3+1 或 2+2。
- 复式规格:6+2(6 注 / 12 元)与 5+3(3 注 / 6 元)两种。
- 新增追加投注(3 元/注)判奖:现行规则仅一、二等奖追加 80%;旧制一/二/三等奖追加 60%,四等奖 +1500 元、五等奖 +250/+300 元。判奖脚本新增
--append与单注级追加/[基本]标记;全史回测同时输出投入、可算实回报与返奖率。 - 元数据:description / summary / tags 覆盖大乐透关键词(dlt、superlotto),便于站内检索命中。
v1.5.4(2026-10-20 · 新增「安装 / 调用」两节说明,1.5.3 → 1.5.4)
- 新增
## 安装节(置于正文首位):给出 CLI 一条命令skillhub install shuangseqiu、完整坐标写法、无 CLI 时的免登录 zip 兜底下载地址、以及安装成功验证方法。此前全文「安装」字样出现 0 次,文档未告知获取途径。 - 新增
## 调用节:自然语言触发示例 + 三条手动命令行(ssq_run.py/ssq_check_ticket.py/ssq_check_history.py)+ 号码格式说明(含复式写法)。 - 说明:脚本逻辑、奖级口径、数据文件与 v1.5.3 完全一致,本次为纯文档增强,无功能变更。
- ⚠️ 效果边界:本文件需在安装/下载后才可被读者看到,故这两节对「促成首次安装」的作用有限;实际用途是降低已获取者的上手成本与提供免 CLI 兜底路径。
v1.5.3(2026-10-17 · 奖级口径修正 + 元数据补全 + 打包净化,1.5.2 → 1.5.3)
- 修正奖级口径错误:三等奖(5+1)按官方规则为固定 3000 元,此前
ssq_check_ticket.py/ssq_check_history.py/ 本文档误标为「浮动」。现三处代码与文档统一为固定 3000,浮动奖收窄为仅一、二等奖;ssq_check_history.py按此重算固定奖累计(示例号码由 ¥1500 修正为 ¥4500)。 - 元数据补全:新增内容标签
tags(analysis / lottery / ssq / statistics / chinese / probability)与中性summary,提升站内检索命中;displayName保持「双色球统计分析」。 - 打包净化:发布包排除内部备忘目录
scripts/.workbuddy、运行态汇报ssq_report_*.html与__pycache__,包内只保留 SKILL.md + 8 个脚本 + 6 个运行态数据文件(共 15 项),杜绝内部记录与临时产物外泄。 - 合规:全文复核,推广性表述零残留;「预测」类字样仅出现在反诱导的诚实边界说明中(明确不预测、不推荐、不构成中奖建议)。
v1.5.2(2026-09-25 · 打包修复,1.5.1 → 1.5.2)
- 背景:v1.5.1 发布时,发布前临时移出的内部备忘目录
scripts/.workbuddy被 mv 到技能根目录_workbuddy_bak,被skillhub publish当作技能内容一并打包,导致包内夹带内部备忘(含历史诱导词),存在审核风险。 - 修复:将内部备忘临时移到技能目录之外(打包范围外),重新发布;发布后移回
scripts/.workbuddy恢复运行态。包内已验证无.workbuddy/无_workbuddy_bak夹带、无诱导词残留。 - 说明:SKILL.md 文档与脚本逻辑与 v1.5.1 完全一致,仅修复打包范围。
v1.5.1(2026-09-25 · 合规改写,1.5.0 → 1.5.1)
- 背景:SkillHub 内容审核将 v1.5.0 判为「内容含违法违规内容」(彩票类目命中)。根因为旧版描述与正文含诱导性表述(被平台判定为博彩类违规)。
- 本次改动(仅文档定位与措辞,逻辑零改动):
description重写为"官方历史开奖数据的统计分析与概率可视化教学工具",移除诱导性触发词,保留中性教学触发词。- 全文统一为教学/演示口径,删除金额相关诱导措辞,将候选生成明确标注为历史规律演示。
- 强化诚实边界:明确不预测、不推荐、不用于任何真实资金行为。
ssq_api.py的/api/predict端点在文档中语义明确为"生成历史规律探索候选,只读演示"(未改代码端点名,保持运行态一致)。- 保留 v1.5.0 的全部 HTML 自动汇报固化内容(文件结构、§3 布局、版本历史)。
- 说明:脚本
ssq_run.py/ssq_lib.py内部函数名(如predictions/grade_single_ticket)未改,避免破坏运行态;仅对外表述转为教学/演示口径。重新发布以通过审核。
v1.5.0(2026-09-25 · 固化 HTML 自动汇报,1.4.1 → 1.5.0)
- 新增能力:
ssq_run.py在main()末尾调用render_html_report(now, summary, recs, state),每次运行结束自动生成自包含 HTML 汇报ssq_report_YYYYMMDD.html,无需手动拼装。 - 为什么改:用户要求周度流水汇报把"最新一期开奖号码"以大字号置顶显著呈现,其余顺势排后;此前该 HTML 仅由代理手动拼,未固化进脚本,自动运行无法带出报告。
- 布局(用户固化要求):① 最新一期开奖号码(大字号显著红蓝球)置顶 → ② 数据抓取状态 → ③ 本期候选号码(主推★标红)→ ④ 上一期命中演示 → ⑤ 当前策略权重。复用脚本既有
summary.predictions/reviews/weights与recs[-1](最新开奖),零新增计算、不动抓取与探索逻辑。 - 实证:单独调
render_html_report实跑通过——渲染出第 26111 期(红 06 07 14 22 31 32 + 蓝 05),6 组候选 + 6 组演示齐全,无报错;自动化主流程调用行已就位。 - 文档同步:文件结构(§文件结构)、§3 输出清单、§10.2 备份清单三处同步提及该 HTML 产出;修正描述中滞后的历史期数(3495→3500 余期)。
- 影响范围:仅展示层;历史规律探索/命中演示/权重迭代逻辑零改动;自动运行(周一三五 11:00)此后自动带出 HTML,可
present_files直接呈现。