# open-notebook

> Self-hosted research notebook that chats with your documents using any AI provider

- Repository: https://github.com/lfnovo/open-notebook
- Category: Memory, RAG & data
- Stars: 40,487 · Forks: 4,659 · Language: TypeScript · License: MIT
- Experience: Some experience
- Page: https://ir.adyog.com/repos/lfnovo/open-notebook/

Open Notebook is a notebook app for research. You collect sources such as PDFs, videos, audio files, web pages and Office documents into a notebook. Then you ask questions about them, write notes, and turn them into summaries or podcasts.

It runs on your own machine with Docker. A web UI on port 8502 and a REST API on port 5055 sit on top of a SurrealDB database. Your data stays in local folders, and AI calls go to whichever provider you set up. Search works two ways: full-text and vector.

The README compares it with Google's Notebook LM. Open Notebook supports 18+ providers (OpenAI, Anthropic, Ollama, LM Studio and others) instead of Google models only. Podcasts can have 1 to 4 speakers instead of 2. The README admits its citations are basic for now and still need work.

## What it does

- **Many AI providers**: Works with OpenAI, Anthropic, Google, Groq, Ollama, LM Studio, oMLX and more. A table in the README shows which providers cover chat, embeddings, speech-to-text and text-to-speech.
- **Multi-format sources**: Takes in PDFs, videos, audio, web pages and Office documents. You keep them in separate notebooks for different projects.
- **Multi-speaker podcasts**: Generates podcasts with one to four speakers, using Episode Profiles to set up the speakers.
- **Search and context-aware chat**: Searches all your content with full-text and vector search. You chat with your sources and choose what context the model sees.
- **Transformations and REST API**: Runs built-in or custom actions to summarize and extract insights. A REST API allows automation, and optional password protection covers public deployments.

## What you could build

- Build a private research notebook from PDFs, articles and videos, and ask questions about them.
- Turn a set of sources into a multi-speaker podcast with your own speaker profiles.
- Run a fully local study assistant by pairing it with Ollama, so no data leaves your machine.
- Write custom transformations that summarize or extract key points from every source you add.
- Connect your own tools to the REST API to automate adding sources and querying notes.

## Who it's for

Researchers, students and tinkerers who want a Notebook LM-style tool they control; you should be comfortable with Docker and have an AI provider API key or a local model.

## Get started

Install Docker Desktop and download the docker-compose.yml file. Change OPEN_NOTEBOOK_ENCRYPTION_KEY to your own secret, start the services, wait 15-20 seconds, then open http://localhost:8502. In Models, add your provider's API key, test it, sync models and auto-assign defaults.

```
curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml
```
```
docker compose up -d
```

Tags: notebook-lm, self-hosted, rag, podcast, research
