Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
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

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:

  • 🔒 Control your data - Keep your research private and secure
  • 🤖 Choose your AI models - 20+ providers including OpenAI, Anthropic, Google, Mistral, Ollama and any OpenAI-compatible server (LM Studio, vLLM)
  • 📚 Organize multi-modal content - PDFs, videos, audio, web pages, and more
  • 🎙️ Generate professional podcasts - Advanced multi-speaker podcast generation
  • 🔍 Search intelligently - Full-text and vector search across all your content
  • 💬 Chat with context - AI conversations powered by your research
  • 🌐 Multi-language UI - English, Bengali, Catalan, Chinese (Simplified & Traditional), French, German, Italian, Japanese, Polish, Portuguese, Russian, Spanish and Turkish

Learn more about our project at https://www.open-notebook.ai


🆚 Open Notebook vs Google Notebook LM

FeatureOpen NotebookGoogle Notebook LMAdvantage
Privacy & ControlSelf-hosted, your dataGoogle cloud onlyComplete data sovereignty
AI Provider Choice20+ providers, cloud or local (OpenAI, Anthropic, Google, Ollama, LM Studio, etc.)Google models onlyFlexibility and cost optimization
Podcast Speakers1-4 speakers with custom profiles2 speakers onlyExtreme flexibility
Content TransformationsCustom and built-inLimited optionsUnlimited processing power
API AccessFull REST APINo APIComplete automation
DeploymentDocker, cloud, or localGoogle hosted onlyDeploy anywhere
CitationsAnswers cite the sources, notes and insights they usedComprehensive with sourcesResearch integrity
CustomizationOpen source, fully customizableClosed systemUnlimited extensibility
CostPay only for AI usageFree tier + Monthly subscriptionTransparent and controllable

Why Choose Open Notebook?

  • 🔒 Privacy First: Your sensitive research stays completely private
  • 💰 Cost Control: Choose cheaper AI providers or run locally with Ollama
  • 🎙️ Better Podcasts: Full script control and multi-speaker flexibility vs limited 2-speaker deep-dive format
  • 🔧 Unlimited Customization: Modify, extend, and integrate as needed
  • 🌐 No Vendor Lock-in: Switch providers, deploy anywhere, own your data

Built With

Python Next.js React SurrealDB LangChain

🚀 Quick Start

Prerequisites

  • Docker Desktop (macOS, Windows) or Docker Engine with the Compose plugin (Linux)
  • An API key from an AI provider, or a local model server such as Ollama. You add it in the UI, not in config files.

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.

ProviderLLM SupportEmbedding SupportSpeech-to-TextText-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

  • 🔒 Privacy-First: Self-hosted; with local models nothing leaves your machine
  • 🎯 Multi-Notebook Organization: Manage multiple research projects seamlessly
  • 📚 Universal Content Support: PDFs, videos, audio, web pages, Office docs, and more
  • 🤖 Multi-Model AI Support: 20+ providers including OpenAI, Anthropic, Ollama, Google, LM Studio, and more
  • 🎙️ Professional Podcast Generation: Advanced multi-speaker podcasts with Episode Profiles
  • 🔍 Intelligent Search: Full-text and vector search across all your content
  • 💬 Context-Aware Chat: AI conversations powered by your research materials
  • 📝 AI-Assisted Notes: Generate insights or write notes manually

Advanced Features

  • ⚡ Reasoning Model Support: Full support for thinking models like DeepSeek-R1 and Qwen3
  • 🔧 Content Transformations: Powerful customizable actions to summarize and extract insights
  • 🌐 Comprehensive REST API: Full programmatic access for custom integrations API Docs
  • 🔐 Optional Password Protection: Secure public deployments with authentication
  • 📊 Fine-Grained Context Control: Choose exactly what to share with AI models
  • 📎 Citations: Get answers with proper source citations

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

  • 💬 Discord Server - Get help, share ideas, and connect with other users
  • 𝕏 Follow @lfnovo on X - Project updates and news from the maintainer
  • 💡 GitHub Discussions - Ask questions and shape features, product direction, design, and architecture
  • 🐛 GitHub Issues - Report reproducible bugs and find approved work
  • ⭐ Star this repo - Show your support and help others discover Open Notebook

Contributing

We welcome contributions! We're especially looking for help with:

  • Frontend Development: Help improve our modern Next.js/React UI
  • Testing & Bug Fixes: Make Open Notebook more robust
  • Feature Development: Build the coolest research tool together
  • Documentation: Improve guides and tutorials

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)

关于 About

An Open Source implementation of Notebook LM with more flexibility and features
assistantlearningnote-takingnotebooknotes-appself-learning

语言 Languages

TypeScript55.8%
Python41.9%
Jinja0.8%
Shell0.7%
CSS0.4%
Makefile0.2%
Dockerfile0.2%
JavaScript0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
653
Total Commits
峰值: 91次/周
Less
More

核心贡献者 Contributors