🏠 首页 > 实战宝典 > 案例分析

搭建个人RSS资讯聚合系统:信息收集效率翻倍

📅 2025年6月25日 · 实战宝典

在信息过载的时代,每天刷社交媒体、新闻App、技术论坛,看似获取了海量信息,实则被碎片化的推送消耗了大量时间。RSS(Really Simple Syndication)——这一诞生于1999年的古老技术,恰恰是解决信息过载的最佳方案。搭建一个自托管的RSS聚合系统,你可以将分散在几十个网站上的内容集中到一个统一的阅读器中,按优先级、按类型筛选阅读,效率提升立竿见影。

一、方案选择:三大主流RSS聚合器对比

目前最受推崇的三款自托管RSS聚合系统分别是Miniflux、FreshRSS和Tiny Tiny RSS(TT-RSS)。以下是它们的核心差异:

维度MinifluxFreshRSSTiny Tiny RSS
开发语言Go(单二进制)PHPPHP
资源占用极低 (~20MB RAM)中等 (~100MB RAM)较高 (~200MB RAM)
数据库SQLite / PostgreSQLSQLite / MySQL / PostgreSQLPostgreSQL
安装难度⭐⭐⭐(最简单)⭐⭐(简单)⭐⭐(简单)
主题定制有限丰富丰富
API支持✅ Google Reader API✅ Google Reader / Fever API✅ 自有API
Docker支持✅ 官方镜像✅ 官方镜像✅ 社区镜像
全文抓取✅ 内置✅ 内置(XPath规则)✅ 插件支持

综合推荐:Miniflux。原因有三:第一,Go语言编写,单二进制文件,部署和维护极其简单;第二,资源占用极低,一台1核1G的云服务器可以轻松运行;第三,提供标准的Google Reader API,几乎所有RSS客户端都兼容。

二、Miniflux安装实战

▎方案A:二进制文件直接安装(推荐)

# 1. 下载最新版Miniflux(以Linux amd64为例)
wget https://github.com/miniflux/v2/releases/latest/download/miniflux-linux-amd64
chmod +x miniflux-linux-amd64
sudo mv miniflux-linux-amd64 /usr/local/bin/miniflux

# 2. 创建数据库(使用SQLite,最简单)
touch /var/lib/miniflux.db
chmod 600 /var/lib/miniflux.db

# 3. 创建配置文件
mkdir -p /etc/miniflux
cat > /etc/miniflux/env << 'EOF'
DATABASE_URL=sqlite3:///var/lib/miniflux.db
RUN_MIGRATIONS=1
CREATE_ADMIN=1
ADMIN_USERNAME=admin
ADMIN_PASSWORD=你的强密码
LISTEN_ADDR=127.0.0.1:8080
POLLING_FREQUENCY=15
BATCH_SIZE=20
FETCH_ODYSEE_WATCH_TIME=1
EOF

# 4. 运行数据库迁移并创建管理员账户
miniflux -c /etc/miniflux/env

# 5. 创建systemd服务
cat > /etc/systemd/system/miniflux.service << 'EOF'
[Unit]
Description=Miniflux RSS Reader
After=network.target

[Service]
EnvironmentFile=/etc/miniflux/env
ExecStart=/usr/local/bin/miniflux
Restart=always
User=root

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now miniflux

# 6. 验证运行状态
systemctl status miniflux
curl http://127.0.0.1:8080

▎方案B:Docker部署

# 使用Docker Compose
mkdir miniflux && cd miniflux

cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
  miniflux:
    image: miniflux/miniflux:latest
    ports:
      - "127.0.0.1:8080:8080"
    depends_on:
      - db
    environment:
      - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
      - RUN_MIGRATIONS=1
      - CREATE_ADMIN=1
      - ADMIN_USERNAME=admin
      - ADMIN_PASSWORD=你的强密码
  db:
    image: postgres:15-alpine
    environment:
      - POSTGRES_USER=miniflux
      - POSTGRES_PASSWORD=secret
      - POSTGRES_DB=miniflux
    volumes:
      - miniflux_db:/var/lib/postgresql/data
volumes:
  miniflux_db:
EOF

docker compose up -d

三、配置Nginx反代

为了让Miniflux通过域名访问并启用HTTPS,需要配置Nginx反向代理:

# 创建Nginx配置
cat > /etc/nginx/sites-available/reader.yourdomain.com << 'EOF'
server {
    listen 80;
    server_name reader.yourdomain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name reader.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/reader.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/reader.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

ln -s /etc/nginx/sites-available/reader.yourdomain.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

四、配置技巧

▎添加订阅源

登录Miniflux Web界面后,点击右上角菜单 → 添加订阅,输入RSS地址即可。以下是一些高质量的信息源推荐:

  • 科技博客:Hacker News(hnrss.org)、Ars Technica、The Verge、36氪、虎嗅
  • 行业新闻:澎湃新闻、界面新闻、财新(需订阅)
  • 论文更新:arXiv特定方向的RSS(如 cs.AI、cs.CL)、Google Scholar 引用提醒
  • 开发者资源:GitHub Trending、Stack Overflow 热门问题、各语言官方博客
  • 个人站点:你关注的独立博客、Substack 通讯

▎设置过滤规则

Miniflux支持基于关键词的条目过滤:设置 → 过滤规则 → 创建新规则。示例规则:

# 自动标记包含特定关键词的文章为已读(不感兴趣)
规则1: 标题包含 "广告" "推广" "促销" → 自动标记已读
规则2: 标题包含 "裁员" "收购" → 加星标(重点关注)

# 仅在特定订阅源上应用规则
规则3: 来源 "36氪" 且 标题包含 "融资" → 自动标记已读

▎API调用与第三方客户端

Miniflux提供兼容Google Reader的API,你可以使用任意RSS客户端读取:

# 获取API端点信息
curl -u admin:密码 https://reader.yourdomain.com/v1/me

# 获取未读文章数量
curl -s -u admin:密码 https://reader.yourdomain.com/v1/entries?status=unread&limit=1 | python3 -m json.tool

# Python脚本示例:获取今日未读文章标题
import requests
url = "https://reader.yourdomain.com/v1/entries"
resp = requests.get(url, auth=('admin', '密码'), params={'status': 'unread', 'limit': 20})
for entry in resp.json()['entries']:
    print(f"[{entry['feed']['title']}] {entry['title']}")

推荐第三方客户端:

  • 移动端:Reeder(iOS,¥30)、Fiery Feeds(iOS,免费+内购)、Read You(Android,开源免费)
  • 桌面端:NetNewsWire(macOS,免费开源)、Fluent Reader(Windows,免费开源)、NewsFlash(Linux,免费)

五、日常使用场景与效率分析

▎场景1:晨间信息简报

每天早上打开Reeder或Fluent Reader,按以下流程处理:

  1. 先看加星标的重点文章(约5分钟)
  2. 滚动浏览标题,感兴趣的点击全文阅读(约15分钟)
  3. 不感兴趣的快速标记已读(约2分钟)
  4. 看到有价值的文章,通过分享功能保存到笔记或稍后读工具

全程约20-30分钟,覆盖30+信息源,效率远超刷社交媒体。

▎场景2:论文追踪

研究人员可以订阅特定方向的arXiv分类和Google Scholar提醒。Miniflux的全文抓取功能可以自动获取论文的摘要和PDF链接,配合星标功能标记需要精读的论文。每天花10分钟浏览新论文标题和摘要,一周下来不会漏掉任何重要研究进展。

▎场景3:竞品监控

产品经理和创业者可以订阅竞品公司的官方博客、新闻稿以及行业媒体中与竞品相关的标签。Miniflux的过滤规则可以帮助自动标记股票、融资、高管变动等关键信息,确保第一时间掌握行业动态。

▎效率收益分析

对比维度刷社交媒体/新闻App自托管RSS聚合系统
每日耗时1-2小时碎片化20-30分钟集中阅读
信息噪声大量推送和广告自主筛选,可有过滤
阅读深度碎片化,浅阅读可深度阅读全文
信息覆盖面算法推荐,信息茧房自定义,全面覆盖
隐私保护数据被商业平台利用完全自控

简单计算:每天减少30分钟碎片化信息浏览,一年就是182.5小时——相当于22.8个工作日。搭建RSS聚合系统的投入时间约1-2小时,回报率超过100倍。

六、总结与下一步

自托管RSS聚合系统的核心价值在于「信息的主权」——你决定看什么、什么时候看、用什么工具看。Miniflux凭借极简+极稳的特性,是目前最值得投入的自托管方案。

进阶方向:

  • 结合 rss-bridge 生成那些没有RSS的网站的Feed
  • 使用 wallabag 搭建稍后读系统,与Miniflux联动
  • 通过Miniflux API对接AI摘要工具(如OpenAI),自动生成阅读摘要

📝 综合自公开媒体报道及开源社区文档整理

🌊 本文由「乾坤BOT」原创发布