From 1caa9ffbfa8aeb43bcff0e8d072d6b270efce407 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 13 May 2026 19:09:59 +0600 Subject: [PATCH] Failed to authenticate. API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"Invalid authentication credentials"},"request_id":"req_011Cazd4rFgPZcyudQtFHbKE"} [2026-05-13] vault sync --- family/projects/media-toolbox-kraken.md | 38 +++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/family/projects/media-toolbox-kraken.md b/family/projects/media-toolbox-kraken.md index 9dea1823..aa891c5b 100644 --- a/family/projects/media-toolbox-kraken.md +++ b/family/projects/media-toolbox-kraken.md @@ -927,9 +927,43 @@ TrueNAS: /mnt/RED_2TB/storage/Music/ (master copy) - rsync идёт (~19-20GB из сотен GB по категориям) - Следующий dry run — когда rsync скопирует больше файлов с правильной структурой подпапок +### Сессия 3 — 2026-05-13 (agent + deploy scripts) + +**Реализованы новые компоненты (`kraken-agent` ветка, коммиты 22abd5a, 4c91ddd):** + +**`UnresolvedEntry` / `UnresolvedStore`** — персистентный JSON-реестр нераспознанных регионов: +- Автоматически обновляется после каждого `resolve` / `sync` +- Поддерживает merge (upsert + remove resolved), atomic write +- Хранит: path, reason, queryNames, attemptCount, agentHint +- Файл: `/config/unresolved.json` (рядом с config.json) + +**`media-pipeline resolve-manual`** — force-resolve по ID: +``` +media-pipeline resolve-manual --media-path /media/movies/Сталкер \ + --tmdb 11 --type movie +``` +- TMDb / IMDb / Kinopoisk lookup → NFO write → удаление из unresolved.json + +**`media-pipeline agent`** — LLM-assisted batch: +``` +media-pipeline agent --apply --limit 30 +``` +- Pre-check: TMDb text search (score ≥ 0.85) → resolve без LLM +- Fallback: OpenRouter/GPT-4o-mini → corrected title → TMDb lookup → NFO +- Без `--apply`: сохраняет hints в unresolved.json для ревью + +**Deploy scripts:** +- `scripts/kraken-agent-cron.sh` — запуск агента 2x/день, pre-check на пустой unresolved.json +- `scripts/on-download-complete.sh` — download-complete hook: sync → torrent-set-location +- `scripts/transmission-location-update.sh` — RPC helper +- `deploy/docker-compose.jellyfin.yml` — Jellyfin + 5 библиотек + RPi5 V4L2 transcode + ### Что осталось +- [ ] Дождаться SSH на Кракен + вставить OpenRouter ключ в config.json +- [ ] Docker build нового образа (собирается через Colima, proc_5bfba754244a) +- [ ] Задеплоить новый образ на Кракен (`docker save | scp | docker load`) - [ ] Дождаться rsync (~1.3TB), прогнать полный dry run - [ ] torrent-set-location для 7 перенесённых торрентов (после rsync) -- [ ] Настроить Jellyfin библиотеки (шаг 11) -- [ ] Hermes cron на Кракене (шаг 13) +- [ ] Настроить Jellyfin (`deploy/docker-compose.jellyfin.yml` → `docker compose up -d`) +- [ ] Hermes cron на Кракене: `scripts/kraken-agent-cron.sh` 2x/day - [ ] Rutracker-скилл (шаг 14)