diff --git a/README.md b/README.md
index 3c62e90f..ee282da2 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ py -3.11 run.py
python3 run.py
```
-_Note: The system is currently in **Weather Query Mode**. Active market monitoring and automated trading modules are suspended._
+_Note: The system is currently in **Weather Query Mode**. Legacy active market monitoring and automated trading modules are suspended._
---
@@ -31,92 +31,76 @@ _Note: The system is currently in **Weather Query Mode**. Active market monitori
| `/id` | **Get Chat ID** | Retrieve your current Telegram Chat ID |
| `/help` | **Help** | Display all available commands |
-### /city Command Example
-
-```
-/city Chicago
-```
-
-**Real-time Output:**
-
-> 📍 **Chicago 天气详情**
-> ⏱️ 生成时间: 12:45:30
-> ════════════════════
-> 🕐 当地时间: 12:45
->
-> 📊 **Open-Meteo 7天预测**
-> 👉 今天: 最高 22.4°F (NWS: 23°F)
-> 02-08: 最高 26.2°F
-> 02-09: 最高 37.2°F
->
-> ✈️ **机场实测 (KORD)**
-> 🌡️ 21.0°F (今日最高: 23.0°F)
-> 💨 风速: 4kt
-> 🕐 观测: 12:00 (当地)
->
-> 💡 **态势分析**
-> ⏱️ **预计峰值时刻**:今天 14:00 - 16:00 之间。
-> 🎯 **博弈建议**:关注该时段实测能否站稳 22.4°F。
-> 📈 **升温进程中**:距离峰值还有约 1.4° 空间,正向高点冲击。
-
---
## ✨ Key Features
-### 1. 🏛️ Multi-Source Data Fusion
+### 1. 🏛️ Multi-Source Data Fusion (High-Fidelity)
-The bot aggregates data from multiple authoritative sources:
+The bot aggregates data from multiple authoritative sources, layered by reliability:
-| Source | Data Type | Coverage |
-| -------------- | ------------------------------ | ----------------- |
-| **Open-Meteo** | 7-day forecast | Global |
-| **NWS** | Official US forecast | US cities only ⚠️ |
-| **METAR** | Real-time airport observations | Global airports |
+| Source | Role | Coverage | Strength |
+| :----------------- | :---------------------- | :-------------- | :--------------------------------------------------------------------------------- |
+| **Open-Meteo** | Base Forecast | Global | Provides detailed 72-hour temperature curves for all cities. |
+| **Meteoblue (MB)** | **Precision Consensus** | Global | **Traders' choice**. Aggregates multiple models; excellent for microclimates. |
+| **METAR** | **Settlement Standard** | Global Airports | The absolute truth for Polymarket settlement; real-time station data. |
+| **NWS** | Official (US) | US Only | High-fidelity forecasts for US cities, critical for extreme weather events. |
+| **MGM** | Official (Turkey) | Ankara | Direct access to Turkish State Meteorological Service for local official accuracy. |
-- **⚠️ Divergence Alerts**: When Open-Meteo and NWS disagree by >1°F, the bot flags it for your attention.
+### 2. ⚡ Ultra-Fresh Data (Cache-Busting)
-### 2. ⏱️ Peak Timing Prediction
+To counter second-by-second variations in weather betting, we implemented **Zero-Cache Technology**:
-For each city, the bot analyzes the hourly forecast curve to identify:
+- **Micro-timestamp Tokens**: Every request includes a dynamic token to force servers to bypass CDN caches.
+- **MGM Real-time Sync**: Specialized header camouflaging to bypass local Turkish API anti-crawling for Ankara.
-- **Exact peak window**: e.g., "14:00 - 16:00"
-- **Betting recommendation**: Monitor real-time data during this window
+### 3. ⏱️ Automated Trend Analysis
-### 3. 📊 Today's High Tracking
+The bot doesn't just fetch data; it interprets it:
-METAR data is filtered by **local calendar day** using UTC offset:
+- **Peak Window Prediction**: Automatically identifies the timeframe when today's record is most likely to be hit.
+- **Risk Profiling**: Assigns risk levels based on geographic traits (e.g., Ankara high-altitude swings, London coastal microclimates).
+- **Source Attribution**: Every data point is clearly labeled ([MGM], [METAR], [MB]) to help you weigh the data.
-- Only observations from **local midnight onwards** are counted
-- Ensures "Today's High" is accurate, not polluted by yesterday's warm afternoon
+### 4. 📊 Smart Max-Temp Tracking
-### 4. ✈️ High-Fidelity Airport Data (METAR)
+Optimized for Polymarket settlement logic:
-Directly connected to **NOAA Aviation Weather**, the bot fetches raw METAR data from major international airports.
+- **Local Day Filtering**: Uses city UTC offsets to strictly count observations after 00:00 local time.
+- **Multi-dimension Monitoring**: Includes "Feels Like" temperatures and 24h precipitation to assist in nuanced trade decisions.
-- Automatic conversion from UTC to **City Local Time**.
-- Real-time station observations (Temperature, Wind, Dew Point).
+---
-### 5. ⚡ Ultra-Fresh Data (Cache Busting)
+## 🏗️ System Architecture
-Engineered to bypass ISP and proxy caches:
+PolyWeather uses a **Lightweight, Plugin-based** architecture for millisecond responses.
-- Every request includes a **micro-timestamp token**.
-- Forces weather servers (Open-Meteo/NOAA/NWS) to deliver fresh results instead of stale cached snapshots.
+```mermaid
+graph TD
+ User[/Telegram User/] --> Bot[bot_listener.py]
+ Bot --> Collector[WeatherDataCollector]
+
+ subgraph "Data Engine"
+ Collector --> OM[Open-Meteo API]
+ Collector --> MB[Meteoblue Scraper]
+ Collector --> NOAA[METAR Data Center]
+ Collector --> MGM[Turkish MGM API]
+ Collector --> NWS[US NWS API]
+ end
+
+ Collector --> Processing[Smart Analysis & Formatting]
+ Processing --> Bot
+ Bot --> Reponse[/Compact Betting Snapshot/]
+```
+
+- **Logic Decoupling**: `weather_sources.py` handles parsing; `bot_listener.py` handles rendering.
+- **Legacy Modules**: `main.py` contains the old automated trading engine. Focus has shifted to "assisted manual decision-making."
---
## 🎯 Betting Strategy Tips
-1. **Check model consensus**: If Open-Meteo and NWS agree, confidence is high.
-2. **Watch the peak window**: Monitor METAR during predicted peak hours.
-3. **Use "Today's High"**: Track the actual recorded maximum vs forecast.
-4. **Interpret ⚠️ warnings**: Divergence means uncertainty—proceed with caution.
-
----
-
-## 🏗️ Architecture Note
-
-The project contains a legacy **Monitoring Engine** and **Paper Trading System** (located in `main.py`). These features are currently **deactivated** to prioritize high-speed on-demand weather reporting.
-
-- To re-enable monitoring: Uncomment `monitor_thread.start()` in `run.py`.
-- Documentation for inactive features: See [MARKET_DISCOVERY.md](./MARKET_DISCOVERY.md) and [PAPER_TRADING_GUIDE.md](./PAPER_TRADING_GUIDE.md).
+1. **Check Consensus**: Compare Open-Meteo and Meteoblue (MB). Consensus usually implies higher probability.
+2. **Watch the Peak**: Use `/city` frequently during predicted peak windows to catch momentum.
+3. **Weighting Hierarchy**: Settlement is **METAR**; high-accuracy trend is **MB**; Official (NWS/MGM) is the "anchor."
+4. **Geographic Risk**: Pay close attention to cities where "Bias will significantly amplify."
diff --git a/README_ZH.md b/README_ZH.md
index a0a0a5c4..392999ef 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -34,89 +34,79 @@ _注意:系统当前处于 **天气查询模式**。主动市场监控和自
### /city 指令示例
```
-/city 芝加哥
+/city 伦敦
```
-**实时输出:**
-
-> 📍 **Chicago 天气详情**
-> ⏱️ 生成时间: 12:45:30
-> ════════════════════
-> 🕐 当地时间: 12:45
->
-> 📊 **Open-Meteo 7天预测**
-> 👉 今天: 最高 22.4°F (NWS: 23°F)
-> 02-08: 最高 26.2°F
-> 02-09: 最高 37.2°F
->
-> ✈️ **机场实测 (KORD)**
-> 🌡️ 21.0°F (今日最高: 23.0°F)
-> 💨 风速: 4kt
-> 🕐 观测: 12:00 (当地)
->
-> 💡 **态势分析**
-> ⏱️ **预计峰值时刻**:今天 14:00 - 16:00 之间。
-> � **博弈建议**:关注该时段实测能否站稳 22.4°F。
-> 📈 **升温进程中**:距离峰值还有约 1.4° 空间,正向高点冲击。
-
---
## ✨ 核心功能
-### 1. 🏛️ 多源数据融合
+### 1. 🏛️ 多源数据融合 (Multi-Source Fusion)
-机器人聚合多个权威数据源:
+机器人聚合了全球最权威的几个数据源,并按权重进行分层:
-| 数据源 | 数据类型 | 覆盖范围 |
-| -------------- | ------------ | ------------- |
-| **Open-Meteo** | 7天预报 | 全球 |
-| **NWS** | 美国官方预报 | 仅美国城市 ⚠️ |
-| **METAR** | 机场实时观测 | 全球主要机场 |
+| 数据源 | 数据角色 | 覆盖范围 | 优势 |
+| :----------------- | :------------- | :--------- | :----------------------------------------------- |
+| **Open-Meteo** | 基础预测 | 全球 | 提供所有城市的 72 小时精细化温度曲线 |
+| **Meteoblue (MB)** | **高精度共识** | 全球 | **交易员首选**。聚合多家模型,对微气候处理极佳 |
+| **METAR** | **结算标准** | 全球机场 | Polymarket 结算参考的绝对真理,实时机场观测 |
+| **NWS** | 官方预测(美) | 仅限美国 | 美国国家气象局,对美国城市的极端天气预判准确 |
+| **MGM** | 官方预测(土) | 仅限安卡拉 | 土耳其气象局,提供安卡拉 Esenboğa 机场的官方数据 |
-- **⚠️ 分歧预警**:当 Open-Meteo 和 NWS 预测差异超过 1°F 时,机器人会标注提醒。
+### 2. ⚡ 超新鲜数据 (Cache-Busting)
-### 2. ⏱️ 峰值时刻预测
+为了应对气象博弈中秒级的变化,我们实现了 **0 缓存技术**:
-机器人分析每个城市的逐小时预报曲线,识别:
+- **微秒级令牌**:每个 API 请求都附带动态时间戳,强制气象服务器绕过 CDN 缓存返回最新值。
+- **MGM 实时同步**:针对土耳其 MGM API 做了专门的 Header 伪装和时区校正。
-- **精确峰值窗口**:如 "14:00 - 16:00"
-- **博弈建议**:在此窗口期关注实测数据变化
+### 3. ⏱️ 自动态势分析
-### 3. 📊 今日最高温追踪
+机器人不仅仅搬运数据,它还会进行逻辑加工:
-METAR 数据按**当地日历日**过滤(使用 UTC 偏移):
+- **峰值时刻预测**:自动计算今天气温最高点出现的概率窗口(如:14:00 - 15:00)。
+- **风险等级 (Risk-Profile)**:根据地理特征(如安卡拉的高原温差、伦敦的近海微气候)自动分配风险等级。
+- **数据溯源**:报表明确标注每个数字的来源([MGM], [METAR], [MB])。
-- 只统计**当地零点之后**的观测记录
-- 确保"今日最高"准确,不受昨天下午高温干扰
+### 4. 📊 智能最高温追踪
-### 4. ✈️ 高保真机场数据 (METAR)
+针对 Polymarket 的结算逻辑进行优化:
-直连 **NOAA 航空气象中心**,获取原始 METAR 数据:
+- **当地日历日过滤**:基于城市 UTC 偏移,严格统计当地时间 00:00 之后的实测最高温。
+- **多维度监测**:集成体感温度 (`feels_like`) 和 24h 累计降雨量,辅助多维度判断。
-- 自动将 UTC 时间转换为**城市当地时间**
-- 实时观测(温度、风速、露点)
+---
-### 5. ⚡ 超新鲜数据(缓存穿透)
+## 🏗️ 系统架构
-专门设计以绕过 ISP 和代理缓存:
+本项目采用 **“轻量化、插件式”** 架构,旨在实现毫秒级响应。
-- 每次请求附带**微秒时间戳令牌**
-- 强制 Open-Meteo/NOAA/NWS 返回最新数据
+```mermaid
+graph TD
+ User[/Telegram User/] --> Bot[bot_listener.py]
+ Bot --> Collector[WeatherDataCollector]
+
+ subgraph "Data Engine"
+ Collector --> OM[Open-Meteo API]
+ Collector --> MB[Meteoblue Scraper]
+ Collector --> NOAA[METAR Data Center]
+ Collector --> MGM[Turkish MGM API]
+ Collector --> NWS[US NWS API]
+ end
+
+ Collector --> Processing[智能分析 & 格式化]
+ Processing --> Bot
+ Bot --> Reponse[/精简版博弈快照/]
+```
+
+- **逻辑解耦**:`weather_sources.py` 负责外部数据的解析;`bot_listener.py` 负责消息模板渲染。
+- **遗留模块说明**:项目根目录下的 `main.py` 包含旧版本的自动交易引擎。目前重心在“手动辅助决策”,如需开启请查阅 [MARKET_DISCOVERY_ZH.md](./MARKET_DISCOVERY_ZH.md)。
---
## 🎯 博弈策略提示
-1. **检查模型共识**:如果 Open-Meteo 和 NWS 一致,置信度高。
-2. **关注峰值窗口**:在预测的峰值时段多次刷新 METAR。
-3. **使用"今日最高"**:对比实测峰值与预报值。
-4. **解读 ⚠️ 警告**:分歧意味着不确定性——谨慎操作。
-
----
-
-## 🏗️ 架构说明
-
-项目包含一个遗留的**监控引擎**和**模拟交易系统**(位于 `main.py`)。这些功能目前**已停用**,以优先保障高速按需天气查询。
-
-- 重新启用监控:取消 `run.py` 中 `monitor_thread.start()` 的注释。
-- 已停用功能的文档:参见 [MARKET_DISCOVERY_ZH.md](./MARKET_DISCOVERY_ZH.md) 和 [PAPER_TRADING_GUIDE.md](./PAPER_TRADING_GUIDE.md)。
+1. **检查模型共识**:查看 Open-Meteo 和 Meteoblue (MB) 是否达成共识。
+2. **关注峰值窗口**:在预测的峰值时段多次使用 `/city` 刷新。
+3. **数据权重优先级**:结算以 **METAR** 为准,趋势预测以 **MB** 为准。
+4. **地理风险评估**:重点关注提示中的“偏差会显著放大”警告(如安卡拉、伦敦)。
diff --git a/bot_listener.py b/bot_listener.py
index 60b68308..54114665 100644
--- a/bot_listener.py
+++ b/bot_listener.py
@@ -274,16 +274,22 @@ def start_bot():
# 今天对比
today_t = max_temps[0] if max_temps else "N/A"
comp_parts = []
+ sources = ["Open-Meteo"]
+
+ if mb_high is not None:
+ sources.append("MB")
+ comp_parts.append(f"MB: {mb_high}")
if nws_high is not None:
+ sources.append("NWS")
comp_parts.append(f"NWS: {nws_high}")
if mgm_high is not None:
+ sources.append("MGM")
comp_parts.append(f"MGM: {mgm_high}")
- if mb_high is not None:
- comp_parts.append(f"MB: {mb_high}")
comp_str = f" ({' | '.join(comp_parts)})" if comp_parts else ""
+ sources_str = " | ".join(sources)
- msg_lines.append(f"\n📊 预报 (Open-Meteo)")
+ msg_lines.append(f"\n📊 预报 ({sources_str})")
msg_lines.append(f"👉 今天: {today_t}{temp_symbol}{comp_str}")
# 明后天