一个基于 PySide6 / PyQt-Fluent-Widgets 的 Windows 桌面应用。首页采用「纵向卡片列表」组件面板:卡片永不重叠、可上下移动排序、自由调整大小,并自动保存布局;配合模块页、设置页、关于页与全局托盘的 Fluent 风格界面。
English: README.en.md
- 主页组件面板:纵向卡片列表
- 卡片永不重叠,标题栏提供
上移/下移/移除 - 组件宽高无级拖拽调整,顺序与尺寸自动保存,重启后保持
- 添加组件、恢复默认顺序、清空布局
- 手动调整大小与自动布局,重启后保持
- 卡片永不重叠,标题栏提供
- 系统信息模块:CPU / 内存 / 磁盘等
- 路径直达模块:快速打开常用路径
- RSS 聚合模块
- 订阅源抓取、阅读、通知与自动刷新
- 多标签分类,标签筛选下拉
- 聚合(分组):分组头来源徽标展开/折叠、一键勾选全选、批量操作(已读/未读/删除)
- 条目列表轻量化(不展示图片),预览区顶部显示摘要(标题/标签/更新时间/描述)
- Fluent 风格界面:浅色 / 深色 / 跟随系统主题切换、壁纸背景与毛玻璃效果
- 主窗口首启按屏幕自适应尺寸与位置,关闭时最小化到托盘、开机自启、全局快捷键
- Windows
- Python 3.11+(64 位)
:: 在项目根目录创建虚拟环境
python -m venv .venv
:: 激活虚拟环境
.venv\Scripts\activate
:: 安装依赖
pip install -r requirements.txtrun.bat或:
.venv\Scripts\python main.py首次运行会自动创建 data/ 目录(含 settings.json、app.db、logs/ 等运行时数据)。
.venv\Scripts\python -m pytest也可运行冒烟测试:
.venv\Scripts\python smoke_test.py使用 PyInstaller(onedir 模式):
build.bat推荐使用标准 python.org 的 CPython(64 位)创建虚拟环境,即
python -m venv .venv后执行pip install -r requirements.txt。requirements.txt中全部是标准 pip 包,不依赖 anaconda, 在任何干净的标准 CPython 环境都能正常安装与构建。
yzplan.spec 会自动适配两种环境,无需手动设置任何环境变量:
- 标准 CPython venv:PyInstaller 自动收集所有编译扩展模块与原生 DLL,直接构建即可。
- conda / anaconda venv:spec 会自动探测 conda base,把标准库扩展模块(
_ctypes.pyd等) 和Library\bin下的sqlite3.dll、libssl/libcrypto等 DLL 一并打包,避免冻结后的 程序报DLL load failed while importing _ctypes。
如自动探测偶有误判,可用 YZPLAN_CONDA_ROOT 环境变量手动指定 conda 根目录:
set YZPLAN_CONDA_ROOT=C:\path\to\your\anaconda3
build.bat.
├─ main.py # 程序入口
├─ core/ # 核心:配置、主题、托盘、单实例、日志等
├─ ui/ # 界面:主窗口、各选项卡
├─ modules/ # 功能模块
├─ tests/ # 单元测试
├─ data/ # 运行时数据(不入库)
├─ requirements.txt # 依赖清单
├─ yzplan.spec # PyInstaller 打包配置
└─ build.bat / run.bat
data/、.venv/、build/、dist/等均为本地生成内容,已通过.gitignore排除,不会提交到仓库。- 个人配置(如壁纸路径)、RSS 数据均位于
data/中,不随仓库同步。
GPL-3.0,详见 LICENSE。