English | 简体中文
A simple and beautiful weather app built with Flutter, powered by the OpenMeteo API, Qweather API and the search functionality is provided by the OpenStreetMap API.
The backend is powered by the open-source Zeus, which aggregates service provider APIs and provides intelligent data caching, classification, and data transformation capabilities to deliver Zephyr services.
Note
This project is only for learning and communication use, please do not use for commercial purposes. All API interfaces have usage limits; please refrain from excessive or abusive use.
- Real-time weather lookup: Supports retrieving weather information for multiple cities
- Custom LLM integration: Allows users to configure their own LLM and use it to obtain weather recommendations
- Customizable weather sources: Offers users the choice between OpenMeteo API and Qweather API
- Customizable home screen layout: Users can freely show/hide components or adjust their positions
- City Management: Add, remove, or set cities as default
- 7-Day Forecast: Future weather trends at a glance
- 24-Hour Weather: Check hourly temperatures and precipitation
- Weather alerts: Real-time warnings with notifications
- Background auto-refresh: Cached data with automatic updates
- Diverse weather icons and animated backgrounds
- Theme settings: Monet color palette support
- Temperature unit switching (℃/℉)
- Multilingual localization (l10n): Simplified Chinese, Traditional Chinese, English, German, Spanish, French, Italian
Visit the Wiki to see the features Zephyr is currently working to support.
- Tap the search button in the top right corner to search for a city. Select a city to return to the main screen and save it to city list, or tap the location button to get weather data of your local city
- Manage saved cities in the settings page: set default or delete
- Switch theme, language, and temperature unit in settings
- Customize the main page layout in the settings page.
We welcome community users to contribute! Feel free to fork this repository, submit Pull Requests, and make suggestions and report bugs through Issues.
- The language files are located in the /lib/l10n directory.
- You need to make a copy of
app_en.arband change the name of the file to the language you want to translate, e.g.app_fr.arb. - Complete the translation of the language file
- (Mandatory) run
flutter gen-l10nin the project root directory in a terminal and check if there are any untranslated fields in the terminal output (if there are then checkuntranslated.jsonand change it) - (Mandatory) add language in lib/core/languages.dart in the format
- Push your code and commit Pull Request
Zephyr Release
Zephyr Action(Experiment)
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
MIT License © Lance Huang







