cat README.md
Open Notebook
一份给 Notebook LM 用户的情书——开源的、可自托管的、支持 18+ AI 提供商的研究助手。你不再需要把研究数据喂进 Google 的嘴里,就能拥有和 Notebook LM 一样甚至更强的体验。
// 目录
// 概览
// 为什么关注这个项目
每天跑 GitHub 日报快两个月了,说实话,看过的项目多了,能让我真正想用起来的东西不多。大部分开源项目看一眼就过去了——知道它是干什么的,心里默默打上"不错,但不是我的菜"的标签,然后继续刷下一个。
Open Notebook 是少数让我停下来折腾了一下午的项目。
起因很简单:我一直在用 Google Notebook LM。你应该知道那个感觉——把一堆 PDF、网页、YouTube 链接扔进去,它自动帮你整理出要点,还能生成一段两个 AI 主持人对话的播客。听上去很好对吧?问题是,你所有的研究数据都在 Google 云上。对于一个每天都在做 AI 行业深度内容的人来说,这个信任成本是真实存在的。
Open Notebook 做的事情特别直接:把 Notebook LM 的体验搬到你的本地机器上,而且给你更多选择权——你可以用 OpenAI、用 Anthropic、用 Ollama 跑本地模型、甚至用 Perplexity 做联网搜索增强。所有数据留存在你的 Docker 容器里,一把密码都不是 Google 的。
项目作者 Luis Novo 在 README 里写了一段话,大意是:在 AI 主导的世界里,获取知识的能力不应该被一家公司垄断,也不应该以牺牲隐私为代价。这段话不太像公关文案,更像是他做这个项目的真实动机。
// 部署体验:Docker 一把梭,两分钟搞定
打开终端执行三行命令:
等 15 秒,浏览器打开 http://localhost:8502,界面就出来了。
第一次打开看到一个简洁的三栏布局:左边放你的研究材料(Sources),中间写笔记(Notes),右边是聊天窗口(Chat)。这个布局跟 Notebook LM 的思路很像,但更干净——没有 Google 那些花里胡哨的推荐和插页广告。
接下来唯一的配置工作是去 Settings → API Keys 加一个 AI 提供商。我用的是 DeepSeek V3——便宜,效果也不差。如果你不想花 API 费用,项目提供了 Ollama 集成,examples/docker-compose-ollama.yml 一把梭启动,完全离线跑。
部署体验给 9/10。扣一分是因为 SurrealDB——这个数据库在国内知名度偏低,遇到问题调试成本可能比用 PostgreSQL 高一点。
// 功能剖析:不只是"本地版 Notebook LM"
说它是 Notebook LM 的复刻其实是低估了它。Open Notebook 在好几个维度上功能比 Notebook LM 更丰富:
1. 内容摄取能力
支持 PDF、视频(YouTube URL)、音频、网页、Office 文档,基本上你能扔进去的格式它都接。跟 Notebook LM 比,差距主要在 PDF 解析精度上——Notebook LM 背后是 Google 的文档理解引擎,复杂版式表格的处理能力目前还是领先的。但日常使用场景下,Open Notebook 的 PDF 解析已经够用了。
2. 细粒度上下文控制
这是 Open Notebook 比 Notebook LM 做得更好的地方。你可以精确选择哪些源材料对 AI 可见,而不是"要么全开要么全关"。对于需要控制信息范围的研究场景(比如分析竞品时不想让 AI 混入自己的内部文档),这个功能是刚需。
3. 内容转换引擎
内置了一套可配置的内容处理流水线,你可以自定义"把这篇 PDF 转成 3 段摘要"或"从这组网页中提取所有提到 X 的数据点"这类操作。相当于内置了一个轻量级的文档处理 Workflow。
4. 完整 REST API
所有功能都可以通过 API 调用(文档地址 http://localhost:5055/docs)。这意味着你可以把 Open Notebook 嵌入到自动化工作流里——比如每天自动抓取指定 RSS 的文章,塞进笔记本生成摘要,再用 API 导出到你的知识库。这个扩展性 Notebook LM 完全不具备。
// 播客功能:这个是真有点东西
Notebook LM 的 AI 播客功能是它的标志性卖点——两个 AI 主持人讨论你上传的文档,听起来自然到让人以为是在听真人播客。
Open Notebook 也做了这个功能,而且做得比 Notebook LM 更灵活:
| 对比维度 | Open Notebook | Google Notebook LM |
|---|---|---|
| 发言人数 | 1-4 位 | 固定 2 位 |
| 声音来源 | 多个 TTS 提供商可选(OpenAI / ElevenLabs / Mistral / xAI / Deepgram) | 仅 Google TTS |
| 语言支持 | 支持多语言播客 | 主要英语 |
| Episode Profiles | 可为每集自定义主持人风格 | 固定风格 |
| 失败重试 | v1.7.3 起支持播客生成失败恢复与重试 | 无 |
1-4 位发言人这个设计很聪明。两个人的对话适合讨论类内容,三个人的话可以模拟圆桌讨论,单人旁白适合纯知识讲解。我试了一下用 DeepSeek V3 生成了一段 3 人讨论的 AI Agent 发展史播客,效果比预期的好——虽然不如 Notebook LM 那么"自然",但信息密度明显更高。这可能是因为底层 LLM 可以换成你喜欢的任何一个。
不过也有一个需要注意的点:Open Notebook 的播客目前不是流式生成的,生成时间取决于你的内容和 LLM 速度。如果你用本地 Ollama 跑模型,一段 10 分钟的播客可能要等一阵子。
// 技术架构
Open Notebook 的架构清晰到让人舒服——Python 后端(FastAPI)+ Next.js 前端 + SurrealDB 做数据和向量存储。核心 AI 调用通过一个叫 Esperanto 的自研库统一适配,屏蔽了 18 个不同 AI 提供商的 API 差异。
架构上最值得说的亮点是 Esperanto 这个层。它不只是简单的 API 翻译——而是把 LLM、Embedding、STT、TTS 四个维度都做了统一抽象。这意味着你在 UI 里切换模型供应商时,不需要改任何代码或配置。一个项目里可以同时用 OpenAI 做 Embedding、DeepSeek 做 LLM 推理、ElevenLabs 做 TTS——无缝组合。
SurrealDB 的选择有点"非主流",但仔细想想有道理。一个数据库同时处理关系型数据(笔记本结构、用户权限)和向量检索(语义搜索),比 PostgreSQL + pgvector 的组合更轻量。不过这也意味着如果你之前没接触过 SurrealDB,遇到问题时的社区资源比 PostgreSQL 少很多。
// 竞品对比
| 项目 | 定位 | Stars | AI 提供商 | 播客 | 部署 | 许可证 |
|---|---|---|---|---|---|---|
| Open Notebook | Notebook LM 开源替代 | 26K | 18+ | ✅ 1-4 发言人 | Docker | MIT |
| AnythingLLM | 全能本地 Agent 工作台 | 61K | 20+ | ❌ | Docker / Desktop | MIT |
| PrivateGPT | 文档问答 + 隐私优先 | 57K | 本地模型为主 | ❌ | Python/Pip | Apache 2.0 |
| Kotaemon | 开源 RAG 文档聊天 | 25K | 多模型 | ❌ | Python/Docker | Apache 2.0 |
| Google Notebook LM | 闭源 AI 研究助手 | - | 仅 Google | ✅ 固定 2 人 | 云托管 | 闭源 |
关键判断:AnythingLLM 和 PrivateGPT 的 Star 数确实比 Open Notebook 高出一大截,但它们的定位有本质区别。AnythingLLM 是"万能瑞士军刀"——想做所有事情(Agent、多模态、RAG、本地优先),但恰恰因为功能太杂,在研究工作流这个细分场景里不如 Open Notebook 专注。PrivateGPT 的核心是"文档问答",没有笔记本管理、没有播客、没有内容转换流水线。
Open Notebook 的护城河在于:它目前是唯一一个在"研究笔记管理 + 多模型 AI + 播客生成"这个组合上做到一体化的开源方案。如果你只是想做文档问答,Kotaemon 够用了;如果你想什么都玩,AnythingLLM 更合适;但如果你想要一个开源的、能替代 Notebook LM 日常使用的东西,Open Notebook 是当前最接近的答案。
// 生态数据对比
Star 数在同类项目中属于中等偏上,但增长速度相当可观——19 个月内从 0 到 26K。v1.8.4 修复安全漏洞(CERT-EU 报告)后社区信心明显回升,v1.9.0 又新增了 Mistral、Deepgram、xAI 三家音频提供商,功能迭代节奏保持得很好。
// 博主观点
• 隐私控制满分——所有数据本地 Docker 容器,零云依赖,加密密钥你自己管
• AI 提供商自由——18+ 提供商,包括国产 DeepSeek/Qwen,成本灵活可控
• 播客功能是真实差异化——1-4 人可选、多 TTS、Episode Profiles,比 Notebook LM 更灵活
• 内容转换引擎——内置可配置 pipeline,可以嵌入自动化工作流
• 完整 REST API——所有功能可被脚本/自动化调用,Notebook LM 做不到
• Docker 部署极简——两分钟上线,Ollama 一键集成免费本地运行
• 7 语言 UI 含中文——对国内用户友好
• 单人维护(Bus Factor = 1)——作者 Luis Novo 是唯一核心贡献者,如果他停更整个项目就会停滞
• PDF 解析能力不如 Notebook LM——复杂版式表格/手写文档处理是短板
• 147 Open Issues + 19 PR 积压——社区贡献消化速度偏慢
• SurrealDB 学习曲线——小众数据库,调优和排查的社区资源有限
• 播客非流式生成——内容多时等待感明显
• 安全历史有污点——v1.8.4 之前存在 RCE(CVSS 9.2)级别漏洞,虽然已修复但提醒你保持更新
// 适合谁用
• 想用国产模型(DeepSeek/Qwen)的研究工作流
• 需要 API 集成到自动化管道的团队
• 预算敏感、想用 Ollama 免费本地模型
• 需要多语言播客输出(Notebook LM 以英文为主)
• 对稳定性要求极高的企业级生产环境(单人维护有风险)
• 只做简单文档问答不需要研究管理功能(Kotaemon 更轻量)
• 希望完全零配置开箱即用(需要自己配 API key)
// links
GitHub: lfnovo/open-notebook
官方网站: open-notebook.ai
Discord 社区
Esperanto 多模型适配库(项目核心技术依赖)
SurrealDB 官方文档