Skip to main content

Sekcja F — Automatyzacje monitoringu (n8n + auto-wiki)

TL;DR: Pięć workflow + auto-wiki pipeline który trzyma tę bazę żywą bez ręcznej pracy. Codzienny cron 8:00 zbiera nowe posty z 8 YouTube + 4 Substack, transkrybuje, ekstrahuje wnioski przez Gemini, generuje wpisy do wiki. Plus 5 n8n flow do równoległego monitoringu LinkedIn/X (gdzie RSS nie istnieje) + alertów dla najważniejszych sygnałów.

TL;DR

Pięć workflow + auto-wiki pipeline który trzyma tę bazę żywą bez ręcznej pracy. Codzienny cron 8:00 zbiera nowe posty z 8 YouTube + 4 Substack, transkrybuje, ekstrahuje wnioski przez Gemini, generuje wpisy do wiki. Plus 5 n8n flow do równoległego monitoringu LinkedIn/X (gdzie RSS nie istnieje) + alertów dla najważniejszych sygnałów.

1. Auto-wiki pipeline (już działa)

Co robi

Pipeline w scripts/auto-wiki/ codziennie o 8:00:

  • Sprawdza RSS z config.yaml (8 YouTube channels + 4 Substack)
  • Pobiera nowe wideo przez yt-dlp (audio only)
  • Transkrybuje przez mlx-whisper (lokalnie, M5)
  • Wysyła do Gemini 2.0 Flash z promptem "rozszerz wiki o nowe insighty"
  • Tworzy draft → walidacja → auto-merge do wiki (lub wiki-drafts/ do review)
  • git push jeśli git_auto_push: true

Konfiguracja po Etapie 4

Plik scripts/auto-wiki/config.yaml zawiera teraz:


youtube_channels:
  - name: "AI Product Heroes"
    rss_url: "https://www.youtube.com/feeds/videos.xml?channel_id=UCax6OA7YbYilcMrfQsUJG-Q"
  - name: "Cole Medin"
    rss_url: "https://www.youtube.com/feeds/videos.xml?channel_id=UCMwVTLZIRRUyyVrkjDpn4pA"
  - name: "IndyDevDan"
    rss_url: "https://www.youtube.com/feeds/videos.xml?channel_id=UC_x36zCEGilGpB1m-V4gmjg"
  - name: "Nate Herk"
    rss_url: "https://www.youtube.com/feeds/videos.xml?channel_id=UC2ojq-nuP8ceeHqiroeKhBA"
  - name: "AI Jason"
    rss_url: "https://www.youtube.com/feeds/videos.xml?channel_id=UCrXSVX9a1mj8l0CMLwKgMVw"
  - name: "n8n"
    rss_url: "https://www.youtube.com/feeds/videos.xml?channel_id=UCiHVTkJtWSdc9N3h0nUGWLg"
  - name: "Anthropic"
    rss_url: "https://www.youtube.com/feeds/videos.xml?channel_id=UCrDwWp7EBBv4NwvScIpBDOA"
  - name: "Akademia Automatyzacji (PL)"
    rss_url: "https://www.youtube.com/feeds/videos.xml?channel_id=UCbtwNjHMUoOPvoBCknlgdQg"

web_sources:
  - name: "Anthropic Blog"
    type: rss
    url: "https://www.anthropic.com/rss.xml"
  - name: "OpenAI Blog"
    type: rss
    url: "https://openai.com/news/rss.xml"
  - name: "Latent.Space"
    type: rss
    url: "https://www.latent.space/feed"
  - name: "Ben's Bites"
    type: rss
    url: "https://bensbites.substack.com/feed"
  - name: "One Useful Thing"
    type: rss
    url: "https://www.oneusefulthing.org/feed"
  - name: "AI w zasięgu biznesu (PL)"
    type: rss
    url: "https://aiwzasiegubiznesu.substack.com/feed"

Test pipeline


cd ~/projects/personal/bartoszgaca.pl
GEMINI_API_KEY="..." python3 scripts/auto-wiki/pipeline.py --dry-run

Manualne uruchomienie dla konkretnego URL


GEMINI_API_KEY="..." python3 scripts/auto-wiki/pipeline.py \
  --url "https://www.youtube.com/watch?v=XXX"

2. n8n workflow — LinkedIn/X monitoring (gdzie RSS nie istnieje)

LinkedIn nie ma RSS. X (Twitter) wyłączyło RSS. Dla 25 twórców z TOP10 + TIER2 + PL, którzy publikują głównie tam, potrzebujemy n8n flow.

Workflow #1 — LinkedIn posts scrape (Apify + n8n)

Trigger: Schedule (codziennie 9:00)

Steps:

  • HTTP Request → Apify Actor "linkedin-posts-scraper"
  • Input: lista 25 URL profili z TOP10 + TIER2 + PL
  • Output: posts z ostatnich 24h
  • Filter → tylko posty z keywords: n8n|make.com|claude|MCP|automation|AI agent|workflow
  • AI Summarize → Anthropic API (claude-haiku-4-5) → 2-zdaniowy summary
  • IF → score > 7 → branch A; else → branch B
  • Branch A (alpha signal): Telegram message + zapisz w output/alerts/
  • Branch B (low signal): tylko zapis do output/feed/

Koszt: Apify ~$0.05/profil/dzień × 25 = ~$1.25/dzień, Anthropic Haiku ~$0.01/dzień. Razem ~$40/mc.

Workflow #2 — X (Twitter) bookmarks via nitter.net mirror

Trigger: Cron co 4h

Steps:

  • HTTP Request → nitter.net/levelsio/rss (i inne profile X)
  • Parse RSS → standard n8n RSS node
  • Filter → ostatnie 4h
  • Merge z innymi nitter feedami
  • AI Summarize → Claude Haiku
  • Write → output/x-feed/{date}.md

Uwaga: nitter.net jest niestabilny. Alternatywa: Twitter API v2 ($100/mc) lub manual Twitter list w aplikacji.

Workflow #3 — Telegram daily digest

Trigger: Schedule (codziennie 8:30)

Steps:

  • Read files → output/alerts/*.md z ostatnich 24h
  • Aggregate → connect node
  • AI Format → Gemini 2.0 Flash → digest w formacie:
  • 
       🎯 ALPHA SIGNALS (3):
       - Cole Medin: nowy livestream o Archon v2
       - Boris Cherny: thread o Claude Code 10 sesji
       - Trzepieciński: case study n8n + Claude API u klienta
       
       📡 NOISE (12 ignored)
    
  • Telegram Send → bot to private channel

Workflow #4 — GitHub trending dla AI tools

Trigger: Codziennie 7:00

Steps:

  • HTTP Request → GitHub API: repos search z keywords claude-code MCP n8n agents sorted by stars-this-week
  • Filter → stars > 100 AND created < 90 days
  • Webhook → output/github-trending/{date}.json
  • AI Triage → Claude Haiku → "czy to nowy framework czy fork?"
  • Telegram jeśli "nowy framework"

Workflow #5 — Automatyczna aktualizacja wiki o "co dzisiaj viraluje"

Trigger: Codziennie 20:00

Steps:

  • Read → output/feed/{today}.md (z LinkedIn workflow #1)
  • AI Synthesize → Gemini → "Co viraluje dzisiaj w AI ops?"
  • Append → wiki page 07-twórcy-do-śledzenia/_daily-pulse.md
  • git commit + push raz/tydzień (niedziela)

Wartość: Roczne archiwum wskaźników "co viralowało kiedy" → spojrzenie wstecz dla content planning.

3. Cron na Macu (launchd)

Auto-wiki już zarejestrowany w ~/Library/LaunchAgents/com.bartoszgaca.autowiki.plist. Sprawdź status:


launchctl list | grep autowiki
# -  0  com.bartoszgaca.autowiki  (zarejestrowany, uruchomi się o 8:00)

Logi: tail -f ~/projects/personal/bartoszgaca.pl/output/auto-wiki-pipeline.log

4. Reguły walidacji (anti-hallucination dla auto-content)

scripts/auto-wiki/validate.py ma grep zakazanych fraz (lista pełna w scripts/auto-wiki/validate.py):

  • frazy typu "warto/należy + czasownik" (typowy AI-blandness)
  • frazy typu "klucz* + jest"
  • frazy nadające ton kazania ("przed wszystkim", "fundamentalnie")
  • frazy filerowe typu "warto + zaznaczyć/podkreślić"

Plus AI quality check przez Claude Sonnet z trzema decyzjami:

  • PUBLISH → auto-merge do wiki
  • NEEDS_REVIEW → do output/wiki-drafts/ do manualnego review
  • REJECT → do output/wiki-rejected/ (nie powraca)

5. Metryki monitoringu (raz/kwartał)

Co 3 miesiące sprawdź:

MetrykaPróg do reagowania
Twórca nie publikował 60+ dniUsuń z config.yaml
Twórca zmienił niszę (np. AI ops → web3)Usuń + dopisz powód do anti-rules
Nowy twórca >50k followers w niszy w PLDodaj do TIER 2 / kontaktuj
Nowy framework >5k stars w 30 dniDodaj do GitHub trending watch
Polskich twórców 🥇 ALPHA w bazieCel: 4 do końca 2026 (obecnie 2)

6. Komendy do regularnego refresh


# Pełny refresh tej bazy
cd ~/projects/personal/bartoszgaca.pl
GEMINI_API_KEY="..." python3 scripts/auto-wiki/pipeline.py --dry-run
python3 scripts/build-wiki.py
git status

# Test konkretnego YT channel
GEMINI_API_KEY="..." python3 scripts/auto-wiki/pipeline.py \
  --url "https://www.youtube.com/watch?v=NAJNOWSZE_VIDEO_ID"

# Re-validate stare pages (lista zakazanych fraz w validate.py)
python3 scripts/auto-wiki/validate.py --check output/beecommerce-wiki/07-twórcy-do-śledzenia/

Powiązane

  • 01-alpha-sources — twórcy podpięci do pipeline
  • 05-kanały-poza-linkedin — wszystkie RSS feeds
  • 04-automatyzacja — n8n vs Zapier — kontekst narzędzi