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.

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
| Metoda | Najlepsze do |
|---|---|
| Python API | Integracja z aplikacjami, async pipeline’y, własne skrypty |
| CLI | Skrypty shell, szybkie zadania, CI/CD |
| Integracja z agentami | Claude Code, Codex, OpenClaw, automatyzacja językiem naturalnym |
Czego nie oferuje interfejs webowy
| Możliwość | Co otrzymujesz |
|---|---|
| Pobieranie wsadowe | Wszystkie artefakty danego typu naraz (MP3, MP4, PDF, PNG itd.) |
| Eksport quizów / fiszek | JSON, Markdown, HTML — nie tylko widok interaktywny |
| JSON mapy myśli | Dane hierarchiczne dla D3, ECharts lub innych narzędzi |
| CSV tabel danych | Eksport gotowy do arkusza |
| PPTX slajdów | Edytowalny PowerPoint, nie tylko PDF |
| Rewizja pojedynczego slajdu | Zmiana jednego slajdu promptem w języku naturalnym |
| Zapisanie czatu jako notatki | Trwałe Q&A lub całe rozmowy w notebooku |
| Pełny tekst źródeł | Programistyczny dostęp do zindeksowanego tekstu |
| Profile wielu kont | Przełączanie kont Google bez ponownego logowania |
| Import cookies przeglądarki | Ponowne 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