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
|
88b80d66e8
|
全局替换旧域名 polyweather-pro.vercel.app → polyweather.top
- payment-host: 移除 vercel 域名,加 www.polyweather.top
- CORS: 移除 vercel,加 www
- bot: 绑定链接 + 市场概览提示
- weather_sources: User-Agent
|
2026-05-26 19:53:47 +08:00 |
|
2569718930@qq.com
|
7045e11082
|
修复 weather_sources.py MADIS cache 清理中未定义的 now 变量
|
2026-05-26 10:40:00 +08:00 |
|
2569718930@qq.com
|
23882ac1ef
|
SSE Patch 增量推送架构全链路实现
- web/sse_manager.py: asyncio.Queue 连接池 + broadcast + event_stream
- web/routers/sse_router.py: GET /api/events + POST /api/internal/collector-patch
- weather_sources.py: 采集后 POST patch 给 web
- Nginx polyweather.conf: /api/events proxy_buffering off
- frontend/api/events/route.ts: Next.js SSE 代理
- frontend/hooks/use-sse-patches.ts: EventSource + useLatestPatch + 重连
- LiveTemperatureThresholdChart: mergePatchIntoHourly 增量合并
- scan-terminal-query: 接入 SSE patch 更新行数据
- 新增 ssePatchArchitecture.test.ts 架构测试
|
2026-05-26 10:39:17 +08:00 |
|
2569718930@qq.com
|
6e6d27f323
|
莫斯科数据源简化:移除 METAR 集群 + NOAA 结算,仅保留 UUWW 单站
- city_registry: settlement_source noaa → metar
- weather_sources: 移除 Moscow METAR cluster 5 站配置
- country_networks: 删除 RussiaStationWebNetworkProvider 类
- 文档: Tier 4 备注更新
|
2026-05-26 09:20:49 +08:00 |
|
2569718930@qq.com
|
0fffc0faa1
|
修复 weather_sources.py 缺少 timezone 导入
|
2026-05-26 09:14:34 +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
|
18b5e9cfed
|
修正深圳 HKO 站名:Shenzhen (LFS) → Lau Fau Shan 匹配天文台 CSV
|
2026-05-26 08:01:04 +08:00 |
|
2569718930@qq.com
|
20d53e1ae2
|
新增 CoWIN 6087 数据源:香港保良局陳守仁小學 1 分钟参考站
- cowin_sources.py:从 cowin.hku.hk API 抓取站 6087 的逐分钟温度
- weather_sources.py:CowinSourceMixin 接入采集链,优先级高于 HKO
- country_networks.py:_airport_primary_from_raw 加入 COWIN 优先检查
airport_primary.source_label 显示为 CoWIN 6087,前端图表默认可见
|
2026-05-26 07:52:49 +08:00 |
|
2569718930@qq.com
|
b3aabe61ce
|
清理市场概览残留与 refresh_policy 中的 marketOverview 条目
|
2026-05-25 23:06:44 +08:00 |
|
2569718930@qq.com
|
ea5c6ec71e
|
清理市场概览残留:删除 MarketOverviewBanner+refresh_policy 中的 marketOverview 条目
|
2026-05-25 23:04:40 +08:00 |
|
2569718930@qq.com
|
5202ed06ff
|
巴黎 AROME 仅在 AEROWEB 为主源时作对比展示,避免与当前温度重复
|
2026-05-25 21:38:10 +08:00 |
|
2569718930@qq.com
|
7a10f4b474
|
统一 METAR 获取:非 HK/深圳城市走同一条 NOAA 路径,前端移除所有流浮山字样
|
2026-05-25 21:15:14 +08:00 |
|
2569718930@qq.com
|
7b8826dfa1
|
清理最后一批 Polymarket 注释+死代码 WeatherDecisionBand
|
2026-05-25 20:53:03 +08:00 |
|
2569718930@qq.com
|
ef8d89e72e
|
删除 Polymarket 核心文件:readonly 层+WS 缓存
|
2026-05-25 20:07:32 +08:00 |
|
2569718930@qq.com
|
21a375a198
|
修复 WS 事件识别:无 type envelope 的价格消息也处理
|
2026-05-25 07:56:45 +08:00 |
|
2569718930@qq.com
|
e6d24c308f
|
WS 新增临时调试日志查看实际接收消息
|
2026-05-25 07:52:18 +08:00 |
|
2569718930@qq.com
|
5566894e84
|
修复 WS 订阅格式:type=subscribe channel=market 对齐官方文档
|
2026-05-25 07:49:55 +08:00 |
|
2569718930@qq.com
|
1ef209ce2f
|
移除 REST 价格获取,纯 WebSocket 报价;默认开启 WS 价格;修复图表 TS 错误
|
2026-05-25 07:38:35 +08:00 |
|
2569718930@qq.com
|
81f61370fe
|
_batch_get_token_market_data 批量 WS 预热订阅避免全冷 REST 查询
|
2026-05-25 07:35:19 +08:00 |
|
2569718930@qq.com
|
bf4be0436b
|
完成 lau fau shan → shenzhen 全量重命名,前端库和文档同步更新
|
2026-05-25 06:10:54 +08:00 |
|
2569718930@qq.com
|
317c57ccd1
|
巨鲸盯盘接入 Polymarket Data API /holders 端点,展示真实持仓者数据
|
2026-05-25 04:38:45 +08:00 |
|
2569718930@qq.com
|
6de29ed2e1
|
清理调试日志:移除 BIAS_DEBUG/SCAN_DEBUG 临时日志,保留核心修正逻辑
|
2026-05-25 03:52:07 +08:00 |
|
2569718930@qq.com
|
8849ef8fe6
|
放宽扫描终端硬过滤默认值,适配 Polymarket 低流动性长尾桶
min_price 0.05→0.001,max_price 0.95→0.999,min_liquidity 500→50,
max_spread 0.03→0.2,edge 过滤从定向改为绝对值以捕获空头信号。
|
2026-05-25 02:58:41 +08:00 |
|
2569718930@qq.com
|
852010b8d4
|
_passes_hard_filters 新增过滤原因日志排查扫描行被全部筛掉问题
|
2026-05-25 02:54:20 +08:00 |
|
2569718930@qq.com
|
d2a9e9a9b3
|
修复概率引擎与 Polymarket 桶不匹配导致 model_p 始终为 None 的问题
_distribution_probability_for_market 新增高斯 CDF fallback:
当离散概率分布桶与 Polymarket 市场桶无精确重叠时(如 NYC 分布 56-59F
但市场桶为 51-70F),用分布的 mu/sigma 构建正态分布计算 CDF 概率,
不再直接返回 None,保证 scan_rows 正常生成。
|
2026-05-25 02:51:58 +08:00 |
|
2569718930@qq.com
|
032d46ec1d
|
Polymarket 市场扫描新增 SCAN_DEBUG 日志排查终端无数据问题
在 _build_distribution_scan_pack / _row_from_entry 关键路径
添加 logger.info 跟踪 related_markets 数量、批量报价结果、
行过滤原因和最终结果,便于定位 scan_rows 始终为空的原因。
|
2026-05-25 02:46:05 +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
|
c9cff88452
|
更新浏览器图标为新品牌 logo
基于 public/logo.png 重新生成所有尺寸的 favicon 和 PWA 图标。
Tested: npm run build 通过
|
2026-05-25 00:53:39 +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
|
e4d123d94d
|
重构首页为机构落地页,新增终端路由,时区感知 Polymarket 市场发现
|
2026-05-25 00:16:53 +08:00 |
|
2569718930@qq.com
|
f8f0d69e5c
|
修复 AEROWEB Cookie 提取:httpx session.cookies 替代 resp.cookies.jar
httpx 的 cookies API 与 requests 库不同,resp.cookies.jar 在 httpx 中不存在,
导致 PHPSESSID 提取失败、登录报错。改用 self.session.cookies.get() 直接读取。
|
2026-05-23 01:04:01 +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
|
41d740d611
|
IMS 数据源切换至 10 分钟频率 hourly_observations_full 端点
原 hourly_observations 端点仅整点更新 TT 字段。
hourly_observations_full 提供每 10 分钟 TD (Temperature Dry) 字段,
精度 0.01°C,与 TT 完全一致(r=1.000)。
WS 风速单位 m/s → 内部转换为 km/h 和 knots。
日最高/最低从当天全部 10 分钟槽位扫描计算。
Constraint: TD 字段命名与露点温度易混淆,已在 docstring 注明
Confidence: high
Tested: TD vs TT 在 23 个整点时刻完全吻合
|
2026-05-22 19:31:09 +08:00 |
|
2569718930@qq.com
|
60ac4bae31
|
Tel Aviv 机场观测切换至 IMS Lod Airport 实时数据源
新增 IMS (Israel Meteorological Service) 数据抓取模块,以 Lod Airport
(station 225) 官方观测替代 NOAA METAR LLBG 作为 airport_primary。
IMS 数据接入 _airport_primary_from_raw 优先级链,高于 plain METAR
但保留 METAR 集群回退路径。
Constraint: IMS API (ims.gov.il/en/hourly_observations) 仅每小时更新
Confidence: high
Scope-risk: 仅影响 Tel Aviv 城市,其余 51 城数据流不变
Tested: 端到端验证 IMS 取数 → airport_primary → provider 路由链
|
2026-05-22 19:16:34 +08:00 |
|
2569718930@qq.com
|
24f2a82893
|
feat: fetch and cache hourly multi-model forecast data in SQLite for all cities
|
2026-05-21 19:50:54 +08:00 |
|
2569718930@qq.com
|
9b9f548de9
|
从系统彻底移除 Lagos 城市
该城市已不再需要,从城市注册表、时区映射、缓存巡检脚本、测试
中全部清理。52 城市 → 51 城市。
Tested: pytest test_country_networks.py (19/19), ruff check
|
2026-05-21 14:30:18 +08:00 |
|
2569718930@qq.com
|
8ba9567f64
|
移除深圳宝安机场跑道数据采集,深圳市场结算使用流浮山 HKO 数据
|
2026-05-20 19:38:07 +08:00 |
|
2569718930@qq.com
|
10a0788398
|
修复 AMSC 风向取第一条跑道可能为空的问题
|
2026-05-20 18:35:35 +08:00 |
|
2569718930@qq.com
|
9b2ac614cb
|
重构跑道观测系统:全跑道展示、结算跑道标注、热力模型、风场分析
|
2026-05-20 18:16:27 +08:00 |
|
2569718930@qq.com
|
a6e7d6682d
|
移除俄罗斯 pogodaiklimat 数据源:周边观测站不需要
|
2026-05-19 16:57:00 +08:00 |
|
2569718930@qq.com
|
3ca5b71299
|
移除 NMC(中国国家气象中心)数据源:无实际使用价值
|
2026-05-19 16:20:48 +08:00 |
|
2569718930@qq.com
|
6b741cc1ec
|
修复 Russia 数据源 f-string 嵌套引号语法错误
|
2026-05-19 15:44:52 +08:00 |
|
2569718930@qq.com
|
3b8098051e
|
将商业核心数据源 URL 从源码迁移到环境变量,VPS .env 已补全
|
2026-05-19 15:42:03 +08:00 |
|
2569718930@qq.com
|
7e0d955d22
|
修复语法错误:多余括号
|
2026-05-19 15:19:32 +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
|
1c4287380e
|
修复 KNMI 维度名称为字符串类型的兼容性问题
|
2026-05-18 18:30:12 +08:00 |
|
2569718930@qq.com
|
8c640b8616
|
适配 KNMI netCDF 新数据布局:(station,time) 替代 (time,station)
|
2026-05-18 18:28:18 +08:00 |
|
2569718930@qq.com
|
8a5e8957c5
|
适配 KNMI station ID 格式变更:3位码→5位WMO码,修复前导零丢失
|
2026-05-18 18:23:57 +08:00 |
|