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
AmandaloveYang
55bb06d213
移除 Masroor Air Base 机场城市(数据源、别名、时区、前端面板、文档、测试)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 16:39:04 +08:00
AmandaloveYang
76b4a5df59
修复转化漏斗:后端返回原始比率,避免前端二次乘以 100 导致显示 3750%
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 15:49:39 +08:00
AmandaloveYang
3c2d1ce6fa
修复 ruff 检查:移除未使用的 CITY_QUERY_COST / DEB_QUERY_COST 导入
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 14:18:50 +08:00
AmandaloveYang
787d04619b
feat: revamp points/reward system for inclusive engagement
...
- /city /deb now free, capped at 10/day each (was 2 pts cost)
- Welcome bonus +20 pts on first-ever valid message
- First-message-of-day bonus +2 pts
- Weekly winner point bonuses reduced (500→200, 300→100, 150→50)
- Weekly participation rewards for all active users (+5 base, +15 for ≥20 pts)
- Pro-day rewards for top 3 unchanged
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 13:35:52 +08:00
2569718930@qq.com
b26ec05b81
AMOS 跑道温度范围:城市决策卡头部展示"跑道实况 14.6~15.2℃"
...
后端:
- amos_station_sources.py 新增 runway_temp_range (跑道温度 min,max)
- 取所有有效跑道温度的最小值和最大值
前端:
- CityCardHeader 新增 observedLabel prop(标签自定义)
- 有 AMOS 数据时显示"跑道实况"替代"当前温度"
- 温度展示格式:14.6~15.2℃(跑道温度范围)
- 无 AMOS 时回退原有 METAR 温度显示
2026-05-10 20:19:48 +08:00
2569718930@qq.com
8075fb66b7
AMOS 增加 info 级别日志追踪数据流
...
- weather_sources.py: _attach_korean_amos_data 记录 fetch 开始、成功/失败、温度/跑道数据
- amos_station_sources.py: _amos_get_page 记录页面匹配/不匹配
- amos_station_sources.py: fetch_amos_official_current 记录 HTML 获取和解析
- analysis_service.py: _analyze 记录 AMOS 数据是否到达分析层
重启后端后在日志中搜索 "AMOS" 可追踪完整数据流:
AMOS: fetching for city=seoul
AMOS page matched icao=RKSI length=...
AMOS fetch_amos_official_current: got HTML for RKSI...
AMOS: got data for city=seoul temp_c=... source=...
AMOS _analyze: found amos data for city=seoul temp_c=...
2026-05-10 19:46:26 +08:00
2569718930@qq.com
23e5d10f65
Fix Korean AMOS runway parsing
2026-05-10 19:34:18 +08:00
2569718930@qq.com
f4f613ad02
Fix AMOS runway observations
2026-05-10 19:20:52 +08:00
2569718930@qq.com
5512ebf133
修复 AMOS 数据不显示:移出 include_nearby 条件判断
...
根因:_attach_korean_amos_data 在 include_nearby 块内
面板模式(depth=panel)时 include_nearby=False
→ AMOS 数据从不获取 → detail.amos 始终为空 → 跑道面板不显示
修复:AMOS 调用移到 include_nearby 之外
AMOS 是主观测源,不是 nearby 站网数据
无论 depth 模式都应获取
2026-05-10 19:10:38 +08:00
2569718930@qq.com
e1d21c6ce3
简化 AMOS 获取:仅支持 RKSI(仁川),Busan 回退标准 METAR
...
原因:AMOS 页面默认始终显示仁川 RKSI,机场切换用 JS 实现
无法通过 URL 参数或 POST form data 切换到其他机场
尝试了 GET ?icao=、?stn=、?airport= 和 POST form data 均无效
变更:
- _amos_get_page 简化为仅处理 RKSI
- 非 RKSI 直接返回 None,走标准 METAR 回退链
- 移除无效的 AMOS_STATION_IDS 和 POST 策略代码
- Busan 通过 aviationweather.gov METAR 正常获取温度/风/气压
- 跑道面板仅在 AMOS 数据存在时显示(即仅 Seoul/仁川)
Known: Busan 无跑道级数据,但标准 METAR 仍然可用
2026-05-10 18:53:09 +08:00
2569718930@qq.com
e23a90a961
修复釜山 AMOS 数据获取 + 跑道面板容错
...
AMOS 页面用 JS 切换机场,GET 参数无效。新增策略:
- 先 GET 建立 session,再 POST form data 切换机场
- 尝试多种 form data 组合(icao/stn/airport/code)
- 回退到 GET 参数尝试
跑道面板容错:
- 无温度数据时仍展示跑道风/能见度/RVR
- 温度缺失显示 "--" 而非隐藏整行
- analysis_service 输出条件放宽:有 temp_c 或 runway_obs 即可
Tested: python -m ruff check ., npx tsc --noEmit
2026-05-10 18:39:37 +08:00
2569718930@qq.com
bf5e92e656
AMOS 温度处理:METAR 优先,跑道中位数兜底
...
温度优先级:
1. METAR 温度(官方机场传感器,权威值)
2. 跑道传感器中位数(fallback;不同跑道传感器因位置/海拔可能差 0.5-1°C)
- 新增 temp_source 字段标注来源("metar" / "runway_median")
- 新增 runway_temps 数组保留每条跑道的原始 (温度, 露点)
- 回退逻辑用中位数而非第一个值(跑道数据可能是乱序的)
- 温度合理性检查:只取 -50°C ~ 60°C 范围内的值
Tested: python -m ruff check ., npx tsc --noEmit
2026-05-10 18:07:33 +08:00
2569718930@qq.com
27010d5fb3
移除 KMA 数据源:已被更精确的 AMOS 跑道级传感器取代
...
- weather_sources.py:移除 KmaStationSourceMixin 导入和继承
- 移除 _attach_korea_official_nearby() 函数
- 移除 kma_cache 初始化代码
- 首尔/釜山现在使用 AMOS 跑道传感器替代 KMA 地面站
- kma_station_sources.py 保留为参考文件
Replaced-by: AMOS (global.amo.go.kr) runway-level sensor data
2026-05-10 17:59:26 +08:00
2569718930@qq.com
058ab7a619
新增 AMOS 跑道级实时气象数据源(韩国仁川/釜山)
...
- src/data_collection/amos_station_sources.py:新增 AmosStationSourceMixin
- 从 global.amo.go.kr 爬取跑道级观测:温度/露点/气压/风向风速/能见度/RVR/云层
- 解析 METAR + TAF 报文,提取温/湿/压/风数值
- 解析跑道级表格数据(每跑道独立风分量、侧风、视程)
- 覆盖首尔/仁川 (RKSI) 和釜山/金海 (RKPK)
- weather_sources.py:集成 AmosStationSourceMixin
- fetch_all_sources 中为 seoul/busan 自动追加 AMOS 数据
- 结果存入 results["amos"],包含原始 METAR/TAF 和解析后的跑道数据
Tested: python -m ruff check ., npx tsc --noEmit
2026-05-10 17:55:39 +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
f8c5cfab28
降低市场监控Telegram推送频率,减少重复通知
...
收紧推送周期、冷却时间和触发门槛的默认值,避免52城
同时监控导致的通知轰炸。删除不再使用的doc_refresher技能。
Constraint: 用户反馈电报群通知太频繁且同城市重复推送
Rejected: 在.env中配置 | 用户要求写死在代码默认值中
Confidence: high
Scope-risk: narrow
Directive: 如需临时放宽,仍可通过同名环境变量覆盖
Tested: Not-tested: 需实际运行bot验证推送频率
2026-05-06 14:50:35 +08:00
2569718930@qq.com
6c203bee60
This version of Antigravity is no longer supported. Please upgrade to receive the latest features.
2026-05-01 11:27:16 +08:00
2569718930@qq.com
96dfb4c5b3
This version of Antigravity is no longer supported. Please upgrade to receive the latest features.
2026-04-30 09:50:17 +08:00
2569718930@qq.com
f0436f498a
This version of Antigravity is no longer supported. Please upgrade to receive the latest features.
2026-04-29 21:10:56 +08:00
2569718930@qq.com
89a71d1bc0
Add Qingdao to the tradable city network
...
Qingdao needs the same airport-settlement path as the other Wunderground-backed APAC cities, so the registry, aliases, timezone, prewarm, official links, market focus, and tests now point to ZSQD / Qingdao Jiaodong International Airport.
Constraint: User supplied Wunderground Qingdao/ZSQD settlement URL.
Rejected: Add a partial registry-only entry | it would show in APIs without frontend links, prewarm coverage, or alias support.
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: pytest tests/test_country_networks.py tests/test_web_observability.py::test_cities_endpoint_includes_new_wunderground_cities -q
Tested: npm run build
Not-tested: Live Wunderground fetch for ZSQD in production.
2026-04-28 07:08:33 +08:00
2569718930@qq.com
9ded30b125
feat: implement AI-driven weather scan terminal with decision utilities and forecast visualization
2026-04-27 02:18:34 +08:00
2569718930@qq.com
670c0328c8
feat: add read-only Polymarket data collection layer for market discovery and price tracking
2026-04-26 12:47:24 +08:00
2569718930@qq.com
312b366a50
feat: implement PolyWeather dashboard UI with Leaflet map integration and backend data collection support
2026-04-26 10:22:11 +08:00
2569718930@qq.com
0f23d8af9d
feat: implement dashboard types, Polymarket data collection, and decision utilities for AI-driven city weather analysis
2026-04-26 09:40:02 +08:00
2569718930@qq.com
b25c9312da
feat: add multi-model Open-Meteo data collection and implement scan terminal dashboard service
2026-04-26 06:55:16 +08:00
2569718930@qq.com
3083d6b8fe
feat: implement scan terminal service with caching, background refresh, and AI-driven market analysis support
2026-04-25 04:25:17 +08:00
2569718930@qq.com
77c0597e74
feat: implement Polymarket data collection and dashboard UI for weather market analysis
2026-04-25 03:59:02 +08:00
2569718930@qq.com
0e5a1f2652
feat: implement ScanTerminalDashboard with modular components and backend integration for Polymarket data collection
2026-04-25 03:26:28 +08:00
2569718930@qq.com
62a12257f0
Upgrade V4 scan to city analysis
2026-04-25 02:19:37 +08:00
2569718930@qq.com
99ffa717ef
Use model cluster for tail no scan signals
2026-04-24 15:12:53 +08:00
2569718930@qq.com
42d4a4e198
Simplify scan opportunity list and speed quotes
2026-04-24 14:26:47 +08:00
2569718930@qq.com
c61a3f500d
feat: implement Polymarket read-only data service and add scan terminal dashboard components
2026-04-24 10:19:16 +08:00
2569718930@qq.com
79b58a8b98
Add locale controls and distribution previews to scan terminal
2026-04-24 00:34:09 +08:00
2569718930@qq.com
ddc0180ae6
Implement EMOS scan terminal with REST-only market data
2026-04-23 23:49:52 +08:00
2569718930@qq.com
e2eb5eb429
feat: implement PolymarketReadOnlyLayer for data collection and add comprehensive unit tests
2026-04-23 21:15:47 +08:00
2569718930@qq.com
ca81fda287
feat: implement analysis service, dashboard components, and data collection utilities for PolyWeather
2026-04-23 21:10:22 +08:00
2569718930@qq.com
54b326ff42
feat: implement comprehensive Polymarket weather analysis service with frontend dashboard and market scanning capabilities
2026-04-23 20:45:32 +08:00
2569718930@qq.com
94f1a64522
Use Shenzhen market for Lau Fau Shan
2026-04-23 00:31:31 +08:00
2569718930@qq.com
40564b545d
Optimize probability hub market refresh
2026-04-22 04:54:19 +08:00
2569718930@qq.com
67eec8dcdd
Optimize city list load from SQLite history
2026-04-22 04:32:25 +08:00
2569718930@qq.com
974b55e34f
Add full probability distributions to dashboard
2026-04-22 01:43:13 +08:00
2569718930@qq.com
e5facb041c
Handle range-based Polymarket temperature buckets
2026-04-22 00:38:19 +08:00
2569718930@qq.com
5a1610d428
feat: implement Polymarket WebSocket cache and add dashboard panel UI components
2026-04-22 00:09:49 +08:00
2569718930@qq.com
b5c1de1078
Add debug logging for Polymarket market scans
2026-04-21 22:40:51 +08:00
2569718930@qq.com
bb6fe21166
feat: implement read-only Polymarket data collection layer with market discovery and price fetching
2026-04-21 21:54:20 +08:00
2569718930@qq.com
9eba41cd1c
Hydrate bucket prices from token IDs
2026-04-21 21:31:15 +08:00
2569718930@qq.com
82ec594277
启用概率校准和 WebSocket 报价配置
2026-04-21 21:06:48 +08:00
2569718930@qq.com
582ded8cfb
改进METAR当日状态判断与展示
2026-04-21 19:13:33 +08:00