Cover image for shrnuti-clanku-pomoci-ai-a-n8n
August 2025

Shrnutí článků pomocí AI a n8n

V podstatě neustále řeším problém s tím, jak se prohrabat velkým množstvím informací a článků a jak z nich vytáhnout a zachovat podstatné informace. Zdá se, že kombinace AI, n8n a GitHubu by mohla být ta pravá.

Jak to funguje

Přidání nového článku

Hlavním uložištěm je privátní GitHub repozitář. Když narazím na článek, který si chci uložit na později, vytvořím v tomto repozitáři nové issue a nastavím mu label article. Tím manuální práce na chvíli končí.

n8n workflow

Workflow se spouští na základě webhooku, který je volán při založení issue v GitHub repozitáři, kde mám uložené souhrny článků.

n8n v základu nabízí GitHub trigger, který reaguje na nová issue, nicméně momentálně obsahuje chybu (#18447), kdy se někdy rozbije a workflow se musí překopírovat do nového souboru.

Pro potřeby triggerů z GitHubu nicméně stačí nastavit si obyčejný Webhook a povolit pouze Issues eventy.

Workflow je dále řízeno pomocí labelů, i když mám zatím implementovaný jen souhrn článku.

Zde konečně nastává hlavní logika - nejprve se načte zdrojový HTML kód stránky se článkem. Některé weby robotický přístup blokují (například Medium.com) a v takovém případě se na issue nastaví label error a jako komentář je vložena chybová zpráva.

Pokud jde ale všechno podle plánu, je HTML v celé své surovosti předán AI modelu, v mém případě gpt-5-mini. Ten má za úkol:

  • Zjistit nadpis článku.
  • Vygenerovat pět tagů, které se ke článku na základě jeho obsahu hodí.
  • Napsat odstavec shrnující obsah článku.
  • Udělat souhrn článku (v Markdown zápisu):
    • Vypíchnout hlavní myšlenky s doprovodným textem.
    • Pokud jsou v článku použity odborné nebo zažité termíny, vypsat je a uvést jejich význam.
    • Doplnit vlastní komentář ke článku, kde může AI souhlasit nebo polemizovat.

Celý tento výstup je vrácen jako JSON pro další zpracování.

Následně se založí na GitHubu nová branch, do ní se vytvoří soubor se souhrnem a otevře se pull request do main. Ten je přiřazen mému hlavnímu účtu a tím celé workflow končí.

Workflow

Čtení

Proces končí tak, že mergnu pull request do main, případně před tím ještě doplním / opravím obsah.

Dlouho jsem také řešil, jak ke článkům později přistupovat. Zkoušel jsem sice Notion, OneNote, kdysi i Pocket, ale aktuálně používám Obsidian a poté, co do něj přidali i Base plugin, který umožňuje přehledný databázový pohled, plní zatím veškerá očekávání.

Díky tomu, že vše je navíc Markdown, si mohu články přečíst i přímo na GitHubu.

Co svěřit AI a co už ne

Během tvorby workflow jsem si prošel tím, že jsem chtěl AI použít na většinu věcí. Obzvlášť mě nadchl AI Agent cluster, ke kterému lze připojit model, dostupné nástroje a pak už jen sledovat, jak si AI Agent sám provolává GitHub, model, zakládá soubor, vkládá do něj obsah... Jen teda do té doby, než občas něco zavolá se špatným parametrem, někde nedodrží požadovanou konvenci...

Postupem času se prostě ukáže, že místo přesvědčování AI o tom, že (zjednodušeně):

Na začátek výstupu vlož validní frontmatter zápis, kde bude název článku, tagy a datum vytvoření.

Je lepší si nechat jednotlivé údaje vrátit a pokud potřebuji konkrétní (a deterministický) výstup, tak si to poskládat sám.

Proto mi AI vrací jen strukturovaná data, která pak následující kroky skládají do konkrétní podoby.