14,6k Stars: Google NotebookLM per Python steuern und Claude Code anbinden
- notebooklm ai
- notebooklm tutorial
- notebooklm
- notebooklm offiziell
Die Web-Oberfläche von Google NotebookLM reicht für gelegentliche Nutzung. Sobald Sie jedoch Research-Pipelines, Shell-Skripte oder KI-Agent-Workflows brauchen, stoßen Sie an Grenzen: Die meisten Aktionen erfordern Klicks in der UI, und Batch-Arbeit wird mühsam.
notebooklm-py auf GitHub ( 14,6k+ Stars Stand Mai 2026) schließt diese Lücke — eine Python-Schicht über NotebookLM, die sich auch an Claude Code und ähnliche Agenten anschließt.

Wo die NotebookLM-Web-UI an Grenzen stößt
NotebookLM lässt PDFs, URLs und YouTube-Links hochladen, dann chatten und Podcasts, Folien, Quiz usw. generieren. Suchen Sie nach notebooklm tutorial, finden Sie Einstiegsguides — die offizielle UI hat aber klare Limits:
- Batch-Import und -Download bedeutet: ein Klick pro Element
- Quiz und Karteikarten nur interaktiv — kein JSON- oder Markdown-Export
- Mindmaps und Datentabellen liefern im Browser keine strukturierten Daten
- Keine native Anbindung an Claude Code, Codex oder andere Coding-Agenten
Für gelegentliche Notizen reicht die Web-App. Für Pipelines, CI-Jobs oder „20 Papers lesen und Quiz generieren“ brauchen Sie eine programmatische API.
Was ist notebooklm-py?
notebooklm-py ist ein inoffizielles, community-gepflegtes Python-SDK und CLI (MIT-Lizenz). Durch Reverse Engineering des internen Google-RPC werden fast alle NotebookLM-Funktionen freigelegt — plus Features, die die Web-UI nie hatte.
Hinweis: Nicht von Google. Nutzt undokumentierte APIs, die brechen können. Am besten für persönliche Projekte, Forschung und Prototypen.
Drei Nutzungsweisen
| Methode | Am besten für |
|---|---|
| Python API | App-Integration, async Pipelines, eigene Skripte |
| CLI | Shell-Skripte, schnelle Tasks, CI/CD |
| Agent-Integration | Claude Code, Codex, OpenClaw, Automatisierung per Natursprache |
Was die Web-UI nicht bietet
| Fähigkeit | Was Sie bekommen |
|---|---|
| Batch-Download | Alle Artefakte eines Typs auf einmal (MP3, MP4, PDF, PNG usw.) |
| Quiz-/Karteikarten-Export | JSON, Markdown, HTML — nicht nur die interaktive Ansicht |
| Mindmap-JSON | Hierarchische Daten für D3, ECharts oder andere Tools |
| Datentabellen-CSV | Tabellenkalkulationstaugliche Exporte |
| Folien-PPTX | Bearbeitbares PowerPoint, nicht nur PDF |
| Einzelfolien-Revision | Eine Folie per Natursprach-Prompt ändern |
| Chat als Notizen speichern | Q&A oder ganze Gespräche im Notebook persistieren |
| Quell-Volltext | Programmatischer Zugriff auf indexierten Quelltext |
| Multi-Account-Profile | Google-Konten wechseln ohne erneutes Login |
| Browser-Cookie-Import | Bestehende Anmeldesitzung wiederverwenden |
Die Generierungsabdeckung ist breit: Audio-Overviews (4 Formate, 50+ Sprachen), Video (inkl. cinematic), Infografiken, Berichte, Quiz, Karteikarten, Mindmaps und Datentabellen — oft mit feinerer Steuerung als auf der Website.
Schnelle Installation
CLI-Nutzer (inkl. Agenten):
pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json
Nur Bibliothek (mit vorbereitetem storage_state.json, ohne Chromium):
pip install notebooklm-py
Details im Projekt unter installation.md.
CLI-Walkthrough: vom Notebook zum Podcast-Download
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
Nutzen Sie --prompt-file für lange Prompts, die Shell-Längenlimits überschreiten.
Python-API-Beispiel
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())
Das async Design passt gut in größere asyncio-Workflows.
Claude-Code-Integration
Das Repo liefert ein Agent Skill. Zwei Installationswege:
# Option 1: CLI-Installation für Claude Code / .agents-Verzeichnis
notebooklm skill install
# Option 2: Skills-Ökosystem
npx skills add teng-lin/notebooklm-py
Nach dem Setup können Sie Claude Code sagen: „Füge dieses PDF zu NotebookLM hinzu, generiere ein schweres Quiz und exportiere Markdown“ — der Agent führt die notebooklm-CLI aus, statt Sie durch den Browser zu schicken.
Für Entwickler mit notebooklm ai-Workflows, die volle notebooklm offiziell-Generierungsfunktionen wollen, ist das heute der smootheste Weg.
Keine Lust auf lokales Setup?
Playwright, Cookies und API-Änderungen sind nicht jedermanns Sache. Wenn Sie sich auf Hochladen → Fragen → Generieren konzentrieren wollen, ohne zu installieren, nutzen Sie unsere Online-NotebookLM-Erfahrung:
Zusammenfassung
notebooklm-py macht aus NotebookLM ein scriptbares, agentenfähiges Wissens-Backend statt eines rein klickbasierten Web-Tools. 14,6k Stars spiegeln echten Bedarf: Forscher exportieren Quiz in Batches, Creator pipen Podcast-Generierung in Pipelines, Entwickler steuern Import und Download per Satz in Claude Code.
Web-UI für leichte Alltagsnutzung; Python + CLI + Agenten, wenn Automatisierung und Exporte fehlen, die der Browser nie bot.
Projekt: github.com/teng-lin/notebooklm-py