Blogwatcher

Мониторинг блогов и RSS/Atom-фидов через blogwatcher-cli.

Метаданные навыка

ИсточникОпциональный — устанавливается командой hermes skills install official/research/blogwatcher
Путьoptional-skills/research/blogwatcher
Версия2.0.0
АвторJulienTant (форк Hyaxia/blogwatcher)
ЛицензияMIT
Платформыlinux, macos, windows
ТегиRSS, Blogs, Feed-Reader, Monitoring

Справочник: полный SKILL.md

инфо

Ниже — полное определение навыка, которое Hermes загружает при его срабатывании. Именно эти инструкции видит агент, когда навык активен.

Blogwatcher

Отслеживайте обновления блогов и RSS/Atom-фидов с помощью инструмента blogwatcher-cli. Поддерживает автоматическое обнаружение фидов, резервный HTML-скрапинг, импорт OPML и управление статусом прочитанности статей.

Работа с инструментами Hermes (прочитайте в первую очередь)

blogwatcher-cli — это база данных фидов; автоматизацию вокруг неё обеспечивают инструменты Hermes:

  • Постоянное наблюдение — используйте поле monitor у инструмента cronjob, а не голое расписание. monitor запускает скрипт на каждом тике и будит агента только при изменении вывода: укажите скрипт, который выполняет blogwatcher-cli scan >/dev/null 2>&1 && blogwatcher-cli articles (вывод детерминированный; новые статьи = изменённый вывод = агент просыпается с внедрённым дифом). Тики без изменений не стоят ни одного вызова LLM. Задайте deliver, чтобы направлять дайджесты в чат или канал; добавьте continuity: true, чтобы последовательные дайджесты могли дедуплицироваться.
  • Чтение статьи, о которой спрашивает пользователь: вызовите web_extract([url]) на URL статьи из blogwatcher-cli articles — не скрапьте вручную повторно.
  • Разовое «следить за изменениями на странице» без семантики фида: пропустите этот навык — поле monitor инструмента cronjob принимает http(s)-URL напрямую.
  • Разовое чтение ленты или свежих постов сайта, без всякой установки: встроенный навык rss-feeds (scripts/feed.py read URL); blogwatcher оправдывает установку, когда лент много и нужен учёт прочитанного и непрочитанного.
  • Отслеживание компании/конкурента с анализом и цитатами: используйте навык competitor-news-monitor — blogwatcher служит для него более лёгким слоем сырых фидов, на который он может опираться.

Установка

Выберите один из способов:

  • 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 или volume-монтирование:

# Именованный volume (проще всего)
docker run --rm -v blogwatcher-cli:/data -e BLOGWATCHER_DB=/data/blogwatcher-cli.db ghcr.io/julientant/blogwatcher-cli scan

# Bind-монтирование хоста
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

Примечания

  • Автоматически находит RSS/Atom-фиды на главной странице блога, если --feed-url не указан.
  • При неудаче с RSS переходит на HTML-скрапинг, если настроен --scrape-selector.
  • Категории из RSS/Atom-фидов сохраняются и могут использоваться для фильтрации статей.
  • Можно массово импортировать блоги из OPML-файлов, экспортированных из Feedly, Inoreader, NewsBlur и других сервисов.
  • По умолчанию база данных хранится в ~/.blogwatcher-cli/blogwatcher-cli.db (переопределяется через --db или BLOGWATCHER_DB).
  • Используйте blogwatcher-cli <command> --help, чтобы увидеть все флаги и опции.
перевод и редактура:

обновлено

⌕ ESC