Если вы работаете с Claude Code, то наверняка знакома следующая ситуация: нужно проанализировать большой объём документов, а встроенный веб-поиск выдаёт поверхностные результаты, и токены тают на глазах. Недавно мне попалось интересное решение, которое почти отлично и почти бесплатно решает мои боли. Хочу рассказать о нем и как его настроить - совершенно ничего сложного и гениального, просто хороший лайфхак.

Проблема

Вы исследуете новую тему, у вас больше 20 источников (статьи, PDF, видео, документация). Что можно сделать?

Вариант 1: скормить все Клоду напрямую. Работает, но контекстное окно не резиновое, а при больших объемах расход токенов становится неприятным. Плюс Клод отвечает на основе общих знаний модели, если в ваших документах есть специфика, он может додумать то, чего там никогда не бывало.

Вариант 2: использовать NotebookLM. Google сделал отличный инструмент: до 50 источников на блокнот, контекстное окно на 20+ миллионов токенов, и главное- ответы строго по загруженным документам, с цитатами. Это по сути, бесплатная RAG-система. Но у NotebookLM нет официального API, все делается мышкой в браузере, а экспорт контента ограничен.

Вариант 3: собрать своё RAG-решение. Поднять векторную базу, написать пайплайн для парсинга, эмбеддингов, поиска… Это работает, но требует времени, денег и поддержки. Ну и каких-то умений-знаний, наверное.

В итоге многие делают так: ресерч в NotebookLM, потом copy-paste результатов в Claude, потом обратно. Работает, но явно мы не за этим тут собрались.

Решение: связываем Claude Code и NotebookLM программно

Идея простая: пусть Claude Code управляет NotebookLM напрямую через терминал. Всю тяжёлую аналитику выполняет Gemini на стороне Google (бесплатно), а Claude работает как оркестратор: создаёт блокноты, загружает источники, задает уточняющие вопросы и генерирует контент (если вы давно туда не заглядывали, то там уже много всего можно: и инфографику, и квизы, и аудиоподкасты, и презентации, чего только нет).

Это стало возможно благодаря библиотеке notebooklm-py - неофициальному Python-клиенту для NotebookLM от разработчика Teng Lin. Библиотека реверс-инжинирит внутренние API Google и даёт полный программный доступ ко всем функциям NotebookLM, включая те, которые недоступны через веб-интерфейс. Главное чтобы Google не поменял API.

Что получаем

  • Экономия токенов. Обработку больших объемов данных делает Gemini, а не Клод. Вы тратите токены только на оркестрацию и финальную генерацию. А это не самое объемное в этой задаче, как вы понимаете.

  • Нет галлюцинаций по вашим данным. NotebookLM отвечает строго по загруженным источникам и приводит цитаты. Claude получает уже верифицированную информацию (опять же: лучше чем обычные неподготовленный Claude/GPT/Gemini, но все еще не AGI и голову включать стоит).

  • Расширенный экспорт. Через веб-интерфейс NotebookLM вы можете только расшарить ссылку на инфографику или скачать mind map как PNG. Через notebooklm-py - экспорт в Markdown, JSON, MP3 и другие форматы.

  • Батчевая обработка. Можно программно создать десятки блокнотов, загрузить сотни источников и запустить генерацию контента и все из скрипта.

  • Генерация контента. Не просто текстовые ответы, а подкасты, видео, слайды, инфографика, квизы, флеш-карточки, mind map, отчёты, таблицы данных.

Установка и настройка

Шаг 1: Установка notebooklm-py

# Базовая установка
pip install notebooklm-py

# С поддержкой браузерной авторизации (нужно для первого входа)
pip install "notebooklm-py[browser]"
playwright install chromium

Если вы предпочитаете uv:

uv pip install "notebooklm-py[browser]"
playwright install chromium

Шаг 2: Авторизация

notebooklm login

Откроется браузер Chromium, где нужно войти в Google-аккаунт. Это делается один раз и сессия сохраняется локально в ~/.notebooklm/. Если сессия протухнет (обычно через несколько недель), просто повторите команду.

Важно: ваши учётные данные хранятся только на вашей машине. Библиотека не отправляет их никуда, кроме серверов Google.

Проверить, что авторизация работает:

notebooklm list

Если видите список ваших блокнотов (или пустой список) - все ок.

Шаг 3: Установка скилла для Claude Code

notebooklm skill install

Эта команда добавляет в Claude Code кастомный скилл, который учит его работать с NotebookLM. После установки Claude Code понимает команды типа /notebooklm generate audio и реагирует на запросы на естественном языке типа "создай подкаст из этого блокнота" или "приведи цитату про mcp сервер".

Как это работает: пошаговый пример

Допустим, вы исследуете тему для статьи и у вас есть набор источников. Вообще - это очень удобный инструмент и для работы без Claude. Сначала расскажу как работать самому, а потом кратко через Claude.

Через CLI

# 1. Создаём блокнот
notebooklm create "Исследование: микросервисы vs монолит"
# Выведет ID блокнота, например: abc123-def456

# 2. Устанавливаем контекст (чтобы не указывать ID каждый раз)
notebooklm use abc123-def456

# 3. Добавляем источники — URL, PDF, YouTube, Google Drive, plain text
notebooklm source add "https://martinfowler.com/articles/microservices.html"
notebooklm source add "./architecture-report.pdf"
notebooklm source add "https://youtube.com/watch?v=..."
notebooklm source add --text "Мои заметки" --title "Заметки"

# 4. Задаём вопросы - ответы строго по источникам
notebooklm ask "Какие основные аргументы за и против микросервисов?"
notebooklm ask "Есть ли противоречия между источниками?"

# 5. Генерируем контент
notebooklm generate audio --wait          # подкаст (10-20 мин генерации)
notebooklm generate quiz --difficulty hard # квиз
notebooklm generate flashcards            # флеш-карточки
notebooklm generate mind-map              # mind map (синхронный, без --wait)
notebooklm generate infographic --orientation portrait
notebooklm generate report --type study-guide
notebooklm generate slide-deck
notebooklm generate video --style whiteboard --wait

# 6. Скачиваем результаты
notebooklm download audio ./podcast.mp3
notebooklm download quiz ./quiz.json --format json
notebooklm download flashcards ./cards.md --format markdown
notebooklm download mind-map ./mindmap.md

Через Python API

Если вам нужна интеграция в свои скрипты:

import asyncio
from notebooklm import NotebookLMClient

async def research_pipeline():
    async with await NotebookLMClient.from_storage() as client:
        # Создаём блокнот
        nb = await client.notebooks.create("Мой ресёрч")
        
        # Добавляем источники
        urls = [
            "https://example.com/article-1",
            "https://example.com/article-2",
            "https://example.com/article-3",
        ]
        for url in urls:
            await client.sources.add_url(nb.id, url, wait=True)
        
        # Задаём вопрос
        result = await client.chat.ask(nb.id, "Обобщи ключевые выводы")
        print(result.answer)
        
        # Генерируем подкаст
        status = await client.artifacts.generate_audio(
            nb.id, instructions="сделай в разговорном стиле"
        )
        await client.artifacts.wait_for_completion(nb.id, status.task_id)
        await client.artifacts.download_audio(nb.id, "podcast.mp3")

asyncio.run(research_pipeline())

Через Claude Code (естественный язык)

После установки скилла можно просто писать:

> Создай блокнот "Блокчейн", добавь туда эти 5 ссылок 
  и сгенерируй инфографику с ключевыми отличиями фреймворков.

> Скачай квиз из блокнота "Архитектура" в формате JSON.

> /notebooklm generate video --style kawaii

Claude Code сам разберется, какие команды вызвать. Но функционал у него чуть порезанный все же.

Продвинутые сценарии

Веб-ресерч через NotebookLM

NotebookLM умеет сам искать информацию в интернете и добавлять результаты как источники. Это можно запустить из CLI:

# Запускаем глубокий ресёрч (асинхронно)
notebooklm source add-research "quantum computing" \
  --mode deep --no-wait

# Ждём завершения и импортируем найденные источники
notebooklm research wait --import-all --timeout 300

Пакетная обработка нескольких блокнотов

# Можно указывать блокнот явно через -n, не меняя контекст
notebooklm ask -n <id_блокнота_1> "Краткое содержание?"
notebooklm ask -n <id_блокнота_2> "Ключевые выводы?"

Partial ID

Не обязательно копировать полный UUID блокнота. Достаточно уникального префикса:

notebooklm use abc    # совпадёт с abc123-def456-...

Практические советы

По авторизации:

  • Сессия живёт несколько недель. Если команды начали падать с ошибками авторизации просто выполните notebooklm login заново.

  • Для CI/CD можно передавать данные авторизации через переменные окружения. Подробности в документации по конфигурации.

По генерации контента:

  • Генерация аудио и видео асинхронная операция, занимает 10–30 минут. Не используйте --wait в скриптах, где критично время. Лучше запускайте без --wait и проверяйте статус отдельно.

  • mind-map - единственная синхронная генерация, результат приходит сразу.

  • Стили видео: classic, whiteboard, kawaii, anime, watercolor, retro-print, heritage, paper-craft.

По лимитам:

  • Бесплатный аккаунт Google - около 50 запросов в день к NotebookLM.

  • До 50 источников на один блокнот.

  • Если упёрлись в лимит, можно использовать другой Google-аккаунт.

По безопасности:

  • Это неофициальная библиотека, использующая внутренние API Google. Они могут измениться без предупреждения. Для личных проектов и прототипов это ок, для продакшена уже на свой страх и риск.

  • Учётные данные хранятся локально в ~/.notebooklm/. Не коммитьте эту директорию в git.

Где это реально полезно

Глубокий ресерч. Собираете 30–50 статей, отчетов или документов по теме, загружаете в блокнот, получаете структурированный анализ с цитатами из конкретных источников. Ни одного выдуманного факта и все проверяемо.

Учеба и подготовка к экзаменам. Загружаете учебники, лекции, документацию и на выходе квизы, флеш-карточки, study guide.

Контент-продакшен. Есть длинные видео, подкасты, лекции? Загружаете в блокнот и получаете аудио-обзор (подкаст), слайды, инфографику.

Корпоративная база знаний. Внутренняя документация, спеки, контракты и все в блокнотах. Сотрудники задают вопросы на естественном языке, получают ответы с указанием конкретного документа и страницы. По сути корпоративный RAG можно получить.

Анализ конкурентов. Собираете публичный контент конкурентов (блоги, документация, пресс-релизы) в блокнот, просите Claude проанализировать стратегии, найти закономерности, подготовить отчёт.

Ограничения, о которых стоит знать

  1. Неофициальный API. Google может поменять внутренние эндпоинты в любой момент. Библиотека активно поддерживается (последний релиз - v0.2.0, январь 2026), но гарантий стабильности нет.

  2. Лимиты бесплатного тарифа. ~50 запросов в день, ограничения на количество генераций. NotebookLM Plus снимает часть ограничений.

  3. Время генерации. Аудио и видео генерируются 10–30 минут. Это не мгновенно.

  4. Только личные проекты. Использование внутренних API может нарушать правила Google. Используйте на свой страх и риск.

Полезные ссылки

Надеюсь тебе понравилось. Лучшая благодарность - это твоя подписка на мой Telegram-канал 😊