Open Notebook — приватная альтернатива Google Notebook LM с мультимодальным контентом и подкастами
📂 Исходный код на GitHubOpen-source, privacy-focused альтернатива Google Notebook LM. Поддержка 18+ AI-провайдеров (OpenAI, Anthropic, Ollama, LM Studio, Google), мультимодальный контент, генерация профессиональных подкастов с 1-4 спикерами, полнотекстовый и векторный поиск, REST API. Python + FastAPI на бэкенде, Next.js/React на фронтенде, SurrealDB для хранения.
Что это
Open Notebook — self-hosted альтернатива Google Notebook LM от lfnovo. Если вы когда-нибудь хотели такой же удобный инструмент для работы с исследовательскими материалами, но без отправки всего в облако Google — это он. Исходники открыты, MIT-лицензия, деплой через Docker.
Главная идея простая: вы загружаете в «блокнот» свои источники (PDF, видео, аудио, веб-страницы, офисные документы), а дальше с ними работает AI. Можно генерировать заметки, вести диалог с контекстом из загруженных материалов, делать summary, искать по всему корпусу. А ещё — генерировать полноценные подкасты с несколькими голосами, что для Notebook LM всегда было одной из самых интересных фич.
Чем отличается от Google Notebook LM
В таблице из README автор сравнивает ключевые возможности. Если коротко:
| Аспект | Open Notebook | Google Notebook LM |
|---|---|---|
| Хранение данных | Self-hosted, ваш сервер | Только облако Google |
| AI-провайдеры | 18+ на выбор | Только Google |
| Подкасты | 1-4 спикера с кастомными профилями | Только 2 спикера |
| API | Полноценный REST | Нет |
| Деплой | Docker / облако / локально | Только Google-хостинг |
| Кастомизация | Полная, open source | Закрытая система |
Главный trade-off — Google даёт «из коробки» хороший UX и интеграцию со своими сервисами. Open Notebook даёт контроль и гибкость, но требует самостоятельного деплоя и настройки. Если вы работаете с чувствительными данными или просто не хотите зависеть от одного вендора — это разумный выбор.
Архитектура
Стек заявлен такой:
- Backend: Python + FastAPI
- Frontend: Next.js + React
- База данных: SurrealDB (с поддержкой векторного поиска)
- AI-оркестрация: LangChain
- Мультипровайдерность: библиотека Esperanto того же автора — единый интерфейс для всех AI-провайдеров
SurrealDB здесь не случаен — это мультимодельная БД, которая умеет и документы, и графы, и векторный поиск в одном флаконе. Для RAG-системы (а Open Notebook — это по сути надстройка над RAG) это удобно: один компонент вместо связки Postgres + pgvector + что-то ещё.
Возможности
Базовое
- Мульти-блокнотная организация — можно вести несколько исследовательских проектов параллельно
- Универсальные источники — PDF, видео, аудио, веб-страницы, Office-документы
- 18+ AI-провайдеров — OpenAI, Anthropic, Google, Groq, Ollama, LM Studio, Mistral, DeepSeek, OpenRouter, xAI, Vertex AI, Voyage, Azure OpenAI, DashScope (Qwen), MiniMax, ElevenLabs (для аудио), Deepgram, OpenAI-compatible
- Полнотекстовый и векторный поиск по всему контенту
- Контекстный чат — диалог с AI, который видит загруженные материалы
- AI-заметки — автоматическая генерация инсайтов или ручные заметки
Продвинутое
- Reasoning-модели — поддержка thinking-моделей типа DeepSeek-R1 и Qwen3
- Content Transformations — настраиваемые действия для обработки контента (суммаризация, извлечение инсайтов и т.д.)
- REST API — полный программный доступ ко всем функциям
- Опциональная парольная защита — для публичных деплоев
- Гранулярный контроль контекста — выбор, какие именно материалы отдать модели
- Цитирование — ответы со ссылками на источники
Подкасты
Отдельная гордость проекта — генератор подкастов. Можно настроить от 1 до 4 спикеров с разными профилями (тембр, стиль речи, роль в диалоге). Episode Profiles позволяют создавать переиспользуемые конфигурации для разных форматов — например, «интервью с экспертом», «дискуссия двух аналитиков», «монолог-обзор». По качеству скрипта и контролю это ощутимо гибче, чем фиксированный двухголосый формат Google.
Поддерживаемые провайдеры
Автор сделал Esperanto — библиотеку-обёртку, которая даёт единый интерфейс для всех провайдеров. Поддержка по типам задач:
| Провайдер | LLM | Embeddings | STT | TTS |
|---|---|---|---|---|
| OpenAI | ✓ | ✓ | ✓ | ✓ |
| Anthropic | ✓ | — | — | — |
| Groq | ✓ | — | ✓ | — |
| Google (GenAI) | ✓ | ✓ | ✓ | ✓ |
| Vertex AI | ✓ | ✓ | — | ✓ |
| Ollama | ✓ | ✓ | — | — |
| Perplexity | ✓ | — | — | — |
| ElevenLabs | — | — | ✓ | ✓ |
| Deepgram | — | — | — | ✓ |
| Azure OpenAI | ✓ | ✓ | ✓ | ✓ |
| Mistral | ✓ | ✓ | ✓ | — |
| DeepSeek | ✓ | — | — | — |
| Voyage | — | ✓ | — | — |
| xAI | ✓ | — | — | ✓ |
| OpenRouter | ✓ | ✓ | — | — |
| DashScope (Qwen) | ✓ | — | — | — |
| MiniMax | ✓ | — | — | — |
| OpenAI Compatible* | ✓ | ✓ | ✓ | ✓ |
*В эту категорию попадают LM Studio и любые OpenAI-совместимые эндпоинты.
Если хочется полностью бесплатный вариант — Ollama даёт и LLM, и embeddings локально. Правда, STT/TTS придётся подключать отдельно (Whisper через другой сервис, например).
Быстрый старт
Автор обещает запуск за 2 минуты, и это похоже на правду.
Требования
Шаг 1: docker-compose
Скачать готовый файл:
curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml
Или создать вручную — внутри два сервиса: surrealdb (на порту 8000) и open_notebook (на портах 8502 для UI и 5055 для API).
Шаг 2: ключ шифрования
Поменять OPEN_NOTEBOOK_ENCRYPTION_KEY в docker-compose на любую секретную строку. Этим ключом шифруются API-ключи провайдеров и прочие чувствительные данные, так что не оставляйте дефолтный change-me-to-a-secret-string.
Шаг 3: запуск
docker compose up -d
Подождите 15-20 секунд, откройте http://localhost:8502.
Шаг 4: настройка AI
В UI: Models → + Add Configuration → выбрать провайдера → вставить API-ключ → Test → Sync Models → Auto-Assign Defaults. После этого можно создавать первый блокнот.
Альтернативные сценарии
- Ollama (бесплатно, локально): examples/docker-compose-ollama.yml — запуск с локальными моделями, без затрат на API
- Из исходников: docs/1-INSTALLATION/from-source.md — для разработки и контрибьюции
- Полный гайд по деплою: docs/1-INSTALLATION/index.md
MCP-интеграция
Open Notebook поддерживает Model Context Protocol — можно подключить как MCP-сервер в Claude Desktop, VS Code или другие MCP-клиенты. Это значит, что Claude (или другой агент) сможет напрямую работать с вашими блокнотами: искать, добавлять источники, генерировать заметки. Документация: MCP Integration.
Для пользователей GSD-подобных workflow это особенно интересно — AI-агент получает доступ к вашей базе знаний как к инструменту.
Документация
Проект хорошо задокументирован:
- Getting Started — что это и зачем
- Quick Start — за 5 минут
- User Guide — интерфейс, блокноты, источники, чат
- Podcast Generation — детали по подкастам
- Content Transformations — настройка обработки
- REST API Reference — программный доступ
- Security — защита и приватность
- Troubleshooting — если что-то пошло не так
Roadmap
Из открытых issues и roadmap:
В работе:
- Live Front-End Updates — real-time обновления UI
- Async Processing — асинхронная обработка для скорости
- Cross-Notebook Sources — переиспользование материалов между блокнотами
- Bookmark Integration — интеграция с закладочными сервисами
Уже сделано (недавно):
- Next.js фронтенд
- Полноценный REST API
- Поддержка 18+ провайдеров
- Улучшенный генератор подкастов с Episode Profiles
- Content Transformations
- Множественные чат-сессии в одном блокноте
Для кого это
Open Notebook — хороший выбор, если:
- Работаете с чувствительными данными — исследования, медицина, юриспруденция, внутренняя документация компании
- Хотите выбирать AI-провайдера под задачу и бюджет — сегодня GPT, завтра Claude, послезавтра локальный Ollama
- Нужна интеграция с вашим стеком через REST API или MCP
- Устали от вендор-лока — Google может завтра поменять тарифы, политику, условия
- Хотите кастомизировать — это open source, форкайте и дописывайте под себя
Не подойдёт, если вам нужен zero-setup инструмент «просто чтобы работало» — здесь придётся повозиться с Docker и настройкой провайдеров.
Технический стек
- Backend: Python, FastAPI
- Frontend: Next.js, React
- БД: SurrealDB
- AI: LangChain + Esperanto (мультипровайдерная обёртка)
- Лицензия: MIT
- Деплой: Docker / cloud / локально
Сообщество
- 💬 Discord — основной канал общения
- 🐛 GitHub Issues — баги и фич-реквесты
- 🌐 Сайт проекта
- 🤖 CustomGPT-помощник по установке — отдельная GPT для тех, кто застрял на деплое
Автор активно контрибьютит в open source (Esperanto, SurrealDB-интеграции) и отвечает на issues. Проект молодой, но живой — есть регулярные релизы и активный Discord.
Лицензия
MIT — можно использовать в коммерческих проектах, форкать, модифицировать. Единственное требование — сохранить копирайт.
Источник: https://github.com/lfnovo/open-notebook