---
name: weather
description: 提供中国天气预报查询功能，支持全国300+城市的当前天气和未来1/3/7/15/40天天气预报查询。当需要查询天气情况、温度、风向等信息时使用。
---

# 天气预报查询 (Weather)

## 功能概述

天气预报查询 skill 提供中国天气网数据查询服务，支持全国城市天气查询、当前天气查询和城市搜索功能。

## 命令行调用

```bash
# 查询杭州7天天气预报
python scripts/weather_query.py query 杭州

# 查询北京3天天气预报
python scripts/weather_query.py query 北京 --days 3

# 查询深圳当前天气
python scripts/weather_query.py query 深圳 --current

# 搜索带"州"字的城市
python scripts/weather_query.py search 州

# 输出JSON格式的天气数据
python scripts/weather_query.py json 杭州 --days 3
```

## 命令列表

| 命令 | 功能 | 说明 |
|-----|------|-----|
| `query` | 天气预报查询 | 查询指定城市的天气预报或当前天气 |
| `search` | 城市搜索 | 根据关键词搜索城市 |
| `json` | JSON输出 | 输出JSON格式的天气数据 |

## 参数说明

### query 命令参数

| 参数 | 必填 | 说明 |
|------|------|------|
| `city` | 是 | 城市名称，如"杭州"、"北京"、"上海" |
| `--days` | 否 | 查询天数，可选1/3/7/15/40，默认7天 |
| `--current`, `-c` | 否 | 查询当前天气而非预报 |

### search 命令参数

| 参数 | 必填 | 说明 |
|------|------|------|
| `keyword` | 是 | 搜索关键词 |
| `--limit` | 否 | 返回结果数量限制，默认20 |

### json 命令参数

| 参数 | 必填 | 说明 |
|------|------|------|
| `city` | 是 | 城市名称 |
| `--days` | 否 | 查询天数，默认7天 |

## 返回数据格式

### 天气预报文本输出示例

```
📍 杭州 天气预报
==============================

📅 15日（今天） (今天)
   🌤️  晴
   🌡️  21/8℃
   💨 东北风 <3级

📅 16日（明天）
   🌤️  晴转多云
   🌡️  21/9℃
   💨 东风 <3级

📅 17日（后天）
   🌤️  小雨转多云
   🌡️  13/9℃
   💨 东风 <3级

⏰ 更新时间: 07:30
```

### JSON输出示例

```json
{
  "city": "杭州",
  "update_time": "07:30",
  "forecast": [
    {
      "date": "15日（今天）",
      "weather": "晴",
      "temperature": "21/8℃",
      "wind": "东北风 <3级"
    },
    {
      "date": "16日（明天）",
      "weather": "晴转多云",
      "temperature": "21/9℃",
      "wind": "东风 <3级"
    },
    {
      "date": "17日（后天）",
      "weather": "小雨转多云",
      "temperature": "13/9℃",
      "wind": "东风 <3级"
    }
  ]
}
```

## 支持的城市

覆盖全国34个省级行政区的300+主要城市，包括：

- **直辖市**: 北京、上海、天津、重庆
- **省会城市**: 广州、成都、武汉、西安、南京等
- **地级市**: 深圳、宁波、青岛、大连等
- **区县级**: 杭州下辖的萧山、余杭、临安等

使用 `search` 命令可查询完整城市列表。

## 城市编码规则

城市编码格式：`101XXYYZZ`

| 部分 | 说明 | 示例 |
|------|------|------|
| XX | 省份代码 (01-34) | 浙江=21 |
| YY | 城市代码 | 杭州=01 |
| ZZ | 区县代码 | 城区=01 |

示例：
- 杭州：101210101
- 萧山：101210102
- 北京：101010100

## 约束条件

- 数据来源于中国天气网 (www.weather.com.cn)
- 数据仅供参考，请以官方发布为准
- 每日更新时间约为07:30和11:00
- 支持1天、3天、7天、15天、40天预报查询
