14,6k Star: Điều khiển Google NotebookLM bằng Python, kết nối Claude Code
- notebooklm ai
- notebooklm tutorial
- notebooklm
- notebooklm chính thức
Giao diện web Google NotebookLM ổn cho dùng thỉnh thoảng, nhưng khi cần pipeline nghiên cứu, shell script hay workflow AI agent, bạn sẽ vấp tường: hầu hết thao tác phải click trên UI, còn xử lý hàng loạt rất mệt.
notebooklm-py trên GitHub ( 14,6k+ star tính đến tháng 5/2026) lấp khoảng trống đó — lớp Python trên NotebookLM, đồng thời gắn với Claude Code và agent tương tự.

Web NotebookLM dừng ở đâu
NotebookLM cho phép tải PDF, URL và link YouTube, rồi chat và tạo podcast, slide, quiz, v.v. Tìm notebooklm tutorial sẽ thấy hướng dẫn bắt đầu — nhưng UI chính thức có giới hạn rõ:
- Import/tải hàng loạt nghĩa là click từng mục
- Quiz và flashcard chỉ tương tác — không xuất JSON/Markdown
- Mind map và bảng dữ liệu không lộ dữ liệu có cấu trúc trên trình duyệt
- Không có tích hợp sẵn với Claude Code, Codex hay agent lập trình khác
Ghi chú thỉnh thoảng thì web đủ. Pipeline, job CI hay «đọc 20 bài và tạo quiz» cần API lập trình.
notebooklm-py là gì?
notebooklm-py là SDK và CLI Python không chính thức do cộng đồng duy trì (giấy phép MIT). Reverse-engineering RPC nội bộ của Google để mở gần như mọi khả năng NotebookLM, cộng tính năng web chưa từng có.
Lưu ý: Không liên kết Google. Dùng API không công bố có thể hỏng. Phù hợp dự án cá nhân, nghiên cứu và prototype.
Ba cách dùng
| Cách | Phù hợp nhất |
|---|---|
| Python API | Tích hợp app, pipeline async, script tùy chỉnh |
| CLI | Shell script, tác vụ nhanh, CI/CD |
| Tích hợp agent | Claude Code, Codex, OpenClaw, tự động hóa ngôn ngữ tự nhiên |
Web UI không có
| Khả năng | Bạn nhận được |
|---|---|
| Tải hàng loạt | Mọi artifact cùng loại một lần (MP3, MP4, PDF, PNG, v.v.) |
| Xuất quiz / flashcard | JSON, Markdown, HTML — không chỉ view tương tác |
| JSON mind map | Dữ liệu phân cấp cho D3, ECharts hoặc công cụ khác |
| CSV bảng dữ liệu | Xuất sẵn cho bảng tính |
| PPTX slide | PowerPoint chỉnh sửa được, không chỉ PDF |
| Sửa một slide | Đổi slide bằng prompt ngôn ngữ tự nhiên |
| Lưu chat thành ghi chú | Lưu Q&A hoặc hội thoại đầy đủ vào notebook |
| Fulltext nguồn | Truy cập lập trình văn bản nguồn đã index |
| Hồ sơ đa tài khoản | Chuyển tài khoản Google không cần đăng nhập lại |
| Import cookie trình duyệt | Tái sử dụng phiên đã đăng nhập |
Phạm vi tạo nội dung rộng: audio overview (4 định dạng, 50+ ngôn ngữ), video (kể cả cinematic), infographic, báo cáo, quiz, flashcard, mind map và bảng dữ liệu — thường kiểm soát tinh hơn website.
Cài đặt nhanh
Người dùng CLI (gồm agent):
pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json
Chỉ thư viện (có sẵn storage_state.json, không cần Chromium):
pip install notebooklm-py
Xem installation.md của dự án để biết chi tiết.
Walkthrough CLI: từ notebook đến tải 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
Dùng --prompt-file cho prompt dài vượt giới hạn shell.
Ví dụ 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())
Thiết kế async hòa hợp workflow asyncio lớn hơn.
Tích hợp Claude Code
Repo có sẵn Agent Skill. Hai cách cài:
# Cách 1: cài CLI vào Claude Code / thư mục .agents
notebooklm skill install
# Cách 2: hệ sinh thái skills
npx skills add teng-lin/notebooklm-py
Sau khi cài, bạn có thể bảo Claude Code: «Thêm PDF này vào NotebookLM, tạo quiz khó và xuất Markdown» — agent chạy CLI notebooklm thay vì bắt bạn click trình duyệt.
Với developer xây workflow notebooklm ai và vẫn muốn đủ khả năng tạo nội dung notebooklm chính thức, đây là con đường mượt nhất hiện nay.
Không muốn dựng môi trường local?
Playwright, cookie và thay đổi API không phải ai cũng thích. Nếu muốn tập trung tải → hỏi → tạo mà không cài gì, dùng trải nghiệm NotebookLM online của chúng tôi:
Tóm tắt
notebooklm-py biến NotebookLM từ công cụ web chỉ-click thành engine tri thức có thể script và sẵn sàng cho agent. 14,6k star phản ánh nhu cầu thật: nhà nghiên cứu xuất quiz hàng loạt, creator đưa tạo podcast vào pipeline, developer điều khiển import/tải từ Claude Code bằng một câu.
Giữ web cho dùng nhẹ hàng ngày; chuyển sang Python + CLI + agent khi cần tự động hóa và xuất dữ liệu mà trình duyệt chưa bao giờ có.