TTokenySpace
返回 Skills 列表

Weather Toolkit Free

基于wttr.in与Open-Meteo提供免费实时天气查询和3天预报,无需API Key,支持多格式输出及单位切换。

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"weather-toolkit-free"技能
技能信息:
- 名称: Weather Toolkit Free
- 标识: weather-toolkit-free
- 描述: 基于wttr.in与Open-Meteo提供免费实时天气查询和3天预报,无需API Key,支持多格式输出及单位切换。
- 版本: 1.0.0
下载地址:
https://www.tokeny.space/api/skills/weather-toolkit-free/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

SKILL.md

天气查询工具包免费版

基于 wttr.in 与 Open-Meteo 两大免费公开服务的天气查询工具包,无需API Key,适合个人用户在命令行或脚本中快速获取天气信息。

概述

本工具包整合两个免费天气数据源:wttr.in(主要,支持中文与多种格式)和 Open-Meteo(备选,JSON结构化输出),无需注册与API Key即可使用。支持当前天气查询、天气预报、多格式输出与单位切换,适合个人出行规划与脚本集成。

核心能力

能力免费版说明
当前天气查询支持一行命令获取
天气预报支持3天预报
紧凑格式输出支持适合脚本解析
完整格式输出支持含详细图表
PNG图片输出支持天气图导出
JSON结构化数据支持Open-Meteo源
单位切换支持公制/美制
历史天气查询不支持需PRO版
多城市批量查询不支持需PRO版
天气预警推送不支持需PRO版
自定义数据源不支持需PRO版

核心功能执行

input_params参数进行配置。

输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

参数配置与调用

config_options参数进行配置。

输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用config_options参数,支持修改/重置/导入操作

结果处理与输出

output_format参数进行配置。

输入: 用户提供结果处理与输出所需的指令和必要参数。 处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志。

  • 执行此能力时使用output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:wttr、的免费天气查询、API、Key、支持当前天气与预、面向个人用户的免、费天气查询工具包、即可获取当前天气、与预报、Use、when、需要数据库操作、SQL、数据存储管理时使、不适用于数据库架、构设计决策、适用于独立开发者、企业团队和自动化、工作流场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。

使用场景

场景一:命令行快速查询天气

# 最简洁的一行查询
curl -s "wttr.in/Beijing?format=3"
# ...
# 示例
# ...
# 紧凑格式(位置+天气+温度+湿度+风速)
curl -s "wttr.in/Beijing?format=%l:+%c+%t+%h+%w"
# ...
# 完整预报(中文显示)
curl -s "wttr.in/Beijing?lang=zh&T"
# ...
# 仅查看当天
curl -s "wttr.in/Beijing?1&lang=zh"
# ...
# 仅查看当前状态
curl -s "wttr.in/Beijing?0&lang=zh"

场景二:脚本中集成天气数据

# Python脚本集成Open-Meteo JSON数据
import urllib.request
import json
# ...
def get_weather(lat, lon):
    """获取指定坐标的当前天气"""
    url = (
        f"https://api.open-meteo.com/v1/forecast"
        f"?latitude={lat}&longitude={lon}&current_weather=true"
    )
    with urllib.request.urlopen(url) as response:
        data = json.loads(response.read())
    return data["current_weather"]
# ...
# 北京坐标查询示例
weather = get_weather(39.9, 116.4)
print(f"温度: {weather['temperature']}°C")
print(f"风速: {weather['windspeed']} km/h")
print(f"风向: {weather['winddirection']}°")
print(f"天气代码: {weather['weathercode']}")

场景三:多格式输出与导出

# 导出天气PNG图片
curl -s "wttr.in/Shanghai.png" -o /tmp/weather_shanghai.png
# ...
# 使用机场代码查询
curl -s "wttr.in/JFK?format=3"
# ...
# URL编码空格(多词城市名)
curl -s "wttr.in/New+York?format=3"
# ...
# 切换单位制式
curl -s "wttr.in/London?m&format=3"   # 公制(默认)
curl -s "wttr.in/London?u&format=3"   # 美制
# ...
# wttr.in 格式代码速查:
# %c - 天气状况图标
# %t - 温度
# %h - 湿度
# %w - 风速
# %l - 位置
# %m - 月相

快速开始

  1. 确认环境:确保系统已安装 curl(Windows/macOS/Linux默认自带)
  2. 选择数据源:wttr.in(人类可读)或 Open-Meteo(JSON程序化)
  3. 构造查询:使用城市名或坐标
  4. 执行命令:在终端或脚本中运行
  5. 解析结果:根据格式代码或JSON字段提取所需信息

配置示例

# 免费版天气查询配置(环境变量)
export WEATHER_DEFAULT_SOURCE="wttr"      # 默认数据源: wttr 或 open-meteo
export WEATHER_DEFAULT_LANG="zh"           # 默认语言
export WEATHER_DEFAULT_UNIT="m"            # 默认单位: m(公制) 或 u(美制)
export WEATHER_DEFAULT_FORMAT="3"          # 默认输出格式
# ...
# 常用城市坐标配置(用于Open-Meteo)
# 城市:        纬度     经度
# 北京:        39.9     116.4
# 上海:        31.2     121.5
# 广州:        23.1     113.3
# 深圳:        22.5     114.1
# 成都:        30.6     104.1
# 香港:        22.3     114.2
# 台北:        25.0     121.5
# 东京:        35.7     139.7
# 首尔:        37.6     127.0
# 新加坡:      1.4      103.8

最佳实践

  • 优先wttr.in:人类可读场景优先使用wttr.in,支持中文与丰富格式
  • JSON用Open-Meteo:程序化处理优先使用Open-Meteo,返回标准JSON
  • 备选机制:wttr.in不可用时自动切换到Open-Meteo
  • 缓存结果:同一城市短时间内的查询结果可缓存,减少请求
  • 错误处理:网络异常时返回友好提示而非报错
  • 编码处理:多词城市名使用 +%20 编码空格

错误处理

序号错误场景原因处理方式优先级
1输入参数缺失用户未提供必要参数提示用户提供所需参数后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令P0
2执行超时处理时间过长检查输入数据量,分批处理P1
3输出格式错误结果不符合预期格式检查output_format参数配置P1

常见问题

已知限制

完全免费,无需注册与API Key。wttr.in 与 Open-Meteo 均为公开免费服务。高频请求(每分钟数十次)可能被限流,正常使用不会触发。

Q2: 支持哪些城市的查询?

几乎所有有人居住的城市都支持。wttr.in 支持城市名、机场代码查询;Open-Meteo 通过经纬度查询,覆盖全球。

Q3: 天气数据多久更新一次?

  • wttr.in: 约30分钟更新一次
  • Open-Meteo: 每小时更新,预报数据最长可达16天

Q4: 可以查询历史天气吗?

免费版不支持历史天气查询。如需历史数据(如过去30天的天气),请使用PRO版本。

Q5: 网络异常时如何处理?

# 错误处理
#!/bin/bash
CITY=${1:-Beijing}
# ...
# 主数据源
result=$(curl -s --max-time 5 "wttr.in/$CITY?format=3" 2>/dev/null)
if [ -n "$result" ] && [ "$result" != *"Unknown"* ]; then
    echo "$result"
    exit 0
fi
# ...
# 备选数据源
echo "wttr.in 不可用,切换到 Open-Meteo..."
curl -s --max-time 5 "https://api.open-meteo.com/v1/forecast?latitude=39.9&longitude=116.4&current_weather=true" 2>/dev/null | python -c "
import sys, json
try:
    data = json.load(sys.stdin)
    w = data['current_weather']
    print(f\"{w['temperature']}°C, 风速{w['windspeed']}km/h\")
except:
    print('天气查询失败,请稍后重试')
"

Q6: 如何在脚本中判断天气状况?

# Open-Meteo 天气代码对照表
WEATHER_CODES = {
    0: "晴朗",
    1: "大致晴朗", 2: "局部多云", 3: "阴天",
    45: "雾", 48: "雾凇",
    51: "小毛毛雨", 53: "毛毛雨", 55: "大毛毛雨",
    61: "小雨", 63: "中雨", 65: "大雨",
    71: "小雪", 73: "中雪", 75: "大雪",
    77: "冰粒",
    80: "阵雨", 81: "中阵雨", 82: "大阵雨",
    85: "阵雪", 86: "大阵雪",
    95: "雷暴", 96: "雷暴冰雹", 99: "强雷暴冰雹"
}
# ...
def describe_weather(code):
    return WEATHER_CODES.get(code, "未知天气")
  • 本免费版本提供当前天气查询与3天预报,历史天气查询、多城市批量查询、天气预警推送等高级功能请使用专业版

依赖说明

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux
  • 网络连接: 需要访问公网(wttr.in 与 Open-Meteo)

依赖详情

依赖项类型是否必需获取方式
LLM APIAPI必需由Agent内置LLM提供
wttr.in公开API可选免费免Key,主要数据源
Open-Meteo公开API可选免费免Key,备选数据源
curl系统工具推荐系统自带,命令行查询
Python 3.x运行时可选脚本集成时使用

API Key 配置

  • 完全无需API Key:本工具包使用的所有数据源均为公开免费API
  • wttr.in: 直接访问 https://wttr.in/{city},无需任何认证
  • Open-Meteo: 直接访问 https://api.open-meteo.com/v1/forecast,无需任何认证
  • 无速率限制配置:正常使用不会触发限流,高频请求建议增加缓存

可用性分类

  • 分类: MD+EXEC(纯Markdown指令,部分功能需exec命令行执行)
  • 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent完成操作
  • 免费版限制: 单城市查询、3天预报、无历史数据、无预警推送、无批量查询

示例

基本用法

输入:用户提供操作指令和必要参数

输出:返回执行结果,包含操作状态和输出数据

用户: 执行核心功能
Skill: 正在执行核心功能...
Skill: 执行完成,结果如下: 操作成功

输出格式

{
  "success": true,
  "data": {
    "result": "天气查询工具包免费版处理结果",
    "execution_time": "0.5s",
    "metadata": {
      "version": "1.0",
      "processor": "weatherkit"
    }
  },
  "execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
  "error": null
}

评论

加载中…