# 阅狐 **Repository Path**: deepin20/yuehu ## Basic Information - **Project Name**: 阅狐 - **Description**: 阅狐是一款轻量、高效的 RSS 阅读器,采用PySide6构建,支持订阅管理、文章阅读、搜索、主题切换、定时刷新等核心功能。界面简洁,操作流畅,适合希望集中管理信息流的用户。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-19 - **Last Updated**: 2026-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📖 阅狐 RSS Reader **阅狐** 是一款轻量、高效的 RSS 阅读器,采用 **PySide6** 构建,支持订阅管理、文章阅读、搜索、主题切换、定时刷新等核心功能。界面简洁,操作流畅,适合希望集中管理信息流的用户。 ![阅狐界面预览](https://via.placeholder.com/800x500?text=阅狐+RSS+Reader) --- ## ✨ 功能特性 - **订阅管理** - 添加/删除订阅源(名称 + URL) - 手动刷新单个或全部订阅 - 自动定时刷新(可配置间隔,默认 30 分钟) - 导入/导出 OPML 格式订阅列表 - **文章阅读** - 按订阅源分组显示文章列表(标题、发布时间、已读/未读状态) - 只看未读过滤器 - 键盘上下键切换文章,自动标记已读 - 内容查看器支持纯文本显示,并提供外部浏览器打开链接 - **全局搜索** - 按标题、内容、摘要关键词搜索 - 搜索结果可双击跳转到原文 - **个性化** - 深色/浅色/自动主题切换 - 窗口尺寸与三栏布局自动保存 - 自定义字体大小(配置文件) - **快捷键支持** - `Ctrl+R`:刷新全部 - `Ctrl+N`:添加订阅 - `Ctrl+F`:搜索 - `Ctrl+O`:导入 OPML - `Ctrl+Shift+O`:导出 OPML - **数据持久化** - SQLite 数据库存储订阅和文章 - JSON 配置文件保存用户偏好设置 --- ## 🚀 安装与运行 ### 系统要求 - Python 3.8 或更高版本 - Linux(Deepin/Ubuntu/Debian 推荐)、Windows、macOS(经测试支持) ### 快速启动(推荐) ```bash # 克隆或下载项目 cd yuehu # 赋予启动脚本执行权限 chmod +x run.sh # 运行(自动创建虚拟环境并安装依赖) ./run.sh ``` 首次运行会自动创建虚拟环境 `.venv`,并安装所有 Python 依赖(包括 PySide6),请确保网络畅通。之后启动将直接使用虚拟环境,速度更快。 ### 手动安装(如自动脚本失败) ```bash # 创建虚拟环境 python3 -m venv .venv source .venv/bin/activate # 安装依赖 pip install -r requirements.txt # 启动 python -m src.main ``` ### 系统依赖(Linux) 若遇到 `libxcb` 相关错误,请安装: ```bash sudo apt install libxcb-xinerama0 libxcb-cursor0 libxcb-icccm4 \ libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \ libxcb-shape0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xkb1 ``` --- ## 📁 项目结构 ``` yuehu/ ├── src/ │ ├── main.py # 程序入口 │ ├── config.py # 配置管理 │ ├── database/ # 数据库操作 │ │ ├── db_manager.py │ │ └── models.py │ ├── rss/ # RSS 抓取与解析 │ │ ├── fetcher.py │ │ ├── parser.py │ │ ├── updater.py │ │ └── opml.py │ ├── ui/ # 界面(基于 PySide6) │ │ ├── main_window.py │ │ ├── widgets/ # 三栏控件 │ │ │ ├── subscription_list.py │ │ │ ├── article_list.py │ │ │ └── content_viewer.py │ │ └── dialogs/ # 对话框 │ └── utils/ # 辅助工具 ├── data/ # 数据存储目录 │ ├── yuehu.db # SQLite 数据库 │ └── config.json # 配置文件 ├── requirements.txt # Python 依赖 ├── run.sh # 启动脚本 ├── README.md # 本文件 └── LICENSE # 许可证 ``` --- ## ⚙️ 配置说明 配置文件 `data/config.json` 在首次启动时自动生成,可手动编辑以下参数: ```json { "theme": "auto", // "light", "dark", "auto" "refresh_interval": 30, // 自动刷新间隔(分钟) "startup_refresh": true, // 启动时自动刷新 "window_width": 1280, "window_height": 800, "left_pane_width": 280, "middle_pane_width": 380, "font_size": 12, "db_path": "data/yuehu.db" } ``` --- ## 🎨 应用图标 ![阅狐图标](https://via.placeholder.com/128x128?text=阅狐) > 设计灵感:狐狸脸与 RSS 信号波弧融合,暖橙色渐变传递阅读的温暖。 --- ## 🤝 贡献指南 欢迎提交 Issue 或 Pull Request。在开发前请确保代码风格符合 [PEP 8](https://peps.python.org/pep-0008/),并更新相应的文档。 --- ## 📄 许可证 本项目采用 **MIT 许可证**,详情请见 [LICENSE](LICENSE) 文件。 --- ## 🙏 致谢 - [PySide6](https://wiki.qt.io/PySide) – 出色的 Qt 绑定 - [feedparser](https://pythonhosted.org/feedparser/) – RSS/Atom 解析库 - [requests](https://requests.readthedocs.io/) – 网络请求 - 所有开源社区贡献者 --- **阅狐** —— 做一只睿智的阅读狐 🦊 [项目主页](https://github.com/yourusername/yuehu) | [问题反馈](https://github.com/yourusername/yuehu/issues)