diff --git a/bot_listener.py b/bot_listener.py
index 480392de..182a2484 100644
--- a/bot_listener.py
+++ b/bot_listener.py
@@ -126,6 +126,22 @@ def analyze_weather_trend(weather_data, temp_symbol):
f"90% 区间 [{ens_p10}{temp_symbol} - {ens_p90}{temp_symbol}],"
f"波动幅度 {ens_range:.1f}°。"
)
+ # 确定性预报 vs 集合分布偏差检测
+ if om_today is not None:
+ if om_today > ens_p90:
+ delta = om_today - ens_median
+ insights.append(
+ f"⚡ 预报偏高警告:确定性预报 {om_today}{temp_symbol} "
+ f"超过了集合 90% 上限 ({ens_p90}{temp_symbol}),"
+ f"比中位数高 {delta:.1f}°。实际高温更可能接近 {ens_median}{temp_symbol}。"
+ )
+ elif om_today < ens_p10:
+ delta = ens_median - om_today
+ insights.append(
+ f"⚡ 预报偏低警告:确定性预报 {om_today}{temp_symbol} "
+ f"低于集合 90% 下限 ({ens_p10}{temp_symbol}),"
+ f"比中位数低 {delta:.1f}°。实际高温更可能接近 {ens_median}{temp_symbol}。"
+ )
# === 核心判断:实测是否已超预报 ===
is_breakthrough = False