Что делает: браузерное расширение для Chrome и Firefox, которое одной кнопкой добавляет любую страницу или YouTube-видео в твой Google NotebookLM — AI-блокнот для работы с источниками. Поддерживает массовый импорт URL, всех открытых вкладок, YouTube-плейлистов/каналов, парсинг комментариев.
Версия: 2.0.0 | Manifest: V3 (Chrome) + V2 (Firefox)
- 📺 YouTube — импорт отдельных видео, плейлистов, каналов
- 💬 Парсинг YouTube-комментариев — добавляет тред-комментариев в NotebookLM как источник
- 📑 Bulk import — список URL через перенос строки → один клик → всё в нужный notebook
- 🗂️ Tab import — выгрузить все открытые вкладки в notebook
- 🗑️ Bulk delete — удалить несколько источников из notebook'а одной кнопкой
- 👥 Multi-account — переключение между Google-аккаунтами
- 🌍 Локализация: английский + русский
- ⌨️ Hotkey:
Ctrl+Shift+N(⌘+Shift+Nна Mac) — добавить текущую страницу в выбранный notebook - 🎭 Тема: автоматически следует системной (light/dark)
- 🎨 UI — glassmorphism + aurora gradient
| Компонент | Технология |
|---|---|
| Язык | Vanilla JavaScript (без фреймворков) |
| Manifest | V3 для Chrome, V2 для Firefox |
| Background | Service Worker (Chrome) / Background Script (Firefox) |
| Browser API | chrome.* + browser-polyfill (для совместимости) |
| Локализация | Стандартный _locales/ Chrome Extension API |
| Сборка | Bash-скрипт (build.sh) — нет webpack/vite |
| Связь с NotebookLM | Reverse-engineered внутренний API через cookies сессии |
| YouTube парсинг | YouTube initial data + continuation API |
⚠️ Дисклеймер: расширение использует внутренние API NotebookLM, которые официально не задокументированы. Google может изменить их без предупреждения, и расширение временно сломается до обновления. Все запросы идут от имени твоего Google-аккаунта через cookies — никаких внешних серверов.
notebooklm-importer/
├── manifest.json # Chrome MV3
├── manifest.v2.json # Firefox (рекомендуется для загрузки)
├── manifest-firefox.json # альтернативный Firefox manifest
├── manifest.firefox-persistent.json
│
├── background.js # service worker — NotebookLM API + YouTube parser
│
├── popup/ # popup при клике на иконку
│ ├── popup.html
│ ├── popup.css
│ └── popup.js
│
├── content/ # injected на notebooklm.google.com
│ ├── notebooklm.js # bulk delete UI
│ └── notebooklm.css
│
├── lib/
│ ├── browser-polyfill.js # Mozilla webextension-polyfill
│ └── i18n.js
│
├── icons/ # 16/32/48/128 px
│ └── icon{16,32,48,128}.png
│
├── _locales/
│ ├── en/messages.json
│ └── ru/messages.json
│
├── build.sh # собирает Chrome + Firefox ZIP'ы в build/
│
├── README.md
├── LICENSE
└── .gitignore # build/, *.zip
git clone https://github.com/alexbel74/script_notebooklm.git notebooklm-importer
cd notebooklm-importer
# Опция A: Загрузить unpacked (для разработки)
# 1. Открой chrome://extensions/
# 2. Включи Developer mode (правый верхний угол)
# 3. Нажми "Load unpacked" → выбери папку проекта
# Опция Б: Собрать ZIP и загрузить
./build.sh
# → build/notebooklm-importer-chrome.zip
# Распаковать, загрузить в chrome://extensions/ как unpacked# 1. Открой about:debugging#/runtime/this-firefox
# 2. "Load Temporary Add-on..."
# 3. Выбери файл manifest.v2.json (НЕ manifest.json — он Chrome MV3)
# 4. Расширение появится в списке
⚠️ Важно для Firefox: используй именноmanifest.v2.json.manifest.json(Chrome MV3) использует service worker, который Firefox пока не полностью поддерживает.
./build.sh
# Создаст:
# build/notebooklm-importer-chrome.zip ← для Chrome Web Store
# build/notebooklm-importer-firefox.zip ← для Firefox Add-ons- Открой YouTube-видео или любую веб-страницу
- Нажми
Ctrl+Shift+N(Mac:⌘+Shift+N) - Выбери notebook → готово
- Клик по иконке расширения
- Tab Import → выбери notebook
- Всё что открыто в браузере уйдёт туда
- Открой страницу плейлиста (
/playlist?list=...) или канала (/c/channel/videos) - Клик по иконке расширения
- Выбери YouTube → Import all videos
- Открой YouTube-видео
- Иконка расширения → Parse comments
- Все верхнеуровневые комментарии уйдут в notebook как один документ
- Открой notebook на notebooklm.google.com
- На странице появится дополнительная кнопка Bulk delete
- Выдели нужные источники → удалить пачкой
YouTube ограничивает что можно увидеть с одной страницы:
| Кейс | Лимит на одной странице | Как импортировать больше |
|---|---|---|
| Плейлист >100 видео | YouTube показывает первые ~30-100 | Скрольнуть до конца, потом импортировать (lazy loading подгрузит) |
| Канал → /videos | Последние ~30 | Скрольнуть, повторить импорт для следующих |
| Комментарии | Топ-уровень с одной страницы | По умолчанию ~20-50 (можно настроить scroll) |
Для тысяч видео нужен YouTube Data API v3 с собственным API-ключом — расширение его пока не использует.
cd notebooklm-importer
git pull
# Chrome: chrome://extensions/ → найти расширение → "🔄 Reload"
# Firefox: about:debugging → "Reload"- ✅ Никаких внешних серверов — расширение общается только с
notebooklm.google.com,youtube.com,accounts.google.com - ✅ Cookies используются только для отправки запросов от твоего имени к NotebookLM (как делает сам сайт)
- ✅ Нет аналитики, нет трекинга, нет отправки данных третьим лицам
- ✅ Open source — весь код в этом репо, ничего не запускается удалённо
| Permission | Зачем |
|---|---|
tabs |
прочитать URL'ы открытых вкладок (для Tab Import) |
storage |
сохранить настройки (выбранный notebook, тема) |
activeTab |
прочитать URL/title текущей страницы (для Quick Add) |
scripting |
inject content script на notebooklm.google.com (Bulk Delete UI) |
contextMenus |
пункт "Add to NotebookLM" в контекстном меню браузера |
host_permissions |
доступ к notebooklm.google.com, youtube.com, accounts.google.com — для API-запросов |
| Проблема | Причина / Решение |
|---|---|
| "background.service_worker is currently disabled" в Firefox | Используй manifest.v2.json вместо manifest.json |
| Импорт большого плейлиста "виснет" | YouTube подгружает видео лениво — попробуй скрольнуть до конца, потом импортировать |
| Расширение не видит notebook'и | Войди в Google-аккаунт на notebooklm.google.com, потом перезагрузи расширение |
| После обновления Chrome расширение перестало работать | Google мог изменить внутренний API NotebookLM. Обнови расширение (git pull) или жди фикс |
Proprietary — All rights reserved.
Автор: alexyushkevich74@gmail.com