Blogwatcher
使用 blogwatcher-cli 工具監控博客和 RSS/Atom 訂閱源的更新。添加博客、掃描新文章、跟蹤閱讀狀態並按類別過濾。
技能元數據
| 來源 | 捆綁(默認安裝) |
| 路徑 | skills/research/blogwatcher |
| 版本 | 2.0.0 |
| 作者 | JulienTant(Hyaxia/blogwatcher 的分支) |
| 許可證 | MIT |
| 標籤 | RSS, Blogs, Feed-Reader, Monitoring |
參考:完整 SKILL.md
信息
以下是 Hermes 在觸發此技能時加載的完整技能定義。這是技能激活時代理看到的指令。
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 或卷掛載來持久化它:
# Named volume (simplest)
docker run --rm -v blogwatcher-cli:/data -e BLOGWATCHER_DB=/data/blogwatcher-cli.db ghcr.io/julientant/blogwatcher-cli scan
# Host bind mount
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_DB | SQLite 數據庫文件的路徑 |
BLOGWATCHER_WORKERS | 併發掃描工作線程數(默認:8) |
BLOGWATCHER_SILENT | 掃描時僅輸出 "scan done" |
BLOGWATCHER_YES | 跳過確認提示 |
BLOGWATCHER_CATEGORY | 按類別過濾文章的默認過濾器 |
示例輸出
$ blogwatcher-cli blogs
Tracked blogs (1):
xkcd
URL: https://xkcd.com
Feed: https://xkcd.com/atom.xml
Last scanned: 2026-04-03 10:30
$ blogwatcher-cli scan
Scanning 1 blog(s)...
xkcd
Source: RSS | Found: 4 | New: 4
Found 4 new article(s) total!
$ blogwatcher-cli articles
Unread articles (2):
[1] [new] Barrel - Part 13
Blog: xkcd
URL: https://xkcd.com/3095/
Published: 2026-04-02
Categories: Comics, Science
[2] [new] Volcano Fact
Blog: xkcd
URL: https://xkcd.com/3094/
Published: 2026-04-01
Categories: Comics
注意事項
- 當未提供
--feed-url時,會自動從博客主頁發現 RSS/Atom 訂閱源。 - 如果 RSS 失敗且配置了
--scrape-selector,則回退到 HTML 抓取。 - 來自 RSS/Atom 訂閱源的類別會被存儲,可用於過濾文章。
- 支持從 Feedly、Inoreader、NewsBlur 等導出的 OPML 文件批量導入博客。
- 數據庫默認存儲在
~/.blogwatcher-cli/blogwatcher-cli.db(可使用--db或BLOGWATCHER_DB覆蓋)。 - 使用
blogwatcher-cli <command> --help查看所有標誌和選項。