用途
rss-catchup 用于自动跟进 RSS 订阅,通过自动总结新文章来「追更」博客,让用户无需完整阅读所有内容即可掌握要点。它会在知识库中生成包含文章摘要(要点列表形式)的笔记,并可从文章中提取值得进一步研究的产品、服务、框架、工具、库或技术等「发现项」,为其创建独立笔记。
前置条件
需要安装 feedparser:
pip install feedparser
辅助脚本
使用 scripts/rss_helper.py 抓取数据:
列出订阅源中的近期文章:
python3 scripts/rss_helper.py feed URL [limit]
获取文章内容(抓取完整页面):
python3 scripts/rss_helper.py article URL
工作流程
-
加载配置:从
references/feeds.json读取订阅列表,从references/state.json读取上次运行时间戳。若为首次运行,则回溯约 3 个月;否则仅处理上次运行之后的文章。 -
逐个处理已启用的订阅源:执行
python3 scripts/rss_helper.py feed "FEED_URL" 20,筛选出上次运行之后发布的文章,并与既有笔记去重:
grep -rl "media: {article_url}" "my-vault/07 Knowledge Base/Capture/Articles/"
若已存在含该 URL 的笔记则跳过(可能已处理但未记录在状态中)。
-
处理每篇新文章:若订阅源提供全文则直接使用,否则执行
python3 scripts/rss_helper.py article "ARTICLE_URL"抓取全文。将内容总结为要点(根据篇幅与密度为 3–8 条),创建状态为Summarized的文章笔记,并提取发现项。 -
创建发现项笔记:总结时识别文中提及的可能值得探索的产品、服务、框架、工具、库或技术;在 my-vault 中搜索是否已有对应笔记;为新发现项在
my-vault/01 Inbox/中创建笔记;从文章笔记的 Related 字段链接该发现项笔记。 -
更新状态:将当前时间戳写入
references/state.json,并报告本次处理摘要。
标签
处理前必须先读取 my-vault/09 System/Tag Index.md 以确认有效标签。标签必须来自既定列表,不得自创。该技能常用有效标签包括:
#ai- LLMs、智能体、提示词、AI 工具#llm- 大型语言模型、模型对比#dev-tools- IDE、Git 工具、开发者效率#python、#javascript、#typescript- 特定语言#devops、#api、#databases- 基础设施主题#atlassian、#jira、#confluence- Atlassian 产品
references/feeds.json 中每个订阅源都有 tags 数组指定默认标签,用于文章笔记,格式为 tags: ["tag1", "tag2"]。发现项笔记则依据发现项本身选择标签(例如 Python 库用 #python,AI 工具用 #ai)。
文章笔记格式
创建位置:my-vault/07 Knowledge Base/Capture/Articles/[Feed Name]/[Title].md
文件名需净化:移除特殊字符,长度限制约 80 字符。
---
class: Article
media: https://example.com/article-url
publishDate: YYYY-MM-DD
status: Summarized
author: Author Name
reviewFrequency:
lastReviewedDate:
review:
aliases:
tags: ["tag1", "tag2"]
cssclasses:
archived:
---
Related:
## Summary
Capture the actual conclusions and insights - what would someone learn from reading this? Not topic labels or "this article discusses X" but the substance:
**Good:** "Multi-agent systems outperform single agents when context exceeds what fits in one prompt - Anthropic's research system with Opus 4 lead + Sonnet 4 subagents beat single-agent Opus 4 by 90.2%"
**Bad:** "Discusses multi-agent architectures and when to use them"
Aim for 4-8 substantive bullets that capture the key takeaways, conclusions, data points, and actionable insights.
## Discoveries
- [[Product Name]] - brief context from article
- (or "None" if nothing noteworthy)
## Why Read?
[One sentence on whether this seems worth actually reading in full]
订阅配置
编辑 references/feeds.json:
{
"feeds": [
{
"name": "Feed Display Name",
"url": "https://example.com/feed",
"folder": "Folder Name",
"tags": ["tag1", "tag2"],
"priority": "high",
"enabled": true
}
]
}
标签应来自 my-vault/09 System/Tag Index.md 中的既定列表。
发现项笔记格式
创建位置:my-vault/01 Inbox/[Name].md
---
class: Note
reviewFrequency:
lastReviewedDate:
review:
aliases:
tags: ["tag1", "tag2"]
cssclasses:
archived:
---
Up:
Related: [[Article Title]]
## What is it?
[One sentence description of the product/service/framework]
## Why look into it?
[Brief note on why it seemed interesting from the article context]
## Links
- [Official site or docs if mentioned]
什么算作发现项
- 产品或服务(SaaS 工具、应用、平台)
- 框架或库(编程、机器学习等)
- 技术或协议
- 值得关注的公司或项目
- 值得研究的方法论或技巧
无需创建笔记的情况
- 广为人知的主流事物(如 "Python"、"AWS"、"React")
- 不值得单独建笔记的通用概念
- 既有笔记中已充分覆盖的内容
处理建议
- 一次处理一个订阅源并报告进度
- 对长文章聚焦主要论点/要点
- 若无法抓取文章内容,则根据标题/描述进行总结
- 跳过 my-vault 中已存在的文章
- 摘要保持简洁——用于决定是否阅读,而非替代阅读
- 提取发现项时要有选择性,只为真正值得探索的内容创建笔记
- 按 URL 去重——同一文章可能出现在多个订阅源中
路径处理
关键——切勿用反斜杠转义空格:
- 使用路径原样书写:
my-vault/07 Knowledge Base/...(使用字面空格) - Write 工具能正确处理空格——反斜杠转义会在目录名中产生字面
\字符 - 使用 Bash 命令时,将路径用双引号包裹:
"my-vault/07 Knowledge Base/..."
限制
资料未提供具体平台限制、收费信息、运行环境要求等细节,相关内容暂未提供。