一款简洁、原生、注重隐私的 Windows 天气应用。
Windows 10 1809+ · WinUI 3 · .NET 10 · 版本 0.0.1
隐私声明 · 第三方许可 · MIT License · 问题反馈
晴空天气(ClearSky Weather)是使用 WinUI 3 构建的原生 Windows 桌面天气应用。它提供当前天气、逐小时预报、七日预报、空气质量和天气预警,并支持多城市、设备定位、离线缓存和自定义背景。
应用默认使用 Open-Meteo,无需注册账号或配置 API Key;也可以切换到和风天气,以使用其天气数据和预警能力。
Note
项目目前处于早期预览阶段。界面、配置格式和数据模型仍可能在后续版本中调整。
- 当前天气、体感温度、湿度、风力、降水、气压和能见度
- 24 小时逐小时预报和 7 天预报
- 实时空气质量、主要污染物和健康建议
- 天气预警详情及 Windows 通知(取决于所选数据服务)
- 城市搜索、已保存城市和城市实时天气
- 通过 Windows 位置权限使用设备当前位置
- 根据天气自动切换背景,也可以选择并裁切自定义图片
- 摄氏度与华氏度切换
- 跟随系统、浅色和深色主题
- 简体中文、English 和跟随系统语言
- SQLite 本地缓存;网络不可用时优先展示已有数据
- 窄窗口、高 DPI 和 Windows 文字缩放适配
Microsoft Store 版本尚未公开发布。目前请从源码构建应用。
- Windows 10 版本 1809(Build 17763)或更高版本,推荐 Windows 11
- .NET SDK 10.0.100 或兼容的更新功能版本
- Visual Studio,并安装 WinUI/Windows 应用开发工作负载;也可以使用命令行完成还原、构建和测试
- 调试和旁加载时建议开启 Windows 开发者模式
git clone https://github.com/miraged3/ClearSkyWeather.git
cd ClearSkyWeather
dotnet restore ClearSky.Weather.sln
dotnet build ClearSky.Weather.sln -c Debug -p:Platform=x64
dotnet test tests/ClearSky.Weather.Tests/ClearSky.Weather.Tests.csproj -c Debug使用 Visual Studio 打开 ClearSky.Weather.sln,选择 x64 或 ARM64 后即可启动调试。
dotnet build src/ClearSky.Weather/ClearSky.Weather.csproj `
-c Release `
-p:Platform=x64 `
-p:GenerateAppxPackageOnBuild=true生成的测试包位于 src/ClearSky.Weather/AppPackages/。仓库默认不包含发布证书,正式分发前需要使用自己的签名配置。
Open-Meteo 无需 API Key,开箱即用,提供城市搜索、当前天气、逐小时预报、每日预报和空气质量。
Open-Meteo 公共接口的许可、署名和调用限制以其官方条款为准。商业分发前请确认所使用端点和套餐满足你的使用场景。
在应用的“设置 → 数据服务”中选择和风天气,并填写账户专属 API Host 和 API Key。API Key 保存在 Windows 凭据保险箱中,不会写入 appsettings.json。
应用仅在用户主动选择“使用当前位置”后请求 Windows 位置权限,不会持续跟踪设备。坐标会发送给天气服务,并通过 BigDataCloud 解析为可读地名。详细的数据处理方式见隐私声明。
ClearSky.Weather.sln
├─ src/
│ ├─ ClearSky.Weather/ WinUI 3 界面、ViewModel、Windows 服务与 MSIX
│ ├─ ClearSky.Weather.Core/ 领域模型、格式化逻辑和供应商抽象
│ └─ ClearSky.Weather.Infrastructure/ 数据服务适配器、地理编码和 SQLite 持久化
├─ tests/
│ └─ ClearSky.Weather.Tests/ 单元测试与适配器契约测试
├─ docs/ 隐私、第三方声明和技术文档
└─ eng/ 品牌素材生成工具
核心层不依赖具体天气供应商。Open-Meteo、和风天气、缓存和地理编码均通过接口接入,界面只使用统一的天气模型。
- 启用 Nullable 引用类型和 .NET 推荐代码分析规则
- 编译警告视为错误
- 新功能或缺陷修复应包含相应测试
- UI 文案需要同步更新
zh-CN和en-US资源 - 不得在源码、日志、测试数据或 Issue 中提交 API Key、精确位置等敏感信息
欢迎提交 Issue 和 Pull Request。
- 在 Issue 中说明问题、使用场景或改动建议。
- Fork 仓库并从
main创建功能分支。 - 完成修改并运行构建与测试。
- 提交 Pull Request,说明改动内容、验证方式以及涉及的界面变化。
报告问题时,请提供 Windows 版本、应用版本和复现步骤;请勿公开上传 API Key、凭据或精确位置。
- Open-Meteo:天气、城市搜索和空气质量数据
- QWeather / 和风天气:可选天气服务和预警数据
- BigDataCloud:反向地理编码
- Meteocons:天气图标与动画素材
完整版权及许可信息见第三方许可与声明。天气和预警信息仅供参考;涉及人身与财产安全时,请以当地官方机构发布的信息为准。
本项目采用 MIT License 开源。
第三方组件、天气图标和动画素材不因本项目采用 MIT License 而改变其原有许可,具体信息见第三方许可与声明。