2569718930@qq.com
|
4f4617ba0a
|
Guard DEB bucket calibration
|
2026-06-08 00:59:16 +08:00 |
|
2569718930@qq.com
|
139e5dbb06
|
Fix DEB quality daily payload
|
2026-06-08 00:12:14 +08:00 |
|
2569718930@qq.com
|
bbe3871b7c
|
Expose DEB quality guidance
|
2026-06-07 23:57:47 +08:00 |
|
2569718930@qq.com
|
fb6c354317
|
Avoid terminal full-detail fallback overload
|
2026-06-01 12:06:46 +08:00 |
|
2569718930@qq.com
|
68416b058e
|
feat: implement temperature chart visibility logic with comprehensive unit testing and analysis service support
|
2026-05-29 22:40:33 +08:00 |
|
2569718930@qq.com
|
95c2258db0
|
Fix Turkey MGM panel history
|
2026-05-29 21:56:57 +08:00 |
|
2569718930@qq.com
|
9e3a4e2f45
|
Fix WU historical current observation merge
|
2026-05-29 17:20:07 +08:00 |
|
2569718930@qq.com
|
f56c604677
|
feat: implement analysis service and TTL configuration for regional city-specific cache management
|
2026-05-28 10:59:54 +08:00 |
|
2569718930@qq.com
|
d83a0f0eef
|
feat: build DEB hourly consensus for peak windows
|
2026-05-28 10:44:48 +08:00 |
|
2569718930@qq.com
|
be549daf50
|
fix: use multi-model peak window for gaussian probability
|
2026-05-28 10:03:29 +08:00 |
|
2569718930@qq.com
|
fb4a9d7e09
|
fix: align gaussian probability with local forecast date
|
2026-05-28 09:44:42 +08:00 |
|
2569718930@qq.com
|
1a7d2a487f
|
feat: add hourly peak correction for DEB charts
|
2026-05-27 22:41:16 +08:00 |
|
2569718930@qq.com
|
8609376c59
|
feat: add versioned DEB bias backtesting
|
2026-05-27 21:40:26 +08:00 |
|
2569718930@qq.com
|
645e304b3e
|
feat: implement SSE-based real-time event distribution system with replay support and heartbeat functionality
|
2026-05-26 22:27:55 +08:00 |
|
2569718930@qq.com
|
d029d5c4e7
|
Auth session 持久化 + 多分辨率跑道图表 + 拖拽缩放
- middleware: refreshMiddlewareSession 前置刷新 Supabase token
- backend-auth: getUser() 优先触发 refresh,再 getSession 拿新 token
- Dashboard: onAuthStateChange 实时更新 proAccess + 15min getSession 心跳
- detail proxy: 新增 city/[name]/detail 代理,透传 resolution 参数
- city_payloads: aggregate_runway_history + build_runway_band_history 跑道聚合
- chart: 10m→1m 自适应分辨率 + zoom 拖拽 + 跑道温区 Area + Runway Details 开关
|
2026-05-26 20:37:00 +08:00 |
|
2569718930@qq.com
|
45365df694
|
CoWIN 6087 历史持久化 + 跑道曲线聚合 + 模型区间修复 + HKO 曲线对调 + 毛玻璃加载层
- weather_sources: CoWIN 1min 观测写入 official_intraday_observations_store
- country_networks: cowin_obs 源从 DB 回读 1min 历史,不复用 VHHH METAR
- analysis_service: 跑道实测 36h 历史按跑道分组,透传至前端
- scan_terminal_city_row: model_cluster_sources fallback 修复 + runway_plate_history
- 前端: CoWIN 6087 升级为主轴实线,HKO 退为虚线,VHHH METAR 轻虚线
- 前端: Loading 升级为毛玻璃全卡蒙层
|
2026-05-26 09:13:39 +08:00 |
|
2569718930@qq.com
|
ea5c6ec71e
|
清理市场概览残留:删除 MarketOverviewBanner+refresh_policy 中的 marketOverview 条目
|
2026-05-25 23:04:40 +08:00 |
|
2569718930@qq.com
|
25bcc35063
|
温度链增加 settlement_current 兜底:CWA/HKO 等官方结算站温度优先于 METAR
|
2026-05-25 20:58:18 +08:00 |
|
2569718930@qq.com
|
c16a8cb7a5
|
修复 Polymarket 清理后的导入错误:analysis_service 移除 city_payloads market_scan 依赖
|
2026-05-25 20:16:02 +08:00 |
|
2569718930@qq.com
|
d3c8058178
|
更新 CLAUDE.md:Polymarket 已全部移除,终端仅气象数据
|
2026-05-25 20:03:06 +08:00 |
|
2569718930@qq.com
|
3bc1a4a1ed
|
后端深度清理 Polymarket:删除 readonly 层+WS 缓存+market_scan API
删除 src/data_collection/polymarket_readonly.py(2500行)和 polymarket_ws_cache.py。city_payloads 移除 _get_polymarket_layer/_top_probability_bucket/build_city_market_scan_payload。city.py 移除 /market-scan 和 /holders 路由。scan_terminal 移除 skip_polymarket。
|
2026-05-25 20:02:30 +08:00 |
|
2569718930@qq.com
|
1a8733ced6
|
修复 multi_model 被重写为纯数字字典导致逐时曲线数据丢失
|
2026-05-25 18:44:03 +08:00 |
|
2569718930@qq.com
|
acf3e10ea2
|
多模型逐时数据兜底:analysis 缓存无 hourly 时直接调 fetch_multi_model
|
2026-05-25 18:39:54 +08:00 |
|
2569718930@qq.com
|
60d684def9
|
修复 panel 模式遗漏多模型逐时数据:include_multi_model 不再受 is_panel_mode 限制
|
2026-05-25 18:18:48 +08:00 |
|
2569718930@qq.com
|
c7cfd2cb59
|
修复 analysis_service.py 语法错误 + scan.py Python 3.8 兼容
|
2026-05-25 17:54:44 +08:00 |
|
2569718930@qq.com
|
715ffa4566
|
恢复误删的缓存状态变量并完成工具函数迁移
|
2026-05-25 17:53:25 +08:00 |
|
2569718930@qq.com
|
7d609e40f6
|
打开 Polymarket 市场扫描:skip_polymarket 从 true 改为 false
|
2026-05-25 17:52:20 +08:00 |
|
2569718930@qq.com
|
6b7a4575ad
|
拆分 analysis_service:剩余工具函数全部移至 analysis_utils.py
提取 _mgm_hourly_high/_dedupe_forecast_daily/_format_observation_time_local/_parse_local_hour/_parse_utc_datetime/_metar_is_current_local_day/_is_plausible_city_temp。统一 parse_utc_datetime 副本。analysis_service 2082→1966 行。
|
2026-05-25 17:51:10 +08:00 |
|
2569718930@qq.com
|
812a4b2d32
|
拆分 analysis_service:时钟工具和概率桶函数移至 analysis_utils.py
抽取 clock_minutes/format_clock_minutes/next_observation_clock 和 bucket_label/top_probability_bucket/add_signal 到独立模块。analysis_service 2152→2080 行。
|
2026-05-25 17:40:50 +08:00 |
|
2569718930@qq.com
|
623ec7c5fa
|
拆分 analysis_service:观测源配置与新鲜度工具函数移至 observation_freshness.py
抽取 _OBSERVATION_SOURCE_PROFILES、parse_utc_datetime、observation_age_min、canonical_observation_source_code、build_observation_freshness 到独立模块。analysis_service.py 加 10 行导入替代原 ~180 行内联定义。
|
2026-05-25 17:31:26 +08:00 |
|
2569718930@qq.com
|
bf4be0436b
|
完成 lau fau shan → shenzhen 全量重命名,前端库和文档同步更新
|
2026-05-25 06:10:54 +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
|
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
|
3ca5b71299
|
移除 NMC(中国国家气象中心)数据源:无实际使用价值
|
2026-05-19 16:20:48 +08:00 |
|
2569718930@qq.com
|
b93a75516d
|
移除未使用的 Groq 和 Meteoblue 服务代码及配置
|
2026-05-19 00:05:07 +08:00 |
|
2569718930@qq.com
|
5b1402fc7c
|
refactor: extract analysis signal builders
|
2026-05-18 23:11:56 +08:00 |
|
2569718930@qq.com
|
0e0aad3171
|
删除 LGBM 全部代码和模型文件,EMOS 简化为纯 legacy 高斯分桶模式
|
2026-05-18 22:05:55 +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
|
a83d9e7649
|
feat: implement 60-second analysis cache TTL for high-frequency airport cities
|
2026-05-17 13:41:44 +08:00 |
|
2569718930@qq.com
|
4cc579ccb3
|
feat: add AMSC runway observations
|
2026-05-15 01:41:49 +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 |
|
AmandaloveYang
|
e344fae75f
|
首尔/釜山 AMOS 数据缓存 TTL 从 300s 降至 60s,对齐官网 1 分钟刷新频率
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-11 17:28:53 +08:00 |
|