mcpField
R
rss-automation

rss-automation

github.com/aaaaqwq生产力11193 次安装1 周前更新
代码仓库

关于 rss-automation

rss-automation 是用于自动跟踪内容的 RSS/Atom 订阅源监控技能,适合需要汇总更新并发送通知的场景。它支持筛选条目、去重和定时检查。

主要功能

  1. 01解析 RSS 2.0 和 Atom 订阅源
  2. 02按关键词、日期和作者筛选
  3. 03记录已读条目并识别新内容
  4. 04将新条目推送到通知渠道
  5. 05通过 cron 定时检查订阅源

适用场景

  1. 01跟踪多个新闻或技术订阅源
  2. 02仅接收符合关键词或日期条件的条目
  3. 03定期将新内容发送到 Telegram 或 Slack

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aaaaqwq/agi-super-team --skill rss-automation

安装后在 Claude Code 中输入/rss-automation确认已加载。

详细介绍

RSS 自动化

  • 作者:Daniel Li
  • 版权所有 © Daniel Li。保留所有权利。

监控并聚合 RSS/Atom 订阅源,以自动跟踪内容并发送通知。

功能

  • 解析 RSS 2.0 和 Atom 订阅源
  • 按关键词、日期和作者筛选条目
  • 跟踪已查看和新条目,以避免重复
  • 将新条目推送到 Telegram、Slack 或其他渠道
  • 通过 cron 安排定期检查订阅源

用法

解析订阅源
import feedparser

feed = feedparser.parse("https://example.com/feed.xml")
for entry in feed.entries[:10]:
    print(f"{entry.title} - {entry.link}")
    print(f"  Published: {entry.get('published', 'N/A')}")
监控多个订阅源
import feedparser, json, hashlib
from pathlib import Path

SEEN_FILE = Path("~/.openclaw/rss-seen.json").expanduser()

def load_seen():
    if SEEN_FILE.exists():
        return json.loads(SEEN_FILE.read_text())
    return {}

def save_seen(seen):
    SEEN_FILE.write_text(json.dumps(seen))

def check_feed(url, seen):
    feed = feedparser.parse(url)
    new_entries = []
    for entry in feed.entries:
        entry_id = hashlib.md5(entry.link.encode()).hexdigest()
        if entry_id not in seen.get(url, []):
            new_entries.append(entry)
            seen.setdefault(url, []).append(entry_id)
    return new_entries
Cron 集成

设置 cron 作业以定期检查订阅源:

Schedule: every 2 hours
Payload: "Check RSS feeds and push new items"

依赖项

pip install feedparser

订阅源示例

来源订阅源 URL
Hacker Newshttps://hnrss.org/frontpage
TechCrunchhttps://techcrunch.com/feed/
ArXiv CS.AIhttp://arxiv.org/rss/cs.AI
GitHub Trending改用网页抓取

重要说明

  • 某些订阅源需要 User-Agent 请求头
  • 限制检查订阅源的频率(不要每隔不到 15 分钟轮询一次)
  • 持久化存储已查看条目,以便重启后保留

评论

支持 Markdown