news 2026/10/2 8:23:45

未读 1000+ 治不好?我用这个开源 RSS 阅读器,把全网订阅收进一条时间线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
未读 1000+ 治不好?我用这个开源 RSS 阅读器,把全网订阅收进一条时间线

不知道你有没有这种感觉:博客、新闻、技术周刊、播客散落在一堆 App 里,每天早上点开 RSS 阅读器,红点永远清不完。我之前就是「未读 999+」的重度患者,直到前阵子试了Folo,才算把这个窟窿填上。

小科普:RSS [一种把网站更新打包成标准格式、供阅读器自动拉取新文章的协议] 和 Atom [类似 RSS 的另一种订阅格式,很多博客两者都提供] 就是这些「未读」的来源。

先说结论:Folo 是一个开源、免费、带 AI 的 RSS 阅读器。它最打动我的不是「又多了个功能」,而是真的把「订阅源太多读不过来」这个老问题,用「一条时间线 + AI 摘要」给缓解掉了。下面把我试用的真实感受、踩过的点、以及翻源码看到的一些设计,一并聊聊。

它到底解决什么痛点

我自己的使用场景很典型,你可能也中招:

  • 源太散:技术博客在一家、新闻在一家、播客在另一家,手机电脑还不互通。
  • 读不过来:订阅了几十个源,每天新增上百条,逐条点开根本不现实。
  • 外文劝退:想跟国外的技术动态,但英文长文看着就犯困。
  • 老阅读器太「素」:Feedly 之类能用,但翻译、摘要要么没有、要么要付费。

Folo 的思路其实很朴素——所有源的内容先汇成一条时间线,再用 AI 帮你「先筛后读」。它不是要替你读,而是把「扫一眼就知道值不值得读」这件事自动化。

核心功能,我逐个试了

1. 统一时间线:所有源挤进一条信息流

这是 Folo 的地基。你订阅的 RSS、别人分享的列表、社区集合,全按时间顺序排进同一条时间线。我加了十几个技术源之后,左侧列表一长串,但右侧永远只有「一条」在滚。

打个比方:以前你要在 10 个微信群之间来回切,现在有人把所有群的消息汇总到一个群里、按时间排好,你只盯这一个窗口。

2. AI 不是噱头,是真的省时间

这是我留下来的关键原因。三个功能实测好用:

  • 翻译:碰到英文源,点一下正文和标题直接变中文。我跟的几个海外开发者博客,现在通勤路上就能刷。
  • 摘要:长文先让 AI 出一段要点,扫完再决定要不要读全文。对订阅源多的人,这一步把「阅读成本」从整篇降到了「扫一眼」。
  • 推荐:会根据你的阅读习惯推相似内容,偶尔能挖到没订阅过的好源。

说明:AI 功能在免费版有每日次数限制,重度使用可能需要付费版解锁无限次。这点我实测过,日常刷资讯完全够用。

3. 多端同步:手机看到一半,电脑接着读

Web、iOS、Android、macOS、Windows、Linux 全平台覆盖,阅读进度、收藏、已读状态实时同步。我习惯上班路上用手机扫,到工位用桌面端深读,切换时不用重新找位置。

它还支持离线下载,没网也能看已经拉下来的文章——地铁里、飞机上都能读。

4. 不只是阅读器,还是个内容社区

这点是我没想到的。Folo 里「列表」本身是可分享的内容:

  • 你可以把自己的订阅组合成一份列表发出去;
  • 也能一键订阅别人维护的优质列表,冷启动不用从零挑源;
  • 社区里还有按技术、设计、商业等分类的「发现页」。

5. 内容形态不限:文章、视频、图片、播客都行

时间线里不只有文字。视频源能内嵌播放,图片为主的源用网格视图看,播客能直接在里面对接播放器听。追一个以图为主的媒体、或一个播客节目,不用再开第二个 App。

6. 无噪音设计

智能过滤重复和低质量内容,过滤规则还能自己配。订阅源一多,「少打扰」才是真价值——不然时间线又变成另一个噪音源。

和 Feedly、Inoreader 比,差在哪

这两个老牌阅读器我都用过,直接上对比表:

对比项FoloFeedlyInoreaderPocket
开源✅ 完全开源❌ 闭源❌ 闭源❌ 闭源
AI 功能✅ 内置翻译、摘要⚠️ 部分需付费⚠️ 部分需付费❌ 无
多端同步✅ 全平台免费⚠️ 高级功能付费⚠️ 高级功能付费✅ 免费
社区功能✅ 列表分享、集合探索❌ 无❌ 无❌ 无
界面设计✅ 现代、简洁⚠️ 功能多但复杂⚠️ 功能多但复杂✅ 简洁
自托管✅ 可自己部署❌ 仅云端❌ 仅云端❌ 仅云端
价格✅ 完全免费⚠️ 基础免费高级付费⚠️ 基础免费高级付费✅ 免费

我的判断:如果你在意「免费 + 开源 + AI + 能自己部署」,Folo 目前几乎没有对手。Feedly / Inoreader 胜在沉淀久、生态稳,但核心 AI 能力要掏钱。

几个让人在意的数据

下面这些是项目公开信息(GitHub 上能查到),我第三方视角摆出来,不代表替它背书:

  • Stars:37.1k+,且还在涨——说明不是一时热闹;
  • 贡献者:147 位,社区挺活跃;
  • 协议:AGPL-3.0 [一种强开源协议,你改了代码并对外提供服务,也得把改动开源];
  • 迭代速度:6,500+ commits、200+ 个版本,更新很勤。

提醒:AGPL-3.0 对「拿去自己搭服务」有开源义务。普通用户当 App 用不受影响,但想二次开发上线的要留意合规。

怎么装:几乎零门槛

平台覆盖很全,挑你常用的装就行:

平台安装方式适合谁
任意设备浏览器打开 app.folo.is,免安装想先试试的人
iOSApp Store 搜「Folo」出门刷信息流
AndroidGoogle Play 或项目 Releases 下载同上
macOSMac App Store 或 Releases桌面主力
WindowsMicrosoft Store 或 Releases桌面主力
LinuxReleases 下载 AppImage命令行爱好者

技术用户还有社区维护的渠道,比如 Arch 的 AUR 包、Nix、Homebrew cask、Windows 的 Scoop,对应平台直接搜folo就能装。

# macOS 用 Homebrew 装(社区维护)brewinstall--caskfolo# Arch Linux 用 AUR 助手装yay-Sfolo-appimage# Windows 用 Scoop 装scoopinstallfolo

怎么用:三步上手

第一步,加订阅。不用懂 RSS 格式,看到想关注的源一键订阅:

# 方式一:直接贴 RSS 链接1. 点「添加订阅源」2. 输入 RSS/Atom 链接3. 系统自动识别并校验# 方式二:搜索发现1. 用内置的源发现功能2. 浏览热门订阅源3. 一键添加# 方式三:导入 OPML# OPML [订阅列表的"打包格式",换阅读器时一键导出/导入]1. 从别的阅读器导出 OPML2. 在 Folo 里导入3. 批量搬过来

第二步,看时间线。所有内容按时间排好,标已读/未读、收藏重要文章,就盯这一个窗口。

第三步,让 AI 替你读。外文点翻译,长文点摘要先看结论。这是我每天省时间最多的环节。

顺手翻了下架构(给技术同学)

我不是项目开发者,只是好奇翻了下源码,它的结构挺清爽,值得前端 / 全栈同学参考。

它用的是Monorepo[把多个子项目放在同一个仓库里统一管理] 架构,靠pnpm workspaces[pnpm 的「多包工作区」,让仓库内多个包互相引用] 和Turbo[加速 Monorepo 构建的工具,只重建改动的部分] 管理。核心是「一套逻辑,三端复用」:

// packages/internal/src/feed-manager.ts// 所有平台共享的订阅源管理逻辑,不依赖任何端exportclassFeedManager{asyncaddFeed(url:string){/* 校验 + 入库 */}asyncupdateFeed(feedId:string){/* 拉取新条目 */}}// apps/ssr、apps/desktop、apps/mobile 三端都直接 import 同一份import{FeedManager}from'@folo/internal';

数据库层用Drizzle ORM[用 TypeScript 写数据库操作、类型安全的工具],状态管理是轻量的Zustand[一个很小的 React 状态管理库] 类方案。我摘一段时间线生成的代码,能看出它的思路——拉取订阅源下的条目,按发布时间倒序,再分页:

// 时间线生成(从源码摘出,略作精简)asyncfunctiongenerateTimeline(filters:TimelineFilters){constfeeds=awaitgetSubscribedFeeds(filters.folderId);constitems=awaitdb.items.findByFeeds(feeds,{unreadOnly:filters.unreadOnly,dateRange:filters.dateRange,search:filters.search,});returnitems.sort((a,b)=>b.publishedAt-a.publishedAt)// 新的在前.slice(filters.offset,filters.offset+filters.limit);}

AI 部分抽了一个统一接口,方便换底层模型:

// AI 服务接口(从源码摘出)interfaceAIService{summarize(text:string,options:SummaryOptions):Promise<string>;translate(text:string,options:TranslateOptions):Promise<string>;recommend(userId:string,context:Context):Promise<Item[]>;}// 具体实现可以是 OpenAI、Claude 等任意一家

小结:这种「核心逻辑下沉到 internal 包、三端只做壳」的做法,是现在很多跨端项目的标配,Folo 算是一个比较干净的参考实现。

谁适合用

  • 订阅源多、常年「未读爆仓」的人;
  • 想跟国外技术动态、但被英文劝退的人;
  • 在意隐私、想自己部署阅读器的人;
  • 前端 / 全栈同学,想看一个真实的 Monorepo + 多端复用案例。

最后说句大实话

Folo 不是完美无缺——项目还在活跃开发中,偶有 bug,AI 免费额度也有限。但作为「免费、开源、能翻译能摘要、全平台同步」的阅读器,它确实是目前我试过最顺手的。

如果你也受够了红点清不完,不妨去 app.folo.is 开个网页版试十分钟。真香不真香,你自己说了算。


  • GitHub:https://github.com/RSSNext/Folo
  • 官网:https://app.folo.is
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 8:23:23

Java四种引用类型详解:强引用、软引用、弱引用、虚引用实战指南

强引用、软引用、弱引用、虚引用这四个词&#xff0c;在Java面试里出现的频率几乎和技术面里的HashMap一个量级。但说句实话&#xff0c;大部分时候靠背八股文应对&#xff0c;只能答出“默认是什么、回收条件是啥”&#xff0c;真到写代码和排查线上问题时&#xff0c;照样一头…

作者头像 李华
网站建设 2026/10/2 8:22:05

CISP-PTE第10题SQL注入实战:从注入点识别到GetShell全解析

1. 为什么第10题是CISP-PTE的"分水岭"考题考过CISP-PTE的人都懂一个规律&#xff1a;前面的选择判断题是热身&#xff0c;实操题从SQL注入开始进入状态&#xff0c;而第10题往往是整个SQL注入模块里最能区分"背过题库"和"真会注入"的一道题。我第…

作者头像 李华
网站建设 2026/10/2 8:21:57

C语言函数知识

函数 文章目录函数一.函数的概念二.库函数&#xff08;一&#xff09;标准库和头文件&#xff08;二&#xff09;库函数的使用方法1.功能2.头文件包含3.实践4.库函数文档的一般格式三.自定义函数&#xff08;一&#xff09;语法形式&#xff08;二&#xff09;举例四.形参和实参…

作者头像 李华
网站建设 2026/10/2 8:21:17

用TdxHqApi.dll实现实时行情采集器:从接口调用到稳定运行

简介&#xff1a;一份基于通达信TdxHqApi.dll实现的实时数据采集器源码包&#xff0c;面向金融量化开发者、股票行情分析人员&#xff0c;用于从通达信行情接口高效获取实时数据&#xff0c;解决手动抓取效率低、接口对接复杂等问题。压缩包共248个文件&#xff0c;约105.88MB&…

作者头像 李华
网站建设 2026/10/2 8:21:01

AI写好的内容怎么听?「自听」让iPhone变成随身听

让豆包整理每天的资讯&#xff0c;让 ChatGPT 写一篇听书稿、一个故事&#xff0c;或者围绕自己感兴趣的话题生成一份长文——AI 已经让“得到好内容”变得很方便。但内容生成之后&#xff0c;还有一个问题&#xff1a;这么多文字&#xff0c;到哪里听&#xff1f;「自听」 MyL…

作者头像 李华