Commit Graph

172 Commits

Author SHA1 Message Date
2569718930@qq.com 9a7257008e speed up China airport Telegram pushes 2026-06-11 15:38:05 +08:00
2569718930@qq.com 2af1cf9cd8 feat: add observation collector and source gate 2026-06-05 14:38:58 +08:00
2569718930@qq.com aa583e7440 Add ops runtime secret rotation 2026-05-30 20:33:30 +08:00
2569718930@qq.com f8f5035225 Fix runway chart collapse and ops cleanup 2026-05-29 18:40:29 +08:00
2569718930@qq.com f2e90fbcda feat: support ethereum usdc payment route 2026-05-29 01:57:42 +08:00
2569718930@qq.com eef611adb4 fix: align telegram runway slope with settlement endpoint 2026-05-28 11:05:50 +08:00
2569718930@qq.com 79b82a34cb fix: use settlement runway endpoint temperatures 2026-05-28 10:55:32 +08:00
2569718930@qq.com 5d784f78b9 feat: implement scan terminal dashboard system and supporting services 2026-05-28 08:24:50 +08:00
2569718930@qq.com bef3c610b7 feat: implement Telegram push utility and temperature threshold visualization components 2026-05-27 08:53:36 +08:00
2569718930@qq.com bbd7c768f8 feat: implement live temperature threshold charting component with SSE patch support and data collection logic 2026-05-27 08:42:08 +08:00
2569718930@qq.com 79d94bed5f feat: add weekly reward loop, i18n support, and scan terminal dashboard components 2026-05-27 07:50:05 +08:00
2569718930@qq.com c88d313f60 终端 header 显示当前在线人数
- src/utils/online_tracker.py:5 分钟滑动窗口,thread-safe 内存追踪
- web/core.py:认证成功时 record_activity(user_id)
- web/routers/ops.py:GET /api/ops/online-users 返回 {online: N}
- 前端 header 每 60s 轮询,Users 图标 + 数字
2026-05-26 08:40:17 +08:00
2569718930@qq.com e852b9bc89 feat: initialize landing page, payment logic, bot coordination, and configuration validation systems 2026-05-26 02:11:27 +08:00
2569718930@qq.com 8cb2beb956 恢复美国城市电报推送和子话题 2026-05-26 00:25:35 +08:00
2569718930@qq.com a6367ab7c2 修复 marketOverview 移除后的导入错误 2026-05-25 23:09:37 +08:00
2569718930@qq.com b3aabe61ce 清理市场概览残留与 refresh_policy 中的 marketOverview 条目 2026-05-25 23:06:44 +08:00
2569718930@qq.com d1aa3550ba 电报推送移除全部美国城市,降低服务器负载 2026-05-25 23:05:46 +08:00
2569718930@qq.com ea5c6ec71e 清理市场概览残留:删除 MarketOverviewBanner+refresh_policy 中的 marketOverview 条目 2026-05-25 23:04:40 +08:00
2569718930@qq.com 10dcf20077 巴黎推送按新口径重构:当前实况始终为 AEROWEB,AROME 仅为模型参考 2026-05-25 21:48:20 +08:00
2569718930@qq.com c5e80a56b4 巴黎推送同时展示 AEROWEB 实况和 AROME 临近预报两条温度 2026-05-25 21:41:48 +08:00
2569718930@qq.com 5202ed06ff 巴黎 AROME 仅在 AEROWEB 为主源时作对比展示,避免与当前温度重复 2026-05-25 21:38:10 +08:00
2569718930@qq.com b8b99a0fc5 巴黎推送增加 AROME HD 15分钟临近预报温度行 2026-05-25 21:35:39 +08:00
2569718930@qq.com 0e81b974e7 巴黎推送标明数据源:AEROWEB 实况或 AROME HD 临近预报 2026-05-25 21:28:17 +08:00
2569718930@qq.com 7b8826dfa1 清理最后一批 Polymarket 注释+死代码 WeatherDecisionBand 2026-05-25 20:53:03 +08:00
2569718930@qq.com 341397bc45 lau fau shan 重命名为 shenzhen,移除旧 ZGSZ 深圳条目,统一使用流浮山天文台 HKO 数据 2026-05-25 06:09:50 +08:00
2569718930@qq.com ad936bfd91 Telegram 高频推送内存优化:LRU 缓存限制、TTL 驱逐、速率控制、连接复用
core.py: _cache 改用 LRUDict(maxsize=256) + threading.Lock 线程安全读写
analysis_service.py: _CACHE_LOCK 保护读写,_SUMMARY_CACHE 改用 LRUDict(maxsize=128)
weather_sources.py: 新增 _maybe_trim_caches() 定期清理 11 个过期缓存条目,防止无限增长
telegram_push.py: requests.Session 连接复用替代裸 requests.get,ThreadPoolExecutor 跨周期复用,
新增 _rate_limited_send 消息发送速率控制防止 API 限流堆积

Tested: ruff check 通过, 182 pytest 通过
2026-05-25 02:20:15 +08:00
2569718930@qq.com 5aa2a9e384 更换 Telegram Bot 为新账号 polyyuanbot,更新群链接和推送配置
- Bot token/用户名全局替换:WeatherQuant_bot → polyyuanbot
- 群 ID 更新为新群 polyweather售后群(-1003927451869)
- 群邀请链接更新为 https://t.me/+Io5H9oVHFmVjOTQ5
- 修复机场推送:Paris/Taipei/Denver/Tel Aviv 支持 airport_primary/current 回退
- 修复跑道数据展示:has_runway 直接检测数据而非依赖 source 字段
- 创建新群 30 城 Forum Topics(data/city_thread_ids.json)
- 配置 AMSC AWOS 数据源 URL

Constraint: 旧 Telegram 账号已注销,Bot 完全重建
Tested: VPS 部署验证,所有城市推送正常,Topic 路由生效
2026-05-24 16:03:29 +08:00
2569718930@qq.com 0012eddc81 修复电报推送偶发高温:目标机场站缺失时不再冒用 mgm_nearby[0]
Constraint: fetch_mgm_nearby_stations 并发抓取,17128/17058 偶发超时导致回退到市区站(热岛 +2-3°C)
Tested: ruff OK, pytest 184 passed
2026-05-23 22:04:09 +08:00
2569718930@qq.com eeb5f563db 移除 Polymarket 价格拉取:删除 _market_layer、market_scan 返回空、清理健康检查和配置验证 2026-05-23 12:04:40 +08:00
2569718930@qq.com 2aa44dd5c7 天气日报末尾添加粗略预测免责提醒(代码拼接,不依赖 AI) 2026-05-23 10:33:46 +08:00
2569718930@qq.com 678b94000c 简化 AI prompt 为纯文本格式,降低 MiMo 空响应概率 2026-05-23 10:27:07 +08:00
2569718930@qq.com 0a7aaf19a6 修复 CMA 温度提取:_extract_first 添加 re.DOTALL 标志支持多行 HTML 内容 2026-05-23 10:20:59 +08:00
2569718930@qq.com c18ff504e4 修复 CMA 温度提取:改用纯文本数字匹配替代 HTML 标签猜测,天气优先 CMA、温度回退 OM 2026-05-23 10:13:16 +08:00
2569718930@qq.com 53225118c1 修复 Telegram HTML 解析错误:禁止 AI 使用 br 标签,添加 CMA 数据诊断日志 2026-05-23 10:06:52 +08:00
2569718930@qq.com 160dd65a54 接入中国气象局 weather.com.cn 预报数据作为天气日报主数据源
- 新增 CMA 7日预报页 HTML 爬虫,提取白天天气描述和最高/最低温
- 7 城优先使用 CMA 数据,Open-Meteo 仅做 fallback
- 数据来源在 prompt 中标注 weather.com.cn
2026-05-23 09:59:37 +08:00
2569718930@qq.com cfda3a796c 在代码层将 WMO weather_code 转译中文,杜绝 AI 天气误判 2026-05-23 09:53:12 +08:00
2569718930@qq.com a80f34137c 修复 AI 空响应:移除 prompt 中的 HTML 标签示例,加入 finish_reason 诊断日志 2026-05-23 09:50:08 +08:00
2569718930@qq.com dd65adb9d8 强制天气日报逐城格式:天气现象 + 最高温 + 体感建议,禁止结尾客套 2026-05-23 09:45:39 +08:00
2569718930@qq.com faf88387a1 禁止天气日报结尾废话:总结段落、免责声明等 AI 套话 2026-05-23 09:40:49 +08:00
2569718930@qq.com 73a51d73e8 优化天气日报 AI prompt:移除实时观测温度,聚焦预报最高温 + 天气现象代码
- 去掉当前温度和 METAR 报文,仅保留 forecast_high 和 weather_code
- 传入当前日期,防止 AI 猜测日期错误
- 禁止 AI 编造数据缺失声明
- 精简输出至 400 字以内
2026-05-23 09:38:08 +08:00
2569718930@qq.com f49a5bfbb2 新增中国城市天气日报:AI 生成每日天气摘要并推送至 Telegram 论坛群 General 话题
- 新建 src/utils/daily_weather_report.py,覆盖 7 个中国城市(北京、上海、广州、成都、重庆、武汉、青岛)
- 复用 Open-Meteo + METAR 数据源,MiMo AI 生成自然语言日报
- 注册为 runtime_coordinator 独立后台循环,默认每日 8:00 Asia/Shanghai 发送
- 环境变量:DAILY_WEATHER_REPORT_ENABLED / _HOUR / _MINUTE / _TIMEZONE

Constraint: message_thread_id=0 发送到论坛群 General 子话题
Tested: ruff check pass, Python 语法验证通过
2026-05-23 09:24:18 +08:00
2569718930@qq.com 891b4d2422 新增 AEROWEB (Météo-France) 和 NCM (沙特) 实时气象数据源
AEROWEB: 接入 aviation.meteo.fr,LFPB METAR 2 分钟内可获取,
实测温度替代 AROME 模式预报作为 Paris 电报推送数据源。
登录流程: PHPSESSID + MD5 密码 → ajax/login_valid.php,
Session 20 分钟自动续期,XML 解析提取 tempe/td/dd/ff/qnh。

NCM: 沙特气象局 Meteomatics API 代码框架,待凭证激活。
Jeddah settlement_source 从废弃的 wunderground 迁移至 ncm。

同时清理: 日志文件 trading_system.log → polyweather.log,
删除 2026-02-07 的 1.2MB 废弃交易引擎日志。

Constraint: AEROWEB 需 AEROWEB_USERNAME/AEROWEB_PASSWORD 环境变量
Constraint: NCM 需 NCM_API_USERNAME/NCM_API_PASSWORD 环境变量
Confidence: high
Tested: AEROWEB 登录→取数→解析端到端验证通过
2026-05-22 21:50:37 +08:00
2569718930@qq.com 79b33599ac 修正韩国 AMOS 跑道显示条件:有 runway_temps 即可展示
Rejected: 韩国 AMOS 无 TDZ/MID/END 点温,display 层自动退化为跑道温度格式
2026-05-22 06:06:20 +08:00
2569718930@qq.com b8a3c223f5 首尔釜山推送模板启用跑道观测格式,与中国城市一致
Directive: is_amsc 扩展为识别 amos 和 amsc_awos 两种源
2026-05-22 05:59:32 +08:00
2569718930@qq.com dc164205f6 跑道观测推送追加 AMSC 实时 METAR 报文
Constraint: 仅中国城市 is_amsc 时显示,不影响其他城市
2026-05-22 04:12:53 +08:00
2569718930@qq.com 8ba9567f64 移除深圳宝安机场跑道数据采集,深圳市场结算使用流浮山 HKO 数据 2026-05-20 19:38:07 +08:00
2569718930@qq.com 5fa3bb1b59 非跑道城市推送恢复普通机场格式 2026-05-20 18:41:59 +08:00
2569718930@qq.com 9b2ac614cb 重构跑道观测系统:全跑道展示、结算跑道标注、热力模型、风场分析 2026-05-20 18:16:27 +08:00
2569718930@qq.com 4acd0d9da6 机场推送新增 Tel Aviv(LLBG / Ben Gurion)
- HIGH_FREQ_AIRPORT_CITIES 从 30 城扩到 31 城
- 新增论坛子话题 thread_id=3408
- ICAO: LLBG,数据源: IMS + METAR
2026-05-17 22:56:43 +08:00
2569718930@qq.com bd21b05fbc 完全移除预热(prewarm)功能
- 删除 src/utils/prewarm_dashboard.py
- 删除 scripts/prewarm_dashboard_cache.py、prewarm_dashboard_worker.py
- docker-compose.yml 移除 polyweather_prewarm 服务
- runtime_coordinator.py 移除预热循环启动逻辑
- web/core.py 移除 prewarm status 上报
- web/routers/system.py 移除 /api/system/prewarm 端点
- web/services/system_api.py 移除 run_system_prewarm
- city_runtime.py DEFAULT_PREWARM_CITIES 改名为 DEFAULT_STATUS_CITIES
- 清理 env.example、测试、VPS .env 中的预热配置
2026-05-17 22:43:17 +08:00