前言
平时上网,总会顺手收藏一些觉得有用的东西。看到不错的技术教程,先存下来;遇到值得研究的项目,保存链接;下载的 PDF、文档和视频,也都想着等有空再看。
可时间一长,收藏的东西越来越多,真正认真看完的却没几个。等到哪天想找某个知识点,又得重新翻文件、搜聊天记录,甚至连当初把资料放在哪儿都忘了。
其实,这类问题已经有不少 AI 工具在尝试解决,比如 Google 的 NotebookLM。只要把资料交给它,就能让 AI 帮忙阅读、总结,还可以围绕资料直接提问。
不过,如果想把资料保存在自己的设备上,或者自由选择使用的 AI 模型,就可以看看今天要介绍的 Open Notebook。它是一个开源、支持自托管的 AI 知识库工具,可以理解为 NotebookLM 的一种开源替代方案。
1 认识 Open Notebook
项目地址:https://github.com/lfnovo/open-notebook
Open Notebook 是一款开源、自托管的 AI 知识管理工具,可以看作 Google NotebookLM 的开源平替。目前项目在 GitHub 上已获得超过 4 万 Star,采用 MIT 开源协议。
它覆盖了 NotebookLM 常用的资料导入、AI 问答、来源引用和播客生成等核心能力,同时支持全文搜索、语义检索和 AI 辅助笔记。
项目最大的特点是数据自主可控、模型选择灵活。支持 Docker 本地部署,可接入 OpenAI、DeepSeek、Ollama、LM Studio 等 20 多种 AI 服务提供商,也能使用本地模型运行。
官方还整理了一份与 NotebookLM 的功能对比:
| 对比项目 | Open Notebook | NotebookLM |
|---|---|---|
| 部署方式 | 本地、Docker、云服务器 | Google 云端服务 |
| AI 模型 | 20+ 提供商,支持本地模型 | Google 模型 |
| AI 播客 | 1~4 位主持人,可自定义角色 | 以双人对谈为特色 |
| 内容处理 | 内置及自定义内容转换 | 内置内容生成工具 |
| 扩展能力 | 开源、REST API、可二次开发 | 主要通过官方功能使用 |
可以看到,Open Notebook 的优势并不只是开源,而是可以自由选择部署环境和 AI 模型,同时拥有更灵活的播客配置与扩展能力。对于希望在 NAS 或自己的服务器上搭建 AI 知识库的用户来说,是一个值得尝试的方案。
2 部署与配置
2.1 Docker部署Open Notebook
就以飞牛 NAS 为例,首先打开Docker,确保Docker服务已经打开:
接着进入左侧的 Compose 页面,点击右上角的 新增项目,填写项目名称 open-notebook,并选择部署目录,在 来源 选项中勾选 创建 docker-compose.yml,然后将以下配置粘贴到编辑框中:
注意:API_URL地址中的IP需要修改为对应自己的Nas访问IP!
services:
surrealdb:
image: surrealdb/surrealdb:v2
command: ["start", "--log", "info", "--user", "root", "--pass", "123456", "rocksdb:/mydata/mydatabase.db"]
user: root
volumes:
- ./surreal_data:/mydata
environment:
- SURREAL_EXPERIMENTAL_GRAPHQL=true
restart: unless-stopped
open_notebook:
image: lfnovo/open_notebook:v1-latest
ports:
- "8502:8502" # Web页面
- "5055:5055" # API接口
environment:
- API_URL=http://192.168.50.212:8502 #IP部分替换成当前Nas的访问IP
- OPEN_NOTEBOOK_ENCRYPTION_KEY=opennotebook123456
- OPEN_NOTEBOOK_PASSWORD=123456 # 网页登录密码
- SURREAL_URL=ws://surrealdb:8000/rpc
- SURREAL_USER=root
- SURREAL_PASSWORD=123456 # 数据库密码
- SURREAL_NAMESPACE=open_notebook
- SURREAL_DATABASE=open_notebook
volumes:
- ./notebook_data:/app/data
depends_on:
- surrealdb
restart: unless-stopped
如下图,填写完成后,勾选创建项目后立即启动,然后点击确定:
接着等待 Docker 自动拉取镜像、创建并启动容器。当日志停止跑码后,即可关闭窗口:

返回 Docker 管理界面,点击左侧的容器菜单,可以看到 surrealdb 和 open_notebook 两个容器均处于运行状态,将鼠标移动到端口链接位置,点击8502端口:

点击后,浏览器会自动跳转到 Open Notebook 页面,也可以手动输入以下地址访问:
http://NAS-IP:8502
如下图:
到这里,Open Notebook 就部署完成了。不过目前还需要配置 AI 模型,才能正常使用资料问答、内容总结等功能。
2.2 AI 模型配置
Open Notebook 本身不提供 AI 模型,需要自行接入模型服务才能使用资料问答、内容总结等功能。项目支持 OpenAI、DeepSeek、Gemini、Ollama 等多种服务,也可以接入兼容 OpenAI API 的第三方接口。
这里以硅基流动(SiliconFlow)为例,它提供语言模型、向量模型、语音识别和语音合成等服务,通过一个 API Key 就能接入多种 AI 模型。
首先打开硅基流动官网,注册并登录账号,进入 API 密钥 页面,创建一个新的 API Key 并复制保存:
https://cloud.siliconflow.cn
如下图:
接着回到 Open Notebook,点击左侧 管理 下的 模型 页面,找到 OpenAI Compatible,点击 添加配置:
配置名称:硅基流动API
API Key:填写刚才创建的密钥
Base URL:https://api.siliconflow.cn/v1
如下图:
保存后,点击 Models 添加需要使用的模型。本次使用以下四种模型:
| 模型类型 | 模型名称 |
|---|---|
| 语言模型(Language) | deepseek-ai/DeepSeek-V4.1-Flash |
| 向量模型(Embedding) | Qwen/Qwen3-Embedding-0.6B |
| 语音识别(STT) | Qwen/Qwen3-ASR-1.7B |
| 语音合成(TTS) | FunAudioLLM/CosyVoice2-0.5B |
依次点击Models,然后选择模型类型,勾选对应模型类型要使用的模型,最后点击添加,如下图:

添加完成后,继续依次重复添加其他模型类型,然后,在页面顶部的 默认模型分配 中分别选择对应的模型,如下图所示:
这样就完成了 Open Notebook 的基础模型配置。接下来就可以通过导入资料、AI 问答和播客生成,进一步验证各类模型是否能够正常工作。
3 实际体验
3.1 创建笔记本与导入资料
完成模型配置后,接下来就可以创建自己的 AI 知识库了。
首先进入左侧的 笔记本 页面,点击 新建笔记本,填写名称和描述。这里以 开源项目研究资料 为例,创建一个专门用来整理技术文档的笔记本:
创建完成后,进入笔记本,点击 添加来源,可以看到支持文件上传、网页链接、文本等多种导入方式:

这里就拿之前写过的一篇技术文章进行测试:
添加后,系统会自动提取资料内容、进行分块处理并建立索引。等待处理完成后,就能在笔记本中查看对应的资料内容:
这样就完成了资料的收集和整理。接下来,我们可以直接围绕这些资料向 AI 提问,而不必再逐份打开查找。
3.2 AI 问答与笔记整理
资料导入完成后,就可以直接向 AI 提问了,不需要自己重新翻阅整篇文章。
比如,我想找一款能够托管静态网页的文件服务,就可以直接提问:
有没有能够托管静态网页的文件服务?
可以看到,AI 可以根据知识库中已有的资料查找相关内容,给出符合需求的工具,并引用对应的资料来源。
3.3 AI 播客生成
除了资料问答,Open Notebook 还有一个比较有意思的功能,就是可以将知识库中的内容转换成 AI 播客,支持最多 4 位主持人对话,还能自定义不同的声音和角色。
进入左侧的 播客 页面,可以配置发言者和节目档案,并选择前面接入的 AI 模型:
配置完成后,进入 单集 页面,就可以选择资料生成播客,并在生成完成后进行试听:
体验下来,Open Notebook 不只是简单地把资料集中起来,还能通过 AI 问答快速找到需要的信息,甚至将文章转换成播客,用另一种方式了解内容。
4 远程访问
前面已经完成了 Open Notebook 的部署和功能体验,不过目前只能在局域网内访问。如果出门在外,想用手机查看之前收藏的资料,或者临时向知识库提问,就没办法直接使用 NAS 的局域网地址了。
接下来通过 cpolar 内网穿透,将本地的 Open Notebook 映射到公网,这样无需公网 IP,也能随时随地通过浏览器访问自己的 AI 知识库。
4.1 安装 cpolar
在系统设置中打开ssh功能,然后使用ssh命令,连接进入飞牛NAS的终端:
ssh 飞牛用户名@你的Nas系统IP地址
接着,在终端执行如下命令,切换至root用户(输入密码时不会显示):
sudo -i
然后,执行下面命令安装 cpolar:
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar
接着,在浏览器中输入飞牛NAS的IP地址+9200端口访问 web ui管理界面,如:
http://192.168.50.212:9200/
如果还没有账号,可以点击页面上的免费注册,进行注册账号。输入注册好的账号登录即可进入后台页面:
4.2 创建随机域名隧道(免费)
随机域名方式更适合临时测试或短期使用。使用该方式时,公网访问地址会在一段时间后发生变化,通常不适合长期固定访问。不过它的优点是配置简单、可以免费体验。
首先,点击左侧菜单栏的 隧道管理,进入 隧道列表 页面,页面下默认会有 2 个隧道:
- ssh隧道,指向22端口,tcp协议
- website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)
点击创建隧道或者编辑现有的 website 隧道,设置一个隧道名称(自定义即可),协议选择 http,本地地址填写 Open Notebook 的访问端口 8502,地区这里选择 China Top,最后点击更新:
创建或者更新完成后,接着点击 状态 → 在线隧道列表,可以看到同一个隧道生成了两个不同协议的公网访问地址,一个是 HTTP,另一个是 HTTPS:
这里以https为例,访问测试一下:
访问成功后,就可以通过 cpolar 提供的公网地址打开 Open Notebook。以后即使不在家,也能随时通过浏览器查看知识库中的资料,使用 AI 问答等功能,无需连接 NAS 所在的局域网。
注意:本文使用的
123456为演示密码,正式开放公网访问前,建议修改为更安全的密码。
5 固定域名
固定二级子域名需要 cpolar 基础套餐或以上,使用免费套餐的读者可以先完成前面的随机域名访问测试。
通过前面的操作,已经可以使用随机公网地址访问 Open Notebook。不过,随机域名会定期变化,每次变化后都需要重新获取访问链接。
如果准备长期把 Open Notebook 当作自己的 AI 知识库使用,更推荐配置一个固定二级子域名,这样无论是在电脑还是手机上,都可以通过同一个地址访问。
5.1 保留固定二级子域名
首先,登录 cpolar 官网后台,进入 预留 页面:
https://dashboard.cpolar.com/reserved
在左侧菜单中选择 预留,找到 保留二级子域名 配置项:
按照下面信息填写:
| 配置项 | 填写说明 |
|---|---|
| 地区 | 选择和前面隧道一致的地区 |
| 名称 | 自定义二级子域名,例如 notebook01,注意:该项不能重复,二级子域名名称是唯一的 |
| 描述 | 填写任意方便辨识的备注即可 |
填写完成后,点击 保留 按钮。保留成功后,会得到一个固定的二级子域名。后续我们就可以把这个固定域名绑定到 notebook01 隧道上。
5.2 修改 notebook01 隧道为固定域名
回到飞牛 NAS 上的 cpolar Web UI 管理界面,点击左侧菜单 隧道管理 → 隧道列表,找到前面配置的 notebook01 隧道,点击 编辑:
将域名类型修改为 二级子域名,并填写刚才在官网后台保留的二级子域名,然后点击 更新 按钮:
更新完成后,点击左侧菜单 状态 → 在线隧道列表,可以看到 notebook01 的隧道已经变成固定公网地址:
复制生成的固定公网地址,在浏览器中访问:
输入前面设置的 Open Notebook 访问密码,登录后即可进入知识库:
到这里,Open Notebook 的固定域名就配置完成了。以后无论是在家里还是外出,都可以通过这个地址查看之前收藏的资料,使用 AI 问答等功能,也不用再因为随机域名变化而反复修改访问链接。
总结
体验下来,Open Notebook 确实提供了一种更方便的资料整理方式。不用再逐篇翻找收藏的资料,而是可以直接向 AI 描述需求,从知识库中查找相关内容,还能进一步整理笔记、生成播客。
相比 NotebookLM,它最大的优势还是可以自己部署,AI 模型也能自由选择。通过 Docker 安装在 NAS 上,再配合 cpolar 实现公网访问,平时在电脑上整理的资料,出门也能随时查找和使用。
当然,AI 问答、向量检索和语音合成都需要相应的模型服务,使用云端 API 时也要留意调用费用和数据隐私。如果平时有收藏技术文档、整理学习资料的习惯,Open Notebook 还是值得尝试的。

































