跳到正文
cccskills
免费在 GitHub 公开

blogwatcher

Track RSS/Atom feeds and blogs via blogwatcher-cli.

中文简介正在准备中。当前显示原文说明。

集成工具Docker
查看安装方法

包含的文件(1)

  • SKILL.md4.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Blogwatcher

Track blog and RSS/Atom feed updates with blogwatcher-cli. Supports automatic feed discovery, HTML scraping fallback, OPML import, and read/unread article management. Run all commands via shell_exec.

Installation

Go (recommended):

go install github.com/JulienTant/blogwatcher-cli/cmd/blogwatcher-cli@latest

Binary (replace linux_amd64 with your target: linux_arm64, darwin_arm64, darwin_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

Docker (persist the DB or it resets on container restart):

docker run --rm -v blogwatcher-cli:/data \
  -e BLOGWATCHER_DB=/data/blogwatcher-cli.db \
  ghcr.io/julientant/blogwatcher-cli scan

Default DB path: ~/.blogwatcher-cli/blogwatcher-cli.db

All releases: https://github.com/JulienTant/blogwatcher-cli/releases

Managing Blogs

blogwatcher-cli add "My Blog" https://example.com                                   # auto-discover feed
blogwatcher-cli add "My Blog" https://example.com --feed-url https://example.com/feed.xml
blogwatcher-cli add "My Blog" https://example.com --scrape-selector "article h2 a"  # HTML scraping fallback
blogwatcher-cli blogs                     # list tracked blogs
blogwatcher-cli remove "My Blog" --yes
blogwatcher-cli import subscriptions.opml # bulk import (Feedly, Inoreader, NewsBlur, etc.)

Scanning and Reading

blogwatcher-cli scan                           # scan all blogs
blogwatcher-cli scan "My Blog"                 # scan one blog
blogwatcher-cli articles                       # list unread articles
blogwatcher-cli articles --all
blogwatcher-cli articles --blog "My Blog"
blogwatcher-cli articles --category "Engineering"
blogwatcher-cli read 1                         # mark article read by ID
blogwatcher-cli unread 1
blogwatcher-cli read-all
blogwatcher-cli read-all --blog "My Blog" --yes

Environment Variables

VariableDefaultDescription
BLOGWATCHER_DB~/.blogwatcher-cli/blogwatcher-cli.dbSQLite database path
BLOGWATCHER_WORKERS8Concurrent scan workers
BLOGWATCHER_SILENT-Only output "scan done" on scan
BLOGWATCHER_YES-Skip confirmation prompts
BLOGWATCHER_CATEGORY-Default article filter by category

All flags can also be set via matching BLOGWATCHER_* env vars.

LaRuche Usage Pattern

shell_exec: blogwatcher-cli scan
shell_exec: blogwatcher-cli articles

Then read the article list and act on it. Do NOT pipe it into memory wholesale: memory_write takes node_id and content, it stores ONE fact per call, and a node id is dotted and snake_case (veille.blogs), never a slash path. A dump of every unread headline poisons every later memory_search with noise nobody can prune. Write the conclusion instead, one item at a time:

memory_write: node_id=veille.blogs, content=<the one thing worth remembering>

For the raw list, and for any passage you may want to quote later, file_write it to disk and memory_write the path with one line saying what it holds. Long text never goes into memory itself.

Traps

  • scan is what fetches. articles only reads the local database, so a listing without a preceding scan shows yesterday's world and looks like nothing was published.
  • The Docker form needs a volume. Without -v, the database lives in the container and every article is unread again after a restart.
  • read-all is not undoable. Confirm with the user before running it, and prefer read-all --blog "<name>" over the unscoped form.
  • Auto-discovery fails silently on some sites. A blog added with no feed found stays in the list and never produces an article. If a blog never yields anything, re-add it with an explicit --feed-url, or with --scrape-selector.

Failure modes

blogwatcher-cli: command not found. Not installed, or the Go bin directory is not on PATH. Install with one of the commands above, then confirm with blogwatcher-cli blogs.

scan finds nothing for a blog that clearly publishes. No feed was discovered. Fetch the site and look for a <link rel="alternate" type="application/rss+xml"> tag, then re-add the blog with --feed-url. If the site has no feed at all, use --scrape-selector with a CSS selector matching the article links.

Every article comes back unread after a restart. The database moved. Set BLOGWATCHER_DB to a fixed absolute path, and use it consistently.

Run blogwatcher-cli <command> --help to see all flags.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Drive an installed LaRuche App through its declared actions, never its files.

中文简介正在准备中。当前显示原文说明。

infinition/LaRuche332026年9月22日 更新

arxiv

免费

Find academic papers on arXiv, with citation counts and BibTeX.

中文简介正在准备中。当前显示原文说明。

infinition/LaRuche332026年9月22日 更新

ascii-art

免费

Render text or an image as ASCII art for terminal-friendly output.

中文简介正在准备中。当前显示原文说明。

infinition/LaRuche332026年9月22日 更新

Drive a real web browser: navigate, read, find, click, fill, screenshot

中文简介正在准备中。当前显示原文说明。

infinition/LaRuche332026年9月22日 更新

Measure a codebase: lines of code, language mix, and symbol lookups.

中文简介正在准备中。当前显示原文说明。

infinition/LaRuche332026年9月22日 更新

Store, find and curate lasting facts in the cognitive memory map.

中文简介正在准备中。当前显示原文说明。

infinition/LaRuche332026年9月22日 更新

查看 infinition 的全部技能

报告此技能的问题