惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
L
LangChain Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
D
DataBreaches.Net
P
Proofpoint News Feed
小众软件
小众软件
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
雷峰网
雷峰网
G
Google Developers Blog

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
开源一个用 AI 写的玩具,用 RUST 语言写的 RSS 阅读器
chtcrack · 2025-11-28 · via V2EX

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