weather-zh

🌤️ 零Token极速中文天气查询

基于中国天气网的零依赖天气查询工具,纯Bash脚本实现,无需API密钥和大模型,极速响应且完全免费。

收藏
2.6k
安装
1.3k
版本
v0.1.3
CLS 安全性认证2026-05-04
点击查看完整报告 >

使用说明

核心用法

weather-zh 是一款专为中国用户设计的轻量级天气查询工具,通过 weather-cn.sh 脚本直接抓取中国天气网数据。用户只需执行 ./weather-cn.sh 城市名 即可获取实时天气,支持北京、上海、成都等50+预置城市,也可通过编辑 weather_codes.txt 自定义扩展。输出包含当日天气、温度范围及感冒、运动、穿衣等生活指数,采用彩色格式化终端展示。

显著优点

零成本零依赖是该技能最大亮点。相比调用大模型或第三方API的方案,weather-zh 完全基于系统标准命令(curl、grep、sed)实现,每次查询零Token消耗,响应时间低于1秒。数据源自权威的中国天气网,原生中文无需翻译转换。脚本架构透明简洁,无第三方库依赖,便于审计和二次开发。对于高频查询、自动化任务等场景,成本优势极为显著。

潜在缺点与局限性

首先,eval 使用存在安全隐患,脚本第139行使用 eval 执行解析后的变量赋值,虽数据经过 grep/sed 处理,但源头来自外部HTTP请求,理论上存在注入风险。其次,网络依赖单一,数据完全依赖中国天气网可用性,若网站改版或无法访问则功能失效(文档提供了 web_fetch、Open-Meteo、wttr.in 等备用方案)。第三,城市覆盖需手动维护,预置50+城市虽覆盖主要一二线城市,但三四线城市需用户自行查询城市代码添加。最后,数据精度有限,生活指数为通用建议,无法提供逐小时预报或极端天气预警。

适合的目标群体

  • 命令行重度用户和开发者,追求极致效率
  • 需要高频天气查询且关注成本的个人或团队
  • 自动化脚本和定时任务场景(如每日天气推送)
  • 对数据隐私敏感、不愿将位置信息提交给第三方API的用户
  • 中文环境下的终端工具爱好者

使用风险

安全风险:eval 的使用是主要隐患,建议关注后续版本是否修复。性能风险:curl 超时设置为10秒,网络波动时可能延迟。维护风险:T3社区来源,依赖个人开发者维护,长期更新存在不确定性。兼容性风险:HTML解析依赖中国天气网页面结构,网站改版可能导致解析失败。建议生产环境关键应用准备备用方案。

安全解读

核心用法

weather-cn.sh 是一款专为中文用户设计的轻量天气查询工具,采用纯 Bash 脚本方案直接访问中国天气网(www.weather.com.cn),完全绕过传统大模型解析流程。使用方式极为简单:./weather-cn.sh 城市名,例如 ./weather-cn.sh 成都 即可获取格式化天气信息。

工具输出包含今日天气状况、温度范围,以及感冒、运动、穿衣、洗车、紫外线等生活指数建议,采用彩色终端格式化呈现。

显著优点

1. 零Token消耗:每次查询完全不调用大模型,相比 web_fetch + 大模型方案节省约4000 Token/次
2. 极速响应:纯本地脚本处理,响应时间 <1秒,无网络延迟累积

3. 极致稳定:仅依赖中国天气网官方数据源,无第三方API可用性风险

4. 原生中文:直接解析中国天气网HTML,无需翻译或格式转换

5. 零依赖风险:仅使用系统内置工具(curl/grep/sed),无供应链攻击面

6. 安全认证S+级:通过完整安全审计,代码无危险函数、无敏感信息泄露

潜在局限

1. 城市覆盖有限:预置50+主要城市,冷门城市需手动添加城市代码
2. 数据延迟:中国天气网更新频率固定,非实时秒级同步

3. 网络依赖:需能访问 www.weather.com.cn,部分网络环境可能受限

4. 功能边界:无逐小时预报、无雷达图、无历史天气查询

5. 生活指数通用性:建议为大众化参考,非个性化健康指导

适合人群

  • 高频天气查询用户(每日多次查询场景)
  • Token成本敏感的企业/个人开发者
  • 需要稳定可靠、无AI幻觉干扰的天气数据源
  • 自动化脚本/定时任务集成场景
  • 对隐私要求极高、不希望天气查询数据经过第三方模型的用户

常规风险

1. 数据源可用性:中国天气网服务中断将导致功能失效(文档提供Open-Meteo、wttr.in备用方案)
2. HTML解析脆弱性:网站改版可能破坏grep/sed解析规则,需关注维护更新

3. 输入验证:虽已实现基础防护,建议避免传入异常长或含特殊字符的城市名

weather-zh 内容

手动下载zip · 6.2 kB
README.mdtext/markdown
请选择文件