Install
openclaw skills install cn-weather-skill查询中国城市实时天气信息。当用户询问某个城市的天气、气温、湿度、风力、天气预报,或者说"今天天气怎么样"、"XX天气"、"帮我查天气"等时,必须使用此skill。支持全国所有城市,数据来自中国气象局官方接口,实时准确。即使用户只是提到某地天气或想了解出行穿衣建议,也应优先触发此skill获取实时数据。
openclaw skills install cn-weather-skill通过中国气象局官方接口,分两步查询城市实时天气信息。
调用站点查询接口,将城市名转为气象站点 ID:
curl --location 'https://data.cma.cn/kbweb/home/getStationID' \
--header 'Content-Type: application/json' \
--data '{"city":"<城市名>"}'
说明:
<城市名> 替换为用户输入的城市,例如 张家港、北京、上海stationID 或类似字段)示例请求:
curl --location 'https://data.cma.cn/kbweb/home/getStationID' \
--header 'Content-Type: application/json' \
--data '{"city":"张家港"}'
使用上一步获取的站点编号,查询当前天气数据:
curl --location 'https://weather.cma.cn/api/now/<站点编号>' \
--header 'Accept: application/json, text/javascript, */*; q=0.01'
说明:
<站点编号> 替换为第一步返回的站点 ID,例如 58349示例请求:
curl --location 'https://weather.cma.cn/api/now/58349' \
--header 'Accept: application/json, text/javascript, */*; q=0.01'
获取天气数据后,按以下格式整理并回复用户:
📍 <城市名> 实时天气
━━━━━━━━━━━━━━━━━━
🌡️ 温度:XX°C
🤔 体感温度:XX°C
💧 湿度:XX%
🌬️ 风向:XX风
💨 风速:X级(XX m/s)
☁️ 天气:XX(晴/多云/小雨等)
👁️ 能见度:XX km
⏱️ 更新时间:XXXX-XX-XX XX:XX
| 情况 | 处理方式 |
|---|---|
| 城市名无法识别 / 站点 ID 为空 | 告知用户未找到该城市的气象站点,建议尝试更换城市全称或相邻城市 |
| 第二步接口请求失败 | 告知用户天气数据暂时无法获取,建议稍后重试 |
| 返回数据字段异常 | 展示能解析的字段,忽略异常字段,不中断回复 |