tuebingen-weather

🌤️ 德国图宾根每日气象自动播报

基于 Open-Meteo API 的图宾根天气查询工具,零依赖设计支持本地存储与定时推送,为德国留学生和居民提供精准的每日气象服务。

收藏
3.2k
安装
1.5k
版本
v1.0.0
CLS 安全性认证2026-05-19
点击查看完整报告 >

使用说明

核心用法

Tübingen Weather 是一款专为德国图宾根地区设计的天气查询与自动化报告工具。该技能通过调用 Open-Meteo 公开 API 获取实时气象数据,支持两种使用模式:手动即时查询与定时自动化推送。用户可通过命令行直接运行 Python 脚本获取当前天气状况、当日最高/最低气温及降雨概率,并选择将结果保存至本地文本文件。更为实用的是,该技能支持通过 openclaw cron 设置每日 08:00(欧洲/柏林时区)自动执行,将天气摘要发送至用户指定的 Telegram 频道或保存至 data/weather/ 目录,形成完整的本地天气档案。

显著优点

该技能最突出的优势在于其零依赖架构与极简设计。脚本仅依赖 Python 标准库(urllib、json、argparse、pathlib),无需 pip 安装任何第三方包,从根本上杜绝了供应链攻击风险。Open-Meteo API 无需注册或 API Key,降低了使用门槛。代码层面实现了完善的输入验证与错误处理,文件操作使用 pathlib 确保路径安全,网络请求设置 15 秒超时避免阻塞。此外,德语天气代码映射(WEATHER_CODES)和自动夏令时调整体现了本地化细节,输出格式紧凑适合移动端阅读。

潜在局限

目前该技能存在地理局限性,脚本硬编码了图宾根的经纬度坐标,如需查询其他地区必须修改源码。API 依赖方面,虽然 Open-Meteo 稳定可靠,但仍需外网访问权限,完全离线环境无法使用。功能上仅提供基础气象要素(温度、天气状况、降雨概率),缺少风速、紫外线指数、逐小时预报等进阶数据。自动化配置需要用户对 cron 表达式有一定了解,且当前异常处理使用了过于宽泛的 Exception 捕获,可能掩盖特定类型的错误。

适用人群

该技能特别适合居住在德国图宾根的学生、研究人员及本地居民,尤其是需要每日通勤前快速了解天气状况的用户。对于希望建立个人天气档案、进行长期气候观察的数据记录者,本地文件存储功能极具价值。由于支持 Telegram 推送,也适合习惯通过即时通讯接收日常提醒的数字化生活爱好者。技术层面,Python 开发者可将此作为标准库网络请求的轻量级示例。

使用风险

常规风险主要包括网络连接稳定性,若 Open-Meteo 服务暂时不可用或本地网络受限,脚本将返回错误并退出。文件存储方面,虽然脚本使用安全的目录创建逻辑,但用户需确保指定路径的磁盘空间充足且具备写入权限。作为 T3 来源的社区项目,建议用户定期查看上游仓库更新,以获取安全补丁或功能改进。定时任务配置时需注意 sessionTarget 的安全隔离设置,避免在共享环境中泄露敏感路径信息。

安全解读

核心用法

Tübingen Weather 是一个极简主义的地域性天气自动化工具,专为德国图宾根(Tübingen)地区设计。其核心架构由单文件 Python 脚本构成,通过 urllibjson 标准库直接调用 Open-Meteo 公开 API,无需注册、无需 API Key、无需任何第三方依赖。

用户可通过两种方式获取天气:
1. 手动即时查询:执行 CLI 脚本,输出包含当前状况、今日最高/最低气温、降水概率的德语文本摘要,可选保存至 data/weather/YYYY-MM-DD_tuebingen.txt

2. 全自动推送:配置 Cron 定时任务(默认 08:00 欧洲中部时间),自动抓取数据后通过 Telegram 推送摘要,同时本地归档。

脚本内置德语天气代码映射(WEATHER_CODES),自动处理夏令时转换,输出格式紧凑适合移动端阅读。

显著优点

  • 零依赖架构:纯 Python 标准库实现,消除供应链攻击面,部署即运行;
  • 隐私零侵入:不采集用户位置、设备信息或身份标识,仅请求公开经纬度天气数据;
  • 透明可信:代码仅 78 行,逻辑清晰可审计;维护者 GitHub 账号创建于 2011 年,历史可查;
  • 自动化友好:原生支持 OpenClaw Cron 语法,五分钟即可完成定时任务配置;
  • 地域精准:针对图宾根坐标硬编码,避免通用天气服务的定位模糊问题。

潜在局限

  • 地域锁定:仅服务图宾根地区(48.52°N, 9.05°E),其他地区需修改源码;
  • 功能极简:不包含逐小时预报、雷达图、空气质量、UV 指数等扩展数据;
  • 错误处理粗放:网络异常采用泛化 except Exception 捕获,调试信息有限;
  • 无持久化缓存:每次调用均实时请求 API,极端情况下可能触发频率限制;
  • 文件写入风险--output 参数虽使用 pathlib 处理,但路径完全由用户控制,存在理论上的路径遍历可能(已评为 low 风险)。

适合人群

  • 居住在图宾根、追求极简数字生活的个人用户;
  • 希望搭建零依赖家庭自动化系统的技术爱好者;
  • 对第三方 SDK 和云服务持谨慎态度的隐私敏感型用户;
  • 需要德德语本地化天气摘要的 Telegram 频道运营者。

常规风险

  • API 可用性依赖:Open-Meteo 为免费公益服务,无 SLA 保障,极端情况下可能服务中断;
  • 本地文件管理:长期运行将累积每日天气文本文件,需自行配置清理策略;
  • 时区配置偏差:Cron 表达式依赖正确设置 Europe/Berlin,容器或云服务器时区错误将导致推送时间错位;
  • Telegram Bot 令牌安全:虽本 Skill 不处理 Token,但用户配置推送时需自行保管 Bot 密钥。

tuebingen-weather 内容

scripts文件夹
手动下载zip · 2.9 kB
fetch_tuebingen_weather.pytext/plain
请选择文件