将 Emacs 打造成 RSS 阅读器

·3min·李岩

配置动机

大模型时代极大地释放了生产力,至少,一些较为繁琐、重复度高的Paper Work可以减少很多了。随之而来的是更多的空闲时间。就笔者的观察来看,从今年的3、4月份开始,突然之间好像大家都处于一种空转的状态,似乎所有的事情都委托给了大模型,又似乎有很多事情要做。但是还在编码的人确实是少了:无论如何,现在古法编程是一件很奢侈的事情。还有就是,食堂里吃饭的人越来越少了。技术群里的讨论内容也愈加地丰富起来——只是不再讨论技术了。笔者本人的工作模式也变成了回消息、和大模型/Agent对话、等待执行结果的状态。

在这样的背景下,实际上是有一些精力来折腾一些东西的。日常工作中,笔者折腾了一种 Agent 场景下基于索引的知识库管理系统,让 Agent 在执行任务之前使用倒排做一个简单的过往知识加载(而不是RAG,更轻量一些。项目地址:github/memroute)。工具使用上,在Emacs 里配置了大模型生态,紧跟时代的潮流了。此外就是拥抱 RSS 生态,折腾了下 Emacs 的配置,将其作为 RSS 阅读器使用。

使用 Emacs 作为 RSS 阅读器有两个收益。首先是 RSS 的优势。目前的资讯信息确实太多了,笔者以为每天读一点新闻、看一点技术博客、阅读一些有趣的文章就足够了。使用 RSS 可以确保在可控的范围内——RSS阅读器里——获取受限的信息。其次就是 Emacs 生态的优势。这样一来,又可以贯彻LIVE IN EMACS的哲学了,同时也方便上下文的切换:都在 Emacs 中完成了,而且借助自定义的快捷键,使用非常方便。

配置效果

笔者使用的是elfeed.el把 Emacs 配置成 RSS 阅读器。配置好 RSS 源之后,可以唤出*elfeed-search*缓冲区,浏览 RSS 推文。效果如下(全文本):

2026-10-16 The insider trading you're allowed to do                               Hacker News Top Stories (hackernews,tech,unread)
2026-10-16 Last rites for Gentoo's Chromium package                               Hacker News Top Stories (hackernews,tech,unread)
2026-10-16 The Folders Programming Language                                       Hacker News Top Stories (hackernews,tech,unread)
2026-10-16 Pi 抛出全新 Agent Harness,还把自己骂了一年的 MCP 装进了核心           InfoQ 推荐 (infoq-cn,tech,unread)
2026-10-16 Linus用Claude Code改Linux内核,大神也没兜住代码里的Bug                 InfoQ 推荐 (infoq-cn,tech,unread)
2026-10-16 Pizza Bot:开源的后台 AI 智能体收件箱                                  InfoQ 推荐 (infoq-cn,tech,unread)
2026-10-16 AI 写完代码,谁来验证?手淘 TEKO “写—验—修”自主闭环的工程实践|QCon上 InfoQ 推荐 (infoq-cn,tech,unread)
2026-10-16 Any window from your Mac, on your iPhone and iPad                      Hacker News Top Stories (hackernews,unread)
2026-10-16 GitLab 漏洞遭利用,可实现未认证数据外泄                                InfoQ 推荐 (infoq-cn,tech,unread)
2026-10-16 RPKI now protects 70% of internet routes                               Hacker News Top Stories (hackernews,unread)
2026-10-16 Business accounts will consent to Meta scraping their websites Startin Hacker News Top Stories (hackernews,unread)
...

这里的每一行自然是一个推文了。同时,elfeed 在配置 RSS 源时,是支持自定义 tag 的。在查看推文时,也支持使用 tag 进行过滤,和一般的 RSS 阅读器功能类似,只是可以全部通过编辑器在Emacs中的几个窗口里完成配置、更新、拉取。

选择想看的推文后,即可直接跳转,查看详情。

Title: 从外资流向看中国市场新引力
Author: 周泽将
Date: Fri, 16 Oct 2026 00:00:00 CST
Feed: 求是(求是网)·经济
Tags: economy, qiushi
Link: https://www.qstheory.cn/20261016/5afc50f2e8cc4a938b7bdb3b615659d2/c.html

  新技术加快落地,创新生态不断完善,绿色发展释放机遇,制度型开放稳定预期,正在共同塑造中国经济的新引力

  近期,新一批重大外资项目密集投产。广东佛山,德国企业赛威投资超百亿元的华南智能制造基地开始运营;江苏昆山,美国汽车零部件供应商
天纳克的全球创新中心启用。外资加速投向新产业、新赛道,彰显中国仍是全球投资热土。

...

这里笔者配置了图片显示的开关,默认情况下是不会渲染图片的。可以通过快捷键来切换图片显示。

配置示例

这里附上笔者的部分配置以作为借鉴。同时安利一下quanwenrss。笔者在寻找 RSS 源时,经常遇到的问题是 RSS 推文中只包含少量的摘要以及一个网络链接。完整内容还需要二次跳转才能获取。此时就能体会到全文 RSS 的便捷了。

;; 设置 elfeed 源,同时添加 tag 信息。
(setq elfeed-feeds
      '(("https://plink.anyfeeder.com/zhihu/daily" zhihu)
        ("https://feed.quanwenrss.com/feed/hbrchina-home.xml" hbrchina)
        ("https://plink.anyfeeder.com/infoq/recommend" infoq-cn tech)
        ("https://wechat2rss.xlab.app/feed/4025ea55575daf8bfd8227e68b28d9638b073267.xml" bytedance tech)))

;; 绑定键位
(global-set-key (kbd "C-c C-x w") 'elfeed)

;; 进入 elfeed 时自动刷新一次订阅(异步,不阻塞界面)
(add-hook 'elfeed-search-mode-hook #'elfeed-update)

;; elfeed 阅读视图默认不加载图片(weixin/经济学人等源图多,纯文字更快)。
;; 只作用于 elfeed 的正文 buffer,不影响 eww 等其他 shr 使用场景;
;; 需要看某篇文章的图时在阅读视图里执行 M-x my/elfeed-toggle-images
;; (或按 T)即可切换图片开关并重新渲染当前条目。
(add-hook 'elfeed-show-mode-hook
          (lambda () (setq-local shr-inhibit-images t)))
(defun my/elfeed-toggle-images ()
  "切换当前 elfeed 条目的图片加载并重新渲染。"
  (interactive)
  (unless (derived-mode-p 'elfeed-show-mode)
    (user-error "该命令只能在 elfeed 阅读视图中使用"))
  (setq-local shr-inhibit-images (not shr-inhibit-images))
  (elfeed-show-refresh))
(with-eval-after-load 'elfeed-show
  (define-key elfeed-show-mode-map (kbd "T") #'my/elfeed-toggle-images))

以上。周末愉快~