Weather Compare
Multi-city weather comparison tool that fetches current weather data and formats it as a markdown table.
Usage
When the user asks to compare weather across multiple cities, run the scripts/compare_weather.py script with city names as arguments.
Supported triggers:
- "对比[城市1]、[城市2]、[城市3]的天气"
- "比较[城市]的天气"
- "这几个城市天气怎么样"
- "Show weather comparison for [city1], [city2]..."
Important: Use English or Pinyin city names for best results (e.g., "Beijing", "Shanghai", "Guangzhou"). Chinese city names may not work reliably with the wttr.in API.
Workflow
- Extract city names from user request
- Convert to English/Pinyin if needed (e.g., 北京 → Beijing)
- Run the script:
bash python scripts/compare_weather.py Beijing Shanghai Guangzhou - Return the markdown table to the user
Example
User: "对比北京、上海、广州的今天天气"
Action:
python scripts/compare_weather.py Beijing Shanghai Guangzhou
Output:
| City | Current Temp | Today High/Low | Condition | Humidity | Wind |
|------|--------------|----------------|-----------|----------|------|
| Beijing | 20°C | 28°C / 17°C | Clear | 83% | 12 km/h SE |
| Shanghai | 23°C | 27°C / 20°C | Overcast | 69% | 26 km/h SSE |
| Guangzhou | 28°C | 29°C / 24°C | Partly cloudy | 66% | 14 km/h SE |
Notes
- The script uses wttr.in API (free, no API key required)
- Data includes: current temp, today's high/low, condition, humidity, wind speed/direction
- If a city is not found, an error is printed to stderr but other cities still display
- The script requires internet access to fetch weather data