open-notebook
A privacy-first, self-hosted AI research notebook with 18+ model providers, multi-speaker podcast generation, and full REST API—your open-source alternative to Google Notebook LM.
Open Notebook is an open-source, self-hosted alternative to Google Notebook LM that puts you in full control of your data and AI infrastructure. It supports 18+ AI providers—including OpenAI, Anthropic, Ollama, Google GenAI, Mistral, Groq, xAI, and more—letting you mix and match models for different tasks or run entirely locally for zero-cost, zero-cloud AI inference.
The platform organizes research into notebooks that can hold PDFs, YouTube videos, audio files, web pages, PowerPoint presentations, and plain text documents. You can chat with your research using explicit source selection (full context) or use the Ask mode for automated RAG retrieval, which finds and surfaces only the most relevant chunks from across your entire notebook. Content transformations let you summarize, extract key points, or restructure material using built-in or custom AI workflows.
Open Notebook’s podcast feature goes substantially beyond what Google Notebook LM offers: you can create 1–4 speaker podcasts with custom voice profiles, choose from multiple TTS providers (OpenAI, Google, ElevenLabs, Deepgram, xAI, Mistral Voxtral, or local), and assign different AI models to the outline and transcript stages. The system supports 14 UI languages and ships with a documented REST API for programmatic access and automation.
Deployment requires only Docker Compose and takes under five minutes. The application runs as two containers—a Python FastAPI backend and a Next.js frontend—with SurrealDB handling data persistence. Optional password protection secures public deployments.
What You Get
- Privacy-First Architecture - All research data stays on your infrastructure; no third-party cloud access, no vendor telemetry, and no dependency on external storage services.
- 18+ AI Provider Support - Connect to OpenAI, Anthropic, Ollama, Google GenAI, Vertex AI, Groq, Mistral, DeepSeek, ElevenLabs, Deepgram, xAI, OpenRouter, Azure OpenAI, LM Studio, and more via a unified model registry with auto-assigned defaults.
- Multi-Speaker Podcast Generator - Create 1–4 speaker audio podcasts from your research with custom voice profiles, BCP 47 language tags, and your choice of TTS provider—far exceeding Google Notebook LM’s fixed 2-speaker format.
- Universal Content Ingestion - Import and process PDFs, YouTube videos, audio files, web pages, PowerPoint, Word documents, and plain text into searchable, embeddable knowledge bases.
- Dual AI Interaction Modes - Use Chat for conversational exploration with explicit source selection, or Ask for automated RAG retrieval that finds relevant chunks across your entire notebook automatically.
- Content Transformation Pipelines - Apply built-in or custom AI actions to summarize, extract key points, restructure, or filter content before or after embedding.
- Full-Text and Vector Search - Combine keyword search and semantic embedding search across all imported content, with citation support in AI responses.
- LaTeX Math Rendering - Inline and display math expressions render natively in chat using KaTeX, supporting research in technical and scientific domains.
- Complete REST API - Programmatically control every feature—notebooks, sources, notes, search, podcasts, transformations, and model configuration—via a fully documented API at
/docs. - 14-Language UI - Interface available in English, Portuguese, Chinese (Simplified and Traditional), Japanese, Russian, Bengali, German, Spanish, French, Korean, Turkish, and more.
Common Use Cases
- Academic literature review - A PhD student imports 60+ research papers and uses Ask mode to automatically retrieve relevant passages when writing a literature review, with citation links back to source documents.
- Private business research - A strategy consultant analyzes competitive intelligence documents using local Ollama models so no proprietary data leaves their infrastructure, then generates a transformation summary for client reporting.
- Technical documentation podcast - A developer relations team converts lengthy API documentation and blog posts into multi-speaker podcasts for developers to listen to during commutes, using ElevenLabs voices for natural audio.
- Personal knowledge management - A self-learner saves YouTube tutorials, web articles, and hand-written notes into topic notebooks, then uses Chat mode to synthesize what they’ve learned and identify gaps.
- Investigative journalism - A journalist aggregates public records, interview transcripts, and source documents into a private notebook, querying them with AI while ensuring nothing touches commercial cloud providers.
- Technical education - An instructor imports course materials, student questions, and reference texts, then generates episode-style audio content to supplement video lectures for students with different learning preferences.
Under The Hood
Architecture
Open Notebook uses a clean three-tier layered architecture that separates domain logic, AI orchestration, and HTTP handling with minimal coupling between them. Core business entities—Notebook, Source, Note, and Asset—live in a dedicated domain layer with Pydantic-validated models, while LangGraph stateful graphs handle multi-turn chat checkpointing via SQLite. SurrealDB graph edges model many-to-many relationships between notebooks and sources, enabling rich traversal queries without join complexity. The podcast pipeline runs as an async worker system via the surreal-commands library, which uses SurrealDB itself as the job queue—eliminating a separate message broker. Model provisioning automatically routes requests to large-context models when input exceeds 105,000 tokens, removing the need for users to manually manage context window limits.
Tech Stack
The Python 3.11+ backend runs FastAPI with Pydantic v2 for type-safe request handling and Loguru for structured logging, orchestrating AI workflows through LangGraph and the Esperanto provider abstraction library that unifies 18+ model providers under a single interface. SurrealDB v2 serves as a graph-aware database with WebSocket RPC and RocksDB persistence. The frontend is Next.js 16 with React 19, TanStack Query v5 for server-state management, Radix UI primitives, Tailwind CSS v4, KaTeX for math rendering, and i18next for 14-language localization. Docker Compose deployment uses supervisord to orchestrate both processes in one or two containers, with uv for fast Python resolution and Node.js 22 as the runtime.
Code Quality
The backend ships with extensive pytest coverage across 14 test files, testing domain validation, API endpoints, embedding commands, search behavior, and podcast pathways with mocked external dependencies. Error handling is explicitly classified: a dedicated utility maps raw AI provider exceptions to typed custom exceptions with user-friendly messages, and all FastAPI handlers have explicit exception arms for NotFoundError, AuthenticationError, RateLimitError, and ConfigurationError. Ruff and MyPy enforce backend code quality, ESLint enforces frontend standards, and CI validates i18n completeness across all locales. Security vulnerabilities including an RCE via SSTI and a path traversal file write were responsibly patched in v1.8.4 within days of discovery.
What Makes It Unique
The combination of two distinct AI interaction modes—Chat with transparent explicit source selection and Ask with automated RAG retrieval—gives users conscious control over what the model sees, which is rare in note-taking tools where the RAG pipeline is opaque. The podcast engine’s support for 1–4 configurable speakers, multiple TTS providers, per-speaker voice model overrides, and BCP 47 language tagging for regional dialects makes it the most flexible open-source audio generation feature in any research tool. Model provisioning transparently auto-selects large-context models based on actual token counts, and the surreal-commands worker pattern reuses SurrealDB as a persistent job queue—an unusual architectural choice that simplifies deployment significantly.
Self-Hosting
Open Notebook is released under the MIT License, which grants unrestricted rights to use, copy, modify, merge, publish, distribute, and sublicense the software for any purpose, including commercial use. There are no copyleft implications, no open-core restrictions, and no enterprise feature gates—the entire codebase available on GitHub is the same software you deploy. You can white-label it, integrate it into a commercial product, or modify it without obligation to contribute changes back.
Self-hosting Open Notebook requires Docker and Docker Compose; the recommended setup runs two containers (the application and SurrealDB) alongside a persistent data volume for the database. You are responsible for infrastructure provisioning, uptime monitoring, database backups, and upgrades between versions. The application does not include built-in clustering, high-availability configuration, or automated backup tooling, so production deployments at scale require you to design those layers yourself. Upgrades are managed manually by pulling updated Docker images, and breaking schema changes require running migrations via SurrealDB commands. A single-container deployment is deprecated as of v1.10 and will be removed in v2.
There is no official managed or SaaS version of Open Notebook, so there is no hosted tier offering HA, managed upgrades, or commercial support contracts. Community support is available through a Discord server and GitHub Issues. The trade-off compared to Google Notebook LM is operational responsibility: you gain complete data sovereignty, provider flexibility, unlimited customization, and freedom from usage quotas, but you assume the burden of keeping the system running, securing it appropriately (the project recommends setting CORS_ORIGINS and enabling password protection for public deployments), and staying current with releases.
Related Apps
AutoGPT
Automation · Productivity · AI Assistants
Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.
AutoGPT
OtherOpen WebUI
AI Assistants · AI Agents
The extensible, privacy-first AI platform that runs Ollama, OpenAI, and any LLM backend behind a polished, feature-packed web interface.
Open WebUI
OtherLobeHub
AI Assistants · Productivity · Automation
Your Chief Agent Operator — build, schedule, and collaborate with an entire AI team in one self-hostable workspace.