Logo
Jak w jeden wieczór stworzyłam własny system: artykuł → podkast na Apple Podcasts

Jak w jeden wieczór stworzyłam własny system: artykuł → podkast na Apple Podcasts

Nie jesteś programistką/programistą? Poniższy opis jest dość techniczny. Dobra wiadomość: możesz mieć własne podkasty z artykułów całkowicie za darmo, bez żadnego kodu — dzięki NotebookLM od Google.Tutaj tłumaczę jak to działa i jak zacząć →

Ile masz zakładek "do przeczytania"? Nie musisz odpowiadać. Znam ten temat.

Przez lata próbowałam różnych metod. Feedly, Obsidian, "wyślę sobie mailem". Żadna nie działała naprawdę, bo problem nie był w narzędziu do zbierania. Problem był w tym, że czytanie artykułów konkuruje z wszystkim innym.

Więc przestałam zbierać. Zaczęłam słuchać.

Email jako interfejs

Założyłam dedykowaną skrzynkę mailową, która służy mi jako wejście do różnych automatyzacji. Moi agenci AI mają do niej pełny dostęp — to ich "mail", mój sposób komunikacji z nimi zamiast Discorda czy WhatsAppa.

Cała obsługa wejścia wygląda tak: wysyłam URL na ten adres i zapominam. Wieczorem launchd na moim Macu odpala skrypt, który sprawdza nieprzeczytane wiadomości. Jeśli znajdzie link z mojego adresu, rusza pipeline. Bez aplikacji, bez webhooka, bez klikania. Wystarczy poczta.

Bonus: newslettery jako źródło

Mam sporo subskrypcji, które trafiają na tę samą skrzynkę. System je rozpoznaje. Zamiast przetwarzać cały newsletter jako artykuł, LLM wyciąga z niego wszystkie linki do konkretnych tekstów i zapisuje je jako kafelki w moim prywatnym widgecie.

Tam mogę zobaczyć tytuł, krótki opis i źródło każdego linku. Oznaczam, które chcę przetworzyć w podcast, które były wartościowe, a które warto pominąć w przyszłości. Zamiast czytać newsletter, skanuję listę i wybieram.

Do tego samego widgetu moi agenci AI wrzucają to, na co sami natrafią.Kryształ i inni moi agenciprzeglądają codziennie rano internet w poszukiwaniu rzeczy, które mogą mnie zainteresować: release notes Claude, nowe biblioteki, artykuły spoza mojej zwykłej "bańki informacyjnej". Trafiają do mnie przez MCP, który działa jako wspólna skrzynka. Jeden widżet, wiele źródeł.

Tak wygląda cały przepływ:

📧skrzynka mailowa
(wysyłam URL)
🤖Kryształ i agenci AI
(codziennie rano)
📰newslettery
(automatycznie)
LLM wyciąga linki
🗂️kolejka do przetworzenia
(MCP widget)
co wieczór
⚙️launchd daemon
🔄pipeline
🎙️NotebookLM
(Playwright → MP3)
🎧Apple Podcasts
(RSS feed)
🔬dual-researcher
A + B → Weryfikator → Syntezator
📄prywatna strona
(baza wiedzy)

Podcast w Apple Podcasts, pomiędzy ulubionymi

NotebookLM od Google potrafi z dowolnego artykułu wygenerować odcinek podkastu w formie naturalnego dialogu dwóch prowadzących. Zazwyczaj robi się to ręcznie przez interfejs. Mój skrypt Python robi to automatycznie przez nieoficjalną bibliotekę notebooklm, która steruje przeglądarką przez Playwright.

Jak to wygląda pod spodem: skrypt tworzy nowy notatnik w NotebookLM, dodaje URL artykułu jako źródło, zleca generowanie audio i czeka na zakończenie. Gdy odcinek jest gotowy, pobiera plik MP3 i usuwa notatnik. Wszystko na dedykowanym koncie Google, żeby nie mieszać z prywatnym.

Ograniczenie: Google pozwala na maksymalnie 3 odcinki dziennie. Skrypt obsługuje to elegancko, kolejkując kolejne na następny dzień.

Gotowy plik MP3 ląduje na moim serwerze, a skrypt aktualizuje plik feed.xmlw formacie RSS. Ten feed dodałam do Apple Podcasts jako własny prywatny podkast. Efekt: moje artykuły pojawiają się w kolejce obokTechStorie iKuźniar Technologicznie. Zwykłe słuchawki, zwykły spacer, własna lista.

Cztery modele zamiast jednego

Tu zrobiłam coś ciekawszego niż proste "streść mi ten artykuł". Pipeline używa wzorca dual-researcher:

  • Researcher A szuka konkretów: liczby, twierdzenia, potencjalne pułapki i nieścisłości.
  • Researcher B buduje ogólny obraz: kontekst, dlaczego to ważne, co z tego wynika.
  • Weryfikator porównuje oba wyniki i szuka luk, które obaj pominęli.
  • Syntezator składa to w czytelny artykuł z sekcjami i kluczowymi wnioskami.

Wszystkie cztery wywołania idą przez OpenRouter. Koszt jednego artykułu to kilka groszy.

Ten wzorzec mam jako skill w swoim workflow od dawna. Używam go gdy muszę szybko wejść w nowy temat — artykuł naukowy, dokumentacja biblioteki, specyfikacja techniczna, długi RFC. Zamiast czytać od deski do deski, dostaję strukturę i kluczowe punkty w minutę. Przeniesienie tego do pipeline'u z newsami było naturalne.

Płytkie "streść to" daje płytkie wyniki. Dwa modele patrzące na ten sam tekst z różnych kątów, plus weryfikator szukający dziur, dają znacznie głębsze i bardziej rzetelne streszczenie. Szczególnie przy długich lub gęstych merytorycznie tekstach różnica jest wyraźna.

Co mi to dało

Przestałam gromadzić linki. Teraz gdy widzę ciekawy artykuł, wysyłam go mailem i nie myślę o nim więcej. Wieczorem system robi swoją robotę. Rano mam podcast w kolejce.

Streszczenia zostają na mojej prywatnej stronie i są moją bazą wiedzy. Każde jest powiązane z oryginalnym linkiem, datą i tagami tematycznymi. Gdy za dwa tygodnie pracuję nad powiązanym problemem, mam gdzie szukać. Podcasty usuwam automatycznie po 30 dniach, żeby oszczędzać miejsce na serwerze. Streszczenia zostają.

Całość działa bez mojej uwagi, za mniej niż 50 groszy dziennie.

Implementacja w jeden wieczór

Najdłużej zajęło mi połączenie części z NotebookLM, bo biblioteka jest nieoficjalna i trzeba obsłużyć kilka scenariuszy błędów. Sam pipeline i integracja z RSS to kwestia godziny.

Wzorzec dual-researcher mam gotowy od dawna — po prostu skopiowałam prompty z innego projektu. Połączenie z OpenRouter to kilka linii kodu.

Jeśli masz już skrzynkę mailową, Pythona i konto Google, jesteś w połowie drogi.