← Tillbaka till bloggen

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.

Styr NotebookLM med Python

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

MetodBäst för
Python APIAppintegration, async-pipelines, egna skript
CLIShellskript, snabba uppgifter, CI/CD
AgentintegrationClaude Code, Codex, OpenClaw, automatisering på naturligt språk

Det webbgränssnittet inte erbjuder

FörmågaVad du får
BatchnedladdningAlla artefakter av en typ på en gång (MP3, MP4, PDF, PNG m.fl.)
Quiz-/flashcardexportJSON, Markdown, HTML — inte bara den interaktiva vyn
Mind map JSONHierarkisk data för D3, ECharts eller andra verktyg
Datatabell CSVKalkylbladsfärdiga exportfiler
Slide-PPTXRedigerbar PowerPoint, inte bara PDF
Revidering av en slideÄndra en slide med naturligt språk-prompt
Spara chatt som anteckningarBevara Q&A eller hela konversationer i notebook
Källtext fulltextProgrammatisk åtkomst till indexerad källtext
Multi-kontoprofilerByt 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:

Börja använda NotebookLM


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