lfnovo /
open-notebook
Self-hosted research notebook that chats with your documents using any AI provider
- 40.5k stars
- 776 stars since 3 Oct
- TypeScript
- Updated 2 days ago
- Some experience
- Memory, RAG & data
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.
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.ymldocker compose up -dCommands are copied from the project's README. Read it on GitHub for the full setup.
More in Memory, RAG & data
vectorize-io/hindsight
Memory server that lets AI agents store, search and learn from past interactions