天气查询免费版

Polar Sponsor
爱发电 赞助
.NET 9.0

查询城市天气,支持实时天气、未来7天预报、空气质量与出行建议

天气查询 (免费版)

功能概述

天气查询 (免费版)是一项面向实际任务的技能,主要用于本工具为个人用户提供准确的天气查询服务,支持实时天气、未来 7 天预报、空气质量、降水概率、风力风向等完整指标;基于天气数据智能分析,为出行、穿衣、户外活动提供决策建议,并在恶劣天气时主动预警;

核心要点

  • 免费版聚焦个人日常查询,适合出行规划、习惯养成、生活决策等场景;
  • 免费版支持;
  • 当前温度、天气、湿度、风力;

使用与执行

未来 1-7 天预报。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

天气查询 (免费版)

概述

本工具为个人用户提供准确的天气查询服务,支持实时天气、未来 7 天预报、空气质量、降水概率、风力风向等完整指标。基于天气数据智能分析,为出行、穿衣、户外活动提供决策建议,并在恶劣天气时主动预警。

免费版聚焦个人日常查询,适合出行规划、习惯养成、生活决策等场景。

核心能力

能力模块 描述 免费版支持
实时天气 当前温度、天气、湿度、风力 支持
多日预报 未来 1-7 天预报 支持
空气质量 AQI、PM2.5、紫外线指数 支持
出行建议 基于天气的智能建议 支持
天气预警 暴雨、台风、高温等预警 支持
历史天气 过去天气数据查询 不支持 (升级 PRO)
多城市对比 同时对比多个城市 不支持 (升级 PRO)
农业气象 农业专项预报 不支持 (升级 PRO)
天气推送 定时推送天气 不支持 (升级 PRO)

核心功能执行

用input_params参数进行配置。

输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 按照skill规范执行核心功能执行操作,遵循单一意图原则。 输出: 返回核心功能执行的执行结果,包含操作状态和输出数据。

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

参数配置与调用

用config_options参数进行配置。

输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 按照skill规范执行参数配置与调用操作,遵循单一意图原则。 输出: 返回参数配置与调用的执行结果,包含操作状态和输出数据。

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

结果处理与输出

用output_format参数进行配置。

输入: 用户提供结果处理与输出所需的指令和必要参数。 处理: 按照skill规范执行结果处理与输出操作,遵循单一意图原则。 输出: 返回结果处理与输出的执行结果,包含操作状态和输出数据。

  • 执行此能力时使用output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:查询城市天气、支持实时天气、空气质量与出行建、面向个人用户的天、气查询助手、提供实时天气、空气质量与智能建、核心能力、城市天气查询、空气质量分析、天气预警提醒、适用场景、出行规划、穿衣建议、户外活动决策、差旅准备、差异化、免费版聚焦单城市、查询与基础建议、适合个人日常使用、适用关键词、天气查询、未来预报等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。

使用场景

场景一: 简单天气查询

用户: "北京今天天气怎么样?"

助手:
实时天气: 北京当前多云,气温 15°C,体感温度 13°C,西北风 3-4 级,湿度 45%,能见度 10 公里。

预报概况: 未来 3 天以晴到多云为主,气温逐步回升。
- 今天: 多云转晴,8-18°C
- 明天: 晴,10-20°C
- 后天: 晴,12-22°C

出行建议:
- 今日早晚温差 10 度,注意及时增减衣物
- 明天紫外线较强 (UV 指数 7),外出请做好防晒措施
- 空气质量一般 (AQI 85),敏感人群建议减少户外活动

场景二: 旅行天气规划

用户: "下周去杭州旅游,帮我看看天气"

助手:
1. 查询杭州未来 7 天天气
2. 重点关注旅行期间 (7月22日-28日):
   - 7月22-24日: 多云,25-32°C,适合游玩
   - 7月25日: 午后雷阵雨,建议上午安排户外活动
   - 7月26-28日: 晴热高温,35°C+,注意防暑
3. 行李建议:
   - 防晒霜、遮阳帽
   - 轻薄透气衣物
   - 雨伞 (应对午后雷阵雨)
   - 充足饮用水

场景三: 恶劣天气预警

用户: "广州天气如何?"

助手:
实时天气: 广州当前暴雨,气温 22°C,体感温度 20°C,东南风 5-6 级,湿度 90%,能见度 2 公里。

重点提示:
暴雨橙色预警: 预计今天 12-18 时有 50-80 毫米降雨

出行建议:
- 尽量避免外出,如需外出请远离低洼地区
- 驾车请减速慢行,注意积水路段
- 请关注最新天气预警信息

不适用场景

以下场景天气查询免费版不适合处理:

  • 实时流数据处理
  • 小规模数据手动分析
  • 非结构化文本情感分析

触发条件

需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于非本工具能力范围的需求。

快速开始

Step 1: 调用查询接口

# 查询北京实时天气
curl -s "wttr.in/Beijing?format=%l:+%c+%t+%h+%w&lang=zh"

# 详细预报
curl -s "wttr.in/Beijing?T&lang=zh"

Step 2: 使用 query_weather 工具

query_weather(location="北京", days=3, details=true)

参数说明:

参数 说明 默认值
location 城市或地区名称 必填
days 预报天数 1
details 是否返回详细 (空气质量等) false

Step 3: 解析返回数据

import requests

def query_weather(location, days=1, details=False):
    """查询天气"""
    url = f"https://wttr.in/{location}"
    params = {
        "format": "j1",  # JSON 格式
        "lang": "zh",
    }
    resp = requests.get(url, params=params, timeout=30)
    data = resp.json()

    current = data.get("current_condition", [{}])[0]
    forecast = data.get("weather", [])[:days]

    return {
        "location": location,
        "query_time": current.get("localObsDateTime"),
        "current": {
            "temperature": current.get("temp_C"),
            "feels_like": current.get("FeelsLikeC"),
            "weather": current.get("lang_zh", [{}])[0].get("value"),
            "humidity": current.get("humidity"),
            "wind_speed": current.get("windspeedKmph"),
            "wind_direction": current.get("winddir16Point"),
        },
        "forecast": [
            {
                "date": f.get("date"),
                "temp_high": f.get("maxtempC"),
                "temp_low": f.get("mintempC"),
                "hourly": f.get("hourly", []),
            }
            for f in forecast
        ],
    }

示例

基础配置

# ~/.weather-tool-free.yaml
api:
  primary: wttr.in
  fallback: open-meteo
  timeout: 30
  language: zh

user:
  default_location: 北京
  units: metric
  timezone: Asia/Shanghai

output:
  format: text  # text | json
  include_suggestions: true
  include_alerts: true

天气报告模板

REPORT_TEMPLATE = """实时天气: {location}当前{weather},气温{temp}°C,体感温度{feels_like}°C,{wind_direction}{wind_speed},湿度{humidity}%,能见度{visibility}公里。

预报概况: 未来{days}天{forecast_summary}。

重点提示:
{highlights}

出行建议:
{suggestions}
"""

def render_report(data):
    return REPORT_TEMPLATE.format(
        location=data["location"],
        weather=data["current"]["weather"],
        temp=data["current"]["temperature"],
        feels_like=data["current"]["feels_like"],
        wind_direction=data["current"]["wind_direction"],
        wind_speed=data["current"]["wind_speed"],
        humidity=data["current"]["humidity"],
        visibility=data["current"].get("visibility", "10"),
        days=len(data["forecast"]),
        forecast_summary=summarize_forecast(data["forecast"]),
        highlights=generate_highlights(data),
        suggestions=generate_suggestions(data),
    )

智能建议生成

def generate_suggestions(data):
    """根据天气生成出行建议"""
    suggestions = []
    current = data["current"]

    # 降水建议
    precip_prob = int(current.get("precip_prob", 0))
    if precip_prob > 70:
        suggestions.append("建议携带雨具")

    # 温差建议
    for f in data["forecast"]:
        diff = int(f["temp_high"]) - int(f["temp_low"])
        if diff > 10:
            suggestions.append(f"{f['date']} 温差 {diff}°C,建议备好外套")
            break

    # 空气质量建议
    aqi = int(current.get("aqi", 0))
    if aqi > 100:
        suggestions.append("空气质量较差,建议佩戴口罩")
    elif aqi > 150:
        suggestions.append("空气污染严重,敏感人群减少户外活动")

    # 紫外线建议
    uv = int(current.get("uv_index", 0))
    if uv > 7:
        suggestions.append(f"紫外线较强 (UV 指数 {uv}),注意防晒")

    # 风力建议
    wind = int(current.get("wind_speed", 0))
    if wind > 30:
        suggestions.append("风力较大,注意高空坠物,避免户外活动")

    # 温度建议
    temp = int(current.get("temperature", 20))
    if temp < 0:
        suggestions.append("气温低于 0°C,注意防寒保暖")
    elif temp > 35:
        suggestions.append("气温高于 35°C,注意防暑降温")

    return "n".join(f"- {s}" for s in suggestions) if suggestions else "- 天气良好,适合正常活动"

最佳实践

1. 城市名称规范

使用城市中文名或拼音,避免歧义。

# 推荐
curl "wttr.in/Beijing?lang=zh"
curl "wttr.in/上海?lang=zh"

# 不推荐 (可能歧义)
curl "wttr.in/shanghai"

2. 缓存减少请求

天气数据变化不频繁,建议缓存减少请求。

import json
from pathlib import Path
from datetime import datetime, timedelta

CACHE_DIR = Path.home() / ".weather_cache"
CACHE_DIR.mkdir(parents=True, exist_ok=True)

def get_with_cache(location, ttl_minutes=30):
    cache_file = CACHE_DIR / f"{location}.json"
    if cache_file.exists():
        data = json.loads(cache_file.read_text())
        age = datetime.now() - datetime.fromisoformat(data["cached_at"])
        if age < timedelta(minutes=ttl_minutes):
            return data["weather"]

    weather = query_weather(location)
    cache_file.write_text(json.dumps({
        "cached_at": datetime.now().isoformat(),
        "weather": weather,
    }, ensure_ascii=False, indent=2))
    return weather

3. 天气预警分级

ALERT_LEVELS = {
    "暴雨": {"yellow": "关注", "orange": "重要", "red": "紧急"},
    "台风": {"blue": "关注", "yellow": "重要", "orange": "紧急", "red": "极紧急"},
    "高温": {"yellow": "关注", "orange": "重要", "red": "紧急"},
    "寒潮": {"blue": "关注", "yellow": "重要", "orange": "紧急"},
}

def format_alert(alert_type, level):
    severity = ALERT_LEVELS.get(alert_type, {}).get(level, "未知")
    return f"{alert_type}{level}预警 ({severity})"

4. 日期与单位统一

  • 日期统一使用 YYYY-MM-DD 格式
  • 温度统一使用摄氏度
  • 风力使用级别或 km/h

常见问题

Q1: 查询的城市找不到怎么办?

尝试使用城市拼音或英文,如 "Shanghai"、"Beijing"。也可使用机场代码如 "PEK"、"PVG"。

Q2: 数据更新频率?

实时天气约每 30 分钟更新一次,预报每天更新 2-4 次。

Q3: 支持哪些地区?

支持全球主要城市,中国地级市及以上基本全覆盖。

Q4: 如何获取更长时间预报?

免费版支持最多 7 天预报。如需 15 天或更长,可升级 PRO 版本。

Q5: 数据准确性如何?

数据来自权威气象服务,与主流天气应用精度相当。极端天气请以当地气象部门发布为准。

依赖说明

运行环境

  • Agent 平台: 支持 SKILL.md 规范的任意 AI Agent (Claude Code、Cursor、Codex、Gemini CLI 等)
  • 操作系统: Windows / macOS / Linux
  • 网络: 需访问天气 API 服务

依赖详情

依赖项 类型 是否必需 获取方式
wttr.in 在线 API 必需 免费,无需 Key
Open-Meteo 在线 API 备选 免费,无需 Key
LLM API 推理服务 必需 由 Agent 内置 LLM 提供
curl 命令行工具 可选 系统自带
Python 3.8+ 运行时 可选 python.org 下载
requests 库 Python 库 可选 pip install requests

API Key 配置

# 免费版无需 API Key
# 天气服务均免费提供

# 可选: 默认位置
export WEATHER_DEFAULT_LOCATION="北京"
export WEATHER_LANGUAGE="zh"

可用性分类

  • 分类: MD+EXEC (Markdown 指令 + 命令行执行)
  • 说明: 本 Skill 通过自然语言指令驱动 Agent 调用免费天气 API,完成天气查询与建议生成
  • 免费版限制: 单城市查询、最多 7 天预报、无历史数据、无推送服务

错误处理

错误场景 原因 处理方式
配置错误 参数缺失或格式错误 检查依赖说明中的配置要求
运行时错误 运行环境不满足 确认运行环境符合依赖说明
网络错误 连接超时或不可达 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

已知限制

  • 需LLM支持,无LLM环境不可用
  • 复杂业务场景建议结合人工经验判断
  • 执行效率受模型能力与网络环境影响

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习