Open Notebook — приватная альтернатива Google Notebook LM с мультимодальным контентом и подкастами

· 2 мин чтения
notebook rag llm self-hosted podcast
📂 Исходный код на GitHub

Open-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 — приватная альтернатива Google Notebook LM с мультимодальным контентом и подкастами

Что это

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. После этого можно создавать первый блокнот.

Альтернативные сценарии

MCP-интеграция

Open Notebook поддерживает Model Context Protocol — можно подключить как MCP-сервер в Claude Desktop, VS Code или другие MCP-клиенты. Это значит, что Claude (или другой агент) сможет напрямую работать с вашими блокнотами: искать, добавлять источники, генерировать заметки. Документация: MCP Integration.

Для пользователей GSD-подобных workflow это особенно интересно — AI-агент получает доступ к вашей базе знаний как к инструменту.

Документация

Проект хорошо задокументирован:

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 / локально

Сообщество

Автор активно контрибьютит в open source (Esperanto, SurrealDB-интеграции) и отвечает на issues. Проект молодой, но живой — есть регулярные релизы и активный Discord.

Лицензия

MIT — можно использовать в коммерческих проектах, форкать, модифицировать. Единственное требование — сохранить копирайт.

Источник: https://github.com/lfnovo/open-notebook