| name | weather-open-meteo |
| version | 0.1.7 |
| description | 通过 open-meteo.com 公共 API 查询指定地点的当前天气和未来预报,无需 API key;当 open-meteo 请求失败时可降级使用 wttr.in。 |
| homepage | https://open-meteo.com/ |
| metadata | {"openclaw":{"emoji":"🌤️","requires":{"bins":"[Truncated]"}}} |
| display_name | 天气查询 |
| display_name_en | Weather (Open-Meteo) |
| description_zh | 基于 Open-Meteo 公共 API 查询全球任意地点的当前天气与未来 7 天预报,无需 API Key;支持城市名或经纬度查询,Open-Meteo 请求失败时自动降级到 wttr.in。 |
| description_en | Query current weather and 7-day forecast for any location worldwide via the free Open-Meteo API (no API key). Supports city name or coordinates, with automatic fallback to wttr.in. |
| visibility | public |
Weather Open‑Meteo Skill
本 skill 通过查询 open‑meteo.com 公共 API 获取当前天气和简单预报。如果地理编码查询或天气请求失败,可降级使用 wttr.in 作为轻量替代方案。
📌 适用范围与注意事项
- 本 skill 依赖
curl 和 jq。
- 地点参数在发送给 API 前会先做编码。
- 下方示例演示了如何使用 jq @uri 安全地构造查询。
✅ 使用场景
✔ 用户询问某地的天气、预报、气温或降雨概率。
✖ 不适用于历史数据、灾害预警或详细气候分析。
📋 命令
本 skill 接受单个参数:地点名称(城市、地区,或 lat,lon 格式的坐标)。
Open‑Meteo(主用,JSON)
地理编码(获取地点坐标):
curl -s "https://geocoding-api.open-meteo.com/v1/search?name=Beijing&count=1" | jq '.results[0] | {name, latitude, longitude}'
当前天气(按坐标查询):
curl -s "https://api.open-meteo.com/v1/forecast?latitude=39.91&longitude=116.40¤t_weather=true" | jq '.current_weather'
7 天预报(按坐标查询):
curl -s "https://api.open-meteo.com/v1/forecast?latitude=39.91&longitude=116.40&daily=temperature_2m_max,temperature_2m_min,precipitation_sum&forecast_days=7" | jq '.daily'
JSON 返回示例
{
"latitude": 39.91,
"longitude": 116.40,
"current_weather": {
"temperature": -5.3,
"windspeed": 3.9,
"winddirection": 200