14.6k Star: Kawal Google NotebookLM dengan Python, sambung Claude Code
- notebooklm ai
- notebooklm tutorial
- notebooklm
- notebooklm rasmi
Antaramuka web Google NotebookLM sesuai untuk penggunaan santai, tetapi apabila anda perlukan pipeline penyelidikan, skrip shell atau aliran kerja ejen AI, anda terhenti: kebanyakan tindakan memerlukan klik UI, dan kerja batch menjadi melelahkan.
notebooklm-py di GitHub ( 14.6k+ star setakat Mei 2026) mengisi jurang ini — lapisan Python ke atas NotebookLM yang juga disambung ke Claude Code dan ejen serupa.

Di mana web NotebookLM terhenti
NotebookLM membolehkan muat naik PDF, URL dan pautan YouTube, kemudian sembang dan jana podcast, slaid, kuiz dan lain-lain. Cari notebooklm tutorial dan anda akan jumpa panduan permulaan — tetapi UI rasmi ada had jelas:
- Import dan muat turun batch bermaksud satu klik setiap item
- Kuiz dan kad imbas hanya interaktif — tiada eksport JSON atau Markdown
- Peta minda dan jadual data tidak dedahkan data berstruktur dalam pelayar
- Tiada integrasi native dengan Claude Code, Codex atau ejen pengekodan lain
Untuk nota sekali-sekala, web mencukupi. Untuk pipeline, job CI atau «baca 20 kertas dan jana kuiz», anda perlukan API programmatic.
Apakah notebooklm-py?
notebooklm-py ialah SDK dan CLI Python tidak rasmi yang diselenggara komuniti (lesen MIT). Melalui reverse engineering RPC dalaman Google, hampir semua keupayaan NotebookLM tersedia, ditambah ciri yang web tidak pernah keluarkan.
Amaran: Tidak berafiliasi dengan Google. Menggunakan API tidak didokumenkan yang mungkin rosak. Sesuai untuk projek peribadi, penyelidikan dan prototaip.
Tiga cara guna
| Kaedah | Paling sesuai untuk |
|---|---|
| Python API | Integrasi app, pipeline async, skrip tersuai |
| CLI | Skrip shell, tugas pantas, CI/CD |
| Integrasi ejen | Claude Code, Codex, OpenClaw, automasi bahasa semula jadi |
Apa yang web UI tidak tawarkan
| Keupayaan | Apa yang anda dapat |
|---|---|
| Muat turun batch | Semua artifak satu jenis sekaligus (MP3, MP4, PDF, PNG dll.) |
| Eksport kuiz / kad imbas | JSON, Markdown, HTML — bukan hanya paparan interaktif |
| JSON peta minda | Data hierarki untuk D3, ECharts atau alat lain |
| CSV jadual data | Eksport sedia spreadsheet |
| PPTX slaid | PowerPoint boleh edit, bukan PDF sahaja |
| Semakan slaid tunggal | Ubah satu slaid dengan prompt bahasa semula jadi |
| Simpan sembang ke nota | Kekalkan Q&A atau perbualan penuh dalam notebook |
| Fulltext sumber | Akses programmatic ke teks sumber terindeks |
| Profil multi-akaun | Tukar akaun Google tanpa log masuk semula |
| Import cookie pelayar | Guna semula sesi log masuk sedia ada |
Liputan penjanaan luas: audio overview (4 format, 50+ bahasa), video (termasuk cinematic), infografik, laporan, kuiz, kad imbas, peta minda dan jadual — selalunya dengan kawalan lebih halus daripada laman web.
Pemasangan pantas
Pengguna CLI (termasuk ejen):
pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json
Library sahaja (dengan storage_state.json sedia ada, tanpa Chromium):
pip install notebooklm-py
Lihat installation.md projek untuk butiran penuh.
Walkthrough CLI: dari notebook ke muat turun 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
Guna --prompt-file untuk prompt panjang yang melebihi had 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())
Reka bentuk async sesuai dalam workflow asyncio yang lebih besar.
Integrasi Claude Code
Repo menyertakan Agent Skill. Dua laluan pemasangan:
# Pilihan 1: pasang CLI ke Claude Code / direktori .agents
notebooklm skill install
# Pilihan 2: ekosistem skills
npx skills add teng-lin/notebooklm-py
Selepas setup, anda boleh minta Claude Code: «Tambah PDF ini ke NotebookLM, jana kuiz sukar dan eksport Markdown» — ejen menjalankan CLI notebooklm, bukan suruh anda klik pelayar.
Untuk pembangun yang bina aliran notebooklm ai dan mahukan semua keupayaan penjanaan notebooklm rasmi, ini laluan paling lancar hari ini.
Tidak mahu sediakan persekitaran tempatan?
Playwright, cookie dan perubahan API bukan untuk semua orang. Jika anda mahu fokus muat naik → tanya → jana tanpa pasang apa-apa, guna pengalaman NotebookLM dalam talian kami:
Ringkasan
notebooklm-py menukar NotebookLM daripada alat web klik-sahaja kepada enjin pengetahuan boleh skrip dan sedia ejen. 14.6k star mencerminkan permintaan sebenar: penyelidik mengeksport kuiz batch, pencipta memasukkan penjanaan podcast ke pipeline, pembangun mengawal import dan muat turun dari Claude Code dalam satu ayat.
Kekalkan web untuk penggunaan harian ringan; guna Python + CLI + ejen apabila perlukan automasi dan eksport yang pelayar tidak pernah tawarkan.