# caipiao-ai **Repository Path**: Jony8888/caipiao-ai ## Basic Information - **Project Name**: caipiao-ai - **Description**: 双色球彩票-ai预测师 本系统是一个 **自动化、闭环式、AI增强的双色球分析预测平台**,通过定时任务自动化处理海量历史数据,利用本地 Ollama 模型进行多维度模式识别,通过每日反思机制模拟"学习"过程,最终形成"感知 → 预测 → 行动 → 反馈 → 优化"的完整智能分析闭环。 支持ollama本地部署,支持gemini API, 支持阿里云百炼平台API - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 双色球智能预测与反馈优化系统 > **版本**: 1.0.0 > **定位**: 技术探索型智能分析系统(非投资建议) > **免责声明**: 彩票为独立随机事件,本系统仅为技术演示,不构成任何投注建议。 --- ## 📋 项目概述 本系统是一个 **自动化、闭环式、AI增强的双色球分析预测平台**,通过定时任务自动化处理海量历史数据,利用本地 Ollama 模型进行多维度模式识别,通过每日反思机制模拟"学习"过程,最终形成"感知 → 预测 → 行动 → 反馈 → 优化"的完整智能分析闭环。 支持ollama本地部署,支持gemini API, 支持阿里云百炼平台API ### 🎯 核心功能 | 功能 | 说明 | |------|------| | **历史数据采集** | 自动爬取中彩网开奖数据,初始化并持续更新 | | **数据持久化** | 使用 MySQL 存储开奖记录,支持高效查询 | | **AI 智能预测** | 基于统计规律 + Ollama qwen2.5 模型生成预测号码 | | **预测邮件通知** | 开奖前自动发送预测结果至指定邮箱 | | **开奖数据同步** | 每日自动拉取最新开奖结果 | | **预测对比分析** | 自动对比预测与实际开奖号码 | | **反思报告生成** | AI 生成专业复盘分析报告 | | **反思邮件通知** | 开奖后发送反思报告,形成反馈闭环 | | **REST API** | 支持手动触发任务和查询历史数据 | --- ## 🏗️ 系统架构设计 ### 整体流程图 ``` ┌──────────────────────────────────┐ ┌──────────────────────────────────┐ │ 预测日(周一/三/五) │ │ 开奖日(周二/四/日) │ │ 10:00 预测阶段 │ │ 21:15 开奖 │ └──────────────────────────────────┘ └──────────────────────────────────┘ │ │ ┌────────┴────────┐ ┌────────────┴─────────────┐ │ │ │ │ 预测生成服务 邮件通知 1天后... 开奖数据 反思阶段 (10:00执行) (预测邮件) 用户查看 (周二/四/日) 23:30 │ │ │ │ ┌─────────────┐ ┌──────┐ ┌──────────────────────┐ ┌──────────────────┐ │ 1. 查询历史 │ │ 预测│ │ • 22:30爬取最新开奖 │ │ 反思分析服务 │ │ 2. 构造提示 │ │ 邮件│ │ • 对比预测结果 │ ├──────────────────┤ │ 3. AI生成5组│◄───┤ │ │ • 分析偏差原因 │ │ 1. 对比5个方案 │ │ 4. 验证号码 │ │ 发送│ │ • 统计命中情况 │────►│ 2. 生成分析报告 │ │ 5. 保存数据 │ │ │ └──────────────────────┘ │ 3. 发送反思邮件 │ └─────────────┘ └──────┘ └──────────────────┘ │ 反思邮件 ``` ### 模块架构 ``` ┌────────────────────────────────────────────────────┐ │ LotteryApplication (启动类) │ └────────────────────────────────────────────────────┘ │ ┌───────────────┼───────────────┐ │ │ │ 配置层 业务逻辑层 数据层 │ │ │ ┌────────┐ ┌─────────┐ ┌─────────┐ │AiConfig│ │Service │ │Mapper │ │ │ │ • Predict │ • CRUD │ │Redis │ │ • Reflect │ • Query │ │Data │ │ • Mail │ │ │Init │ │ • Schedule │ │ └────────┘ └─────────┘ └─────────┘ │ │ │ │ ┌─────────┐ ┌──────────┐ │ │UtilClass│ │Entity │ │ │ • Parser │ │ • Record │ │ │ • Prompt │ │ • Pred │ │ │ • DateUtils │ • Report │ │ └─────────┘ └──────────┘ │ ┌────────────────────────────┐ │ 外部服务集成 │ ├────────────────────────────┤ ├── spring-ai-bom # Spring AI 框架 ├── Ollama # 本地 AI 服务器 ├── Gemini API # Google Gemini 服务 ├── MySQL (数据存储) # 开奖记录、预测记录、反思报告 ├── Redis (缓存) # 预测结果缓存 ├── SMTP (邮件) # 邮件通知 └── 中彩网 API (数据爬取) # 历史开奖数据 └────────────────────────────┘ ``` --- ## 🔧 技术栈 ### 后端框架与库 | 技术 | 版本 | 用途 | |------|------|------| | **Java** | 17 | 编程语言 | | **Spring Boot** | 3.3.4 | 应用框架 | | **Spring AI** | 1.0.0-SNAPSHOT | AI 集成框架 | | **MyBatis-Plus** | 3.5.4 | ORM 框架 | | **MySQL** | 8.0.39 | 关系型数据库 | | **Redis** | 7.4 | 缓存与向量存储 | | **Fastjson2** | 2.0.48 | JSON 序列化 | | **Ollama** | 本地部署 | 本地 AI 模型推理 | | **Gemini** | Google Cloud | Google Gemini AI 服务 | | **JavaMail** | Spring Boot | 邮件发送 | | **Lombok** | 1.18.16 | 代码简化 | --- ## 📦 项目结构 ``` caipiao-ai/ ├── pom.xml # Maven 配置 ├── README.md # 项目文档 ├── SETUP_GUIDE.txt # 安装配置指南 │ └── src/ ├── main/ │ ├── java/com/caipiao/ │ │ ├── LotteryApplication.java # 启动类 (@EnableScheduling) │ │ │ │ │ ├── config/ # 配置层 │ │ │ ├── AiConfig.java # Spring AI + Ollama 配置 │ │ │ ├── RedisConfig.java # Redis 模板配置 │ │ │ └── DataInitializer.java # 启动时初始化数据 │ │ │ │ │ ├── controller/ # 控制层(REST API) │ │ │ └── LotteryController.java # 彩票相关 API 端点 │ │ │ │ │ ├── service/ # 业务逻辑层 │ │ │ ├── LotteryDataService.java # 数据采集与存储(爬虫) │ │ │ ├── PredictionService.java # AI 预测生成 │ │ │ ├── ReflectionService.java # 反思报告分析 │ │ │ ├── MailService.java # 邮件通知 │ │ │ └── ScheduleTaskService.java # 定时任务协调 │ │ │ │ │ ├── entity/ # 数据实体 │ │ │ ├── LotteryRecord.java # 开奖记录 │ │ │ ├── PredictionRecord.java # 预测记录 │ │ │ └── ReflectionReport.java # 反思报告 │ │ │ │ │ ├── mapper/ # MyBatis-Plus 数据层 │ │ │ ├── LotteryRecordMapper.java │ │ │ ├── PredictionRecordMapper.java │ │ │ └── ReflectionReportMapper.java │ │ │ │ │ ├── util/ # 工具类 │ │ │ ├── DateUtils.java # 日期处理 │ │ │ ├── LotteryParser.java # 号码解析与验证 │ │ │ └── PromptBuilder.java # AI Prompt 构造 │ │ │ │ │ └── common/ # 通用类 │ │ └── ApiResponse.java # 统一响应格式 │ │ │ └── resources/ │ └── application.yml # 应用配置文件 │ └── test/ └── java/ # 单元测试目录 ``` --- ## 📡 REST API 文档 ### 定时任务手动触发 #### 1. 触发预测任务 ```http GET /api/lottery/trigger/prediction ``` **说明**: 立即执行预测生成与邮件发送(通常在 10:00 自动执行) **响应示例**: ```json { "code": 200, "message": "success", "data": "预测任务执行成功", "timestamp": 1703001600000 } ``` --- #### 2. 触发反思任务 ```http GET /api/lottery/trigger/reflection ``` **说明**: 立即执行反思报告生成与邮件发送(通常在 22:30 自动执行) --- #### 3. 触发数据同步任务 ```http GET /api/lottery/trigger/sync ``` **说明**: 立即执行增量数据更新(通常在每周一 02:00 自动执行) --- ### 数据初始化与查询 #### 4. 初始化历史数据 ```http GET /api/lottery/init?days=365 ``` **参数**: - `days` (可选): 回溯天数,默认 365 **说明**: 爬取指定天数的历史开奖数据 --- #### 5. 获取最近开奖记录 ```http GET /api/lottery/recent?limit=10 ``` **参数**: - `limit` (可选): 记录条数,默认 10 **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "id": 1, "code": "23001", "openDate": "2023-01-03", "redBall": "[03,12,18,22,27,31]", "blueBall": 9, "salesAmount": 405670000, "poolAmount": 520000000 } ], "timestamp": 1703001600000 } ``` --- #### 6. 获取今日预测 ```http GET /api/lottery/prediction/today ``` **说明**: 获取今天生成的预测号码 --- #### 7. 获取最新反思报告 ```http GET /api/lottery/reflection/latest ``` **说明**: 获取最新生成的反思分析报告 --- #### 8. 获取最新预测(5组方案)✨ 新增 ```http GET /api/lottery/predictions/latest ``` **说明**: 获取最新预测的5个方案数据 **响应示例**: ```json { "code": 200, "message": "success", "data": { "prediction": { ... }, "schemes": { "1": { "redBalls": "[03,12,18,22,27,31]", "blueBall": 9 }, "2": { "redBalls": "[05,15,19,26,28,32]", "blueBall": 12 }, "3": { "redBalls": "[07,14,21,24,29,33]", "blueBall": 6 }, "4": { "redBalls": "[02,10,17,25,30,31]", "blueBall": 14 }, "5": { "redBalls": "[08,13,20,23,27,32]", "blueBall": 11 } } }, "timestamp": 1703001600000 } ``` --- #### 9. 获取最新反思报告(5组对比)✨ 新增 ```http GET /api/lottery/reflections/latest ``` **说明**: 获取最新反思报告及5组方案的完整对比结果 **响应示例**: ```json { "code": 200, "message": "success", "data": { "reflection": { "id": 1, "reportContent": "AI反思分析内容...", "redMatchCount1": 3, "blueMatch1": true, "winResult1": "三等奖", "redMatchCount2": 4, "blueMatch2": false, "winResult2": "四等奖", ... }, "comparisons": { "1": { "redMatchCount": 3, "blueMatch": true, "winResult": "三等奖" }, "2": { "redMatchCount": 4, "blueMatch": false, "winResult": "四等奖" }, "3": { "redMatchCount": 2, "blueMatch": true, "winResult": "六等奖" }, "4": { "redMatchCount": 1, "blueMatch": false, "winResult": "未中奖" }, "5": { "redMatchCount": 5, "blueMatch": false, "winResult": "四等奖" } } }, "timestamp": 1703001600000 } ``` --- #### 10. 获取最近N期开奖记录 ```http GET /api/lottery/lottery/recent?limit=5 ``` **参数**: - `limit` (可选): 记录条数,默认 5 **说明**: 获取最近N期的完整开奖信息 --- #### 11. 获取下一期开奖信息 ✨ 新增 ```http GET /api/lottery/next-draw ``` **说明**: 根据最新开奖日期计算下一期的开奖期号、日期、星期几和时间 **响应示例**: ```json { "code": 200, "message": "success", "data": { "period": "25150", "drawDate": "2025/12/28", "drawDay": "周日", "drawTime": "21:15" }, "timestamp": 1703001600000 } ``` --- ### 邮件通知 #### 12. 手动发送预测邮件 ```http POST /api/lottery/mail/send-prediction ``` **说明**: 重新发送今日的预测邮件 --- #### 13. 手动发送反思邮件 ```http POST /api/lottery/mail/send-reflection ``` **说明**: 重新发送最新的反思邮件 --- ### 系统状态 #### 14. 健康检查 ```http GET /api/lottery/health ``` **说明**: 检查系统是否正常运行 **响应示例**: ```json { "code": 200, "message": "success", "data": { "status": "UP", "timestamp": 1703001600000, "service": "caipiao-ai" }, "timestamp": 1703001600000 } ``` ## ⏰ 定时任务说明 系统使用 Spring Boot 原生 `@Scheduled` 注解实现定时任务,同时提供 REST API 支持手动触发测试。 ### 任务清单 | 任务 | 时间表 | 说明 | 手动触发 | |------|--------|------|--------| | **每周一预测** | 每周一 10:00 | 生成预测号码并发送邮件(提前给用户多天查看) | `GET /api/lottery/trigger/prediction` | | **每周三预测** | 每周三 10:00 | 生成预测号码并发送邮件 | `GET /api/lottery/trigger/prediction` | | **每周五预测** | 每周五 10:00 | 生成预测号码并发送邮件 | `GET /api/lottery/trigger/prediction` | | **每日反思** | 每周二/四/日 22:30 | 生成反思报告并发送邮件 | `GET /api/lottery/trigger/reflection` | | **数据同步** | 每周一 02:00 | 增量更新最新开奖数据 | `GET /api/lottery/trigger/sync` | ### Cron 表达式配置 在 `application.yml` 中配置: ```yaml lottery: schedule: # 每周一/三/五 10:00 (提前给用户多天查看时间) predict-cron: "0 0 10 ? * MON,WED,FRI" # 每周二/四/日 22:30 (开奖后) reflection-cron: "0 30 22 ? * TUE,THU,SUN" # 每周一 02:00 sync-cron: "0 0 2 ? * MON" ``` --- ## 🚀 快速开始 ### 前置要求 - **Java 17+** - **Maven 3.6+** - **MySQL 8.0+** - **Redis 7.0+** - **AI 服务**(二选一): - **选项 1: Ollama**(本地部署) - 已拉取模型,如 `qwen2.5:0.5b` - 监听地址: http://127.0.0.1:11434 - **选项 2: Google Gemini** - Google Cloud 项目 ID 和 API Key - 或使用 Vertex AI 认证 - **163 邮箱账号** (用于发送邮件) ### 安装步骤 #### 1. 克隆项目 ```bash cd D:\wokespaces-v2\caipiao-ai ``` #### 2. 修改配置文件 编辑 `src/main/resources/application.yml`: ##### 使用 Ollama(默认) ```yaml spring: datasource: url: jdbc:mysql://127.0.0.1:13306/caipiao_ai?... username: root password: your-password ai: provider: ollama # 使用 Ollama ollama: base-url: http://127.0.0.1:11434 chat: options: model: qwen2.5:0.5b mail: username: your-email@163.com # 换成你的163邮箱 password: your-app-password # 换成授权码 lottery: email: recipient: target@example.com # 换成目标收件人 ``` ##### 使用 Gemini ```yaml spring: datasource: url: jdbc:mysql://127.0.0.1:13306/caipiao_ai?... username: root password: your-password ai: provider: gemini # 使用 Gemini vertex: ai: gemini: project-id: your-google-cloud-project-id # Google Cloud 项目 ID location: us-central1 api-key: your-gemini-api-key # Gemini API Key chat: options: model: gemini-2.0-flash-exp # 或 gemini-1.5-pro temperature: 0.7 max-output-tokens: 2048 mail: username: your-email@163.com password: your-app-password lottery: email: recipient: target@example.com ``` > **注意**: > - Gemini 需要 Google Cloud 项目和 API Key > - 可以在 [Google AI Studio](https://makersuite.google.com/app/apikey) 获取 API Key > - 或使用 Vertex AI 认证(需要配置 `GOOGLE_APPLICATION_CREDENTIALS` 环境变量) #### 3. 创建数据库 ```sql CREATE DATABASE caipiao_ai DEFAULT CHARSET utf8mb4; ``` #### 4. 编译与运行 ```bash # 编译 mvn clean install # 运行 mvn spring-boot:run # 或直接在 IDE 中运行 LotteryApplication.java ``` 首次启动会自动初始化 365 天的历史数据(耗时 10-20 分钟)。 #### 5. 验证启动 ```bash curl http://localhost:8080/api/lottery/health ``` --- ## 🧪 测试指南 ### 测试预测功能 1. **触发预测任务** ```bash curl http://localhost:8080/api/lottery/trigger/prediction ``` 2. **查看预测结果** ```bash curl http://localhost:8080/api/lottery/prediction/today ``` 3. **手动发送邮件** ```bash curl -X POST http://localhost:8080/api/lottery/mail/send-prediction ``` ### 测试数据初始化 ```bash # 初始化 365 天数据 curl http://localhost:8080/api/lottery/init?days=365 # 查看最近 20 期开奖 curl http://localhost:8080/api/lottery/recent?limit=20 ``` --- ## 📊 数据库表结构 ### lottery_record(开奖记录表) ```sql CREATE TABLE lottery_record ( id BIGINT PRIMARY KEY AUTO_INCREMENT, code VARCHAR(10) UNIQUE, -- 期号 open_date DATE, -- 开奖日期 red_ball JSON, -- 红球数组 blue_ball INT, -- 蓝球 sales_amount BIGINT, -- 销售额 pool_amount BIGINT, -- 奖池 created_at TIMESTAMP, updated_at TIMESTAMP ); ``` ### prediction_record(预测记录表) ```sql CREATE TABLE prediction_record ( id BIGINT PRIMARY KEY AUTO_INCREMENT, prediction_date DATE UNIQUE, -- 预测日期 red_ball1 JSON, -- 方案1红球 blue_ball1 INT, -- 方案1蓝球 red_ball2 JSON, -- 方案2红球 blue_ball2 INT, -- 方案2蓝球 red_ball3 JSON, -- 方案 3红球 blue_ball3 INT, -- 方案 3蓝球 red_ball4 JSON, -- 方案 4红球 blue_ball4 INT, -- 方案 4蓝球 red_ball5 JSON, -- 方案 5红球 blue_ball5 INT, -- 方案 5蓝球 email_sent BOOLEAN, -- 邮件是否已发送 email_sent_at TIMESTAMP, -- 发送时间 created_at TIMESTAMP, updated_at TIMESTAMP ); ``` > **改进**: 预测表已经改造为支持策蠻5个方案,提高预测的多样性 ### reflection_report(反思报告表) ```sql CREATE TABLE reflection_report ( id BIGINT PRIMARY KEY AUTO_INCREMENT, prediction_id BIGINT, -- 关联预测 ID reflection_date DATE, -- 反思日期 report_content LONGTEXT, -- 报告内容(Markdown) -- 方案1对比结果 red_match_count1 INT, -- 方案1红球命中数 blue_match1 BOOLEAN, -- 方案1蓝球是否命中 win_result1 VARCHAR(50), -- 方案1中奖等级 -- 方案2对比结果 red_match_count2 INT, -- 方案2红球命中数 blue_match2 BOOLEAN, -- 方案2蓝球是否命中 win_result2 VARCHAR(50), -- 方案2中奖等级 -- 方案 3对比结果 red_match_count3 INT, -- 方案 3红球命中数 blue_match3 BOOLEAN, -- 方案 3蓝球是否命中 win_result3 VARCHAR(50), -- 方案 3中奖等级 -- 方案 4对比结果 red_match_count4 INT, -- 方案 4红球命中数 blue_match4 BOOLEAN, -- 方案 4蓝球是否命中 win_result4 VARCHAR(50), -- 方案 4中奖等级 -- 方案 5对比结果 red_match_count5 INT, -- 方案 5红球命中数 blue_match5 BOOLEAN, -- 方案 5蓝球是否命中 win_result5 VARCHAR(50), -- 方案 5中奖等级 email_sent BOOLEAN, -- 邮件是否已发送 email_sent_at TIMESTAMP, -- 发送时间 created_at TIMESTAMP, updated_at TIMESTAMP ); ``` > **改进**: 反思报告表新增ᕕ个字段,支持 5 个方案的完整对比结果,每个方案都有独立的红球命中数、蓝球是否命中和中奖等级 --- ## 🎯 工作流程详解 ### 预测生成流程 1. **触发条件**: 开奖日 19:00 或手动调用 API 2. **数据准备**: 查询最近 200 期开奖数据 3. **Prompt 构造**: 基于历史数据和分析维度构造 AI Prompt 4. **AI 推理**: 调用 Ollama/Gemini 模型生成预测 5. **结果解析**: 解析 AI 输出并验证号码合法性 6. **数据保存**: 存储预测记录到数据库和 Redis 缓存 7. **邮件发送**: 发送预测邮件给指定收件人 ### 反思分析流程 1. **触发条件**: 开奖日 22:30 或手动调用 API 2. **数据获取**: - 获取上次开奖日的预测结果 - 爬取最新开奖数据 - 查询最近 100 期历史数据 3. **对比分析**: 计算红球和蓝球的命中情况 4. **Prompt 构造**: 基于对比结果和历史数据构造反思 Prompt 5. **AI 分析**: 调用 AI 生成专业复盘分析报告 6. **数据保存**: 存储反思报告和命中统计 7. **邮件发送**: 发送反思报告邮件 --- ## 🔐 配置安全建议 ### 敏感信息管理 - **邮箱授权码**: 不要在代码中硬编码,使用环境变量或配置文件 - **数据库密码**: 使用强密码并定期更换 - **Redis 密码**: 启用认证并使用强密码 - **API 访问**: 建议添加身份验证和速率限制 ### 环境变量示例 ```bash # 邮箱配置 export SPRING_MAIL_USERNAME=your-email@163.com export SPRING_MAIL_PASSWORD=your-app-password # 数据库配置 export SPRING_DATASOURCE_USERNAME=flea_market export SPRING_DATASOURCE_PASSWORD=flea_market # 收件人配置 export LOTTERY_EMAIL_RECIPIENT=target@example.com ``` --- ## 📈 性能优化建议 1. **缓存策略**: Redis 缓存预测结果(24 小时) 2. **数据库索引**: 在 `code`、`open_date` 字段建立索引 3. **批量操作**: 使用批量插入优化数据初始化 4. **异步任务**: 邮件发送可改为异步处理 5. **连接池**: 配置合理的数据库和 Redis 连接池大小 --- ## 🐛 常见问题 ### Q: 启动时卡在数据初始化? **A**: 首次启动会爬取 365 天的历史数据(约 520 期),耗时 10-20 分钟,请耐心等待。可在日志中查看进度。 ### Q: 邮件无法发送? **A**: 1. 检查 163 邮箱账号和授权码是否正确 2. 确认 SMTP 配置是否启用 3. 检查收件人邮箱是否正确 ### Q: AI 预测为空或异常? **A**: 1. 确认 Ollama 服务正在运行 2. 检查模型是否已拉取: `ollama list` 3. 查看日志中的 AI 调用错误信息 ### Q: 如何修改 AI 模型? **A**: #### 使用 Ollama 在 `application.yml` 修改: ```yaml spring: ai: provider: ollama ollama: chat: options: model: qwen2.5:7b # 更换为其他模型 ``` 需要先用 `ollama pull` 拉取该模型。 #### 使用 Gemini 在 `application.yml` 修改: ```yaml spring: ai: provider: gemini vertex: ai: gemini: project-id: your-project-id api-key: your-api-key chat: options: model: gemini-2.0-flash-exp # 可选: gemini-1.5-pro, gemini-1.5-flash ``` #### 切换 AI 提供商 只需要修改 `spring.ai.provider` 即可: ```yaml spring: ai: provider: ollama # 或 gemini ``` 重启应用后生效。 --- ## 📞 技术支持 遇到问题时请检查: 1. ✅ `application.yml` 配置是否正确 2. ✅ MySQL 数据库是否创建并可访问 3. ✅ Redis 是否正常运行 4. ✅ Ollama 服务是否运行 5. ✅ 163 邮箱配置是否正确 6. ✅ 查看 `logs` 目录下的日志文件 --- ## 📝 更新日志 ### v1.1.0 (2025-12-28) - ✅ 新增 Gemini AI 支持 - ✅ 支持 Ollama 和 Gemini 切换 - ✅ 优化 AI 配置结构 - ✅ 更新文档说明 ### v1.0.0 (2025-12-25) - ✅ 项目初始化 - ✅ 核心功能实现 - ✅ REST API 支持手动触发 - ✅ 使用 Fastjson2 序列化 - ✅ 完整文档编写 --- ## 📄 许可证 本项目仅供学习和研究使用。 --- ## ⚖️ 免责声明 **重要**: - 本系统不构成任何投资建议 - 彩票是完全随机事件,历史数据不能保证未来结果 - 请理性参与,遵守相关法律法规 - 使用本系统产生的任何后果由用户自行承担 --- ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! --- **最后更新**: 2025-12-25 **维护者**: AI Assistant