Commit Graph

299 Commits

Author SHA1 Message Date
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
2569718930@qq.com 6041d25f23 feat: add telegram group pricing and direct payments 2026-05-18 16:18:26 +08:00
2569718930@qq.com fd59cd018d Harden Open-Meteo rate limiting 2026-05-18 00:13:51 +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
2569718930@qq.com 1ab10a9c90 Add MGM hourly support for Ankara models 2026-05-17 19:19:12 +08:00
2569718930@qq.com d39534dff4 机场推送重构:观测缓存分离 + 全城市覆盖 + 四路并发
- 新增 force_refresh_observations_only 模式:机场推送仅刷新 METAR/AMOS
  观测缓存,多模型预报缓存保留 15 分钟,杜绝 Open-Meteo 429 限流后
  DEB 回退到实测温度的 bug
- 砍掉夜间静默和温度状态机,每条新观测无条件推送
- HIGH_FREQ_AIRPORT_CITIES 从 19 城扩到 30 城(新增 11 个美国城市)
- 美国城市走 airport_primary (MADIS) 优先取温
- 机场周期从串行改为 ThreadPoolExecutor(max_workers=4),周期时间从
  ~120s 压缩到 ~33s

Constraint: 单核 VPS 安全并发上限
Tested: docker compose up -d --build polyweather 重建后推送正常
2026-05-17 18:04:05 +08:00
2569718930@qq.com 2d9aa576dd feat: implement scan terminal mobile dashboard components and data management logic 2026-05-17 15:32:47 +08:00
2569718930@qq.com a83d9e7649 feat: implement 60-second analysis cache TTL for high-frequency airport cities 2026-05-17 13:41:44 +08:00
2569718930@qq.com b27bedbca3 修复网站 API 阻塞与积分同步问题
- uvicorn 改用 import string 格式启动 4 workers,防止数据采集阻塞 event loop
- prewarm 去掉 --force-refresh,仅依赖缓存预热避免每 5 分钟全量采集
- 积分变动时同步写入 Supabase user_metadata,避免前端回退路径失败时显示 0 积分
- /api/auth/me 积分解析增加 Supabase email 回退路径
2026-05-16 13:15:30 +08:00
2569718930@qq.com b45010a92e feat: implement runway observations dashboard panel, add telegram alert utility, and create city payload service 2026-05-15 15:37:25 +08:00
2569718930@qq.com 4cc579ccb3 feat: add AMSC runway observations 2026-05-15 01:41:49 +08:00
2569718930@qq.com 2ee00f8016 MiMo AI 能力扩展:TAF解读、概率分布解读、异常检测、市场概览
AI 解读字段扩展:
    - 新增 taf_read_zh/en:解读机场预报中影响今日峰值窗口的变化
    - 新增 probability_read_zh/en:描述概率分布形态(最高桶、偏左/偏右)
    - stream max_tokens 900→1200 容纳新输出字段
    - 缓存 key 简化为 METAR原文+观测时间,大幅提升命中率
    - 兜底函数补全 TAF 和概率字段的确定性生成

    异常检测:
    - 纯数学计算,零 AI 延迟:实测温度 vs 全部模型预测上下限
    - 三级告警:breakout_above / breakout_below / deviation

    市场概览:
    - 新增 POST /api/scan/terminal/overview(MiMo 批量解读,缓存10分钟)
    - 前端 MarketOverviewBanner 可折叠横幅(顶栏与标签栏之间)
    - 移动端适配 640px/768px 断点,暗色/亮色双主题

    Scope-risk: MEDIUM — 170 测试通过,TypeScript 零错误,ruff 零告警
    Tested: python -m pytest -q (170 passed), npx tsc --noEmit (0 errors), ruff check .
2026-05-14 22:41:31 +08:00
2569718930@qq.com 6c08a68413 @
性能与用户体验全面优化

    前端性能:
    - 移除 Three.js 依赖(~600KB),天气粒子改为纯 CSS 动画 + Canvas 2D
    - Google Fonts 切换为 next/font 自托管,消除跨域字体请求
    - 合并 ScanTerminalLightTheme.module.css (37KB) 到主 CSS,亮/暗主题统一用 CSS 变量
    - 新增 /api/dashboard/init 聚合端点,首次加载 4 次往返 → 1 次
    - 添加 Service Worker 静态资源缓存,修复 PWA manifest 配置

    用户体验:
    - 新增全局错误边界 error.tsx / global-error.tsx,崩溃不再白屏
    - 决策卡和城市详情的更新时间改为相对时间("15秒前"),每秒自动刷新
    - 数据陈旧时状态标签从青色切换为琥珀色提示

    DEB 算法增强:
    - 市场扫描路径接入 Open-Meteo 多模型数据(ECMWF/GFS/ICON/JMA/HRDPS 等)
    - MAE 计算加入时间衰减(decay_factor=0.85),近期模型误差权重更高

    Scope-risk: MEDIUM — 全量 170 测试通过,前端 TypeScript/build 通过,ruff 零告警
    Tested: python -m pytest -q (170 passed), npx tsc --noEmit (0 errors), npm run build (success), ruff check .
@
2026-05-14 21:31:05 +08:00
2569718930@qq.com 37494a7192 @
将 web/routes.py 拆分为模块化 router + service 架构

    - 新增 web/app_factory.py 集中注册 7 个域名 router
    - 新增 web/routers/ 薄壳路由层(auth/city/system/scan/ops/payments/analytics)
    - 新增 web/services/ 业务函数下沉(每域独立 service 文件)
    - web/routes.py 缩减为 city_runtime 的兼容重导出 facade
    - analysis_service.py/app.py 适配新入口并清理冗余导入

    Scope-risk: LOW — 全量 170 测试通过,router 注册顺序与原路由一致
    Tested: python -m pytest -q (170 passed), ruff check . (All checks passed)
@
2026-05-14 20:01:26 +08:00
2569718930@qq.com 02add6d994 feat: implement city weather detail API routing, dashboard data models, and monitoring infrastructure 2026-05-14 14:21:28 +08:00
2569718930@qq.com c006d13fea MonitorPanel 从独立 API 改为复用 DashboardStore 数据,砍掉 /api/m 和 /m/json 2026-05-14 00:43:19 +08:00
2569718930@qq.com c5fdb93ae5 监控页:后端 30s 缓存 + 前端 loading 态 2026-05-14 00:29:51 +08:00
2569718930@qq.com 2202f8e211 砍掉 /m HTML 页面,只保留 /m/json 给 React 组件用 2026-05-14 00:23:03 +08:00
2569718930@qq.com fc48795299 监控页从 iframe 改为原生 React 组件:无加载延迟,30s JSON 轮询 2026-05-14 00:18:26 +08:00
2569718930@qq.com 22b414f69e 监控页时间改为用户本地时间(JS toLocaleTimeString) 2026-05-14 00:10:43 +08:00
2569718930@qq.com 9dd59ceb4e 修复 ruff 风格:多行语句、bare except → except Exception 2026-05-13 23:55:54 +08:00
2569718930@qq.com a9b1449680 放弃 Jinja2,改用 f-string 直接拼 HTML,零模板引擎依赖 2026-05-13 23:54:53 +08:00