外部服务依赖总览
最后更新:2026-05-29
项目调用外部天气、鉴权、支付和实时事件服务。原则是:核心链路必须有明确健康检查;可选数据源不可拖垮已可用城市;实时事件层可从 Redis Stream 降级到 SQLite event log。
核心(必须有,挂了服务不可用)
| 服务 |
用途 |
状态 |
| Open-Meteo |
51 城天气预报、多模型小时曲线、DEB hourly consensus 输入 |
✅ |
| AviationWeather (NOAA) |
METAR / TAF 航空观测 |
✅ |
| MADIS (NOAA) |
美国机场 5 分钟高频观测 |
✅ |
| Supabase |
用户认证、订阅状态、会员恢复 |
✅ |
| Telegram Bot API |
Bot 消息、群成员检查、双语跑道推送 |
✅ |
| Redis |
city_observation_patch.v1 Stream、SSE replay、多 worker fanout |
✅ |
| SQLite |
运行态数据库、支付审计、实时事件 fallback |
✅ |
国家气象源(特定城市必须)
| 服务 |
城市 |
状态 |
| JMA AMeDAS |
Tokyo |
✅ |
| AMOS (韩国) |
Seoul, Busan 跑道传感器 |
✅ |
| AMSC AWOS (中国) |
北京、上海、广州、成都、重庆、武汉、青岛跑道端点气温 |
✅ |
| MGM (土耳其) |
Ankara, Istanbul |
✅ |
| FMI (芬兰) |
Helsinki |
✅ |
| KNMI (荷兰) |
Amsterdam |
✅(需 key) |
| CoWIN 6087 (香港) |
Hong Kong 1 分钟参考站 |
✅ |
| HKO (香港) |
Hong Kong / Shenzhen / Lau Fau Shan 10 分钟官方气象层 |
✅ |
| CWA (台湾) |
Taipei |
✅ |
| Singapore MSS |
Singapore |
✅ |
| IMS Lod (以色列) |
Tel Aviv |
✅ |
| AEROWEB / AROME HD |
Paris |
✅ |
| NMC (中国) |
国内城市 fallback |
✅ |
| IMGW (波兰) |
Warsaw |
⚠️ 未配 key |
可选 / 已禁用
| 服务 |
用途 |
状态 |
| OpenWeatherMap |
天气 fallback |
⚠️ 未配 key |
| VisualCrossing |
历史天气 |
⚠️ 未配 key |
| SynopticData |
美国站点观测 |
⚠️ 未配 key |
| Meteoblue |
天气预报 |
❌ 已移除 |
| Russia pogodaiklimat |
Moscow 历史源 |
❌ 已移除 |
| Groq |
AI commentary |
❌ 已移除 |
AI / 支付 / 前端
| 服务 |
用途 |
状态 |
| MiMo (xiaomimimo) |
城市分析 AI 评论 |
✅ 当前使用 |
| DeepSeek |
AI fallback |
备用 |
| Polygon RPC |
checkout 合约支付、Polygon USDC / USDC.e 自动确认 |
✅ |
| Ethereum RPC |
Ethereum 主网 USDC 直转确认 |
✅(启用多链支付时必须) |
| WalletConnect |
前端钱包连接 |
⚠️ 未配 key 时钱包入口降级 |
运维口径
- 生产实时事件推荐:
POLYWEATHER_EVENT_STORE=redis + POLYWEATHER_REDIS_URL=redis://polyweather_redis:6379/0。
- 本地或单进程兜底:
POLYWEATHER_EVENT_STORE=sqlite。
- Redis 只负责短窗口 replay 与多 worker fanout,不是长期天气历史库。
- DEB hourly consensus 依赖 Open-Meteo 多模型小时曲线;若上游限流,图表应保留已有 snapshot 和实测 patch,不把缺失模型误报为实测缺失。
- 支付多链确认依赖
POLYWEATHER_PAYMENT_RPC_URLS_BY_CHAIN_JSON;如果启用 Ethereum 主网 USDC,必须配置 chain_id=1 的 RPC,否则用户提交 Ethereum tx hash 后无法自动确认。