Commit Graph

320 Commits

Author SHA1 Message Date
2569718930@qq.com baede6a485 终端侧边栏新增训练数据面板,展示各城市 DEB 命中率/MAE 准确率 2026-05-25 04:24:44 +08:00
2569718930@qq.com 6de29ed2e1 清理调试日志:移除 BIAS_DEBUG/SCAN_DEBUG 临时日志,保留核心修正逻辑 2026-05-25 03:52:07 +08:00
2569718930@qq.com 5d6f906adb bias correction 改用已解析的 cur_temp/max_so_far 变量替代错误的 raw 读取 2026-05-25 03:29:04 +08:00
2569718930@qq.com d7903f4387 bias correction 新增 BIAS_PRE 日志排查条件入口 2026-05-25 03:24:22 +08:00
2569718930@qq.com 54b03321cb bias correction 新增 BIAS_DEBUG 日志排查修正是否生效 2026-05-25 03:22:41 +08:00
2569718930@qq.com c0df56e7b8 新增日内偏差修正:用实况与模型小时预报偏差动态修正 DEB 和概率分布
_analyze 在小时数据组装后,对比当前实测温度与模型预报偏差,
按日内时段权重修正 DEB 高温预测和概率分布 mu。
修正量上限 5°F/3°C,上午权重轻、峰值窗口加重、峰值后最强。
同时将 max-so-far 突破 DEB 预测作为辅助趋势修正信号。
2026-05-25 03:18:00 +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 9a49ff3f5e 新增终端大洲分组与移动端卡片 CSS 模块
包含分组标题行、移动端 Tab 隐藏滚动条、信号卡片样式及浅色主题适配。
2026-05-25 01:55:55 +08:00
2569718930@qq.com e9cc9a5eb1 修复机构落地页构建失败并恢复 Polymarket 市场扫描
InstitutionalLandingPage.tsx 补充 "use client" 指令以通过 Next.js 15 构建。
polymarket_readonly.py 集成 WebSocket 报价缓存加速价格获取。
city_payloads.py 复用 Polymarket 层构建真实市场扫描数据替代空返回。

Constraint: 市场扫描需在无 Polymarket 价格 UI 的前提下提供数据
Tested: npm run build 通过
2026-05-25 00:41:56 +08:00
2569718930@qq.com 20c8395c0b 全局配置更新:OAuth 回调修复、支付安全加固、站点 URL 工具
- 新增 NEXT_PUBLIC_SITE_URL 支持及 site-url.ts 工具模块
- 修复 OAuth 回调域名:import.meta.env 统一读取站点 URL
- 支付 API 路由新增收款地址校验
- 后端支付服务更新
- middleware 清理
- 新增 paymentSecurity 测试
2026-05-24 18:33:47 +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 b2dd758977 扩展模型区间端点至首尔和釜山,并做前端小幅清理
- GET /api/cities/model-range 新增 seoul/busan,总计 9 城
- 移除未使用的 react-leaflet 依赖
- 提取 chart Tooltip contentStyle 为共享常量 CHART_TOOLTIP_STYLE,消除 6 个文件中 15 处重复内联样式

Tested: npx tsc --noEmit pass
Confidence: high
2026-05-23 22:59:50 +08:00
2569718930@qq.com f5fc3ca0cd 加速 AI 报文解读:精简 snapshot 负载,默认 max_tokens 1200→800 2026-05-23 12:40:46 +08:00
2569718930@qq.com eeb5f563db 移除 Polymarket 价格拉取:删除 _market_layer、market_scan 返回空、清理健康检查和配置验证 2026-05-23 12:04:40 +08:00
2569718930@qq.com f661350990 新增 GET /api/cities/model-range 端点:返回 7 城 DEB 预测和模型区间 2026-05-23 10:42:53 +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 105713c799 @
支付提交增加 Tx 预校验:提交前链上验签收款地址与金额,防止转错地址;409 错误展示友好中文提示并自动对账恢复

- 新增 validate_intent_tx 方法及 POST /api/payments/intents/{id}/validate 端点,
  在提交前查链上 receipt 对比收款地址和金额,mismatch 直接拦截
- 新增 handleSubmit409 辅助函数,根据后端错误详情分流处理:
  已支付→自动 reconcile,已过期→提示重下单,其他→透传具体原因
- submit/validate 路由透传后端 detail 字段,生产环境也能看到具体错误
- 手动转账面板粘贴 tx hash 后自动触发验证,绿色/红色提示,
  验证不通过时禁用提交按钮

Tested: tsc --noEmit + ruff check . 均通过
@
2026-05-22 04:44:14 +08:00
2569718930@qq.com 0f8d160c54 entitlement 无转发头时返回占位身份,交由 ops admin 裁决 2026-05-20 21:57:27 +08:00
2569718930@qq.com 1766a71f63 纯 entitlement token 也可通过 ops admin 鉴权 2026-05-20 21:53:22 +08:00
2569718930@qq.com b0662f6fef 开通 Pro 时支持同时扣除用户积分 2026-05-20 20:52:25 +08:00
2569718930@qq.com d04d6c9efb 移除季付和年付计划,仅保留月付 2026-05-20 20:44:13 +08:00
2569718930@qq.com 75dd7464cc 新增积分转账功能:支持管理员手动扣除和划转用户积分 2026-05-20 20:39:51 +08:00
2569718930@qq.com db955d59ea 修复管理员手动开通失败:移除 ops 后台的订阅要求检查 2026-05-20 20:28:54 +08:00
2569718930@qq.com 44a273c9d1 修复未使用变量 2026-05-20 17:13:05 +08:00
2569718930@qq.com 6f7e847b01 添加后台 Telegram 审计面板 2026-05-20 17:12:32 +08:00
2569718930@qq.com 66512d2623 完善后台管理功能:订阅管理增强、训练精度面板、支付记录查询 2026-05-20 16:50:19 +08:00
2569718930@qq.com 05f5d3c2dd 添加后台支付成功记录列表 2026-05-20 14:12:35 +08:00
2569718930@qq.com 452dfe2218 @
移除 IMGW / Synoptic 健康检查

两者均为可选 fallback 数据源,VPS 未配置且非核心链路
Synoptic 检查还存在变量名错误(查 SYNOPTIC_API_TOKEN 而非 NOAA_WRH_MESO_TOKEN)
@
2026-05-20 12:15:52 +08:00
2569718930@qq.com 56bcb89d3d @
移除 OpenWeather / VisualCrossing 健康检查

两个数据源有实现但从未在主流程中被调用,属于死代码
@
2026-05-20 12:07:35 +08:00
2569718930@qq.com 5ef0b49299 @
后台健康检查超时从 3s 提高到 8s

aviationweather.gov 从亚洲 VPS 连接经常超过 3 秒导致误报
@
2026-05-20 12:01:21 +08:00
2569718930@qq.com 781d8cf476 @
修复后台管理 CWA 状态显示为未配置

ops_api 读取 CWA_API_KEY,但实际环境变量是 CWA_OPEN_DATA_AUTH
@
2026-05-20 11:44:07 +08:00
2569718930@qq.com 9ff0685756 Unify subscription pricing to 10 USDC, update documentation, and improve manual payment address copy experience 2026-05-20 09:20:07 +08:00
2569718930@qq.com 72e93f8e93 Optimize multi-model caching and frontend revalidation 2026-05-20 08:58:16 +08:00
2569718930@qq.com df892ce9a6 chore(ops): fall back to local trading_system.log in get_ops_logs when docker logs is empty 2026-05-20 08:20:16 +08:00
2569718930@qq.com 76d5a0abe8 refactor: remove redundant telegram pricing, align daily forecast date, and hide sunrise/sunset from UI 2026-05-20 07:55:47 +08:00
2569718930@qq.com 3fd52ad9d4 feat: add ops_api service for administrative management of users, subscriptions, and system analytics 2026-05-19 23:57:08 +08:00
2569718930@qq.com a714817cdf feat: implement health check dashboard client and admin service APIs 2026-05-19 23:39:33 +08:00
2569718930@qq.com e1e000e854 后台会员页新增增长趋势图表:累计曲线、每日新增堆叠面积图、统计卡片 2026-05-19 19:28:38 +08:00
2569718930@qq.com a5c508cce8 feat: implement SQLite database management and Supabase integration for user authentication and points synchronization 2026-05-19 18:07:39 +08:00
2569718930@qq.com 3ca5b71299 移除 NMC(中国国家气象中心)数据源:无实际使用价值 2026-05-19 16:20:48 +08:00
2569718930@qq.com 3d4a0148fe 修复 KNMI 健康检查 404:列表 API 已移除,改用实际数据端点 2026-05-19 15:00:10 +08:00
2569718930@qq.com b93a75516d 移除未使用的 Groq 和 Meteoblue 服务代码及配置 2026-05-19 00:05:07 +08:00
2569718930@qq.com c38dc80f58 后台新增 API 状态检测页:实时检测 Supabase/Open-Meteo/METAR/KNMI/MADIS/Telegram 连通性 2026-05-18 23:25:16 +08:00
2569718930@qq.com 5b1402fc7c refactor: extract analysis signal builders 2026-05-18 23:11:56 +08:00
2569718930@qq.com 2b6b18ec20 修复 city_runtime.py 引用已删除的 probability_snapshot_archive 模块 2026-05-18 22:30:56 +08:00
2569718930@qq.com 0e0aad3171 删除 LGBM 全部代码和模型文件,EMOS 简化为纯 legacy 高斯分桶模式 2026-05-18 22:05:55 +08:00
2569718930@qq.com e12d935cde 会员订阅区分体验用户和付费用户:类型标签、筛选器、来源字段 2026-05-18 20:29:33 +08:00
2569718930@qq.com 67701a4715 后台管理系统后端 API:在线配置编辑、手动订阅管理、日志查看(logs 目录避开 gitignore) 2026-05-18 20:18:42 +08:00
2569718930@qq.com 2d459f3052 城市 panel/nearby 数据对游客开放,market/full 保留鉴权 2026-05-18 19:28:54 +08:00
2569718930@qq.com 78b23ef361 feat: implement Telegram account binding and update project structure in documentation 2026-05-18 17:10:44 +08:00