14,6k stjärnor: Styr Google NotebookLM med Python, koppla Claude Code
- notebooklm ai
- notebooklm tutorial
- notebooklm
- notebooklm officiell
Google NotebookLMs webbapp räcker för tillfälligt bruk, men när du behöver research-pipelines, shellskript eller AI-agent-workflows stöter du på en vägg: de flesta åtgärder kräver klick i gränssnittet, och batcharbete blir jobbigt.
notebooklm-py på GitHub ( 14,6k+ stjärnor per maj 2026) fyller luckan — ett Python-lager ovanpå NotebookLM som också kopplas till Claude Code och liknande agenter.

Var NotebookLM-webben tar slut
NotebookLM låter dig ladda upp PDF:er, URL:er och YouTube-länkar, chatta och generera poddar, slides, quiz med mera. Sök notebooklm tutorial så hittar du startguider — men det officiella gränssnittet har tydliga begränsningar:
- Batchimport och -nedladdning innebär ett klick i taget
- Quiz och flashcards är bara interaktiva — ingen JSON- eller Markdown-export
- Mind maps och datatabeller exponerar inte strukturerad data i webbläsaren
- Ingen inbyggd koppling till Claude Code, Codex eller andra kodningsagenter
För enstaka anteckningar räcker webben. För pipelines, CI-jobb eller «läs 20 artiklar och generera quiz» behöver du ett programmatiskt API.
Vad är notebooklm-py?
notebooklm-py är ett inofficiellt Python SDK och CLI underhållet av communityn (MIT-licens). Genom reverse engineering av Googles interna RPC exponeras nästan alla NotebookLM-funktioner plus sådant webben aldrig fick.
Varning: Inte Google-anslutet. Använder odokumenterade API:er som kan gå sönder. Bäst för personliga projekt, forskning och prototyper.
Tre sätt att använda det
| Metod | Bäst för |
|---|---|
| Python API | Appintegration, async-pipelines, egna skript |
| CLI | Shellskript, snabba uppgifter, CI/CD |
| Agentintegration | Claude Code, Codex, OpenClaw, automatisering på naturligt språk |
Det webbgränssnittet inte erbjuder
| Förmåga | Vad du får |
|---|---|
| Batchnedladdning | Alla artefakter av en typ på en gång (MP3, MP4, PDF, PNG m.fl.) |
| Quiz-/flashcardexport | JSON, Markdown, HTML — inte bara den interaktiva vyn |
| Mind map JSON | Hierarkisk data för D3, ECharts eller andra verktyg |
| Datatabell CSV | Kalkylbladsfärdiga exportfiler |
| Slide-PPTX | Redigerbar PowerPoint, inte bara PDF |
| Revidering av en slide | Ändra en slide med naturligt språk-prompt |
| Spara chatt som anteckningar | Bevara Q&A eller hela konversationer i notebook |
| Källtext fulltext | Programmatisk åtkomst till indexerad källtext |
| Multi-kontoprofiler | Byt Google-konto utan ny inloggning |
| Webbläsarcookie-import | Återanvänd befintlig inloggad session |
Genereringsutbudet är brett: ljudöversikter (4 format, 50+ språk), video (inkl. cinematic), infografik, rapporter, quiz, flashcards, mind maps och datatabeller — ofta med finare kontroll än webbplatsen.
Snabb installation
CLI-användare (inkl. agenter):
pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json
Endast bibliotek (med förhandsskaffat storage_state.json, utan Chromium):
pip install notebooklm-py
Se projektets installation.md för detaljer.
CLI-genomgång: från notebook till nedladdad podd
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
Använd --prompt-file för långa prompts som överskrider shell-längdgränser.
Python API-exempel
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())
Async-designen passar bra i större asyncio-workflows.
Claude Code-integration
Repot inkluderar ett Agent Skill. Två installationssätt:
# Alternativ 1: CLI-installation till Claude Code / .agents-katalog
notebooklm skill install
# Alternativ 2: skills-ekosystem
npx skills add teng-lin/notebooklm-py
Efter setup kan du säga till Claude Code: «Lägg till den här PDF:en i NotebookLM, generera ett svårt quiz och exportera Markdown» — agenten kör notebooklm-CLI istället för att låta dig klicka i webbläsaren.
För utvecklare som bygger notebooklm ai-workflows och vill ha full notebooklm officiell-generering är detta den smidigaste vägen idag.
Vill du slippa lokal miljö?
Playwright, cookies och API-förändringar passar inte alla. Om du vill fokusera på ladda upp → fråga → generera utan installation, använd vår online NotebookLM-upplevelse:
Sammanfattning
notebooklm-py förvandlar NotebookLM från ett renodlat klickverktyg på webben till en scriptbar, agentredo kunskapsmotor. 14,6k stjärnor speglar verklig efterfrågan: forskare som batchexporterar quiz, skapare som stoppar poddgenerering i pipelines, utvecklare som styr import och nedladdning från Claude Code med en mening.
Behåll webben för lätt dagligt bruk; ta Python + CLI + agenter när du behöver automatisering och export som webbläsaren aldrig erbjöd.
Projekt: github.com/teng-lin/notebooklm-py