AgentMarketMCP / SKILL 资产档案馆

目录 / 地图与位置 / 免费天气技能免费版

SKILL 未评级 已上架

免费天气技能免费版

--- slug: free-weather-skill-tool-free name: free-weather-skill-tool-free version: 1.0.0 displayName: 免费天气技能免费版 summary: "通过wttr.in和Open-Meteo免费API查询全球天气,无需API Key。面向个人用户的轻量天气查询工具,完全免费且无需 API Key." license: Proprietary edition: free description: 面向个人用户的轻量天气查询工具,完全免费且无需 API Key,可自动提升工作效率 核心能力: 全球城市天气查询、多格式输出、JSON编程接口、命令行便捷调用 适用场景: 个人出行查询、脚本集成、开发调试、终端天气展示 差异化: 免费版聚焦命令行查询,零配置开箱即用,适合个人与开发者 适用关键词: 免费天气, wttr.in, open-meteo, 命令行天气, 无需API Key' tags: - 天气查询 - 免费工具 - 命令行 - 开发者工具 - 全球天气 - 工具 - 效率 - 集成 - wttr - curl - beijing - format - params tools: - read - exec - write homepage: "" category: "Automation" --- # 免费天气技能 (免费版) ## 概述 本工具为个人用户与开发者提供完全免费的天气查询能力,基于 wttr.in 与 Open-Meteo 两大免费服务,无需任何 API Key 即可查询全球城市天气。支持文本、JSON、PNG 多种输出格式,既适合命令行日常查询,也适合脚本化编程集成. 免费版聚焦命令行查询与开发调试场景,零配置开箱即用. ## 核心能力 | 能力模块 | 描述 | 免费版支持 | |----|---|-----| | 城市天气查询 | 全球主要城市天气 | 支持 | | 实时天气 | 当前温度、湿度、风力 | 支持 | | 多日预报 | 未来 3 天预报 | 支持 | | 文本输出 | 一行式摘要 | 支持 | | 全景输出 | 终端可视化预报 | 支持 | | JSON 输出 | 编程友好格式 | 支持 | | PNG 图像 | 天气图导出 | 支持 | | 月相信息 | 月亮状态 | 支持 | | API Key | 是否需要 | 无需 | | 历史数据 | 过去天气 | 不支持 (升级 PRO) | | 多城市批量 | 同时查询多个 | 不支持 (升级 PRO) | | 定时推送 | 自动推送 | 不支持 (升级 PRO) | ### 核心功能执行 用`input_params`参数进行配置. **处理**: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. **输出**: 返回核心功能执行的响应数据,包含状态码、结果和日志. - 执行此能力时使用`input_params`参数,支持创建/查询/导出操作 ### 参数配置与调用 用`config_options`参数进行配置. **处理**: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. **输出**: 返回参数配置与调用的响应数据,包含状态码、结果和日志. - 执行此能力时使用`config_options`参数,支持修改/重置/导入操作 ### 结果处理与输出 用`output_format`参数进行配置. **处理**: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. **输出**: 返回结果处理与输出的响应数据,包含状态码、结果和日志. - 执行此能力时使用`output_format`参数,支持导出/保存/转换操作 **能力覆盖范围**:本skill的核心能力覆盖以下场景关键词:wttr、Open、Meteo、查询全球天气、面向个人用户的轻、量天气查询工具、完全免费且无需、核心能力、全球城市天气查询、多格式输出、编程接口、命令行便捷调用、适用场景、个人出行查询、脚本集成、开发调试、终端天气展示、差异化、免费版聚焦命令行、零配置开箱即用、适合个人与开发者、适用关键词、免费天气、命令行天气等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持. ## 使用场景 ### 场景一: 命令行快速查询 ```bash # 一行式摘要 curl -s "wttr.in/Beijing?format=3" # 输出: Beijing: ☁️ +15°C # ... # 自定义格式 curl -s "wttr.in/Beijing?format=%l:+%c+%t+%h+%w" # 输出: Beijing: ☁️ +15°C 45% ↓12km/h # ... # 完整终端预报 curl -s "wttr.in/Beijing?T" # 输出彩色 ASCII 天气图 ``` ### 场景二: 编程集成 ```python import requests # ... def get_weather(city): """获取天气 JSON 数据""" url = f"https://wttr.in/{city}" params = {"format": "j1"} resp = requests.get(url, params=params, timeout=30) return resp.json() # ... def get_open_meteo(lat, lon): """Open-Meteo 备选方案""" url = "https://api.open-meteo.com/v1/forecast" params = { "latitude": lat, "longitude": lon, "current_weather": True, "timezone": "auto", } resp = requests.get(url, params=params, timeout=30) return resp.json() # ... # 北京: lat=39.9, lon=116.4 weather = get_open_meteo(39.9, 116.4) print(f"温度: {weather['current_weather']['temperature']}°C") print(f"风速: {weather['current_weather']['windspeed']} km/h") ``` ### 场景三: 终端可视化 ```bash # 终端显示彩色 ASCII 天气图 curl -s "wttr.in/Shanghai?T&lang=zh" # ... # 仅查询今天 curl -s "wttr.in/Shanghai?1&lang=zh" # ... # 仅查询当前 curl -s "wttr.in/Shanghai?0&lang=zh" # ... # 导出 PNG 图片 curl -s "wttr.in/Berlin.png" -o /tmp/weather.png ``` ## 不适用场景 以下场景免费天气技能免费版不适合处理: - 无明确技术栈的模糊需求 - 纯架构设计决策 - 运维部署管理 ## 触发条件 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于非本工具能力范围的需求. ## 快速开始 ### Step 1: 直接使用 ```bash # 依赖说明 curl -s "wttr.in/your_city" ``` ### Step 2: 设置别名 (可选) ```bash # 在 ~/.bashrc 或 ~/.zshrc 中添加 alias weather='curl -s "wttr.in/$1?lang=zh"' alias weather-json='curl -s "wttr.in/$1?format=j1"' # ... # 使用 weather 北京 weather-json 上海 ``` ### Step 3: 使用 Open-Meteo 备选 ```bash # 当 wttr.in 不可用时,使用 Open-Meteo curl -s "https://api.open-meteo.com/v1/forecast?latitude=39.9&longitude=116.4&current_weather=true" ``` **响应解析**: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤. # ## 示例 ### 格式代码速查 | 代码 | 含义 | 示例 | |:-----|:-----|:-----| | `%c` | 天气状况图标 | ☁️ | | `%t` | 温度 | +15°C | | `%h` | 湿度 | 45% | | `%w` | 风速 | ↓12km/h | | `%l` | 地点 | Beijing | | `%m` | 月相 | 🌕 | | `%p` | 降水量 | 0.0mm | | `%P` | 气压 | 1013hPa | ### 完整查询示例 ```bash # 多字段组合 curl -s "wttr.in/Beijing?format=%l:+%c+%t+%h+%w+%p" # ... # 自定义分隔符 curl -s "wttr.in/Beijing?format=%l|%c|%t|%h|%w" # ... # JSON 格式 (编程用) curl -s "wttr.in/Beijing?format=j1" # ... # 简短中文 curl -s "wttr.in/Beijing?format=3&lang=zh" ``` ### Python 封装工具 ```python import requests from dataclasses import dataclass from typing import Optional # ... @dataclass class WeatherData: location: str temperature: str condition: str humidity: str wind: str moon_phase: Optional[str] = None # ... class WeatherTool: def __init__(self): self.base_url = "https://wttr.in" self.fallback_url = "https://api.open-meteo.com/v1/forecast" # ... def quick(self, city): """一行式查询""" resp = requests.get( f"{self.base_url}/{city}", params={"format": "3", "lang": "zh"}, timeout=30, ) return resp.text.strip() # ... def detailed(self, city): """详细查询""" f"{self.base_url}/{city}", params={"format": "j1"}, timeout=30, ) data = resp.json() current = data["current_condition"][0] return WeatherData( location=data["nearest_area"][0]["areaName"][0]["value"], temperature=current["temp_C"] + "°C", condition=current["weatherDesc"][0]["value"], humidity=current["humidity"] + "%", wind=f"{current['winddir16Point']} {current['windspeedKmph']}km/h", moon_phase=data.get("weather", [{}])[0].get("astronomy", [{}])[0].get("moon_phase"), ) # ... def fallback(self, lat, lon): """Open-Meteo 备选""" self.fallback_url, params={"latitude": lat, "longitude": lon, "current_weather": True}, timeout=30, ) return resp.json() ``` ### Shell 脚本封装 ```bash #!/bin/bash # ~/.local/(请参考skill目录中的脚本文件) # ... CITY="${1:-Beijing}" FORMAT="${2:-default}" # ... case "$FORMAT" in "short") curl -s "wttr.in/$CITY?format=3&lang=zh" ;; "json") ;; "png") in/$CITY.png" -o "/tmp/weather_$CITY.png" echo "图片已保存到 /tmp/weather_$CITY.png" ;; "full"|"default") ;; *) echo "用法: weather <city> [short|json|png|full]" echo "默认: weather Beijing" ;; esac ``` ## 最佳实践 ### 1. 城市名称处理 ```bash # URL 编码空格 curl -s "wttr.in/New+York" curl -s "wttr.in/San+Francisco" # ... # 使用拼音 curl -s "wttr.in/Shanghai" # ... # 使用机场代码 curl -s "wttr.in/PEK" # 北京首都机场 curl -s "wttr.in/PVG" # 上海浦东机场 ``` ### 2. 单位选择 ```bash # 公制 (默认,中国适用) curl -s "wttr.in/Beijing?m" # ... # 美制 curl -s "wttr.in/New+York?u" ``` ### 3. 简化输出 ```bash # 仅今天 curl -s "wttr.in/Beijing?1" # ... # 仅当前 curl -s "wttr.in/Beijing?0" # ... # 去除 ANSI 颜色 (适合管道) curl -s "wttr.in/Beijing?T" | sed 's/\x1b\[[0-9;]*m//g' ``` ### 4. 故障转移 ```python def robust_weather(city): """主备方案自动切换""" try: return requests.get( f"https://wttr.in/{city}", params={"format": "j1"}, timeout=10, ).json() except Exception: # 切换到 Open-Meteo coords = get_coordinates(city) "https://api.open-meteo.com/v1/forecast", params={"latitude": coords[0], "longitude": coords[1], "current_weather": True}, timeout=30, ).json() ``` ## 常见问题 ### Q1: 真的完全免费吗? 是的,wttr.in 与 Open-Meteo 均为免费公共服务,无需注册与 API Key. ### 已知限制 wttr.in 建议不超过每分钟 10 次以避免被限流。Open-Meteo 限制为每天 10000 次. ### Q3: 支持中文输出吗? 支持。添加 `&lang=zh` 参数即可获得中文天气描述. ### Q4: 终端中文乱码怎么办? 确保终端使用 UTF-8 编码。Linux/macOS 默认支持,Windows 用户需要 `chcp 65001` 切换. ### Q5: 服务不可用怎么办? 切换到 Open-Meteo 备选方案,或等待一段时间重试。如需 SLA 保障,可升级 PRO 版本. ## 依赖说明 ### 运行环境 - **Agent 平台**: 支持 SKILL.md 规范的任意 AI Agent (Claude Code、Cursor、Codex、Gemini CLI 等) - **操作系统**: Windows / macOS / Linux - **网络**: 需访问 wttr.in 或 Open-Meteo ### 第三方依赖 | 依赖项 | 类型 | 是否必需 | 获取方式 | |---:|---:|---:|---:| | wttr.in | 在线 API | 主选 | 免费,无需 Key | | Open-Meteo | 在线 API | 备选 | 免费,无需 Key | | LLM API | 推理服务 | 必需 | 由 Agent 内置 LLM 提供 | | curl | 命令行工具 | 推荐 | 系统自带 | | Python 3.8+ | 运行时 | 可选 | python.org 下载 | ### API Key 配置 ```bash # 免费版完全无需 API Key # 直接使用即可 # ... # 可选: 默认城市 export WEATHER_DEFAULT_CITY="Beijing" export WEATHER_LANG="zh" ``` ### 可用性分类 - **分类**: MD+EXEC (Markdown 指令 + 命令行执行) - **说明**: 本 Skill 通过自然语言指令驱动 Agent 调用免费天气 API,完全零配置 - **免费版特性**: 无需 API Key、命令行优先、多格式输出、双服务冗余 - **限制**: 单城市查询、3 天预报、无 SLA、可能被限流 ## 错误处理 | 错误场景 | 原因 | 处理方式 | |:---:|:---:|:---:| | 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 | | 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 | | 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 | ## 输出格式 ```json { "success": true, "data": { "result": "免费天气技能免费版处理结果", "execution_time": "0.5s", "metadata": { "version": "1.0", "processor": "free weather skill" } }, "execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"], "error": null } ```

模型生成摘要(rules/v1 · 2026-10-01 23:36):---
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。

存档时间线

版本存档时间内容哈希内容
v12026-09-28 11:12880dc916 可取

版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。

下载存档内容副本

相关资产

MCP 需 API Key

weather-mcp-server

- 🌤️ Real-time weather lookup

天气
原作者:bamboo0909 来源:Smithery 仅卡片存档
MCP 需 API Key

weather-mcp-server

weather-mcp-server:提供 get_weather: 获取指定城市的当前天气、list_supported_cities: 列出所有支持的中文城市、… 等能力

天气
原作者:lxh 来源:Smithery 仅卡片存档
MCP 需 API Key

mcp-weather

MCP天气

天气
原作者:@TimLukaHorstmann 来源:ModelScope MCP 仅卡片存档
MCP 需 API Key

variflight-mcp

VariFlight航班信息服务的模型上下文协议(MCP)服务器实现方案

天气
原作者:@variflight-ai 来源:ModelScope MCP 仅卡片存档
MCP 鉴权未知

mcp_tool

一个极简的天气查询工具,只需一句话即可查看全球天气,完美集成到Cursor编辑器中

天气
原作者:@MrCare 来源:ModelScope MCP 仅卡片存档
MCP 需 API Key

hefeng-mcp-weather

使用和风天气API为中国地区的地点提供天气预报数据,包括实时、逐小时或逐日的预报以及基于位置的查询

天气
原作者:@shanggqm 来源:ModelScope MCP 仅卡片存档
纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。