weather-nws

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

🥥8总安装量 2评分人数 1
100% 的用户推荐

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

B

存在边界风险,建议在隔离环境中验证

  • 来自可信组织或认证账号,需要结合权限范围判断
  • ⚠️ 检出命令注入风险:使用 `execSync` 拼接 shell 命令调用 curl,若坐标参数被动态传入可能导致任意代码执行
  • ✅ 数据来源可信:仅连接美国政府官方域名 api.weather.gov,使用 HTTPS 加密传输
  • ✅ 无数据泄露风险:仅发送 User-Agent 和坐标参数,不上传用户文件或敏感信息
  • ⚠️ 缺乏输入验证:构造函数未对经纬度进行范围校验(-90~90, -180~180)和类型检查
  • ⚠️ 错误信息暴露:异常处理直接输出 `e.message` 可能泄露内部路径信息

使用说明

核心用法

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 内容

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