
一个开源、以隐私为核心、可替代 Google Notebook LM 的方案!
商品编号: GIS85147891
在一个由人工智能主导的世界中,具备独立思考能力并持续获取新知识的能力,不应成为少数人的特权,也不应被限制在单一服务提供商手中。
Open Notebook 赋能你实现以下能力:
一,数据自主可控。你的研究资料始终保持私密与安全,数据主权牢牢掌握在自己手中。
二,自由选择 AI 模型。支持 16 家以上的模型与平台提供方,包括 OpenAI、Anthropic、Ollama、LM Studio 等,避免供应商锁定。
三,多模态内容统一管理。高效组织和使用 PDF、视频、音频、网页等多种内容形态。
四,生成专业级播客内容。支持高级多角色、多说话人的播客生成能力,满足专业创作需求。
五,智能搜索能力。对全部内容进行全文搜索与向量搜索,快速定位关键信息。
六,基于上下文的智能对话。AI 对话深度结合你的研究资料,真正做到“用你的知识思考”。
从战略层面看,Open Notebook 代表的是一种去中心化、隐私优先、可扩展的知识与 AI 协作新范式,而不是对现有产品的简单替代。
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 »
📚 Get Started
·
📖 User Guide
·
✨ Features
·
🚀 Deploy

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
If you're upgrading from a previous version, please note:
latest tag is now frozen at the last Streamlit versionv1-latest tag for the new React/Next.js version (recommended)New users: You can ignore this notice and proceed with the Quick Start below using the v1-latest-single tag.
| Feature | Open Notebook | Google Notebook LM | Advantage |
|---|---|---|---|
| Privacy & Control | Self-hosted, your data | Google cloud only | Complete data sovereignty |
| AI Provider Choice | 16+ providers (OpenAI, Anthropic, Ollama, LM Studio, etc.) | Google models only | Flexibility and cost optimization |
| Podcast Speakers | 1-4 speakers with custom profiles | 2 speakers only | Extreme flexibility |
| Context Control | 3 granular levels | All-or-nothing | Privacy and performance tuning |
| 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 | Comprehensive with sources | Basic references | Research integrity |
| Customization | Open source, fully customizable | Closed system | Unlimited extensibility |
| Cost | Pay only for AI usage | Monthly subscription + usage | Transparent and controllable |
Why Choose Open Notebook?
Docker Images Available:
lfnovo/open_notebook:v1-latest-singleghcr.io/lfnovo/open-notebook:v1-latest-singleBoth registries contain identical images - choose whichever you prefer!
🏠 Local Machine SetupPerfect if Docker runs on the same computer where you'll access Open Notebook.
Access at: http://localhost:8502 |
🌐 Remote Server SetupUse this for servers, Raspberry Pi, NAS, Proxmox, or any remote machine.
Replace Access at: http://YOUR_SERVER_IP:8502 |
⚠️ Critical Setup Notes:
Both ports are required:
- Port 8502: Web interface (what you see in your browser)
- Port 5055: API backend (required for the app to function)
API_URL must match how YOU access the server:
- ✅ Access via
http://192.168.1.100:8502→ setAPI_URL=http://192.168.1.100:5055- ✅ Access via
http://myserver.local:8502→ setAPI_URL=http://myserver.local:5055- ❌ Don't use
localhostfor remote servers - it won't work from other devices!
Create a docker-compose.yml file:
services:
open_notebook:
image: lfnovo/open_notebook:v1-latest-single
# Or use: ghcr.io/lfnovo/open-notebook:v1-latest-single
ports:
- "8502:8502" # Web UI
- "5055:5055" # API (required!)
environment:
- OPENAI_API_KEY=your_key_here
# For remote access, uncomment and set your server IP/domain:
# - API_URL=http://192.168.1.100:5055
# Database connection (required for single-container)
- SURREAL_URL=ws://localhost:8000/rpc
- SURREAL_USER=root
- SURREAL_PASSWORD=root
- SURREAL_NAMESPACE=open_notebook
- SURREAL_DATABASE=production
volumes:
- ./notebook_data:/app/data
- ./surreal_data:/mydata
restart: always
Start with: docker compose up -d
What gets created:
open-notebook/
├── docker-compose.yml # Your configuration
├── notebook_data/ # Your notebooks and research content
└── surreal_data/ # Database files
| Problem | Solution |
|---|---|
| "Unable to connect to server" | Set API_URL environment variable to match how you access the server (see remote setup above) |
| Blank page or errors | Ensure BOTH ports (8502 and 5055) are exposed in your docker command |
| Works on server but not from other computers | Don't use localhost in API_URL - use your server's actual IP address |
| "404" or "config endpoint" errors | Don't add /api to API_URL - use just http://your-ip:5055 |
| Still having issues? | Check our 5-minute troubleshooting guide or join Discord |
┌─────────────────────────────────────────────────────────┐
│ Your Browser │
│ Access: http://your-server-ip:8502 │
└────────────────┬────────────────────────────────────────┘
│
▼
┌───────────────┐
│ Port 8502 │ ← Next.js Frontend (what you see)
│ Frontend │ Also proxies API requests internally!
└───────┬───────┘
│ proxies /api/* requests ↓
▼
┌───────────────┐
│ Port 5055 │ ← FastAPI Backend (handles requests)
│ API │
└───────┬───────┘
│
▼
┌───────────────┐
│ SurrealDB │ ← Database (internal, auto-configured)
│ (Port 8000) │
└───────────────┘
Key Points:
/api/* requests to the backend, simplifying reverse proxy setupAPI_URL=http://your-server-ip:5055For development or customization:
git clone https://github.com/lfnovo/open-notebook
cd open-notebook
make start-all
Thanks to the Esperanto library, we support this providers out of the box!
| Provider | LLM Support | Embedding Support | Speech-to-Text | Text-to-Speech |
|---|---|---|---|---|
| OpenAI | ✅ | ✅ | ✅ | ✅ |
| Anthropic | ✅ | ❌ | ❌ | ❌ |
| Groq | ✅ | ❌ | ✅ | ❌ |
| Google (GenAI) | ✅ | ✅ | ❌ | ✅ |
| Vertex AI | ✅ | ✅ | ❌ | ✅ |
| Ollama | ✅ | ✅ | ❌ | ❌ |
| Perplexity | ✅ | ❌ | ❌ | ❌ |
| ElevenLabs | ❌ | ❌ | ✅ | ✅ |
| Azure OpenAI | ✅ | ✅ | ❌ | ❌ |
| Mistral | ✅ | ✅ | ❌ | ❌ |
| DeepSeek | ✅ | ❌ | ❌ | ❌ |
| Voyage | ❌ | ✅ | ❌ | ❌ |
| xAI | ✅ | ❌ | ❌ | ❌ |
| OpenRouter | ✅ | ❌ | ❌ | ❌ |
| OpenAI Compatible* | ✅ | ❌ | ❌ | ❌ |
*Supports LM Studio and any OpenAI-compatible endpoint
See the open issues for a full list of proposed features and known issues.
We welcome contributions! We're especially looking for help with:
Current Tech Stack: Python, FastAPI, Next.js, React, SurrealDB Future Roadmap: Real-time updates, enhanced async processing
See our Contributing Guide for detailed information on how to get started.
Open Notebook is MIT licensed. See the LICENSE file for details.
Luis Novo - @lfnovo
Community Support:
Open Notebook is built on the shoulders of amazing open-source projects:
open-notebook.zip