[![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
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 Β»
Follow @lfnovo on X for updates

πŸ“š Get Started Β· πŸ“– User Guide Β· ✨ Features Β· πŸš€ Deploy

lfnovo%2Fopen-notebook | Trendshift

Deutsch | EspaΓ±ol | franΓ§ais | ζ—₯本θͺž | ν•œκ΅­μ–΄ | PortuguΓͺs | Русский | δΈ­ζ–‡
## A private, multi-model, 100% local, full-featured alternative to Notebook LM ![New Notebook](docs/assets/asset_list.png) 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** - 20+ providers including OpenAI, Anthropic, Google, Mistral, Ollama and any OpenAI-compatible server (LM Studio, vLLM) - πŸ“š **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 - 🌐 **Multi-language UI** - English, Bengali, Catalan, Chinese (Simplified & Traditional), French, German, Italian, Japanese, Polish, Portuguese, Russian, Spanish and Turkish Learn more about our project at [https://www.open-notebook.ai](https://www.open-notebook.ai) --- ## πŸ†š Open Notebook vs Google Notebook LM | Feature | Open Notebook | Google Notebook LM | Advantage | |---------|---------------|--------------------|-----------| | **Privacy & Control** | Self-hosted, your data | Google cloud only | Complete data sovereignty | | **AI Provider Choice** | 20+ providers, cloud or local (OpenAI, Anthropic, Google, Ollama, LM Studio, etc.) | Google models only | Flexibility and cost optimization | | **Podcast Speakers** | 1-4 speakers with custom profiles | 2 speakers only | Extreme flexibility | | **Content Transformations** | Custom and built-in | Limited options | Unlimited processing power | | **API Access** | Full REST API | No API | Complete automation | | **Deployment** | Docker, cloud, or local | Google hosted only | Deploy anywhere | | **Citations** | Answers cite the sources, notes and insights they used | Comprehensive with sources | Research integrity | | **Customization** | Open source, fully customizable | Closed system | Unlimited extensibility | | **Cost** | Pay only for AI usage | Free tier + Monthly subscription | Transparent 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][Python]][Python-url] [![Next.js][Next.js]][Next-url] [![React][React]][React-url] [![SurrealDB][SurrealDB]][SurrealDB-url] [![LangChain][LangChain]][LangChain-url] ## πŸš€ Quick Start ### Prerequisites - [Docker Desktop](https://www.docker.com/products/docker-desktop/) (macOS, Windows) or Docker Engine with the Compose plugin (Linux) - An API key from an AI provider, or a local model server such as Ollama. You add it in the UI, not in config files. ### Step 1: Download docker-compose.yml ```bash mkdir open-notebook && cd open-notebook curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml ``` This is the official [docker-compose.yml](docker-compose.yml) from this repository. It runs two services: `surrealdb` (the database) and `open_notebook` (UI, API and background worker). ### Step 2: Set your encryption key Edit `docker-compose.yml` and change this line: ```yaml - OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string ``` to a long random secret you generate yourself (for example with `openssl rand -hex 32`; [other options](docs/1-INSTALLATION/docker-compose.md#step-2-set-your-encryption-key)). It encrypts the API keys you store; keep it. > **Shared network or server?** The UI (`8502`) and API (`5055`) are published on all network interfaces and there is no password by default. If other devices can reach this machine, change those two port lines to `"127.0.0.1:8502:8502"` and `"127.0.0.1:5055:5055"`, or add `- OPEN_NOTEBOOK_PASSWORD=your-password` to the `environment:` block, before starting. ### Step 3: Start services ```bash docker compose up -d ``` Wait about 30 seconds, then open: **http://localhost:8502** ### Step 4: Connect an AI provider 1. In the sidebar, open **Models** (under Manage). 2. Find your provider (OpenAI, Anthropic, Google, etc.) and click **Add Configuration**. 3. Enter a name and your API key (local providers such as Ollama need a **Base URL** instead), then click **Add Configuration**. 4. Click **Test** on the new configuration to check the connection. 5. Click **Models**, choose a **Model Type**, tick the models to add and click **Add**. Add at least one **Language** model and one **Embedding** model. 6. Under **Default Model Assignments**, click **Auto-assign Defaults** (or pick the models yourself). Done! Create a notebook, add a source and start chatting. Full walkthrough: [Connect a provider](docs/4-AI-PROVIDERS/index.md#connect-a-provider). > **Need an API key?** Get one from: > [OpenAI](https://platform.openai.com/api-keys) Β· [Anthropic](https://console.anthropic.com/settings/keys) Β· [Google](https://aistudio.google.com/app/apikey) Β· [Groq](https://console.groq.com/keys) > > Anthropic and Groq have no embedding models; pair them with a provider that does (see the [matrix](#provider-support-matrix)). > **Want free local AI?** See the [Local Quick Start](docs/0-START-HERE/quick-start-local.md) (Ollama in Docker). --- ### πŸ“š More Installation Options - **[Local AI with Ollama](docs/0-START-HERE/quick-start-local.md)** - Run models locally without API costs - **[Docker Compose guide](docs/1-INSTALLATION/docker-compose.md)** - Settings, backups, updates, remote access - **[From Source (Developers)](docs/1-INSTALLATION/from-source.md)** - For development and contributions - **[Complete Installation Guide](docs/1-INSTALLATION/index.md)** - All deployment scenarios --- ### πŸ“– Need Help? - **πŸ€– AI Installation Assistant**: [CustomGPT to help you install](https://chatgpt.com/g/g-68776e2765b48191bd1bae3f30212631-open-notebook-installation-assistant) - **πŸ†˜ Troubleshooting**: [5-minute troubleshooting guide](docs/6-TROUBLESHOOTING/quick-fixes.md) - **πŸ’¬ Community Support**: [Discord Server](https://discord.gg/37XJPXfz2w) - **πŸ› Report Issues**: [GitHub Issues](https://github.com/lfnovo/open-notebook/issues) --- ## Star History [![Star History Chart](https://star-history.dera.page/svg?repos=lfnovo/open-notebook&type=date&legend=top-left)](https://star-history.dera.page/#lfnovo/open-notebook&type=date&legend=top-left) ## Provider Support Matrix Thanks to the [Esperanto](https://github.com/lfnovo/esperanto) library, we support these providers out of the box. The columns show the model types each provider offers; what you can use depends on your account. | Provider | LLM Support | Embedding Support | Speech-to-Text | Text-to-Speech | |--------------|-------------|------------------|----------------|----------------| | OpenAI | βœ… | βœ… | βœ… | βœ… | | Anthropic | βœ… | ❌ | ❌ | ❌ | | Google (GenAI) | βœ… | βœ… | βœ… | βœ… | | Groq | βœ… | ❌ | βœ… | ❌ | | Mistral | βœ… | βœ… | βœ… | βœ… | | DeepSeek | βœ… | ❌ | ❌ | ❌ | | xAI | βœ… | ❌ | ❌ | βœ… | | OpenRouter | βœ… | βœ… | βœ… | βœ… | | DashScope (Qwen) | βœ… | ❌ | ❌ | ❌ | | MiniMax | βœ… | ❌ | ❌ | βœ… | | Novita | βœ… | ❌ | ❌ | ❌ | | SiliconFlow | βœ… | ❌ | ❌ | ❌ | | Z.ai | βœ… | ❌ | ❌ | ❌ | | PayPerQ (PPQ) | βœ… | βœ… | βœ… | βœ… | | Cohere | βœ… | βœ… | ❌ | ❌ | | Voyage | ❌ | βœ… | ❌ | ❌ | | ElevenLabs | ❌ | ❌ | βœ… | βœ… | | Deepgram | ❌ | ❌ | βœ… | βœ… | | Ollama | βœ… | βœ… | ❌ | ❌ | | oMLX | βœ… | βœ… | ❌ | ❌ | | Azure OpenAI | βœ… | βœ… | βœ… | βœ… | | Vertex AI | βœ… | βœ… | ❌ | βœ… | | OpenAI Compatible* | βœ… | βœ… | βœ… | βœ… | | Anthropic Compatible | βœ… | ❌ | ❌ | ❌ | *Supports LM Studio and any OpenAI-compatible endpoint. Prefer the native **oMLX** provider for [oMLX](https://omlx.ai/) (Apple Silicon); see [docs/5-CONFIGURATION/omlx.md](docs/5-CONFIGURATION/omlx.md). ## ✨ Key Features ### Core Capabilities - **πŸ”’ Privacy-First**: Self-hosted; with local models nothing leaves your machine - **🎯 Multi-Notebook Organization**: Manage multiple research projects seamlessly - **πŸ“š Universal Content Support**: PDFs, videos, audio, web pages, Office docs, and more - **πŸ€– Multi-Model AI Support**: 20+ 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](https://img.shields.io/badge/API-Documentation-blue?style=flat-square)](http://localhost:5055/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 ## Podcast Feature [![Check out our podcast sample](https://img.youtube.com/vi/D-760MlGwaI/0.jpg)](https://www.youtube.com/watch?v=D-760MlGwaI) ## πŸ“š Documentation ### Getting Started - **[πŸ“– Introduction](docs/0-START-HERE/index.md)** - Learn what Open Notebook offers - **[⚑ Quick Start with a Cloud Provider](docs/0-START-HERE/quick-start-cloud.md)** - OpenAI, Anthropic, Google and more in 5 minutes - **[πŸ”§ Installation](docs/1-INSTALLATION/index.md)** - Comprehensive setup guide - **[🎯 Run It Fully Local](docs/0-START-HERE/quick-start-local.md)** - Ollama/LM Studio, completely private ### User Guide - **[πŸ“± Interface Overview](docs/3-USER-GUIDE/interface-overview.md)** - Understanding the layout - **[πŸ“š Notebooks, Sources & Notes](docs/2-CORE-CONCEPTS/notebooks-sources-notes.md)** - Organizing your research - **[πŸ“„ Adding Sources](docs/3-USER-GUIDE/adding-sources.md)** - Managing content types - **[πŸ“ Working with Notes](docs/3-USER-GUIDE/working-with-notes.md)** - Creating and managing notes - **[πŸ’¬ Chatting Effectively](docs/3-USER-GUIDE/chat-effectively.md)** - AI conversations - **[πŸ” Search](docs/3-USER-GUIDE/search.md)** - Finding information ### Advanced Topics - **[πŸŽ™οΈ Podcast Generation](docs/2-CORE-CONCEPTS/podcasts-explained.md)** - Create professional podcasts - **[πŸ”§ Content Transformations](docs/3-USER-GUIDE/transformations.md)** - Customize content processing - **[πŸ€– AI Providers](docs/4-AI-PROVIDERS/index.md)** - Connect providers and set default models - **[πŸ”Œ MCP Integration](docs/5-CONFIGURATION/mcp-integration.md)** - Connect with Claude Desktop, VS Code and other MCP clients - **[πŸ”§ REST API Reference](docs/7-DEVELOPMENT/api-reference.md)** - Complete API documentation - **[πŸ” Security](docs/5-CONFIGURATION/security.md)** - Password protection and privacy - **[πŸš€ Deployment](docs/1-INSTALLATION/index.md)** - Complete deployment guides for all scenarios - **[🧭 Vision & Principles](VISION.md)** - What Open Notebook is, and where it's going - **[πŸ› οΈ Developer Docs](docs/7-DEVELOPMENT/index.md)** - Architecture, setup, contributing, decision records

(back to top)

## πŸ—ΊοΈ Where We're Going Right now the focus is on making the core experience (sources, chat, search, notes, podcasts) solid across every provider and deployment, before adding new product surfaces. The bigger directions under consideration, such as multi-user support, new output formats and agents operating Open Notebook through MCP, are described in the **Horizon** section of [VISION.md](VISION.md#horizon). They are directions, not dated promises. Explore [GitHub Discussions](https://github.com/lfnovo/open-notebook/discussions/categories/ideas) for proposed features and product ideas, and [open Issues](https://github.com/lfnovo/open-notebook/issues) for known bugs and approved work. Recent changes are in the [CHANGELOG](CHANGELOG.md).

(back to top)

## πŸ“– Need Help? - **πŸ€– AI Installation Assistant**: We have a [CustomGPT built to help you install Open Notebook](https://chatgpt.com/g/g-68776e2765b48191bd1bae3f30212631-open-notebook-installation-assistant) - it will guide you through each step! - **New to Open Notebook?** Start with our [Getting Started Guide](docs/0-START-HERE/index.md) - **Need installation help?** Check our [Installation Guide](docs/1-INSTALLATION/index.md) - **Want to see it in action?** Try our [Quick Start Tutorial](docs/0-START-HERE/index.md) ## 🀝 Community & Contributing ### Join the Community - πŸ’¬ **[Discord Server](https://discord.gg/37XJPXfz2w)** - Get help, share ideas, and connect with other users - 𝕏 **[Follow @lfnovo on X](https://x.com/lfnovo)** - Project updates and news from the maintainer - πŸ’‘ **[GitHub Discussions](https://github.com/lfnovo/open-notebook/discussions)** - Ask questions and shape features, product direction, design, and architecture - πŸ› **[GitHub Issues](https://github.com/lfnovo/open-notebook/issues)** - Report reproducible bugs and find approved work - ⭐ **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 improve our modern Next.js/React UI - **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, Next.js, React, SurrealDB See our [Contributing Guide](CONTRIBUTING.md) for detailed information on how to get started, including our guidelines for [AI-assisted contributions](docs/7-DEVELOPMENT/contributing.md#ai-assisted-and-agent-generated-prs). To understand what we're building (and what we'll say no to), read [VISION.md](VISION.md).

(back to top)

## πŸ“„ License Open Notebook is MIT licensed. See the [LICENSE](LICENSE) file for details. **Community Support**: - πŸ’¬ [Discord Server](https://discord.gg/37XJPXfz2w) - Get help, share ideas, and connect with users - 𝕏 [Follow @lfnovo on X](https://x.com/lfnovo) - Project updates and news from the maintainer - πŸ’‘ [GitHub Discussions](https://github.com/lfnovo/open-notebook/discussions) - Ask questions and shape ideas - πŸ› [GitHub Issues](https://github.com/lfnovo/open-notebook/issues) - Report reproducible bugs and find approved work - 🌐 [Website](https://www.open-notebook.ai) - Learn more about the project

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/lfnovo/open-notebook.svg?style=for-the-badge [contributors-url]: https://github.com/lfnovo/open-notebook/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/lfnovo/open-notebook.svg?style=for-the-badge [forks-url]: https://github.com/lfnovo/open-notebook/network/members [stars-shield]: https://img.shields.io/github/stars/lfnovo/open-notebook.svg?style=for-the-badge [stars-url]: https://github.com/lfnovo/open-notebook/stargazers [issues-shield]: https://img.shields.io/github/issues/lfnovo/open-notebook.svg?style=for-the-badge [issues-url]: https://github.com/lfnovo/open-notebook/issues [license-shield]: https://img.shields.io/github/license/lfnovo/open-notebook.svg?style=for-the-badge [license-url]: https://github.com/lfnovo/open-notebook/blob/main/LICENSE [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://linkedin.com/in/lfnovo [Next.js]: https://img.shields.io/badge/Next.js-000000?style=for-the-badge&logo=next.js&logoColor=white [Next-url]: https://nextjs.org/ [React]: https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=black [React-url]: https://reactjs.org/ [Python]: https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white [Python-url]: https://www.python.org/ [LangChain]: https://img.shields.io/badge/LangChain-3A3A3A?style=for-the-badge&logo=chainlink&logoColor=white [LangChain-url]: https://www.langchain.com/ [SurrealDB]: https://img.shields.io/badge/SurrealDB-FF5E00?style=for-the-badge&logo=databricks&logoColor=white [SurrealDB-url]: https://surrealdb.com/