open-notebook README

The project's README from github.com/lfnovo/open-notebook. As one markdown file: README.md.

Forks Stargazers Issues MIT License


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 | Русский | 中文

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 Next.js React SurrealDB LangChain

🚀 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)

open-notebook (lfnovo/open-notebook)

Searching Database…

这是什么?Open Notebook 是一个可自托管的开源项目,是 Google Notebook LM 的替代品。它可以帮你整理研究资料、与文档对话,并使用你自行选择的 AI 服务商生成播客。
这是托管的网页应用,还是需要我自己运行的程序?这是一个需要你自己通过 Docker 部署的自托管应用,前端使用 Next.js/React,后端使用 Python/FastAPI,并提供 REST API。
怎样才能把它跑起来?安装 Docker Desktop,获取 docker-compose.yml,设置加密密钥,运行 docker compose up,然后在界面中配置你的 AI 服务商。整个过程大约需要 2 分钟。
开始之前需要先准备 API 密钥吗?不需要。启动它只需要 Docker。OpenAI、Anthropic、Google 等服务商的 API 密钥可以之后在 Models 设置界面中添加。你也可以完全不用密钥,直接使用 Ollama 免费运行本地 AI。
安装时有哪些需要注意的坑?启动服务之前,你必须编辑 docker-compose.yml,修改默认的加密密钥,否则加密与安全设置将处于不安全的状态。
能完全离线、在本地运行吗?可以。你可以将它与 Ollama 或 LM Studio 搭配使用,实现完全本地的 AI,既不产生 API 费用,所有数据也都保存在你的电脑上。
我的研究资料能保持私密吗?可以。它的设计就是自托管,数据完全由你掌控,不会上传到 Google 的云端。你还可以搭配 Ollama/LM Studio 完全本地运行,不产生任何外部调用。
它支持多少个 AI 服务商?通过 Esperanto 库支持 18 个以上的服务商,包括 OpenAI、Anthropic、Google、Ollama、LM Studio、Groq、Mistral、DeepSeek 等。
它的播客功能与 Google Notebook LM 相比如何?Open Notebook 支持 1 到 4 个自定义说话人角色,并且可以完全控制脚本;而 Notebook LM 只能使用固定的双人格式。
我能把它和 Claude Desktop 等其他 AI 工具一起使用吗?可以。它支持 MCP 集成,你可以将其连接到 Claude Desktop、VS Code 以及其他 MCP 客户端,还提供完整的 REST API,方便进行自定义自动化。
我可以往笔记本里添加哪些类型的内容?PDF、视频、音频、网页、Office 文档等。添加后,可以用全文搜索和向量搜索进行检索,也可以借助 AI 与其对话。
What are similar projects?ruflo, OpenExecutive, sim, blinko, Trilium, dify, localGPT, NextChat
Creator
lfnovo
Size
13.9 MB
Stars
40.3K
Age
1y
Commits · 90 Days