14,6k stele: Controlează Google NotebookLM cu Python, conectează Claude Code
- notebooklm ai
- notebooklm tutorial
- notebooklm
- notebooklm oficial
Interfața web Google NotebookLM e suficientă pentru utilizare ocazională, dar când ai nevoie de pipeline-uri de cercetare, scripturi shell sau workflow-uri cu agenți AI, lovești de un zid: majoritatea acțiunilor cer clicuri în UI, iar munca batch devine obositoare.
notebooklm-py pe GitHub ( 14,6k+ stele în mai 2026) umple acest gol — un strat Python peste NotebookLM care se conectează și la Claude Code și agenți similari.

Unde se oprește web-ul NotebookLM
NotebookLM permite încărcarea de PDF-uri, URL-uri și linkuri YouTube, apoi chat și generare de podcasturi, slide-uri, quiz-uri etc. Caută notebooklm tutorial și găsești ghiduri de start — dar UI-ul oficial are limite clare:
- Import și descărcare batch înseamnă un clic pe element
- Quiz-urile și flashcard-urile sunt doar interactive — fără export JSON sau Markdown
- Hărțile mentale și tabelele de date nu expun date structurate în browser
- Fără integrare nativă cu Claude Code, Codex sau alți agenți de cod
Pentru note ocazionale, web-ul e suficient. Pentru pipeline-uri, job-uri CI sau «citește 20 de articole și generează quiz-uri», ai nevoie de API programatic.
Ce este notebooklm-py?
notebooklm-py este un SDK și CLI Python neoficial, întreținut de comunitate (licență MIT). Prin reverse engineering al RPC-ului intern Google expune aproape toate capabilitățile NotebookLM, plus funcții pe care web-ul nu le-a avut niciodată.
Avertisment: Neafiliat Google. Folosește API-uri nedocumentate care pot să crape. Cel mai potrivit pentru proiecte personale, cercetare și prototipuri.
Trei moduri de utilizare
| Metodă | Cel mai potrivit pentru |
|---|---|
| Python API | Integrare în aplicații, pipeline-uri async, scripturi personalizate |
| CLI | Scripturi shell, task-uri rapide, CI/CD |
| Integrare agenți | Claude Code, Codex, OpenClaw, automatizare în limbaj natural |
Ce nu oferă interfața web
| Capabilitate | Ce primești |
|---|---|
| Descărcare batch | Toate artefactele unui tip dintr-o dată (MP3, MP4, PDF, PNG etc.) |
| Export quiz / flashcard | JSON, Markdown, HTML — nu doar vizualizarea interactivă |
| JSON hartă mentală | Date ierarhice pentru D3, ECharts sau alte unelte |
| CSV tabele de date | Exporturi gata de spreadsheet |
| PPTX slide-uri | PowerPoint editabil, nu doar PDF |
| Revizuire slide unic | Modifică un slide cu prompt în limbaj natural |
| Salvează chat-ul ca note | Persistă Q&A sau conversații întregi în notebook |
| Text integral surse | Acces programatic la textul sursă indexat |
| Profile multi-cont | Schimbă conturi Google fără re-login |
| Import cookie browser | Refolosește sesiunea deja autentificată |
Acoperirea generării e largă: audio overview (4 formate, 50+ limbi), video (inclusiv cinematic), infografice, rapoarte, quiz-uri, flashcard-uri, hărți mentale și tabele — adesea cu control mai fin decât site-ul.
Instalare rapidă
Utilizatori CLI (inclusiv agenți):
pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json
Doar bibliotecă (cu storage_state.json preluat, fără Chromium):
pip install notebooklm-py
Vezi installation.md al proiectului pentru detalii.
Walkthrough CLI: de la notebook la podcast descărcat
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
Folosește --prompt-file pentru prompt-uri lungi care depășesc limita shell-ului.
Exemplu 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())
Designul async se potrivește bine în workflow-uri asyncio mai mari.
Integrare Claude Code
Repo-ul include un Agent Skill. Două căi de instalare:
# Opțiunea 1: instalare CLI în Claude Code / directorul .agents
notebooklm skill install
# Opțiunea 2: ecosistem skills
npx skills add teng-lin/notebooklm-py
După setup poți spune Claude Code: «Adaugă acest PDF în NotebookLM, generează un quiz greu și exportă Markdown» — agentul rulează CLI notebooklm în loc să te pună să dai clic în browser.
Pentru developerii care construiesc workflow-uri notebooklm ai și vor toate capabilitățile de generare notebooklm oficial, e cea mai lină cale astăzi.
Preferi să nu configurezi un mediu local?
Playwright, cookie-uri și schimbări de API nu sunt pentru toată lumea. Dacă vrei să te concentrezi pe încărcare → întrebare → generare fără instalare, folosește experiența noastră NotebookLM online:
Începe să folosești NotebookLM
Rezumat
notebooklm-py transformă NotebookLM dintr-un instrument web doar cu clicuri într-un motor de cunoștințe scriptabil, pregătit pentru agenți. 14,6k stele reflectă cerere reală: cercetători care exportă quiz-uri batch, creatori care introduc generarea de podcasturi în pipeline-uri, developeri care controlează importul și descărcarea din Claude Code cu o propoziție.
Păstrează web-ul pentru utilizare ușoară zilnică; apelează la Python + CLI + agenți când ai nevoie de automatizare și export pe care browserul nu le-a oferit niciodată.
Proiect: github.com/teng-lin/notebooklm-py