Если вы работаете с 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 проанализировать стратегии, найти закономерности, подготовить отчёт.
Ограничения, о которых стоит знать
Неофициальный API. Google может поменять внутренние эндпоинты в любой момент. Библиотека активно поддерживается (последний релиз - v0.2.0, январь 2026), но гарантий стабильности нет.
Лимиты бесплатного тарифа. ~50 запросов в день, ограничения на количество генераций. NotebookLM Plus снимает часть ограничений.
Время генерации. Аудио и видео генерируются 10–30 минут. Это не мгновенно.
Только личные проекты. Использование внутренних API может нарушать правила Google. Используйте на свой страх и риск.
Полезные ссылки
notebooklm-py на GitHub — основная библиотека
Оригинал видео с подходом.
CLI Reference — полный справочник команд
Python API Reference — документация Python API
Troubleshooting — решение частых проблем
NotebookLM Skill для Claude Code — альтернативный вариант интеграции
Надеюсь тебе понравилось. Лучшая благодарность - это твоя подписка на мой Telegram-канал 😊
