← Kembali ke blog

14,6k Star: Kendalikan Google NotebookLM dengan Python, sambungkan Claude Code

  • notebooklm ai
  • notebooklm tutorial
  • notebooklm
  • notebooklm resmi

Antarmuka web Google NotebookLM cukup untuk pemakaian santai, tapi begitu Anda butuh pipeline riset, skrip shell, atau alur kerja agent AI, Anda menabrak batas: sebagian besar aksi harus diklik di UI, dan pekerjaan batch jadi melelahkan.

notebooklm-py di GitHub ( 14,6k+ star per Mei 2026) mengisi celah itu — lapisan Python di atas NotebookLM yang juga terhubung ke Claude Code dan agent serupa.

Kendalikan NotebookLM dengan Python

Di mana web NotebookLM berhenti

NotebookLM memungkinkan unggah PDF, URL, dan tautan YouTube, lalu chat serta generate podcast, slide, kuis, dan lainnya. Cari notebooklm tutorial dan Anda akan menemukan panduan awal — tapi UI resmi punya batas jelas:

  • Impor dan unduh batch berarti satu klik per item
  • Kuis dan flashcard hanya interaktif — tanpa ekspor JSON atau Markdown
  • Peta pikiran dan tabel data tidak mengekspos data terstruktur di browser
  • Tidak ada integrasi native dengan Claude Code, Codex, atau agent coding lain

Untuk catatan sesekali, web cukup. Untuk pipeline, job CI, atau «baca 20 paper dan buat kuis», Anda butuh API programatik.

Apa itu notebooklm-py?

notebooklm-py adalah SDK dan CLI Python tidak resmi yang dirawat komunitas (lisensi MIT). Lewat reverse engineering RPC internal Google, hampir semua kemampuan NotebookLM terekspos, plus fitur yang web tidak pernah rilis.

Peringatan: Tidak afiliasi Google. Memakai API tidak terdokumentasi yang bisa rusak. Terbaik untuk proyek pribadi, riset, dan prototipe.

Tiga cara pakai

MetodePaling cocok untuk
Python APIIntegrasi app, pipeline async, skrip kustom
CLISkrip shell, tugas cepat, CI/CD
Integrasi agentClaude Code, Codex, OpenClaw, otomasi bahasa alami

Yang tidak ditawarkan web UI

KemampuanYang Anda dapat
Unduh batchSemua artefak satu tipe sekaligus (MP3, MP4, PDF, PNG, dll.)
Ekspor kuis / flashcardJSON, Markdown, HTML — bukan hanya tampilan interaktif
JSON peta pikiranData hierarkis untuk D3, ECharts, atau alat lain
CSV tabel dataEkspor siap spreadsheet
PPTX slidePowerPoint bisa diedit, bukan PDF saja
Revisi satu slideUbah satu slide dengan prompt bahasa alami
Simpan chat ke catatanPersist Q&A atau percakapan penuh di notebook
Fulltext sumberAkses programatik ke teks sumber terindeks
Profil multi-akunGanti akun Google tanpa login ulang
Impor cookie browserPakai ulang sesi login yang ada

Cakupan generasi luas: audio overview (4 format, 50+ bahasa), video (termasuk cinematic), infografis, laporan, kuis, flashcard, peta pikiran, dan tabel — sering dengan kontrol lebih halus dari situs web.

Instalasi cepat

Pengguna CLI (termasuk agent):

pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json

Hanya library (dengan storage_state.json yang sudah ada, tanpa Chromium):

pip install notebooklm-py

Lihat installation.md proyek untuk detail lengkap.

Walkthrough CLI: dari notebook ke unduhan podcast

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

Gunakan --prompt-file untuk prompt panjang yang melebihi batas panjang shell.

Contoh 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())

Desain async cocok di workflow asyncio yang lebih besar.

Integrasi Claude Code

Repo menyertakan Agent Skill. Dua jalur instalasi:

# Opsi 1: instal CLI ke Claude Code / direktori .agents
notebooklm skill install

# Opsi 2: ekosistem skills
npx skills add teng-lin/notebooklm-py

Setelah setup, Anda bisa minta Claude Code: «Tambahkan PDF ini ke NotebookLM, buat kuis sulit, dan ekspor Markdown» — agent menjalankan CLI notebooklm, bukan mengajak Anda klik di browser.

Bagi developer yang membangun alur notebooklm ai dan tetap ingin semua fitur generasi notebooklm resmi, ini jalur paling mulus hari ini.

Tidak ingin setup lingkungan lokal?

Playwright, cookie, dan perubahan API bukan untuk semua orang. Jika fokus Anda unggah → tanya → generate tanpa instalasi, gunakan pengalaman NotebookLM online kami:

Mulai Gunakan NotebookLM


Ringkasan

notebooklm-py mengubah NotebookLM dari alat web klik-saja menjadi mesin pengetahuan yang bisa diskrip dan siap agent. 14,6k star mencerminkan permintaan nyata: peneliti mengekspor kuis batch, kreator memasukkan generasi podcast ke pipeline, developer mengendalikan impor dan unduhan dari Claude Code dalam satu kalimat.

Pakai web untuk pemakaian ringan sehari-hari; gunakan Python + CLI + agent saat butuh otomasi dan ekspor yang browser tidak pernah tawarkan.

Proyek: github.com/teng-lin/notebooklm-py