V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
chtcrack
V2EX  ›  程序员

开源一个用 AI 写的玩具,用 RUST 语言写的 RSS 阅读器

  •  
  •   chtcrack · 9 天前 · 6708 次点击

    Rust RSS 阅读器 for Windows 10

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

    功能特性

    📚 核心功能

    • RSS 源管理:添加、编辑、删除、分组管理订阅源
    • 文章阅读:三栏布局,支持文章列表和内容渲染
    • 自动更新:可配置的自动更新间隔,支持后台静默更新
    • 搜索功能:支持全文搜索,两种搜索模式(直接搜索和索引搜索)
    • 通知系统:新文章桌面通知
    • AI 集成:支持与 AI 聊天,可将文章标题内容发送给 AI 进行分析
    • 系统托盘:支持最小化到系统托盘,方便后台运行
    • 导入导出:支持 OPML 格式的订阅源导入导出

    🎨 界面与体验

    • 现代化 UI:采用 egui 框架,提供流畅的交互体验
    • 主题切换:支持亮色/暗色主题,可跟随系统主题
    • 字体调整:支持自定义字体大小
    • 过滤排序:支持按未读、收藏状态过滤,按日期或标题排序
    • 文章标记:支持已读/未读标记,收藏功能
    • 批量操作:支持全部标记已读、全部删除等操作

    ⚡ 性能优化

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

    技术栈

    • 编程语言:Rust
    • GUI 框架:egui
    • 异步运行时:Tokio
    • 数据库:SQLite
    • RSS 解析:rss crate
    • HTTP 客户端:reqwest
    • 系统托盘:tray-item

    安装方法

    从源码构建

    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 参数

    导入导出订阅源

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

    配置说明

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

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

    项目结构

    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         # 工具函数
    

    开发说明

    运行测试

    cargo test
    

    运行调试版本

    cargo run
    

    代码风格

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

    cargo fmt
    cargo clippy
    

    许可证

    MIT License

    贡献

    欢迎提交 Issue 和 Pull Request !

    问题反馈

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

    更新日志

    v1.0.0

    • 初始版本发布
    • 支持基本的 RSS 源管理和文章阅读
    • 实现自动更新和通知功能
    • 支持搜索和 AI 集成
    • 支持系统托盘和 OPML 导入导出

    联系方式

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


    1 条回复    2025-11-28 15:48:58 +08:00
    EasonIndie
        1
    EasonIndie  
       9 天前
    starred
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2668 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 12:34 · PVG 20:34 · LAX 04:34 · JFK 07:34
    ♥ Do have faith in what you're doing.