本地优先 · RSS 阅读器

订阅进来,
读完就走。

Web 版打开就能用;Windows 与 macOS 桌面端带原生快捷键。RSS 摘要自动入库,正文由你点「解析」再抓。订阅、文章、解析出的正文和问答记录, 全都在你自己机器上的一个 SQLite 文件里。

Windows 10+ · macOS(Apple 芯片与 Intel) · 后端与解析网关均可自建

数据
单个 SQLite 文件
迁移
OPML 双向 · CSV 批量订阅
解析
Crawl4AI / Firecrawl / Trafilatura
rssora — Inbox
已解析

把 RSS 搬到本地之后,我删掉了三个聚合服务

少数派3 小时前·1,842 字·example.com/posts/local-first-rss

过去六年我的订阅列表一直寄存在别人的服务器上:换个服务商就要重新导一次 OPML,导出回来的文件少了分组,收藏也没了。现在这份列表是一个 SQLite 文件,跟着我换机器。

RSS 本身只带标题和摘要,真正的正文得自己去抓。抓的时候可以走浏览器渲染,可以走 托管抓取,也可以只用本地库把正文抽出来[1]—— 三种我都试过,失败的还能换一个引擎重解。

阅读器最重要的能力不是抓得多,是别把订阅列表当成别人的数据。

解析出来的正文会进本地库,也会喂给知识库问答。问一句「这周有几篇在写 本地优先」,得到的每条引用都能点回原文那一段。

←→上下篇Ctrl F原文全文搜索Ctrl E导出 OPML

它到底做什么

没有推荐位,没有热度榜,也没有社交关系。只有一条链路,从订阅走到记住。

下面五块是 rssora 现在真正做的事,一块一块拆开说,界面里的文字都是产品里原样出现的那些。

01全端同步

电脑上读到一半,换个端接着读

Web 版和桌面端连的是同一个后端、同一份库。在一端读完、收藏或换了解析引擎,另一端立刻是同一个状态 —— 不是各存一份再想办法合并。

app.rssora.appWeb
  • 把 RSS 搬到本地之后,我删掉了三个聚合服务已解析
  • Show HN: a local-first reader未解析
  • Container queries 在真实项目里踩到的三个坑已解析
  • Variable fonts, five years in已解析
rssora · 桌面端Electron
  • 把 RSS 搬到本地之后,我删掉了三个聚合服务已解析
  • Show HN: a local-first reader未解析
  • Container queries 在真实项目里踩到的三个坑已解析
  • Variable fonts, five years in已解析
  • 阅读进度
  • 收藏
  • 解析状态
  • 解析出的正文
  • RAG 索引
  • 问答记录

02解析网关

正文不是抓来的,是你让它抓的

RSS 摘要自动入库;正文要你点「解析」才动。请求发给你在设置里填的 Parse service URL,密钥留在服务端,从不下发到客户端。

POST /parsehttp://localhost:3002
  1. 1Crawl4AI默认首选 · 带浏览器渲染
  2. 2Firecrawl托管抓取服务
  3. 3Trafilatura本地服务 · 只抽正文
  4. parse-cache.db按 URL 缓存已解析的 Markdown

只执行你选中的引擎,不自动切换;已解析的内容可以换引擎覆盖重解。

03无干扰阅读

原文、解析、对比 —— 三种看法随时换

同一个窗口里切换:只看原网页、只看解析出的正文,或者左右对照着看。桌面端自带地址栏、缩放和 Ctrl+F 全文搜索,正文里 Ctrl+F 直接定位到词。

已解析原文解析对比
正文
原网页
渲染3 / 12

右键菜单:上一篇 / 下一篇 / 收藏 / 问 AI / 查找

04本地优先

一个 SQLite 文件,搬家就是拷走它

装好的桌面端把库放在系统用户目录里(Windows 是 %APPDATA%\\RSSora)。订阅、文章、解析出的正文、检索索引和对话历史都在这一个文件里,不上传,也不需要你注册什么。

数据目录%APPDATA%\RSSora
  • rssora.dbSQLite
  • Import OPMLCtrl I
  • Export OPMLCtrl E
  • CSV Import定时

05问 AI

问的是你解析出来的正文

检索只在本地解析出的正文里跑。没点过「解析」的文章就是没有依据 —— 这一点 rssora 不糊弄。回答里的每条引用都能点回原文对应的那一段。

  • 索引跟着解析结果走,换引擎重解后自动重建
  • 支持连续对话,历史留在同一个 SQLite 文件里
  • 模型端点自己填:Embedding / Chat / Rerank
AI Knowledge Base1,204 段已索引
哪些文章讨论了 AI?这周有什么新东西?

解析缓存多久会清一次?

缓存不会自动清。它按 URL 存在网关的 parse-cache.db 里,你自己决定什么时候删。

把 RSS 搬到本地之后,我删掉了三个聚合服务

少数派 · 第 3 段

How we cut crawler spend without losing fidelity

Cloudflare Blog · 第 1 段

Ask a question…

价格

三种用法,按需付费

数据和订阅列表不收费。收费的只有代你跑的那些算力和抓取。

Free

社区版
¥0

不含官方托管的解析与模型额度

自己带模型 Key、或者只用本地引擎抓正文。除此之外的功能不阉割。

  • Web 版 + Windows / macOS 桌面端
  • 本地 SQLite 库,不上传订阅列表
  • OPML 双向导入导出 · CSV 目录批量订阅
  • 本地 Trafilatura 解析正文
  • 问 AI(自备 Embedding / Chat / Rerank 端点)
打开 Web 版
推荐

Pro

增强版
公布中

上线前会在这里给出价格

想省掉自己搭网关、配 Key、盯额度的麻烦,就用这一档。具体包含哪些额度,等定价一起公布。

  • Free 版的全部功能
  • 使用官方托管的解析网关
  • 官方托管的模型与问答额度
  • 更多并发解析与更长的缓存
  • 新版本抢先体验
加入等候名单

Self-Hosted

自建版
¥0

自备模型与抓取服务的账单

后端和解析网关都能自己部署,密钥只留在你自己的机器或服务器上。

  • Free 版的全部功能
  • 后端自行部署,数据完全自己掌控
  • 解析网关自行部署(docker compose 起步)
  • 设置里填自己的 Parse service URL
  • API Key 不下发到客户端
先看 Docs

Pro 档的具体价格与额度还没定,先不收钱也不承诺数字。

常见问题

还有别的疑问?

没写在这里的,去 Docs 或者 Changelog 翻 —— 那两页更新得比这个勤。

读的东西完全一样 —— 同一个后端、同一份 SQLite,所以阅读进度、收藏、解析状态在哪边都是最新的。差别在操作方式:Web 版开浏览器就能用;桌面端(Windows / macOS)把后端和本地库一起装在你机器上,多出来的是原生那一套:全局快捷键、原文里的 Ctrl+F 全文搜索、地址栏和缩放,还有右键菜单直接「问 AI」「收藏」。