codecamp

OpenClaw Skills 博客监控(Blogwatcher)技能使用参考手册

概述

BlogWatcher 是用于监控博客和 RSS/Atom 订阅源更新的 OpenClaw 技能,该技能通过 CLI 工具实现订阅源的管理、更新扫描、文章标记等功能,帮助用户持续跟踪关注的博客内容,及时获取最新文章更新。

该技能可以帮助用户在 OpenClaw 中直接管理和监控博客订阅,适合需要跟踪多个博客更新的场景,例如技术博客、行业资讯博客等,用户可以通过简单的命令行操作完成订阅源的添加、删除、更新扫描等操作。

技能信息

  • 名称:blogwatcher
  • 描述:通过 blogwatcher CLI 工具监控博客和 RSS/Atom 订阅源的更新,支持添加、移除订阅源,扫描获取最新文章,批量或单篇标记已读,并以结构化方式展示跟踪列表及更新摘要。
  • 版本:1.0.0
  • 作者:steipete(Peter Steinberger)
  • 主页https://github.com/Hyaxia/blogwatcher
  • 依赖
    • 需要 Go 语言环境
    • 需要安装 blogwatcher CLI 工具
  • 触发词:"博客监控"、"RSS 订阅监控"、"博客更新跟踪"、"Atom 订阅管理"、"博客文章跟踪"

👤 作者:Peter Steinberger
🦞 官方地址:https://clawhub.ai/steipete/blogwatcher
👉 Skills 下载地址:blogwatcher-1.0.0.zip

安装方法

Go 语言安装

在你的系统中通过 Go 语言安装该工具:

go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest

快速开始

查看工具的帮助信息,了解所有可用命令和选项:

blogwatcher --help

常用命令

添加博客

添加一个新的博客订阅源:

blogwatcher add "我的博客" https://example.com

列出博客

查看当前跟踪的所有博客订阅源:

blogwatcher blogs

扫描更新

扫描所有订阅源,获取最新的文章更新:

blogwatcher scan

列出文章

查看所有获取到的文章:

blogwatcher articles

标记单篇文章为已读

将指定的文章标记为已读(文章 ID 为数字,可通过blogwatcher articles命令查看):

blogwatcher read 1

标记所有文章为已读

将所有未读文章标记为已读:

blogwatcher read-all

移除博客

移除指定的博客订阅源:

blogwatcher remove "我的博客"

示例输出

列出博客示例

$ blogwatcher blogs
Tracked blogs (1):
xkcd
URL: https://xkcd.com

扫描更新示例

$ blogwatcher scan
Scanning 1 blog(s)...
xkcd
Source: RSS | Found: 4 | New: 4
Found 4 new article(s) total!

注意事项

  • 使用blogwatcher <command> --help命令可以查看每个具体命令的详细参数和选项。

元数据信息

该技能的元数据信息如下:

{
"ownerId": "kn70pywhg0fyz996kpa8xj89s57yhv26",
"slug": "blogwatcher",
"version": "1.0.0",
"publishedAt": 1767545299849
}
OpenClaw Skills 邮件管理(Gmail)技能使用参考手册
OpenClaw Skills 模型使用成本统计(Model Usage)技能使用参考手册
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }