Commit Graph

31 Commits

Author SHA1 Message Date
2569718930@qq.com f49a5bfbb2 新增中国城市天气日报:AI 生成每日天气摘要并推送至 Telegram 论坛群 General 话题
- 新建 src/utils/daily_weather_report.py,覆盖 7 个中国城市(北京、上海、广州、成都、重庆、武汉、青岛)
- 复用 Open-Meteo + METAR 数据源,MiMo AI 生成自然语言日报
- 注册为 runtime_coordinator 独立后台循环,默认每日 8:00 Asia/Shanghai 发送
- 环境变量:DAILY_WEATHER_REPORT_ENABLED / _HOUR / _MINUTE / _TIMEZONE

Constraint: message_thread_id=0 发送到论坛群 General 子话题
Tested: ruff check pass, Python 语法验证通过
2026-05-23 09:24:18 +08:00
2569718930@qq.com bd21b05fbc 完全移除预热(prewarm)功能
- 删除 src/utils/prewarm_dashboard.py
- 删除 scripts/prewarm_dashboard_cache.py、prewarm_dashboard_worker.py
- docker-compose.yml 移除 polyweather_prewarm 服务
- runtime_coordinator.py 移除预热循环启动逻辑
- web/core.py 移除 prewarm status 上报
- web/routers/system.py 移除 /api/system/prewarm 端点
- web/services/system_api.py 移除 run_system_prewarm
- city_runtime.py DEFAULT_PREWARM_CITIES 改名为 DEFAULT_STATUS_CITIES
- 清理 env.example、测试、VPS .env 中的预热配置
2026-05-17 22:43:17 +08:00
2569718930@qq.com c74c193b02 移除市场监控推送功能及相关代码
- telegram_push.py: 删除 MARKET_MONITOR_CITIES/INTERVAL、_build_market_monitor_message、
  _run_market_monitor_cycle、start_market_monitor_push_loop、_format_percent/_format_prob
- telegram_chat_ids.py: 删除 get_market_monitor_chat_ids_from_env
- runtime_coordinator.py: 删除 _start_market_monitor_push_loop 及调用
- 移除 #市场监控 hashtag
2026-05-17 20:22:42 +08:00
2569718930@qq.com 747c8aa401 feat: tune scan dashboard and telegram monitor 2026-05-15 14:36:43 +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 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 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 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 c3da29c09c Add dashboard prewarm worker and cache visibility 2026-04-08 06:53:49 +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 c9719cf577 Add local peak timing and /markets bot digest 2026-04-01 18:24:50 +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 02e35a3a5f feat: Implement a new contract-based payment system with wallet binding, payment intents, and subscription plan management. 2026-03-14 10:35:30 +08:00
2569718930@qq.com af2561d019 feat: Introduce a runtime coordinator for bot loops and add new payment checkout and confirmation modules. 2026-03-13 22:11:55 +08:00
2569718930@qq.com cd0a5d519f feat: Introduce core bot components, on-chain wallet watchers, Telegram notifications, and configuration management. 2026-03-13 19:24:05 +08:00
2569718930@qq.com ac9e537070 feat: Implement initial web frontend, comprehensive database management, and a bot-based weekly reward system. 2026-03-13 16:47:25 +08:00
2569718930@qq.com f7b649bb0a feat: Implement bot orchestration, command handling, and runtime coordination for background services. 2026-03-13 05:53:41 +08:00
2569718930@qq.com f4fea03f35 feat: Implement new bot architecture including handlers, services, analysis modules, and comprehensive tests. 2026-03-12 11:44:52 +08:00