Weather Forecast

通过坐标调用 Open-Meteo API 获取全球任意地点的小时级温度预报。

已扫描
适合谁
需要快速获取全球天气信息的用户、开发自动化办公流程的技术人员
不适合谁
无需外部数据查询的本地化任务使用者、对网络依赖敏感且无外网环境的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @alex098929/weather-forecast

Skill 说明

命令、参数、文件名以原文为准

天气预报技能

此技能通过 Open-Meteo API 实现全球任意位置的天气预报查询,提供每小时温度数据。

何时使用此技能

在以下情况激活该技能:

  • 用户询问天气信息或天气预报
  • 用户询问特定地点的气温
  • 用户提出需要当前或未来数据的天气相关问题
  • 用户提供地点名称并期望获取详细的天气信息

技能组件

脚本

scripts/get_weather.py 脚本提供了一种可靠且可复用的方式,用于从 Open-Meteo API 获取天气数据。使用该脚本而非每次手动编写 API 调用的原因包括:

  • API 端点和参数需保持一致
  • 网络请求的错误处理已标准化
  • JSON 解析与数据提取过程自动化
  • 无需加载到上下文中即可执行

参考资料

references/api_response_format.md 包含 Open-Meteo API 响应结构的文档,内容包括:

  • 请求参数(纬度、经度、每小时数据类型)
  • 响应格式及字段含义
  • 时区处理方式
  • 错误状态说明

工作流程

当激活此技能时:

  1. 从用户查询中提取位置信息。可能包括:

- 城市名称(例如:“北京”、“上海”、“纽约”)

- 具体坐标(纬度、经度)

- 描述性位置(例如:“我的当前位置”)

  1. 将位置转换为坐标

- 若提供城市名称,使用地理编码获取纬度和经度

- 若直接提供坐标,则原样使用

- 常见城市坐标(保存在内存中):北京(39.9042, 116.4074)、上海(31.2304, 121.4737)、纽约(40.7128, -74.0060)、伦敦(51.5074, -0.1278)、东京(35.6762, 139.6503)

  1. 使用坐标执行天气脚本

- 使用纬度和经度参数运行 scripts/get_weather.py

- 脚本返回结构化天气数据,包含每小时温度信息

  1. 以自然、易读的方式向用户展示结果

- 总结关键信息(当前温度、最高/最低温、预报摘要)

- 包含相关时间信息(未来 24 小时或用户提及的具体时间)

- 使用适合上下文的单位(默认摄氏度,如用户要求则使用华氏度)

重要注意事项

  • Open-Meteo API 提供的是每小时预报,而不仅仅是当前天气
  • 温度值默认以摄氏度表示
  • API 免费使用,无需身份验证
  • 坐标精度建议达到小数点后四位以提高准确性
  • 若无法获取某地的坐标,请告知用户,并请求提供坐标或更换其他地点

示例交互

用户:“北京的天气怎么样?”

操作:提取“北京”,使用坐标(39.9042, 116.4074),运行脚本,展示预报结果

用户:“明天东京会冷吗?”

操作:提取“东京”和“明天”,使用坐标(35.6762, 139.6503),运行脚本,展示明天的气温情况

用户:“获取纬度 52.52 和经度 13.41 的温度”

操作:直接使用提供的坐标,运行脚本,展示每小时数据

用户:“上海今天会有多热?”

操作:提取“上海”,使用坐标(31.2304, 121.4737),运行脚本,识别当天最高气温

A
@alex098929

已收录 1 个 Skill

相关推荐