跳到正文
发现
weathr:终端 ASCII 动画天气应用
命令行工具生活服务

weathr:终端 ASCII 动画天气应用

一款 Rust 编写的终端天气应用,把实时天气变成雨雪雷电的 ASCII 动画,适合喜欢命令行的用户。

admin
发布于 2026-10-28
浏览
4
访问
0
下载
0
版本
v1.4.0
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

weathr 是一个运行在终端里的天气应用,最大特色是用 ASCII 动画表现天气:下雨、下雪、雷暴、飞过的飞机、昼夜循环等画面都由实时天气数据驱动。天气数据来自 Open-Meteo,支持按 IP 自动定位,也支持手动填写经纬度。

效果演示

雷暴夜晚:

下雪:

夜晚:

主要功能

  • 基于 Open-Meteo 的实时天气数据,配上对应的终端 ASCII 动画
  • 支持多种天气状况:晴、少云、多云、阴、雾、毛毛雨、雨、冻雨、阵雨、雪、雪粒、阵雪、雷暴、雷暴冰雹
  • 昼夜循环、下雨、下雪、雷暴等动画效果
  • 通过 IP 自动定位,也可手动指定坐标
  • 城市名反查(Nominatim/OpenStreetMap),支持仅显示坐标、仅显示城市名、混合三种模式
  • 温度、风速、降水单位可切换(摄氏/华氏、km/h、m/s、mph、kn、mm/inch)
  • 可隐藏 HUD(天气详情面板)与位置信息,支持静默启动
  • 尊重 NO_COLOR 环境变量,可关闭彩色输出

安装与使用

快速安装(macOS、Linux、FreeBSD)

curl -fsSL https://raw.githubusercontent.com/Veirt/weathr/main/install.sh | sh

通过 Cargo

cargo install weathr

从源码构建

需要先安装 Rust。

git clone https://github.com/veirt/weathr.git
cd weathr
cargo install --path .

其他安装方式

# Homebrew (macOS)
brew install Veirt/veirt/weathr

# MacPorts (macOS)
sudo port install weathr

# Arch Linux (AUR)
yay -S weathr

# Windows (Winget)
winget install -i Veirt.weathr

Docker 运行(需要交互模式,TUI 才能访问终端):

docker run --rm -it ghcr.io/veirt/weathr:latest

运行

weathr

常用命令行参数:

weathr --imperial          # 英制单位(°F、mph、inch)
weathr --metric            # 公制单位(°C、km/h、mm),默认
weathr --auto-location     # 通过 IP 自动定位
weathr --hide-location     # 隐藏位置坐标
weathr --hide-hud          # 隐藏状态 HUD
weathr --silent            # 静默运行
weathr --simulate rain     # 模拟下雨效果
weathr --simulate snow --night   # 模拟夜间下雪

键盘操作:q 或 Q 退出,Ctrl+C 也可退出。

配置文件

配置文件路径:

  • Linux:~/.config/weathr/config.toml(或 $XDG_CONFIG_HOME/weathr/config.toml)
  • macOS:~/Library/Application Support/weathr/config.toml
  • Windows:~/AppData/Roaming/weathr/config.toml
hide_hud = false
silent = false

[location]
latitude = 52.5200
longitude = 13.4050
auto = false
hide = false
display = "mixed"   # "coordinates" | "city" | "mixed"

[units]
temperature = "celsius"     # "celsius" | "fahrenheit"
wind_speed = "kmh"          # "kmh" | "ms" | "mph" | "kn"
precipitation = "mm"        # "mm" | "inch"

注意事项

  • 开启自动定位(配置 auto = true 或 --auto-location)时,程序会请求 ipinfo.io 根据 IP 推断大致位置;如需避免外部请求,可关闭自动定位并手动填写坐标。
  • 城市名解析依赖 Nominatim/OpenStreetMap,无法解析时(如公海区域)会回退显示坐标。
  • 项目以 GPL-3.0-or-later 许可发布。

本作品整理自 GitHub 开源项目 Veirt/weathr,原作者 @Veirt,许可证 GPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v1.4.0当前版本

    同步自 GitHub Release v1.4.0

评论