返回精选库
Blogwatcher·数据与研究

Blogwatcher 使用指南:用 OpenClaw 跟踪 RSS 更新

本文目录

想让 Agent 帮你盯几个博客,而不是每天逐个打开网页?Blogwatcher 可以把 RSS/Atom 新条目记入本机未读列表。这里的 steipete/blogwatcher 是 OpenClaw Skill,负责告诉 Agent 如何调用命令;真正获取订阅源和保存阅读状态的是 Hyaxia 的 blogwatcher Go CLI。先完成一次“订阅 → 扫描 → 查看链接 → 标记已读”,再考虑定时任务。

先检查,再安装

需要一个可执行终端命令的 OpenClaw Agent、可访问的 RSS/Atom 源,以及 Go。底层项目当前 go.mod 要求 Go 1.24;旧版 Go 在编译时可能需要先升级。OpenClaw 仓库也随附同名 Skill,因此先在 OpenClaw 环境里检查它是否已经存在:

命令
openclaw skills check
openclaw skills info blogwatcher

如果 info 已显示 blogwatcher,就不必为同名能力再装一份 ClawHub Skill;如果显示缺少 blogwatcher 可执行文件,仍要单独装 CLI。只有 Skill 不在清单中时,才安装本文对应的 ClawHub v1.0.0:

命令
openclaw skills install @steipete/blogwatcher --version 1.0.0

随后在运行 OpenClaw 的机器上安装底层 CLI,并确认命令可用:

命令
go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest
blogwatcher --help
openclaw skills check

若安装完成却提示 blogwatcher: command not found,先检查 Go 的可执行文件目录是否在 OpenClaw 运行环境的 PATH 中,再重试 blogwatcher --help。@latest 取得的是 CLI 当前版本,和上面的 ClawHub Skill v1.0.0 不是同一个版本号;若后续 CLI 改了参数,以本机 blogwatcher <命令> --help 为准。

第一次订阅:用一个明确的 Atom 地址

下面以 Simon Willison 的公开 Atom 源为练习。把这四行输入运行 CLI 的终端;如果让 Agent 代做,可将紧随其后的任务描述发给 OpenClaw。显式给出 feed 地址,可以避开博客首页自动发现失败这一类问题。

命令
blogwatcher add "Simon Willison" https://simonwillison.net --feed-url https://simonwillison.net/atom/everything/
blogwatcher blogs
blogwatcher scan "Simon Willison"
blogwatcher articles --blog "Simon Willison"

blogs 应列出刚添加的博客;scan 会报告找到和新入库的条目数;articles --blog 列出这个博客的未读标题、ID 和原文链接。打开感兴趣的链接阅读后,用列表中的真实 ID 执行 blogwatcher read 12(将 12 换成你的文章 ID)。再次运行 blogwatcher articles --blog "Simon Willison",该条应不再出现在未读列表;想核对已读和未读的全部记录,改用 blogwatcher articles --all --blog "Simon Willison"。

你也可以在 OpenClaw 对话里这样提出第一次任务,具体结果应以它实际返回的列表为准:

提示词
请用 blogwatcher 订阅 Simon Willison 的 Atom 源 https://simonwillison.net/atom/everything/。先确认博客已加入,再扫描,给我最多 5 条未读文章的标题和原文链接。不要替我标记已读;如果列表为空,先核对订阅和扫描状态。

首次扫描的 “New” 只表示本地数据库此前没有这条记录,不表示文章今天发布。先看文章日期和原文,再决定哪些值得跟进。CLI 默认把订阅与阅读状态存在本机 ~/.blogwatcher/blogwatcher.db;它不是跨设备同步服务,也不会替你读取付费全文。

把一次扫描变成日常巡检

先只加两三个高价值订阅源。每次运行 blogwatcher scan 后看 blogwatcher articles,挑选标题和链接去原站阅读,读完再按 ID 标记已读。按来源筛选时用 --blog "名称",避免不同主题的条目混在一起。不要把 read-all 当成去重:它会改变整批文章在本地的阅读状态;真正的重复 URL 防护由 CLI 的入库逻辑处理。

公开的 openclaw-newsroom 示例把 blogwatcher 作为 RSS 入口,再用另外编写的脚本过滤关键词、去重和做编辑挑选。若你要做晨报,可借鉴这个边界:先用 blogwatcher 取得候选链接,再由你自己的筛选流程决定保留什么。这个 Skill 自身不负责热度排序、全文总结、推送通知或定时扫描;这些需要额外的 Agent 任务或脚本。

遇到问题时

  • Skill 在清单中,但 Agent 说不能用。 运行 openclaw skills check,看是缺少 blogwatcher 二进制、Agent 没有终端工具,还是 Skill 未对当前 Agent 可见。安装文字说明不会自动提供 Go CLI。
  • 扫描没有文章。 用 blogwatcher blogs 核对网址,再对指定博客运行 blogwatcher scan "名称"。若首页没有可发现的 feed,像上例那样用真实 --feed-url 重加;HTML 回退需要你提供匹配文章链接的 --scrape-selector,而且仍受站点访问限制。
  • articles 空白,之前却见过文章。 默认列表只显示未读;用 blogwatcher articles --all 判断是已读状态还是根本没有入库。
  • 想清空错误订阅。 blogwatcher remove "名称" 也会删除该博客的本地文章记录;先确认名字,不要把它当作只停止扫描的无损操作。

你的首次任务进行得怎么样?

选择项通过网站统计帮助我们了解常见卡点。屏蔽统计可能导致无法送达;具体问题请通过邮件反馈。

参考来源

  1. Blogwatcher — ClawHubPeter Steinberger / steipete
  2. OpenClaw blogwatcher SKILL.mdOpenClaw
  3. Skills CLI — OpenClawOpenClaw
  4. BlogWatcher READMEHyaxia
  5. OpenClaw Automated News Scanner READMEJacob Ben David
  6. You asked for it, so I open-sourced my entire OpenClaw newsroom pipelineKobyStam
发现过期或有误的信息?告诉我们