← Назад до блогу

14,6k зірок: Керуйте Google NotebookLM через Python і підключайте Claude Code

  • notebooklm ai
  • notebooklm tutorial
  • notebooklm
  • notebooklm офіційний

Веб-інтерфейс Google NotebookLM підходить для разового використання, але коли потрібні дослідницькі пайплайни, shell-скрипти чи workflow з AI-агентами, ви впертесь у стіну: більшість дій — через кліки в UI, а пакетна робота виснажує.

notebooklm-py на GitHub ( 14,6k+ зірок станом на травень 2026) закриває цю прогалину — Python-шар над NotebookLM із підключенням до Claude Code та подібних агентів.

Керування NotebookLM через Python

Де веб-інтерфейс NotebookLM зупиняється

NotebookLM дозволяє завантажувати PDF, URL і посилання YouTube, спілкуватися та генерувати подкасти, слайди, quiz тощо. Запит notebooklm tutorial дасть стартові гайди — але офіційний UI має чіткі межі:

  • Пакетний імпорт і завантаження — по одному кліку на елемент
  • Quiz і картки лише інтерактивні — без експорту JSON чи Markdown
  • Mind map і таблиці даних не віддають структуровані дані в браузері
  • Немає нативної інтеграції з Claude Code, Codex чи іншими coding-агентами

Для рідких нотаток веба вистачить. Для пайплайнів, CI-задач або «прочитай 20 статей і згенеруй quiz» потрібен програмний API.

Що таке notebooklm-py?

notebooklm-py — неофіційний Python SDK і CLI від спільноти (ліцензія MIT). Через reverse engineering внутрішнього RPC Google відкриває майже всі можливості NotebookLM плюс функції, яких веб ніколи не мав.

Застереження: Не афілійований з Google. Використовує недокументовані API, що можуть зламатися. Найкраще для особистих проєктів, досліджень і прототипів.

Три способи використання

СпосібНайкраще для
Python APIІнтеграція в застосунки, async-пайплайни, власні скрипти
CLIShell-скрипти, швидкі задачі, CI/CD
Інтеграція з агентамиClaude Code, Codex, OpenClaw, автоматизація природною мовою

Те, чого немає у веб-інтерфейсі

МожливістьЩо отримуєте
Пакетне завантаженняУсі артефакти типу одразу (MP3, MP4, PDF, PNG тощо)
Експорт quiz / картокJSON, Markdown, HTML — не лише інтерактивний вигляд
JSON mind mapІєрархічні дані для D3, ECharts чи інших інструментів
CSV таблиць данихЕкспорт, готовий для таблиць
PPTX слайдівРедагований PowerPoint, не лише PDF
Редагування одного слайдаЗмінити слайд через prompt природною мовою
Зберегти чат у нотаткиЗберегти Q&A або цілі діалоги в notebook
Повний текст джерелПрограмний доступ до проіндексованого тексту
Профілі кількох акаунтівПеремикання Google-акаунтів без повторного входу
Імпорт cookies браузераПовторне використання вже авторизованої сесії

Охоплення генерації широке: аудіо-огляди (4 формати, 50+ мов), відео (включно з cinematic), інфографіка, звіти, quiz, картки, mind map і таблиці — часто з тоншим контролем, ніж на сайті.

Швидке встановлення

Користувачі CLI (включно з агентами):

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

Лише бібліотека (із заздалегідь отриманим storage_state.json, без Chromium):

pip install notebooklm-py

Деталі в installation.md проєкту.

CLI walkthrough: від notebook до завантаженого подкасту

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

Використовуйте --prompt-file для довгих prompt, що перевищують ліміт shell.

Приклад 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())

Async-дизайн добре вписується в більші asyncio-workflow.

Інтеграція з Claude Code

Репозиторій містить Agent Skill. Два шляхи встановлення:

# Варіант 1: CLI-встановлення в Claude Code / каталог .agents
notebooklm skill install

# Варіант 2: екосистема skills
npx skills add teng-lin/notebooklm-py

Після налаштування можна сказати Claude Code: «Додай цей PDF у NotebookLM, згенеруй складний quiz і експортуй Markdown» — агент запустить CLI notebooklm замість ручних кліків у браузері.

Для розробників із workflow notebooklm ai, яким потрібні всі можливості генерації notebooklm офіційний, це сьогодні найпряміший шлях.

Не хочете налаштовувати локальне середовище?

Playwright, cookies і зміни API — не для всіх. Якщо хочете зосередитись на завантаженні → запиті → генерації без установки, скористайтесь нашим онлайн NotebookLM:

Почати використовувати NotebookLM


Підсумок

notebooklm-py перетворює NotebookLM з веб-інструменту «лише кліки» на scriptable knowledge engine, готовий до агентів. 14,6k зірок відображають реальний попит: дослідники пакетно експортують quiz, автори вбудовують генерацію подкастів у пайплайни, розробники керують імпортом і завантаженням з Claude Code однією фразою.

Веб — для легкого щоденного використання; Python + CLI + агенти — коли потрібна автоматизація та експорт, яких браузер ніколи не давав.

Проєкт: github.com/teng-lin/notebooklm-py