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
|
5d784f78b9
|
feat: implement scan terminal dashboard system and supporting services
|
2026-05-28 08:24:50 +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
|
5176dff82d
|
中国城市电报推送接入 AMSC AWOS 跑道报文温度
Constraint: 仅当 amos 数据含 raw_metar 时才追加 AMSC 块,不影响非中国城市
|
2026-05-22 03:15:57 +08:00 |
|
2569718930@qq.com
|
fe6f8b43b0
|
DEB 接入小时级误差计算,多模型权重基于每日+小时 MAE 融合
新增 compute_hourly_model_errors 聚合逐模型小时 MAE/RMSE
新增 _blend_mae 按样本数加权混合每日/小时误差(24样本=70%小时权重)
calculate_dynamic_weights 从 daily_record 读取 hourly_error 参与权重计算
update_daily_record 接受并持久化 hourly_error 字段
Tested: ruff check, pytest 186/186
|
2026-05-21 21:03:49 +08:00 |
|
2569718930@qq.com
|
4c6a93498c
|
移除源码中硬编码的 API token:NOAA MesoWest 密钥和 CWA 占位符
|
2026-05-19 15:18:49 +08:00 |
|
2569718930@qq.com
|
b93a75516d
|
移除未使用的 Groq 和 Meteoblue 服务代码及配置
|
2026-05-19 00:05:07 +08:00 |
|
2569718930@qq.com
|
0e4e7aebb2
|
项目体检修复:删除破损的 LGBM 导入、8个死测试、2个死脚本、移除 pytz/lightgbm 依赖
|
2026-05-18 22:43:34 +08:00 |
|
2569718930@qq.com
|
0e0aad3171
|
删除 LGBM 全部代码和模型文件,EMOS 简化为纯 legacy 高斯分桶模式
|
2026-05-18 22:05:55 +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
|
eb056a890b
|
移除 PolyWeather 市场提醒功能及监控基础设施
- 删除 market_alert_engine.py:交易预警引擎
- 删除 alertmanager_telegram_relay.py:Alertmanager 到 Telegram 转发
- 移除 telegram_push.py 中市场监控推送循环
- 移除 runtime_coordinator.py 中 trade_alert_push 协程
- 移除 docker-compose.yml 中 Prometheus/Alertmanager/Grafana 服务
- 移除 monitoring/ 目录:prometheus/alertmanager/grafana 配置
Tested: ruff check . ✓
|
2026-05-14 18:23:39 +08:00 |
|
2569718930@qq.com
|
7372b7a73f
|
接入台北松山 RCSS CWA 10分钟实时温度;HKO 显示结算温度
台北通过现有 CWA 开放数据 API(站号 466920)接入高频推送。
香港/流浮山消息新增"结算温度"行,显示向下取整后的结算值。
Tested: pytest 176 passed, ruff check 通过
|
2026-05-13 00:47:58 +08:00 |
|
2569718930@qq.com
|
fe9bf61ad6
|
接入香港天文台 HKO + 流浮山 LFS 1分钟实时温度
HKO 公共天气 API 免费无注册,提供 1 分钟温度 CSV。
两个站点加入高频推送,与首尔/釜山同级。
Station: HK Observatory (HKO) 27.0°C, Lau Fau Shan (LFS) 25.9°C
Interval: 60s
Tested: pytest 176 passed, HKO API 实测通过
|
2026-05-13 00:33:56 +08:00 |
|
2569718930@qq.com
|
6f83b9d7ea
|
接入巴黎 Le Bourget AROME HD 15分钟模型预报数据
Météo-France 站点实测无法获取,改为通过 Open-Meteo 取 AROME France HD
15分钟模型温度。非实测数据,标注为模型预报类型。
巴黎跳过 obs_log 峰值检测(无站点观测日志)。
Constraint: AROME 为模型格点值非实测,与 AMOS/JMA/FMI 精度不同
Tested: pytest 176 passed, AROME API 实测返回 16.2°C
|
2026-05-12 23:59:06 +08:00 |
|
2569718930@qq.com
|
12c2b39b16
|
接入伊斯坦布尔机场 MGM 17058 高频推送
伊斯坦布尔新机场 (LTFM, MGM 17058) 加入 10 分钟级推送队列,
obs_log 已有 MGM 数据覆盖,只需加入高频城市列表。
马德里 AEMET 注册地址:https://opendata.aemet.es/centrodedescargas/registro
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 20:48:02 +08:00 |
|
2569718930@qq.com
|
5d630bb910
|
接入 KNMI 阿姆斯特丹史基浦机场 10 分钟数据源
通过 KNMI Open Data API 获取 Schiphol 机场 10 分钟观测数据(NetCDF 格式)。
需设置 KNMI_API_KEY 环境变量。Docker 镜像新增 libhdf5-dev/netCDF4 依赖。
Constraint: KNMI API key 为 JWT 格式,通过 Authorization header 传递
Scope-risk: 中高,新增系统依赖 libhdf5-dev + netCDF4
Tested: pytest 176 passed, KNMI API 连通性验证通过
|
2026-05-12 20:10:06 +08:00 |
|
2569718930@qq.com
|
a32a49f3c7
|
接入 FMI 赫尔辛基-万塔机场 10 分钟实时数据源
新增 fmi_sources.py,通过 FMI Open Data WFS API 获取 Helsinki-Vantaa
机场观测数据(FMISID 100968, WMO 2974)。每 10 分钟更新,参数含温度/
风速/气压。免费无需 API key。集成至高频机场推送体系。
Constraint: FMI WFS 无 rate limit,无需注册
Scope-risk: 中,新增数据源
Tested: pytest 176 passed, FMI 实测 temp=13.1°C wind=9.5kt pressure=1000.9hPa
|
2026-05-12 19:51:32 +08:00 |
|
2569718930@qq.com
|
574f007607
|
@
主循环移除动量突变规则,温度急变检测由机场高频循环独立承担
30 分钟主循环不再做 momentum_spike 检测,避免对机场城市产生
冗余告警(含市场分布/AI 建议的格式)。其余 47 城原本就没有
高频机场数据,动量检测也无实际意义。
Constraint: 其余 3 条规则(Ankara DEB、预报突破、暖平流)保持不变
Scope-risk: 低,仅影响主循环告警规则集
Tested: ruff check 通过
@
|
2026-05-12 18:05:11 +08:00 |
|
2569718930@qq.com
|
12b0c76caf
|
@
砍掉机场快照,改为 per-city 独立告警;新增安卡拉 MGM 17128 高频监控
快照定时推送无实际价值(没变化也报),改为仅温度急变时触发告警。
各城市独立检测、独立冷却,不再捆绑推送。
同时接入安卡拉 Esenboğa 机场 MGM 站点 17128 的实时温度数据。
Constraint: 快照已运行验证格式无误,砍掉不影响现有急变告警功能
Scope-risk: 中低,仅影响高频通道逻辑,主循环不变
Tested: ruff check 通过
@
|
2026-05-12 17:51:40 +08:00 |
|
2569718930@qq.com
|
64f8ff21ec
|
@
新增机场高频推送:10分钟级温度监控 + DEB预测快报
为首尔/釜山/东京三大机场城市实现高频温度监控通道:
- 新增 airport_obs_log 表积累观测数据,支持趋势检测
- AMOS/JMA 成功后自动写入观测日志
- 新增 airport_rapid_temp_change 告警规则(20min窗口、0.5°C/10min阈值)
- 10分钟间隔高频子循环 + 30分钟机场快照(含 DEB 预测最高温)
- 最高温锁定后自动跳过,快照仅当地 08:00-20:00 发送
Tested: ruff check 通过
@
|
2026-05-12 17:04:17 +08:00 |
|
2569718930@qq.com
|
b3ea8dcfa7
|
数据链路 P1 修复:ETag 缓存 + 校准漂移检测
P1-5 ETag 支持:
- 后端新增 _etag_middleware:GET /api/* 自动返回 ETag (MD5)
- 支持 If-None-Match 请求头,匹配时返回 304 + 30s Cache-Control
- 前端 cache: no-store → default,浏览器自动处理 ETag/304 节省带宽
P1-6 校准漂移检测:
- probability_calibration.py 新增 check_calibration_drift()
- 对比最近 200 条 daily_records 的 CRPS 与校准基线
- 漂移 >15% 时返回 warning 提示重新训练
- 集成到 /api/system/status 的 probability.drift 字段
Tested: python -m ruff check ., npx tsc --noEmit
|
2026-05-10 16:54:48 +08:00 |
|
2569718930@qq.com
|
2183c0399d
|
移除错误定价信号和市场聚焦摘要功能
保留关键市场警报推送(4 条触发规则不变),
移除 mispricing 信号分类/推送、focus digest 评分/聚合/定时推送、
/markets 手动查询等全套逻辑,净删除 1049 行。
|
2026-05-07 21:42:06 +08:00 |
|
2569718930@qq.com
|
974b55e34f
|
Add full probability distributions to dashboard
|
2026-04-22 01:43:13 +08:00 |
|
2569718930@qq.com
|
22060efae6
|
Clamp EMOS calibrated mu to observed max and add tests
|
2026-04-19 03:56:35 +08:00 |
|
2569718930@qq.com
|
1892d638fa
|
Promote EMOS to the primary probability engine
|
2026-04-19 03:36:26 +08:00 |
|
2569718930@qq.com
|
9ec86e0504
|
Group model stack and dedupe DEB families
|
2026-04-17 00:35:48 +08:00 |
|
2569718930@qq.com
|
611e2d9009
|
Expand calibration samples and extend training retention
|
2026-04-16 01:05:43 +08:00 |
|
2569718930@qq.com
|
53d2ae4c10
|
Retire dual storage mode and default runtime state to sqlite
|
2026-04-16 00:52:55 +08:00 |
|
2569718930@qq.com
|
a5b5711863
|
Remove AI analysis and rank cities by recent DEB performance
|
2026-04-05 07:13:00 +08:00 |
|
2569718930@qq.com
|
781c247952
|
Add ops dashboards for training data and model coverage
|
2026-04-03 00:57:19 +08:00 |
|
2569718930@qq.com
|
603546f2f9
|
Align Taipei and Shenzhen settlement sources with Wunderground
|
2026-04-02 21:46:41 +08:00 |
|
2569718930@qq.com
|
4f017d501b
|
Refine market alert wording and focus digest scheduling
|
2026-04-01 18:56:39 +08:00 |
|
2569718930@qq.com
|
342ed77283
|
Document market monitor bot settings and retire wallet activity
|
2026-04-01 17:53:31 +08:00 |
|
2569718930@qq.com
|
0cc4f4f0d3
|
Add LightGBM daily high forecasting pipeline
|
2026-03-29 23:29:17 +08:00 |
|
2569718930@qq.com
|
7237278f5a
|
Generalize NOAA settlement handling across dashboard and docs
|
2026-03-27 20:58:38 +08:00 |
|
2569718930@qq.com
|
2007ded86d
|
Add HKO-backed Shek Kong settlement and history support
|
2026-03-27 20:11:08 +08:00 |
|
2569718930@qq.com
|
7de31ec429
|
Parse Wunderground history observations for settlement highs
|
2026-03-25 18:38:34 +08:00 |
|
2569718930@qq.com
|
2b0e6a6f67
|
Add Wunderground as Shenzhen settlement source
|
2026-03-25 17:00:36 +08:00 |
|
2569718930@qq.com
|
4ac690228e
|
Bootstrap recent METAR history for new cities
|
2026-03-24 01:02:18 +08:00 |
|
2569718930@qq.com
|
5ac5caf3ef
|
Preserve model forecasts and add gap backfill script
|
2026-03-23 23:41:56 +08:00 |
|
2569718930@qq.com
|
7adec4e17c
|
Add peak-12h DEB history reference and bump extension to 0.1.5
|
2026-03-23 23:17:48 +08:00 |
|
2569718930@qq.com
|
ace9c71743
|
Align Taipei settlement to NOAA RCTP across web and extension
|
2026-03-23 14:39:41 +08:00 |
|
2569718930@qq.com
|
c795d90993
|
Sync dynamic commentary across bot and dashboard
|
2026-03-21 18:54:23 +08:00 |
|
2569718930@qq.com
|
43749fff7c
|
Unify runtime state in SQLite and add rollout observability
|
2026-03-20 23:00:07 +08:00 |
|
2569718930@qq.com
|
3196552c78
|
Archive probability snapshots and wire them into training
|
2026-03-20 21:30:52 +08:00 |
|
2569718930@qq.com
|
03dcb4329b
|
Refine EMOS calibration and add Chinese training report
|
2026-03-20 21:17:37 +08:00 |
|
2569718930@qq.com
|
1c84893bed
|
Add CI and shadow calibration reporting
|
2026-03-20 20:59:30 +08:00 |
|