Skip to content

chtcrack/rust-rss-reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Rust RSS阅读器 for Windows 10

一个完全用AI写的轻量级、高性能的RSS阅读器,具有现代化的用户界面和流畅的用户体验。 我本人没学过RUST.

功能特性

📚 核心功能

  • RSS源管理:添加、编辑、删除、分组管理订阅源
  • 文章阅读:三栏布局,支持文章列表和内容渲染
  • 自动更新:可配置的自动更新间隔,支持后台静默更新,显示更新倒计时
  • 搜索功能:支持全文搜索,两种搜索模式(直接搜索和索引搜索)
  • 通知系统:新文章桌面通知,支持查看按钮
  • AI集成:支持与AI聊天,可将文章标题内容发送给AI进行分析;支持AI自动翻译功能,可自动检测文章语言并翻译为中文
  • 系统托盘:支持最小化到系统托盘,方便后台运行
  • 导入导出:支持OPML格式的订阅源导入导出
  • 批量操作:支持全部标记已读、全部删除等操作

🎨 界面与体验

  • 现代化UI:采用egui框架,提供流畅的交互体验
  • 主题切换:支持亮色/暗色主题,可跟随系统主题
  • 字体调整:支持自定义字体大小
  • 过滤排序:支持按未读、收藏状态过滤,按日期或标题排序
  • 文章标记:支持已读/未读标记,收藏功能
  • 批量操作:支持全部标记已读、全部删除等操作
  • 分页功能:支持文章分页显示,可配置每页数量
  • 底部状态栏:显示自动更新倒计时、状态信息等
  • AI聊天界面:支持AI对话窗口封装和直接打开按钮
  • 分组编辑:支持订阅源分组编辑功能
  • WebView集成:支持使用WebView打开文章链接

⚡ 性能优化

  • 异步设计:基于Tokio运行时,支持异步操作
  • 高效渲染:优化的文章内容渲染,支持HTML解析
  • 内存管理:高效的内存使用,支持大量订阅源
  • 搜索优化:支持索引搜索,提高搜索速度

技术栈

  • 编程语言:Rust
  • GUI框架:egui
  • 异步运行时:Tokio
  • 数据库:SQLite
  • RSS解析:rss crate
  • HTTP客户端:reqwest
  • 系统托盘:tray-item
  • WebView:web-view
  • OPML处理:opml crate
  • HTML解析:内置HTML解析功能
  • AI集成:自定义AI客户端

安装方法

从源码构建

  1. 确保已安装Rust环境(推荐使用rustup)
  2. 克隆仓库:
    git clone https://github.com/chtcrack/rust-rss-reader
    cd rust-rss-reader
  3. 构建项目:
    cargo build --release
  4. 运行程序:
    cargo run --release

直接运行

  1. 从发布页面下载最新的可执行文件
  2. 解压后直接运行 rust_rss_reader.exe

使用说明

添加订阅源

  1. 点击左侧面板底部的"添加订阅源"按钮
  2. 输入RSS源的URL和标题
  3. 选择分组(可选)
  4. 配置自动更新和通知选项
  5. 点击"添加"按钮

阅读文章

  1. 在左侧面板选择订阅源
  2. 在中间面板浏览文章列表
  3. 点击文章标题查看内容
  4. 使用工具栏标记已读/未读或收藏文章

搜索文章

  1. 在顶部搜索框输入关键词
  2. 支持实时搜索,自动防抖
  3. 可选择在特定订阅源内搜索
  4. 搜索结果按发布日期排序

配置自动更新

  1. 点击菜单中的"设置"选项
  2. 配置自动更新间隔(分钟)
  3. 选择是否启用自动更新
  4. 保存设置

与AI聊天

  1. 选择一篇或多篇文章
  2. 点击"和AI聊天"按钮
  3. 在AI聊天窗口中输入问题
  4. 等待AI响应
  5. 可配置AI API参数

AI自动翻译

  1. 在添加或编辑订阅源时,勾选"AI自动翻译"选项
  2. 系统会自动检测文章语言
  3. 如果文章不是中文,系统会自动将文章标题和内容翻译为中文
  4. 翻译后的文章会保存在数据库中,供后续阅读
  5. 支持在订阅源管理中批量开启或关闭AI自动翻译功能

导入导出订阅源

  1. 点击菜单中的"导入OPML"或"导出OPML"选项
  2. 选择文件路径
  3. 完成导入或导出操作

配置说明

程序首次运行时会在用户目录下创建配置文件,配置项包括:

  • 主题设置:亮色/暗色/跟随系统
  • 字体大小:可调整的字体大小
  • 自动更新间隔:默认30分钟
  • 系统托盘:是否显示系统托盘图标
  • 通知设置:是否启用新文章通知
  • AI API配置:API URL、API Key、模型名称
  • AI自动翻译:可在添加/编辑订阅源时单独配置
  • 搜索模式:直接搜索或索引搜索

项目结构

src/
├── main.rs            # 程序入口点
├── app.rs             # 应用程序主逻辑
├── models.rs          # 数据模型定义
├── feed_manager.rs    # 订阅源管理
├── rss.rs             # RSS获取和解析
├── storage.rs         # 数据存储
├── search.rs          # 搜索功能
├── notification.rs    # 通知管理
├── ai_client.rs       # AI客户端
├── tray.rs            # 系统托盘
├── config.rs          # 配置管理
├── utils.rs           # 工具函数
├── article_processor.rs  # 文章处理
├── cache_manager.rs       # 缓存管理
└── test_db_init.rs        # 测试数据库初始化

开发说明

运行测试

cargo test

运行调试版本

cargo run

代码风格

项目使用rustfmt进行代码格式化,使用clippy进行代码检查:

cargo fmt
cargo clippy

许可证

没版权,随便改随便用!

贡献

欢迎提交Issue和Pull Request!

问题反馈

如果您遇到任何问题或有建议,请在GitHub Issues中提交。

联系方式

项目地址:https://github.com/chtcrack/rust-rss-reader


Rust RSS阅读器 - 轻量级、高性能的RSS阅读解决方案

About

Rust Rss Reader Code By AI

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages