Illustration of what open-notebook does: Self-hosted research notebook that chats with your documents using any AI provider

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.yml
docker compose up -d

Commands are copied from the project's README. Read it on GitHub for the full setup.

More in Memory, RAG & data

    ↑↓ to move, Enter to open, Esc to close