2569718930@qq.com
|
9adcfdb203
|
放宽时间窗口:peak-4h 到 peak+2h(6小时)
|
2026-05-13 01:13:07 +08:00 |
|
2569718930@qq.com
|
cfb746300a
|
推送改为三条件高温窗口:时间 + 温度 + 趋势
1. 时间窗口:DEB 预测峰值时刻前后(peak_hour-2h 到 peak_hour+1.5h)
2. 温度窗口:按地形分三类(大陆 3.0°C / 海洋 2.0°C / 强海风 1.5°C)
3. 趋势窗口:最近 30-60 分钟持续升温(最后 3 条递增或当前 > 30min 前)
三个条件同时满足才推送。流浮山移除结算温度行。
|
2026-05-13 01:10:31 +08:00 |
|
2569718930@qq.com
|
a173da1b00
|
推送判断改为使用机场站点温度,统一判断与展示数据源
之前 proximity 检查用 city_weather.current.temp(通用温度/METAR),
但消息展示用 mgm_nearby 机场站点温度,两者不一致导致推送窗口错位。
现在统一从 mgm_nearby/amos 提取机场温度用于判断。
|
2026-05-13 00:54:19 +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
|
8a8a47e31d
|
首尔釜山改为10分钟推送;当前温度破日高时加新高标记
AMOS 1分钟数据改为每10分钟推送一次避免刷屏。
当当前温度超过今日实测最高≥0.3°C时,标题行追加🔶新高标记。
|
2026-05-13 00:38:05 +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
|
7084bdf1ec
|
修复首尔/釜山跑道温度偶发不展示:过滤 None 值并增加回退
AMOS 部分跑道对温度可能为 None(传感器暂时不可用),
之前直接 format None 导致静默跳过整组跑道显示。
改为只展示有效跑道对,全部不可用时回退到当前实测。
Tested: pytest 176 passed, AMOS 实测 runway_pairs=4 temperatures 2/4 valid
|
2026-05-13 00:07:46 +08:00 |
|
2569718930@qq.com
|
470cd6c95f
|
巴黎温度行标注"AROME预报"以区分于站点实测
八城中仅巴黎为模型数据,其余七城为机场站点实测。
消息中明确标注避免混淆。
Tested: pytest 176 passed, ruff check 通过
|
2026-05-13 00:01:38 +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
|
a29ebfae27
|
今日实测最高改用 airport_current.max_so_far(METAR历史观测)
项目已有 airport_current 字段存储 METAR/AMOS 当天最高温及时间,
无需从 obs_log 自建。obs_log 保留期恢复为 2 小时。
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 21:15:57 +08:00 |
|
2569718930@qq.com
|
b1d0e41fd4
|
今日实测最高改为从 airport_obs_log 取值,延长保留至 24h
不再依赖 city_weather.current.max_so_far(可能来自 METAR 等非机场源),
直接从 airport_obs_log 的机场站点观测历史中计算当日最高温及时间。
obs_log 保留期从 2h 延长到 24h 以支撑跨天查询。
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 21:12:53 +08:00 |
|
2569718930@qq.com
|
c8eed2f315
|
统一机场消息模板:英文名/机场 + 当前实测 + DEB预报 + 实测最高
所有城市改为统一三段式:
Seoul / Incheon 16:03
当前实测:14.6°C
今日DEB预报最高:18.2°C
今日实测最高:16.5°C(15:30)
首尔/釜山保留跑道对温度展示。
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 21:08:43 +08:00 |
|
2569718930@qq.com
|
f7a453e39b
|
机场消息新增当日已出现最高温及时间
每城显示三行:当前温度、日内最高+时间、DEB 预测。
所有六城统一格式。
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 21:04:48 +08:00 |
|
2569718930@qq.com
|
191be9c5fd
|
机场温度取值增加 METAR 兜底:避免高频源不可用时出现空行
当 KNMI/FMI/JMA/MGM 数据未就绪时回退到 current.temp,
确保消息至少显示一个温度值而非空白。
Constraint: 兜底温度为 METAR 整数精度,待高频源恢复后自动切回小数
Tested: ruff check 通过
|
2026-05-12 21:01:04 +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
|
84e7518b04
|
修复安卡拉温度取值错误:精确匹配 MGM 17128 机场站
mgm_nearby 包含安卡拉 26 个站点的混合列表,直接取 [0] 可能拿到非机场站。
改为按 ICAO/istNo 精确匹配 17128,其余城市回退到 [0]。
Constraint: 东京/赫尔辛基/阿姆斯特丹的 mgm_nearby 只有一条,不受影响
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 20:40:44 +08:00 |
|
2569718930@qq.com
|
209027afb3
|
机场消息加英文城市名,时间移到标题行
格式变更:英文名 + 中文标签 + 当地时间放第一行,
温度单独一行,更简洁。
Constraint: 跑道对城市(首尔/釜山)同样受益
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 20:35:02 +08:00 |
|
2569718930@qq.com
|
83d2de5438
|
修复非 AMOS 城市温度显示为整数:改用机场站点温度替代 METAR
city_weather.current.temp 来自 METAR(整数),改为从 mgm_nearby[0].temp
取机场高频数据源的站点温度(小数精度)。JMA/FMI/KNMI/MGM 源均保留一位小数。
Constraint: 首尔/釜山走 runway_temps 已有精度,不受影响
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 20:17:32 +08:00 |
|
2569718930@qq.com
|
4d584f4828
|
推送频率改为按数据源原生速率:AMOS 1分钟,其余 10分钟
不再统一 2 分钟,各城市按实际数据刷新周期独立推送:
首尔/釜山 60s,东京/安卡拉/赫尔辛基/阿姆斯特丹 600s。
循环轮询间隔降至 60s 以匹配最快频率。
Constraint: 循环每 60s 跑一轮,但 interval 判断让各城市按自有节奏推送
Tested: pytest 176 passed, ruff check 通过
|
2026-05-12 20:13:15 +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
|
a5522b4b16
|
推送窗口改为 DEB 曲线动态判断,替代固定 08:00-20:00
当前温度距 DEB 预测最高 ≤3°C 时开始推送,一旦确认已过峰值
(近 1h 内最高已过且回落 >0.5°C)自动停止。不再依赖固定时段。
Constraint: DEB 预测本身就是每日最高温,比时钟判断更贴合实际峰值
Scope-risk: 中,核心推送逻辑变更
Tested: ruff check 通过
|
2026-05-12 19:08:44 +08:00 |
|
2569718930@qq.com
|
9026ccf4c0
|
机场推送间隔改为 2 分钟,适配峰值期高频需求
默认 120s per-city 独立推送,可通过 TELEGRAM_AIRPORT_PUSH_INTERVAL_SEC 覆盖。
最短允许 30s,避免过于频繁。
Constraint: _analyze 内部缓存 TTL 可能长于 2min,同数据可能重复推送
Scope-risk: 低,仅改间隔参数
Tested: ruff check 通过
|
2026-05-12 19:04:21 +08:00 |
|
2569718930@qq.com
|
e062fedb3a
|
移除温度急变检测,改为 per-city 定时推送温度+DEB
去掉 0.5°C/10min 阈值触发、最高温锁定、冷却期等机制。
四座机场城市各自 10 分钟间隔独立推送当前温度和 DEB 预测,
仅当地 08:00-20:00 时段发送,无触发条件、无警报标题。
Constraint: 首尔/釜山展示跑道对温度,东京/安卡拉展示单站温度+本地时间
Scope-risk: 高,核心逻辑变更
Tested: ruff check 通过
|
2026-05-12 19:02:36 +08:00 |
|
2569718930@qq.com
|
4006e82ded
|
机场急变消息追加本地时间
安卡拉/东京单站温度行改为"当前 X°C (13:52)"格式,
从 city_weather.local_time 提取当地时间。
Constraint: 首尔/釜山跑道对行暂不加时间
Tested: ruff check 通过
|
2026-05-12 18:57:47 +08:00 |
|
2569718930@qq.com
|
88b8366067
|
@
首尔/釜山温度急变消息展示各跑道对温度
AMOS 两个跑道对独立展示(如 15L/33R 14.6°C / 15R/33L 15.2°C),
东京和安卡拉仍显示单站温度。
Constraint: 跑道对信息从 city_weather.amos.runway_obs 提取,仅首尔/釜山有效
Scope-risk: 低,仅改消息格式
Tested: ruff check 通过
@
|
2026-05-12 17:55:20 +08:00 |
|
2569718930@qq.com
|
2061dfe8b5
|
@
简化机场温度急变消息:只报当前温度和 DEB 预测最高温
去掉温度变化幅度、风、emoji 等冗余信息,消息只保留两行核心数据。
Constraint: 触发规则不变(0.5°C/10min 阈值、20min 窗口、3 样本最低)
Scope-risk: 极低,仅改消息格式
Tested: ruff check 通过
@
|
2026-05-12 17:53:22 +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
|
5a6a487a97
|
@
修复机场高频推送状态与主循环冲突:使用独立的状态文件
_load_airport_state / _save_airport_state 在 SQLite 模式下错误地复用了
_telegram_state_repo,与市场监控主循环共享同一个状态存储,
导致两个循环互相覆盖对方的 last_by_city / last_snapshot_ts 等字段。
改为始终使用独立文件 data/airport_push_state.json 隔离状态。
Constraint: 机场状态与主循环状态必须物理隔离
Scope-risk: 低,仅影响新功能的状态持久化
Tested: ruff check 通过
@
|
2026-05-12 17:39:26 +08:00 |
|
2569718930@qq.com
|
8b1abf3d56
|
@
修复东京快照温度缺失:JMA 数据在 mgm_nearby 而非 jma_official_nearby
_attach_japan_official_nearby 将 JMA 数据写入 raw["mgm_nearby"],
但 _analyze 未透传 jma_official_nearby 字段到 city_weather 输出层。
改为从 mgm_nearby[0].temp 取东京 JMA 实时温度。
Tested: ruff check 通过
@
|
2026-05-12 17:21:05 +08:00 |
|
2569718930@qq.com
|
a6fbbb4bef
|
@
机场快照改进:首尔/釜山展示各跑道对温度,东京补齐 JMA 实时温度
快照数据源从仅依赖 airport_obs_log 改为优先取 city_weather 中的 AMOS/JMA 实时数据:
- 首尔/釜山:展示每条跑道对温度(如 15L/33R: 14.6°C / 15R/33L: 15.2°C)
- 东京:取 JMA official_nearby 实时温度,obs_log 为空时回退到 current.temp
Tested: ruff check 通过
@
|
2026-05-12 17:16:08 +08:00 |
|
2569718930@qq.com
|
9a8ed0e15e
|
@
修复机场快照时间显示:CST → KST(UTC+9 当地时间)
@
|
2026-05-12 17:08:56 +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
|
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
|
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
|
449eb48d8b
|
Add history model context and widen signal push window
|
2026-04-17 19:49:01 +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
|
f64d3aec83
|
Filter market pushes by local trading window
|
2026-04-01 22:01:24 +08:00 |
|
2569718930@qq.com
|
93f4a95e80
|
Add actionable counts to market digest logs
|
2026-04-01 21:31:17 +08:00 |
|
2569718930@qq.com
|
59fb1266b9
|
Broaden market monitor shortlist for tradable markets
|
2026-04-01 21:28:02 +08:00 |
|
2569718930@qq.com
|
f8143f462f
|
Push market focus digests in scan batches
|
2026-04-01 21:22:01 +08:00 |
|
2569718930@qq.com
|
da0b4198ac
|
Add market monitor digest skip diagnostics
|
2026-04-01 21:14:23 +08:00 |
|
2569718930@qq.com
|
fdcc57339b
|
Disable Telegram link previews in market digest messages
|
2026-04-01 20:07:03 +08:00 |
|
2569718930@qq.com
|
9dc21a3088
|
Skip non-tradable markets in monitor digests
|
2026-04-01 19:43:57 +08:00 |
|
2569718930@qq.com
|
c7c4f6c674
|
Fix digest push log after interval-based scheduling
|
2026-04-01 19:28:58 +08:00 |
|
2569718930@qq.com
|
149452dcc0
|
Switch market digests to interval-based pushes
|
2026-04-01 19:23:35 +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
|
384fd7d1e4
|
Remove mispricing price cap from market alerts
|
2026-04-01 18:46:46 +08:00 |
|
2569718930@qq.com
|
c9719cf577
|
Add local peak timing and /markets bot digest
|
2026-04-01 18:24:50 +08:00 |
|