Commit Graph

57 Commits

Author SHA1 Message Date
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
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 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 95c0c452f1 Finalize SQLite defaults and refresh calibration artifacts 2026-04-02 23:24:38 +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 149452dcc0 Switch market digests to interval-based pushes 2026-04-01 19:23:35 +08:00
2569718930@qq.com 9e9e5a56ba Make markets command generate digest asynchronously 2026-04-01 19:08:31 +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 5fa69556eb Pass config into bot handler registration 2026-04-01 18:49:42 +08:00
2569718930@qq.com b1b8d3439c Restrict /markets to private chats 2026-04-01 18:34:58 +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 2007ded86d Add HKO-backed Shek Kong settlement and history support 2026-03-27 20:11:08 +08:00
2569718930@qq.com 5e31bc9ea3 Add per-chat bot message cooldown overrides 2026-03-23 21:05:40 +08:00
2569718930@qq.com ff7d77ef06 Relax bot polling update restrictions 2026-03-23 20:53:09 +08:00
2569718930@qq.com ce22752ccc Add bot message activity diagnostics and bump extension to 0.1.4 2026-03-23 20:46:42 +08:00
2569718930@qq.com 98d36a9174 Fix weekly points display and clarify leaderboard stats 2026-03-20 23:50:40 +08:00
2569718930@qq.com f6771247a6 Add config validation and deployment docs 2026-03-20 22:00:02 +08:00
2569718930@qq.com 9ac0a13937 Assess PolyCop copytrade bot info 2026-03-17 19:18:37 +08:00
2569718930@qq.com 1ebd07ca31 feat: introduce core bot command handlers, orchestrator, and command parser for initial bot functionality. 2026-03-15 09:03:59 +08:00
2569718930@qq.com 81604bfe8a feat: Implement basic and city command handlers for the bot, including user identity binding and unbinding. 2026-03-14 22:35:44 +08:00
2569718930@qq.com e7a5347907 feat: add new command handlers for the /city and /deb commands 2026-03-14 22:22:53 +08:00
2569718930@qq.com fd7ec30e58 feat: Add new command handlers for the /deb and /city commands. 2026-03-14 22:13:52 +08:00
2569718930@qq.com 9bff3b0683 feat: implement /deb and /city command handlers for the bot. 2026-03-14 22:05:09 +08:00
2569718930@qq.com 314cad82e6 feat: add bot handlers for activity tracking, city weather queries, and historical data queries. 2026-03-14 21:58:33 +08:00
2569718930@qq.com 1c57a6f56e feat: Add new handlers for /deb and /city commands, and a general activity tracker. 2026-03-14 21:47:21 +08:00
2569718930@qq.com 530080a75d feat: Add /city and /deb command handlers for weather data and historical weather queries. 2026-03-14 14:24:11 +08:00
2569718930@qq.com c1fb52551d feat: Implement BotIOLayer for Telegram I/O, user points management, and message routing. 2026-03-14 11:55:57 +08:00
2569718930@qq.com d1f4a8b236 feat: add bot I/O layer for message routing and point management, updating .env.example with topic map configuration. 2026-03-14 11:51:14 +08:00
2569718930@qq.com 4bd531bbc9 feat: implement PolyWeather Telegram bot with weather and DEB analysis, a point system, and configuration. 2026-03-14 11:39:30 +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