Tự động hóa NotebookLM (notebooklm-py)
Kỹ năng điều khiển Gemini Notebook (NotebookLM) qua CLI/Python API notebooklm-py: xác thực, quản lý nguồn, deep research và tạo/tải sản phẩm đầu ra.
Tự động hóaNâng cao★ 19,437⑂ 2,600Điểm AI 9/10Cập nhật lần cuối: 23 thg 9, 2026
Làm được gì
- Dùng CLI
notebooklm(hoặc Python API async có kiểu) để tạo notebook, thêm nguồn, chờ nguồn sẵn sàng, chat có dẫn chứng, tạo và tải audio, video, slide, infographic, mind map, quiz, flashcards. - Chuẩn hóa xác thực: kiểm tra thật bằng
notebooklm auth check --test --json; môi trường headless/CI nên dùng master token theo profile thay vì bản chụp cookie. - Áp các nguyên tắc bất biến cho tự động hóa: luôn
--json, giữ đủ UUID trả về, truyền-n <notebook_id>cho mọi lệnh, mỗi tiến trình song song dùngNOTEBOOKLM_PROFILEriêng. - Xác định ranh giới quyền: các lệnh xóa, hủy chia sẻ, logout, đổi ngôn ngữ toàn account, tải file, import nguồn, tạo note đều phải được người dùng đồng ý trước.
- Có quy trình chẩn đoán lỗi chỉ đọc và bảng ý nghĩa mã thoát (0/1/2) cùng cách xử lý timeout, rate limit.
Phù hợp với ai
- Nhà nghiên cứu, đội nội dung/dữ liệu muốn thao tác NotebookLM bằng script thay vì bấm tay.
- Kỹ sư dựng pipeline tóm tắt tài liệu hoặc tạo podcast trên máy chủ/CI không có màn hình.
- Người chạy nhiều agent song song, cần tách biệt credential và ngữ cảnh.
Ví dụ sử dụng
- "Tạo notebook từ 3 URL này rồi xuất podcast":
create→source add×3 →source wait→generate audio→artifact wait→download audio ./podcast.m4a. - "Chạy deep research chủ đề X":
source add-research "..." --mode deep --no-wait --json, lưuresearch_run_id, chỉ import bằngresearch wait --import-allkhi được cho phép. - "Vì sao lệnh lỗi?": chẩn đoán chỉ đọc với
auth check --test --passive --json,source list,artifact listtrước khi thay đổi bất cứ thứ gì.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/teng-lin/notebooklm-py/HEAD/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục SKILL.m từ repo GitHub teng-lin/notebooklm-py vào ~/.claude/skills/notebooklm/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
pip install "notebooklm-py[browser]" && notebooklm skill install⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Kiểm tra Python 3.10 trở lên:
python3 --version. - Cài gói vào môi trường đang dùng:
pip install "notebooklm-py[browser]". Nếu chỉ cần CLI, dùnguv tool install "notebooklm-py[browser]"hoặc pipx. Gặp lỗiexternally-managed-environmentthì đừng dùng--break-system-packages, hãy dùng uv/pipx hoặc virtualenv. - Cài kỹ năng cho agent:
notebooklm skill install(môi trường sandbox:notebooklm skill package). - Kiểm tra:
notebooklm skill status --json. - Đăng nhập: có màn hình thì
notebooklm login; chạy không người trực thìpip install "notebooklm-py[headless]", trên máy tin cậy chạynotebooklm login --master-token --account <email>rồi chỉ chuyểnmaster_token.jsonsang profile trên server với quyền 0600. - Xác minh:
notebooklm auth check --test --jsonphải chostatus == "ok"vàchecks.token_fetch == true. - Khởi động lại Claude Code và thử yêu cầu "liệt kê notebook NotebookLM của tôi" để chắc kỹ năng được kích hoạt.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT