← Wróć do bloga

14,6k gwiazdek: Steruj Google NotebookLM przez Python i podłącz Claude Code

  • notebooklm ai
  • notebooklm tutorial
  • notebooklm
  • notebooklm oficjalny

Interfejs webowy Google NotebookLM wystarcza do okazjonalnego użytku, ale gdy potrzebujesz pipeline’ów badawczych, skryptów shell lub workflow z agentami AI, trafiasz na mur: większość działań wymaga klikania w UI, a praca wsadowa męczy.

notebooklm-py na GitHubie ( 14,6k+ gwiazdek na maj 2026) wypełnia tę lukę — warstwa Python nad NotebookLM, którą można podłączyć do Claude Code i podobnych agentów.

Sterowanie NotebookLM przez Python

Gdzie kończy się interfejs webowy NotebookLM

NotebookLM pozwala wgrywać PDF-y, URL-e i linki YouTube, potem rozmawiać i generować podcasty, slajdy, quizy itd. Wyszukaj notebooklm tutorial — znajdziesz przewodniki startowe — ale oficjalny UI ma wyraźne ograniczenia:

  • Import i pobieranie wsadowe to jeden klik na element
  • Quizy i fiszki tylko interaktywne — bez eksportu JSON ani Markdown
  • Mapy myśli i tabele danych nie udostępniają danych strukturalnych w przeglądarce
  • Brak natywnej integracji z Claude Code, Codex czy innymi agentami kodowania

Do sporadycznych notatek web wystarczy. Do pipeline’ów, zadań CI lub «przeczytaj 20 artykułów i wygeneruj quizy» potrzebujesz programistycznego API.

Czym jest notebooklm-py?

notebooklm-py to nieoficjalne SDK i CLI w Pythonie, utrzymywane przez społeczność (licencja MIT). Poprzez reverse engineering wewnętrznego RPC Google udostępnia prawie wszystkie możliwości NotebookLM oraz funkcje, których web nigdy nie dostał.

Uwaga: Niepowiązane z Google. Korzysta z niedokumentowanych API, które mogą przestać działać. Najlepsze do projektów osobistych, badań i prototypów.

Trzy sposoby użycia

MetodaNajlepsze do
Python APIIntegracja z aplikacjami, async pipeline’y, własne skrypty
CLISkrypty shell, szybkie zadania, CI/CD
Integracja z agentamiClaude Code, Codex, OpenClaw, automatyzacja językiem naturalnym

Czego nie oferuje interfejs webowy

MożliwośćCo otrzymujesz
Pobieranie wsadoweWszystkie artefakty danego typu naraz (MP3, MP4, PDF, PNG itd.)
Eksport quizów / fiszekJSON, Markdown, HTML — nie tylko widok interaktywny
JSON mapy myśliDane hierarchiczne dla D3, ECharts lub innych narzędzi
CSV tabel danychEksport gotowy do arkusza
PPTX slajdówEdytowalny PowerPoint, nie tylko PDF
Rewizja pojedynczego slajduZmiana jednego slajdu promptem w języku naturalnym
Zapisanie czatu jako notatkiTrwałe Q&A lub całe rozmowy w notebooku
Pełny tekst źródełProgramistyczny dostęp do zindeksowanego tekstu
Profile wielu kontPrzełączanie kont Google bez ponownego logowania
Import cookies przeglądarkiPonowne użycie zalogowanej sesji

Zakres generowania jest szeroki: audio overview (4 formaty, 50+ języków), wideo (w tym cinematic), infografiki, raporty, quizy, fiszki, mapy myśli i tabele — często z dokładniejszą kontrolą niż na stronie.

Szybka instalacja

Użytkownicy CLI (w tym agenci):

pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json

Tylko biblioteka (z wcześniej uzyskanym storage_state.json, bez Chromium):

pip install notebooklm-py

Szczegóły w installation.md projektu.

Walkthrough CLI: od notebooka do pobranego podcastu

notebooklm create "AI Research"
notebooklm use <notebook_id>
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add "./paper.pdf"
notebooklm ask "What are the key themes?"
notebooklm generate audio "make it engaging" --wait
notebooklm download audio ./podcast.mp3
notebooklm generate quiz --difficulty hard
notebooklm download quiz --format markdown ./quiz.md

Użyj --prompt-file dla długich promptów przekraczających limit długości shell.

Przykład Python API

import asyncio
from notebooklm import NotebookLMClient

async def main():
    async with await NotebookLMClient.from_storage() as client:
        nb = await client.notebooks.create("Research")
        await client.sources.add_url(nb.id, "https://example.com", wait=True)
        result = await client.chat.ask(nb.id, "Summarize this")
        print(result.answer)
        status = await client.artifacts.generate_quiz(nb.id)
        await client.artifacts.wait_for_completion(nb.id, status.task_id)
        await client.artifacts.download_quiz(nb.id, "quiz.json", output_format="json")

asyncio.run(main())

Projekt async dobrze wpisuje się w większe workflow asyncio.

Integracja z Claude Code

Repozytorium zawiera Agent Skill. Dwa sposoby instalacji:

# Opcja 1: instalacja CLI do Claude Code / katalogu .agents
notebooklm skill install

# Opcja 2: ekosystem skills
npx skills add teng-lin/notebooklm-py

Po konfiguracji możesz powiedzieć Claude Code: «Dodaj ten PDF do NotebookLM, wygeneruj trudny quiz i wyeksportuj Markdown» — agent uruchomi CLI notebooklm zamiast każe ci klikać w przeglądarce.

Dla developerów budujących workflow notebooklm ai, którzy chcą pełnych możliwości generowania notebooklm oficjalny, to dziś najpłynniejsza ścieżka.

Wolisz nie konfigurować środowiska lokalnego?

Playwright, cookies i zmiany API nie są dla każdego. Jeśli chcesz skupić się na wgrywaniu → pytaniu → generowaniu bez instalacji, skorzystaj z naszego NotebookLM online:

Zacznij korzystać z NotebookLM


Podsumowanie

notebooklm-py zamienia NotebookLM z narzędzia webowego opartego na klikaniu w scriptowalny silnik wiedzy gotowy dla agentów. 14,6k gwiazdek odzwierciedla realne zapotrzebowanie: badacze eksportujący quizy wsadowo, twórcy wpinający generowanie podcastów w pipeline’y, developerzy sterujący importem i pobieraniem z Claude Code jednym zdaniem.

Zostaw web do lekkiego codziennego użytku; sięgnij po Python + CLI + agentów, gdy potrzebujesz automatyzacji i eksportów, których przeglądarka nigdy nie oferowała.

Projekt: github.com/teng-lin/notebooklm-py