weather-nws

🌤️ 免费权威的美国官方天气数据

基于美国国家气象局官方API的免费天气查询工具,无需API密钥即可获取美国地区详细天气预报与官方灾害预警,适合自动化场景与日常天气监控。

收藏
3.9k
安装
1k
版本
v1.0.3
CLS 安全性认证2026-05-21
点击查看完整报告 >

使用说明

核心用法

Weather NWS 是一款专为美国地区设计的天气数据查询 Skill,通过调用美国国家气象局(National Weather Service, NOAA)官方 API 获取权威天气信息。用户可通过命令行直接运行 node weather-nws.js 获取当前天气状况、7天详细预报及官方灾害预警,也可使用 --json 参数输出结构化数据供脚本集成。使用时需在代码中配置目标地点的经纬度坐标,默认示例为德克萨斯州沃斯堡。

该 Skill 采用四步数据获取流程:首先调用 Points API 将地理坐标转换为 NWS 网格系统坐标,随后并行请求 Forecast API(7天预报)、Observations API(实时观测数据)和 Alerts API(活跃预警信息),最终整合为易读的文本报告或 JSON 对象。对于 OpenClaw 用户,可直接在对话中触发天气查询,或配置定时任务实现自动化天气简报。

显著优点

零成本与零门槛是该 Skill 最突出的优势。与 OpenWeather、WeatherAPI 等商业服务相比,NWS API 完全免费且无需注册 API 密钥,消除了密钥管理的复杂性和潜在泄露风险。作为美国联邦政府官方服务,其数据可靠性达到最高等级,覆盖全美领土及领海,数据源直接来自遍布各地的专业气象观测站。

官方灾害预警功能具有不可替代的价值。该 Skill 能实时获取龙卷风预警、洪水警报、暴风雪警告等官方紧急通知,并按严重程度分级标注(CRITICAL/HIGH/MEDIUM),这对居住在美国龙卷风走廊、飓风频发区等高风险地区的用户至关重要。商业 API 通常不提供或仅有限支持此类官方预警数据。

输出格式灵活兼顾人机交互与系统集成。默认模式提供格式美观的文本报告,包含体感温度、露点、气压等专业气象参数;JSON 模式则返回结构化数据,便于嵌入 Discord/Telegram 机器人、智能家居系统或 CI/CD 流水线。代码无第三方 npm 依赖,仅依赖 Node.js 内置模块和系统 curl,部署极为轻量。

潜在缺点与局限性

地理覆盖严重受限是最大短板。NWS API 仅服务美国及其领土,无法查询全球其他地区的天气,国际用户或需要跨国天气数据的场景完全无法使用。这一限制源于 NWS 的法定职责范围,非技术问题,但显著缩小了目标用户群体。

技术实现存在设计缺陷。当前版本使用 execSync 拼接 shell 命令调用 curl 进行 HTTP 请求,而非 Node.js 原生的 https 模块或现代 fetch API。这种实现方式引入了命令注入风险,尽管当前版本中经纬度为硬编码,实际风险可控,但代码架构本身属于不良实践,也导致 Windows 环境(无原生 curl)兼容性存疑。

功能深度有限。相比专业气象服务,该 Skill 不提供逐小时预报、历史天气数据、雷达图像、空气质量指数等高级功能。预警信息仅做关键词检测和文本展示,不支持基于用户位置的智能推送或多渠道告警分发。对于需要精细化气象数据的农业、航空、能源等行业用户,功能显得单薄。

维护状态存疑。代码中仍使用已弃用的 "Clawdbot" 品牌标识和旧联系邮箱,暗示可能缺乏持续维护。NWS API 虽稳定,但若官方接口变更,Skill 可能失效。

适合的目标群体

该 Skill 最适合美国本土的个人开发者、智能家居爱好者及小型自动化项目。对于希望搭建零成本天气监控系统的用户,或是需要在 cron 任务、聊天机器人中集成权威天气数据的场景,其简洁性和免费特性极具吸引力。居住在恶劣天气频发地区的家庭用户,可利用其预警功能建立个人灾害通知系统。

不适合需要全球天气覆盖的企业级应用、对安全合规要求严格的金融/政务系统,以及需要精细化气象数据的专业领域用户。Windows 环境用户或无法使用 curl 的受限环境也需额外评估兼容性。

使用风险

安全风险主要来自命令注入漏洞。若 Skill 被改造为接受用户输入的坐标,或类构造函数被外部不可信代码调用,恶意构造的经纬度参数可能突破 shell 转义执行任意命令。建议在隔离环境中运行,避免以 root 权限执行。

可靠性风险包括 NWS API 服务中断(虽罕见但可能发生)、网络超时导致的脚本挂起(默认15秒超时可能不足)、以及硬编码坐标导致的错误位置查询。建议生产环境添加重试逻辑和坐标配置校验。

数据时效性风险:观测数据来自最近的气象站,若用户位置远离站点,实际微气候可能与报告存在偏差。预警信息依赖 NWS 发布流程,极端情况下可能存在数分钟延迟。

安全解读

综合评估:Weather NWS 天气数据 Skill

核心用法

Weather NWS 是一个基于美国国家气象局(National Weather Service, NOAA)官方 API 的天气数据获取工具,专为美国境内位置设计。核心功能包括:

  • 实时天气查询:温度、体感温度、湿度、风速风向、气压、能见度、露点温度
  • 7天详细预报:逐日预报包含完整描述性文本
  • 官方灾害预警:寒潮预警、龙卷风警告、洪水警报等
  • JSON输出模式:支持程序化调用与自动化集成

技术实现上采用 Node.js 驱动,通过 curl 命令行工具调用 NWS API,无外部 npm 依赖。

显著优点

| 维度 | 优势 |
|------|------|
| **成本** | 完全免费,无API密钥,无调用限制 |
| **权威性** | 美国政府官方数据源,灾害预警具有法律效力 |
| **覆盖度** | 美国本土及领土全覆盖,站点密度高 |
| **易用性** | 开箱即用,配置仅需修改坐标参数 |
| **集成性** | JSON输出支持脚本化、定时任务、消息推送 |

潜在缺点与局限性

1. 地理限制:仅限美国境内使用,国际位置无法查询
2. 安全风险:代码使用 execSync 执行 curl 命令,经纬度参数未经验证直接拼接,存在命令注入漏洞(中等风险)

3. 架构欠优:依赖外部 curl 进程而非原生 HTTP 库,增加系统开销与安全攻击面

4. 维护状态:个人开发者项目(T3级别),长期维护不确定性较高

5. User-Agent 过时:硬编码的标识字符串仍指向旧项目名称

适合人群

  • 美国境内用户需要免费、可靠的天气数据源
  • 需要官方灾害预警(如龙卷风、洪水警报)的自动化系统
  • 不愿管理商业API密钥的个人开发者与小团队
  • 运行在 cron 定时任务中的天气监控脚本

常规风险

  • 命令注入:若经纬度参数来源不可控,可能被恶意利用执行任意系统命令
  • 子进程开销:高频调用时频繁创建 curl 进程影响性能
  • API可用性:虽为政府服务,极端情况下仍可能服务降级
  • 数据隐私:仅发送坐标信息,无其他敏感数据外泄

使用建议

建议在可信环境(如个人服务器、容器化隔离环境)中使用,避免接受外部不可控输入作为坐标参数。对于生产环境关键应用,建议 fork 后修复命令注入问题(使用原生 https 模块替代 execSync + curl)。

weather-nws 内容

examples文件夹
手动下载zip · 10.2 kB
alert-monitor.shtext/x-shellscript
请选择文件