4.5 KiB
4.5 KiB
Blogwatcher Daily 技能收藏
RSS 订阅监控 + 每日摘要生成
简介
blogwatcher-daily 是 Hermes Agent 的一个自定义技能(custom skill),用于自动化监控 31 个 RSS/YouTube 订阅频道,每天定时扫描并生成阅读摘要。
核心功能
1. 日常扫描(定时任务)
每天自动抓取各频道新文章,追加写入 YYYY-MM-DD.md:
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py
输出示例:
📊 扫描完成: 共发现 12 篇新文章
📝 已写入: /Users/weishen/Workspace/nexus/ishenwei/blogwatcher/2026-04-18.md
2. 历史回扫(手动,例外场景)
强制抓取每个频道最近 10 篇(无论是否已读),写入独立文件:
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --all
输出:all-YYYY-MM-DD.md(每次运行覆盖,不追加到日报)
3. 只看不写(调试)
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --scan-only
订阅频道
31 个频道,分为两类:
YouTube(18个)— 通过 RSSHub 转换
RSSHub 地址:http://192.168.3.45:1200
| 频道 | 说明 |
|---|---|
| Tech With Tim | AI/LLM 开发 |
| Jon Law | AI 工具、商业 |
| 小白AI笔记 | Hermes Agent 中文 |
| Yannic Kilcher | 深度学习 |
| 3Blue1Brown | 数学可视化 |
| Sentdex | Python/ML |
| ... | 共 18 个 |
RSS 直订(13个)
| 频道 | URL | 说明 |
|---|---|---|
| 少数派 | 直接 | 科技精选 |
| Slashdot | 直接 | 英文科技新闻 |
| AWS Blog | 直接 | 云计算 |
| SRE Weekly | 直接 | SRE 周报 |
| SaltTiger | 直接 | 技术新闻 |
| TED Talks Daily | 直接 | TED 演讲 |
| ... | 共 13 个 |
文件结构
~/.hermes/skills/custom/blogwatcher-daily/
├── SKILL.md # 技能说明文档
└── scripts/
├── blogwatcher-daily.py # 主脚本
├── subscriptions.txt # 订阅列表(name|URL)
└── blogwatcher.db # SQLite 数据库(记录已读状态)
输出目录:
~/Workspace/nexus/ishenwei/blogwatcher/
├── 2026-04-18.md # 每日日报(追加模式)
└── all-2026-04-18.md # 历史回扫(覆盖模式)
定时任务
- Cron ID:
ecdd35bb7df3 - 调度:
0 6 * * *(每天早上 6:00) - 执行:Hermes Agent 自动调用 skill 中的脚本
- 通知:Telegram(
deliver=origin)
使用技巧
添加新订阅
# RSS 直订
python3 blogwatcher-daily.py --add "频道名" "https://example.com/feed"
# YouTube 频道(自动转 RSSHub)
python3 blogwatcher-daily.py --add "频道名" "https://youtube.com/channel/UCxxxx"
强制回扫某频道(例外)
python3 blogwatcher-daily.py --all
适用于:新增订阅需要补历史、某个频道很久没看想批量回顾
调试扫描逻辑
python3 blogwatcher-daily.py --scan-only
只打印,不写文件
技术细节
- RSS 解析库:
feedparser(支持 RSS 1.0/2.0/Atom、GB2312/GBK 编码、畸形 XML) - 去重机制:SQLite 数据库按
url排重,已读链接不重复写入 - YouTube 支持:通过 RSSHub 将 YouTube Channel ID 转为 RSS Feed
- 编码处理:自动检测 GB2312、GBK、ISO-8859-1,解决乱码问题
已解决的问题
- ✅ RSS 1.0 支持:Slashdot 使用 RSS 1.0,换用 feedparser 解决
- ✅ GB2312 乱码:阿榮福利味等台媒使用 GB2312 编码,feedparser 自动处理
- ✅ 畸形 XML:异次元等小站 XML 不规范,feedparser 兜底
- ✅ YouTube RSSHub:RSSHub 代理 YouTube Feed,绕过直接访问限制
- ✅ 追加写入:日常扫描正确追加到日报,不覆盖历史内容
- ✅ 独立 force-all:强制回扫写入独立文件,不污染日报
注意事项
- How to of the Day:wikiHow 禁止所有爬虫,无法抓取,永远返回 0 篇
- FeedBurner 频道:電腦玩物、阿榮福利味使用 FeedBurner 跳转,RSSHub 可能不稳定,建议使用直接 FeedBurner URL
--all不要加到 cron:force-all 是例外操作,每日 cron 保持日常扫描即可
收藏日期:2026-04-18