欢迎回来

登录 EAKE AI,继续您的智能之旅

忘记密码?
还没有账号?立即注册

博客/RSS 监控

博客/RSS 监控

通过 blogwatcher-cli 监控博客和 RSS/Atom 订阅源

博客/RSS 监控(Blogwatcher)

使用 blogwatcher-cli 工具追踪博客和 RSS/Atom 订阅源更新。支持自动发现订阅源、HTML 抓取回退、OPML 导入,以及已读/未读文章管理。

安装

选择一种方式:

  • Go: go install github.com/JulienTant/blogwatcher-cli/cmd/blogwatcher-cli@latest
  • Docker: docker run --rm -v blogwatcher-cli:/data ghcr.io/julientant/blogwatcher-cli
  • 二进制(Linux amd64): curl -sL https://github.com/JulienTant/blogwatcher-cli/releases/latest/download/blogwatcher-cli_linux_amd64.tar.gz | tar xz -C /usr/local/bin blogwatcher-cli
  • 二进制(Linux arm64): curl -sL https://github.com/JulienTant/blogwatcher-cli/releases/latest/download/blogwatcher-cli_linux_arm64.tar.gz | tar xz -C /usr/local/bin blogwatcher-cli
  • 二进制(macOS Apple Silicon): curl -sL https://github.com/JulienTant/blogwatcher-cli/releases/latest/download/blogwatcher-cli_darwin_arm64.tar.gz | tar xz -C /usr/local/bin blogwatcher-cli
  • 二进制(macOS Intel): curl -sL https://github.com/JulienTant/blogwatcher-cli/releases/latest/download/blogwatcher-cli_darwin_amd64.tar.gz | tar xz -C /usr/local/bin blogwatcher-cli

所有发布版本:https://github.com/JulienTant/blogwatcher-cli/releases

Docker 持久化存储

默认情况下数据库位于 ~/.blogwatcher-cli/blogwatcher-cli.db。在 Docker 中容器重启后会丢失数据。使用 BLOGWATCHER_DB 或卷挂载来持久化:


# 命名卷(最简单)
docker run --rm -v blogwatcher-cli:/data -e BLOGWATCHER_DB=/data/blogwatcher-cli.db ghcr.io/julientant/blogwatcher-cli scan

# 主机绑定挂载
docker run --rm -v /path/on/host:/data -e BLOGWATCHER_DB=/data/blogwatcher-cli.db ghcr.io/julientant/blogwatcher-cli scan

从原始 blogwatcher 迁移

如果从 Hyaxia/blogwatcher 升级,迁移数据库:


mv ~/.blogwatcher/blogwatcher.db ~/.blogwatcher-cli/blogwatcher-cli.db

二进制文件名已从 blogwatcher 改为 blogwatcher-cli

常用命令

管理博客

  • 添加博客:blogwatcher-cli add "My Blog" https://example.com
  • 指定订阅源添加:blogwatcher-cli add "My Blog" https://example.com --feed-url https://example.com/feed.xml
  • 使用 HTML 抓取添加:blogwatcher-cli add "My Blog" https://example.com --scrape-selector "article h2 a"
  • 列出追踪的博客:blogwatcher-cli blogs
  • 移除博客:blogwatcher-cli remove "My Blog" --yes
  • 从 OPML 导入:blogwatcher-cli import subscriptions.opml

扫描和阅读

  • 扫描所有博客:blogwatcher-cli scan
  • 扫描单个博客:blogwatcher-cli scan "My Blog"
  • 列出未读文章:blogwatcher-cli articles
  • 列出所有文章:blogwatcher-cli articles --all
  • 按博客筛选:blogwatcher-cli articles --blog "My Blog"
  • 按分类筛选:blogwatcher-cli articles --category "Engineering"
  • 标记文章已读:blogwatcher-cli read 1
  • 标记文章未读:blogwatcher-cli unread 1
  • 全部标记已读:blogwatcher-cli read-all
  • 按博客全部标记已读:blogwatcher-cli read-all --blog "My Blog" --yes

环境变量

所有标志都可以通过环境变量设置,前缀为 BLOGWATCHER_

变量说明
BLOGWATCHER_DBSQLite 数据库文件路径
BLOGWATCHER_WORKERS并发扫描工作线程数(默认:8)
BLOGWATCHER_SILENT仅在扫描完成时输出提示
BLOGWATCHER_YES跳过确认提示
BLOGWATCHER_CATEGORY文章默认分类筛选器

输出示例


$ blogwatcher-cli blogs
追踪的博客(1):

  xkcd
    URL: https://xkcd.com
    订阅源: https://xkcd.com/atom.xml
    上次扫描: 2026-04-03 10:30

$ blogwatcher-cli scan
正在扫描 1 个博客...

  xkcd
    来源: RSS | 发现: 4 | 新: 4

共发现 4 篇新文章!

$ blogwatcher-cli articles
未读文章(2):

  [1] [新] Barrel - Part 13
       博客: xkcd
       URL: https://xkcd.com/3095/
       发布: 2026-04-02
       分类: Comics, Science

  [2] [新] Volcano Fact
       博客: xkcd
       URL: https://xkcd.com/3094/
       发布: 2026-04-01
       分类: Comics

注意事项

  • 当未提供 --feed-url 时,自动从博客首页发现 RSS/Atom 订阅源。
  • 当 RSS 失败且配置了 --scrape-selector 时,回退到 HTML 抓取。
  • RSS/Atom 订阅源中的分类被存储,可用于筛选文章。
  • 支持从 Feedly、Inoreader、NewsBlur 等导出的 OPML 文件批量导入博客。
  • 数据库默认存储在 ~/.blogwatcher-cli/blogwatcher-cli.db(可用 --dbBLOGWATCHER_DB 覆盖)。
  • 使用 blogwatcher-cli --help 查看所有选项和功能。

安装指南

复制下方命令,在终端运行即可安装:

# 安装到当前项目
npx skills add blogwatcher
# 全局安装 — 所有项目可用
npx skills add blogwatcher -g

使用指南

安装完成后,在对话框中直接使用此技能。

基本信息
作者 Community 分类 agent 难度 Intermediate 时长 1 hour
🛠️ 安装命令
# 安装到当前项目
npx skills add blogwatcher
# 全局安装
npx skills add blogwatcher -g

发表评论