[2026-05-20] watchlist-automation: новые krony, структура секций; watchlist-sync: cron architecture
This commit is contained in:
@@ -107,7 +107,16 @@ WATCHLIST_PATH=/vault/family/documents/movies-watchlist.md
|
||||
|
||||
**Jellyfin userId:** получать через `GET /Users` (admin user = alex)
|
||||
|
||||
### 1.5 AI Curation Job (Hermes Kraken)
|
||||
### 1.5 Cron Jobs (Hermes Eagle)
|
||||
|
||||
Два детерминированных shell-script крона:
|
||||
|
||||
| Job | Расписание | Скрипт |
|
||||
|-----|-----------|--------|
|
||||
| `watchlist-nightly` | ежедн. 01:00 | `~/.hermes/scripts/watchlist-nightly.sh` |
|
||||
| `watchlist-discover` | вс 09:00 | `~/.hermes/scripts/watchlist-discover.sh` |
|
||||
|
||||
Используют `~/scripts/sync-vault.sh` для всех git-операций (stash/pull/pop/commit/push). **Не агентные** — скрипты вызывают CLI напрямую, никакого LLM в pipeline.
|
||||
|
||||
**Cron: каждые 6 часов**
|
||||
|
||||
|
||||
@@ -46,17 +46,38 @@ Jellyfin (8096) → rescan → виден контент
|
||||
|--------|---------|---------|
|
||||
| `[ ]` | не смотрел, в очереди | sync-down добавляет в Radarr/Sonarr |
|
||||
| `[x]` | просмотрено | sync-up из Jellyfin watched history |
|
||||
| `⬇️` | добавлено в Radarr/Sonarr | ждёт скачки |
|
||||
| `👍` | нравится (новинка) | process-thumbs переносит в начало → попадёт в sync-down |
|
||||
| `👎` | не хочу (новинка) | process-thumbs перемещает в "Новинки 👎" |
|
||||
| `👎` | не хочу (новинка) | process-thumbs перемещает в `## Новинки👎` |
|
||||
| `🗓️` | upcoming (ещё не вышел) | discover помечает, не скачивается |
|
||||
| `❓` | не найдено / ambiguous | ждёт ручного уточнения |
|
||||
| `🧟♀️` | horror (genre_id=27) | информационный маркер |
|
||||
|
||||
## Структура секций movies-watchlist.md
|
||||
|
||||
```
|
||||
## Новинки - 👍/👎 ← discover добавляет сюда
|
||||
## Фильмы ← основной список, отступ 2 пробела ( - [ ])
|
||||
## Мультфильмы
|
||||
## Аниме
|
||||
## Новинки👎 ← ← без пробела перед 👎
|
||||
## Связанные заметки
|
||||
```
|
||||
|
||||
**Важно:** `process_thumbs` автоматически определяет отступ из `## Фильмы` и сохраняет при переносе. `SECTION_THUMBDN = "## Новинки👎"` (без пробела) — должно точно совпадать с заголовком.
|
||||
|
||||
## Cron Jobs на Eagle
|
||||
|
||||
| Job | ID | Расписание |
|
||||
|-----|-----|-----------|
|
||||
| `watchlist-discover` | `6aba6979b8c4` | вс 09:00 |
|
||||
| `watchlist-resolve` | `16438138c8c5` | ежедн. 09:00 |
|
||||
| `watchlist-sync-down` | `7d12b6d48786` | ежедн. 10:00 |
|
||||
Два shell-script крона (не агентные — детерминированы):
|
||||
|
||||
| Job | ID | Расписание | Скрипт |
|
||||
|-----|-----|-----------|--------|
|
||||
| `watchlist-nightly` | `93619b22b330` | ежедн. 01:00 | `~/.hermes/scripts/watchlist-nightly.sh` |
|
||||
| `watchlist-discover` | `8f219dfe8f0f` | вс 09:00 | `~/.hermes/scripts/watchlist-discover.sh` |
|
||||
|
||||
**watchlist-nightly.sh** (Mac → Kraken → Mac):
|
||||
1. `sync-vault.sh` (pull Mac) → `process-thumbs --apply` → `sync-vault.sh` (push Mac)
|
||||
2. SSH Kraken: `sync-vault.sh` (pull) → `resolve --recheck --apply` → `sync-down --apply --batch 5` → `sync-up --apply` → `sync-vault.sh` (push)
|
||||
|
||||
## Discover — Фильтрация
|
||||
|
||||
|
||||
Reference in New Issue
Block a user