lfnovo

    lfnovo/open-notebook

    An Open Source implementation of Notebook LM with more flexibility and features

    education
    assistant
    learning
    note-taking
    notebook
    notes-app
    self-learning
    TypeScript
    MIT
    17.6K stars
    1.9K forks
    17.6K watching
    Updated 2/27/2026
    View on GitHub
    Backblaze Advertisement

    Loading star history...

    Health Score

    25.44

    Weekly Growth

    +0

    +0.0% this week

    Contributors

    1

    Total contributors

    Open Issues

    85

    Generated Insights

    About open-notebook

    Forks Stargazers Issues MIT License


    Logo

    Open Notebook

    An open source, privacy-focused alternative to Google's Notebook LM!
    Join our Discord server for help, to share workflow ideas, and suggest features!
    Checkout our website »

    📚 Get Started · 📖 User Guide · ✨ Features · 🚀 Deploy

    📢 Open Notebook is under very active development

    Open Notebook is under active development! We're moving fast and making improvements every week. Your feedback is incredibly valuable to me during this exciting phase and it gives me motivation to keep improving and building this amazing tool. Please feel free to star the project if you find it useful, and don't hesitate to reach out with any questions or suggestions. I'm excited to see how you'll use it and what ideas you'll bring to the project! Let's build something amazing together! 🚀

    About The Project

    New Notebook

    An open source, privacy-focused alternative to Google's Notebook LM. Why give Google more of our data when we can take control of our own research workflows?

    In a world dominated by Artificial Intelligence, having the ability to think 🧠 and acquire new knowledge 💡, is a skill that should not be a privilege for a few, nor restricted to a single provider.

    Open Notebook empowers you to:

    • 🔒 Control your data - Keep your research private and secure
    • 🤖 Choose your AI models - Support for 16+ providers including OpenAI, Anthropic, Ollama, LM Studio, and more
    • 📚 Organize multi-modal content - PDFs, videos, audio, web pages, and more
    • 🎙️ Generate professional podcasts - Advanced multi-speaker podcast generation
    • 🔍 Search intelligently - Full-text and vector search across all your content
    • 💬 Chat with context - AI conversations powered by your research

    Learn more about our project at https://www.open-notebook.ai

    🆚 Open Notebook vs Google Notebook LM

    FeatureOpen NotebookGoogle Notebook LMAdvantage
    Privacy & ControlSelf-hosted, your dataGoogle cloud onlyComplete data sovereignty
    AI Provider Choice16+ providers (OpenAI, Anthropic, Ollama, LM Studio, etc.)Google models onlyFlexibility and cost optimization
    Podcast Speakers1-4 speakers with custom profiles2 speakers onlyExtreme flexibility
    Context Control3 granular levelsAll-or-nothingPrivacy and performance tuning
    Content TransformationsCustom and built-inLimited optionsUnlimited processing power
    API AccessFull REST APINo APIComplete automation
    DeploymentDocker, cloud, or localGoogle hosted onlyDeploy anywhere
    CitationsComprehensive with sourcesBasic referencesResearch integrity
    CustomizationOpen source, fully customizableClosed systemUnlimited extensibility
    CostPay only for AI usageMonthly subscription + usageTransparent and controllable

    Why Choose Open Notebook?

    • 🔒 Privacy First: Your sensitive research stays completely private
    • 💰 Cost Control: Choose cheaper AI providers or run locally with Ollama
    • 🎙️ Better Podcasts: Full script control and multi-speaker flexibility vs limited 2-speaker deep-dive format
    • 🔧 Unlimited Customization: Modify, extend, and integrate as needed
    • 🌐 No Vendor Lock-in: Switch providers, deploy anywhere, own your data

    Built With

    Python SurrealDB LangChain Streamlit

    🚀 Quick Start

    Ready to try Open Notebook? Choose your preferred method:

    # Create a new directory for your Open Notebook installation
    mkdir open-notebook
    cd open-notebook
    
    # Using Docker - Get started in 2 minutes
    docker run -d \
      --name open-notebook \
      -p 8502:8502 -p 5055:5055 \
      -v ./notebook_data:/app/data \
      -v ./surreal_data:/mydata \
      -e OPENAI_API_KEY=your_key \
      lfnovo/open_notebook:latest-single
    

    What gets created:

    open-notebook/
    ├── notebook_data/     # Your notebooks and research content
    └── surreal_data/      # Database files
    

    Access your installation:

    ⚠️ Important:

    1. Run from a dedicated folder: Create and run this from inside a new open-notebook folder so your data volumes are properly organized
    2. Volume persistence: The volumes (-v ./notebook_data:/app/data and -v ./surreal_data:/mydata) are essential to persist your data between container restarts. Without them, you'll lose all your notebooks and research when the container stops.

    🛠️ Full Installation

    For development or customization:

    git clone https://github.com/lfnovo/open-notebook
    cd open-notebook
    make start-all
    

    📖 Need Help?

    Provider Support Matrix

    Thanks to the Esperanto library, we support this providers out of the box!

    ProviderLLM SupportEmbedding SupportSpeech-to-TextText-to-Speech
    OpenAI
    Anthropic
    Groq
    Google (GenAI)
    Vertex AI
    Ollama
    Perplexity
    ElevenLabs
    Azure OpenAI
    Mistral
    DeepSeek
    Voyage
    xAI
    OpenRouter
    OpenAI Compatible*

    *Supports LM Studio and any OpenAI-compatible endpoint

    ✨ Key Features

    Core Capabilities

    • 🔒 Privacy-First: Your data stays under your control - no cloud dependencies
    • 🎯 Multi-Notebook Organization: Manage multiple research projects seamlessly
    • 📚 Universal Content Support: PDFs, videos, audio, web pages, Office docs, and more
    • 🤖 Multi-Model AI Support: 16+ providers including OpenAI, Anthropic, Ollama, Google, LM Studio, and more
    • 🎙️ Professional Podcast Generation: Advanced multi-speaker podcasts with Episode Profiles
    • 🔍 Intelligent Search: Full-text and vector search across all your content
    • 💬 Context-Aware Chat: AI conversations powered by your research materials
    • 📝 AI-Assisted Notes: Generate insights or write notes manually

    Advanced Features

    • ⚡ Reasoning Model Support: Full support for thinking models like DeepSeek-R1 and Qwen3
    • 🔧 Content Transformations: Powerful customizable actions to summarize and extract insights
    • 🌐 Comprehensive REST API: Full programmatic access for custom integrations API Docs
    • 🔐 Optional Password Protection: Secure public deployments with authentication
    • 📊 Fine-Grained Context Control: Choose exactly what to share with AI models
    • 📎 Citations: Get answers with proper source citations

    Three-Column Interface

    1. Sources: Manage all your research materials
    2. Notes: Create manual or AI-generated notes
    3. Chat: Converse with AI using your content as context

    Check out our podcast sample

    📚 Documentation

    Getting Started

    User Guide

    Advanced Topics

    (back to top)

    🗺️ Roadmap

    Upcoming Features

    • React Frontend: Modern React-based frontend to replace Streamlit
    • Live Front-End Updates: Real-time UI updates for smoother experience
    • Async Processing: Faster UI through asynchronous content processing
    • Cross-Notebook Sources: Reuse research materials across projects
    • Bookmark Integration: Connect with your favorite bookmarking apps

    Recently Completed ✅

    • Comprehensive REST API: Full programmatic access to all functionality
    • Multi-Model Support: 16+ AI providers including OpenAI, Anthropic, Ollama, LM Studio
    • Advanced Podcast Generator: Professional multi-speaker podcasts with Episode Profiles
    • Content Transformations: Powerful customizable actions for content processing
    • Enhanced Citations: Improved layout and finer control for source citations
    • Multiple Chat Sessions: Manage different conversations within notebooks

    See the open issues for a full list of proposed features and known issues.

    (back to top)

    🤝 Community & Contributing

    Join the Community

    • 💬 Discord Server - Get help, share ideas, and connect with other users
    • 🐛 GitHub Issues - Report bugs and request features
    • Star this repo - Show your support and help others discover Open Notebook

    Contributing

    We welcome contributions! We're especially looking for help with:

    • Frontend Development: Help build a modern React-based UI (planned replacement for current Streamlit interface)
    • Testing & Bug Fixes: Make Open Notebook more robust
    • Feature Development: Build the coolest research tool together
    • Documentation: Improve guides and tutorials

    Current Tech Stack: Python, FastAPI, SurrealDB, Streamlit
    Future Roadmap: React frontend, enhanced real-time updates

    See our Contributing Guide for detailed information on how to get started.

    (back to top)

    📄 License

    Open Notebook is MIT licensed. See the LICENSE file for details.

    📞 Contact

    Luis Novo - @lfnovo

    Community Support:

    🙏 Acknowledgments

    Open Notebook is built on the shoulders of amazing open-source projects:

    (back to top)

    Discover Repositories

    Search across tracked repositories by name or description