lfnovo/open-notebook

▲ 220 stars today★ 40,839⑂ 4,695

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

About lfnovo/open-notebook

lfnovo/open-notebook is an open-source project on GitHub, mainly written in TypeScript. An Open Source implementation of Notebook LM with more flexibility and features It currently holds 40,839 stars and 4,695 forks with 188 open issues, and was last pushed on 2026-10-25 (repository created 2024-10-21).

Project Overview

Git Homed tracks it on the Today's Trending board, currently at rank #38 with 220 new stars today.

GitHub Repository Details

Repository lfnovo/open-notebook · default branch main · size 14666 KB · watchers 175 · source: GitHub REST API and repository README

README

[![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]


https://github.com/lfnovo/open-notebook/blob/HEAD/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

https://github.com/lfnovo/open-notebook/blob/HEAD/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

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:

Learn more about our project at 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?

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

Step 1: Download docker-compose.yml

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 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:
- 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). 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

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.

Need an API key? Get one from:
OpenAI · Anthropic · Google · Groq
> Anthropic and Groq have no embedding models; pair them with a provider that does (see the matrix).
Want free local AI? See the Local Quick Start (Ollama in Docker).

---

📚 More Installation Options

---

📖 Need Help?

---

Star History

Star History Chart

Provider Support Matrix

Thanks to the 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 (Apple Silicon); see docs/5-CONFIGURATION/omlx.md.

✨ Key Features

Core Capabilities

Advanced Features

Podcast Feature

Check out our podcast sample

📚 Documentation

Getting Started

User Guide

Advanced Topics

(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. They are directions, not dated promises.

Explore GitHub Discussions for proposed features and product ideas, and open Issues for known bugs and approved work. Recent changes are in the CHANGELOG.

(back to top)

📖 Need Help?

🤝 Community & Contributing

Join the Community

Contributing

We welcome contributions! We're especially looking for help with: Current Tech Stack: Python, FastAPI, Next.js, React, SurrealDB

See our Contributing Guide for detailed information on how to get started, including our guidelines for AI-assisted contributions. To understand what we're building (and what we'll say no to), read VISION.md.

(back to top)

📄 License

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

Community Support:

(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/

GitHub Stars & Activity

40,839Stars
4,695Forks
188Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars40,839
Forks4,695
Open issues188
Primary languageTypeScript
LicenseMIT
Stars gained today220
Created2024-10-21
Last pushed2026-10-25

Trending History

Daily boardrank #38 · ▲ 220 stars

Related GitHub Projects

1

openclaw / openclaw

TypeScript★ 393,424⑂ 82,694▲ 149 stars
→
2

n8n-io / n8n

TypeScript★ 209,100⑂ 61,315▲ 154 stars
→
3

thedotmack / claude-mem

TypeScript★ 105,265⑂ 9,275▲ 336 stars
→
4

KeygraphHQ / shannon

TypeScript★ 50,497⑂ 5,811▲ 334 stars
→
5

Crosstalk-Solutions / project-nomad

TypeScript★ 41,318⑂ 4,194▲ 112 stars
→
6

AdguardTeam / AdGuardHome

TypeScript★ 37,932⑂ 2,578▲ 107 stars
→
7

pingdotgg / t3code

TypeScript★ 32,231⑂ 8,553▲ 920 stars
→
8

QwenLM / qwen-code

TypeScript★ 28,827⑂ 3,287▲ 40 stars
→

More Trending Repositories