Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions plugins/ztools-weather/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# 测试生成物(由 tools/build-harness.py 重新生成)
tests/ui-harness.html
# 打包产物
*.zpx
# 系统垃圾
.DS_Store
Thumbs.db
13 changes: 13 additions & 0 deletions plugins/ztools-weather/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## 1.0.0 - 2026-09-27
- 多城市管理:城市条一键切换,每个城市带 `×` 直接删除
- 模糊搜索:支持中文、全拼(`chengdu`)、首字母(`cd`)、省份检索,
输入即出候选下拉框,方向键选择、回车添加
- 内置全国 338 城拼音索引(`cities-pinyin.json`),搜索过程离线可用
- 实时天气:温度、体感、天气状况、湿度、风速、紫外线
- 24 小时逐时预报:温度曲线 + 逐时明细
- 7 天趋势:天气图标、最高/最低温、降水概率
- 空气质量:AQI 数值与等级、六项污染物浓度
- 深浅色主题自适应,跟随 ZTools 主题切换
- 一键复制当前天气为文本
- 设置面板:温度单位、风速单位、自动刷新间隔

73 changes: 73 additions & 0 deletions plugins/ztools-weather/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# 天气助手

多城市实时天气、24 小时逐时预报、7 天趋势与空气质量,**无需注册、无需 API Key**。

数据来自 [Open-Meteo](https://open-meteo.com/) 开放接口,城市检索走内置的全国 338 城拼音索引,搜索过程完全离线。

---

## 功能

- **多城市管理** — 顶部城市条一键切换,每个城市带 `×` 直接删除
- **模糊搜索** — 支持中文、全拼(`chengdu`)、首字母(`cd`)、省份,输入即出候选,方向键选择
- **实时天气** — 温度、体感、天气状况、湿度、风速、紫外线
- **24 小时逐时** — 温度曲线图 + 逐时明细
- **7 天趋势** — 每天的天气图标、最高/最低温、降水概率
- **空气质量** — AQI 数值、等级、六项污染物浓度
- **深浅色自适应** — 跟随 ZTools 主题切换
- **一键复制** — 把当前天气复制成文本

## 使用

在 ZTools 主搜索框输入以下任一关键词:

| 关键词 | 说明 |
| --- | --- |
| `天气` / `weather` | 打开天气面板 |
| `天气助手` / `天气预报` | 同上 |
| `气温` / `下雨` | 同上 |
| 任意城市名 | 直接搜索并切换到该城市 |

面板内搜索框支持:

- 中文:`成都`
- 全拼:`chengdu`
- 首字母:`cd`
- 省份:`四川`

## 设置

点击右上角 ⚙ 可调整温度单位(°C / °F)、风速单位(km/h / m/s / mph)、自动刷新间隔(关闭 / 5 / 10 / 30 / 60 分钟)。

数据缓存 5 分钟,手动点「⟳ 刷新」可强制重新拉取。

## 隐私

- 城市列表与天气缓存**只保存在本机**,不上传任何信息
- 不收集、不统计、不需要账号
- 唯一的网络请求是向 `api.open-meteo.com` 与 `air-quality-api.open-meteo.com` 查询天气数据(如果你在设置里手动指定过本地代理,则经该代理转发)

## 环境要求

ZTools 桌面端(Windows / macOS / Linux),无需 Node.js、无需 Python。

## 常见问题

**搜不到某个城市?**
内置索引收录全国 338 个地级及以上城市,输入中文名或拼音即可。极小众的县级市可尝试用 Open-Meteo 的远端检索补充,或先用地图软件确认准确名称。

**网络请求失败?**
插件默认直连,若你的网络需要代理,可在 `~/.ztools` 下确认 Open-Meteo 可访问。直连失败时会自动尝试本机常见代理端口。

**数据多久更新一次?**
天气数据 5 分钟缓存;空气质量数据 1 小时更新一次(Open-Meteo 的更新频率限制)。

## 致谢

- 天气与空气质量数据:[Open-Meteo](https://open-meteo.com/)(CC BY 4.0,免费开放 API)
- 城市经纬度数据:[88250/city-geo](https://github.com/88250/city-geo)
- 拼音转换:[pypinyin](https://github.com/mozillazg/python-pinyin)

## 许可

MIT
Loading
Loading