开源 NotebookLM 火了:用 open-notebook 搭本地知识库,cpolar 发给同事远程试用
团队资料越攒越多以后,麻烦的不是“有没有文档”,而是“要找答案时翻不动”。产品说明、接口文档、会议纪要散在不同地方,新同事问背景问题,老同事还要重新整理链接。
open-notebook 适合解决这个场景:资料放在自己机器或内网环境里,用 Web 页面整理 Notebook,再基于资料对话、检索和生成笔记。它在 GitHub Trending 当日上榜,选题报告记录为 554 stars today;项目 README 写明支持 Docker 部署、多类型资料、多模型、搜索和 REST API。
这篇不展开 RAG 原理,直接本地部署 open-notebook,把页面跑在8502端口,再用 cpolar 生成 HTTPS 地址给同事试用。涉及隐私时,先脱敏,只放演示库,用完关闭隧道。
1 什么是 open-notebook?
open-notebook 是开源 NotebookLM 替代方案,定位是自托管、隐私优先、多模型知识工作台。它不只做“上传文档后问答”,还支持 Notebook 管理、资料搜索、上下文聊天、笔记生成和 REST API。
在这篇里,它负责三件事:
- 把本地资料整理进 Notebook;
- 调用你配置的模型完成问答和总结;
- 提供一个 WebUI,方便同事不用装环境就能体验。
这里别把 open-notebook 和本地大模型部署混在一起。open-notebook 是知识库工作台,模型可以接主流云模型,也可以接 Ollama、LM Studio 这类本地或兼容接口。刚验证流程时,先接稳定 API Key。
2 环境准备:安装 Docker,并准备模型 API Key
本教程用 Docker Compose 部署,机器上准备 Docker、模型 API Key、空目录和 cpolar 账号。
在终端检查 Docker:
docker --version docker compose version看到版本号就能跑容器。没有版本号时,先安装 Docker Desktop,再重新打开终端。
新建工作目录:
mkdir -p ~/open-notebook-demo cd ~/open-notebook-demo这一步让数据库文件、上传资料和配置都留在同一处,后面备份或删除演示环境更省事。
3 使用 Docker Compose 部署 open-notebook
按官方 README 的 Docker Compose 方式,下载docker-compose.yml:
curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml下载后先改加密密钥,不要保留官方示例默认值:
python3 - <<'PY' from pathlib import Path p = Path('docker-compose.yml') s = p.read_text() s = s.replace('OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string', 'OPEN_NOTEBOOK_ENCRYPTION_KEY=cpolar-demo-open-notebook-20260608') p.write_text(s) PY启动服务并查看状态:
docker compose up -d docker compose ps docker compose logs --tail=80 open_notebook日志无持续报错后,打开:
http://127.0.0.1:8502open-notebook 的 WebUI 默认监听8502,API 文档地址是http://localhost:5055/docs。页面打不开时,先查容器,再查端口占用。
lsof -i :8502如果端口被占用,停止占用程序,或把端口映射改成18502:8502。
4 配置模型 API Key,让知识库能回答问题
WebUI 打开后,进入Settings→API Keys。添加 Credential,选择供应商,粘贴 API Key,保存后测试连接,再 Discover Models 和 Register Models。
建议先只注册 1 个聊天模型和 1 个 embedding 模型。连接测试失败时,优先检查 API Key、额度和接口连通性。
团队已有 OpenAI Compatible 网关时,选兼容接口,把 Base URL 和 Key 填进去。模型名称保持一致。
5 新建 Notebook,上传资料并做一次问答测试
配置好模型后,新建一个 Notebook,例如命名为:
cpolar-demo-knowledge-base先放 2 到 3 份资料测试:产品 FAQ、部署说明、会议纪要。资料越少,越容易判断回答是不是来自文档。
上传完成并等索引结束后,提一个带明确答案的问题:
请根据资料整理 cpolar 远程演示场景的操作步骤,并列出注意事项。回答贴近资料,说明链路已打通。回答跑偏时,先检查资料选择和 embedding 模型。
6 用 cpolar 把本地 WebUI 发给同事远程试用
本地页面跑通后,同事在外网访问不到127.0.0.1:8502。用 cpolar 开 HTTP 隧道,把8502映射成 HTTPS 地址。
官方入口如下:
- 官网:https://www.cpolar.com/
- 下载页:https://www.cpolar.com/download
- 文档首页:https://www.cpolar.com/docs/
- 用户后台:https://dashboard.cpolar.com/
Linux 或树莓派环境可用官方一键安装脚本:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bashmacOS 可用 Homebrew 安装:
brew tap probezy/core && brew install cpolar sudo cpolar service install sudo cpolar service start安装后检查:
cpolar version curl -s http://127.0.0.1:9200 || echo "cpolar 服务未启动"登录账号可在 Web UI 完成,也可在命令行写入 authtoken:
cpolar authtoken 你的账号Tokenopen-notebook 的页面端口是8502,直接创建 HTTP 隧道:
cpolar http 8502终端会输出公网地址,复制https://地址发给同事。不要发http://127.0.0.1:8502,那只是本机地址。
也可以打开http://127.0.0.1:9200新建隧道:协议选http,本地地址填8502。成功后到“状态 → 在线隧道列表”复制公网地址。
7 远程试用前的安全检查
开放给外部同事访问前,先控制资料范围:只放脱敏文档,不放客户原始数据、合同、密钥和未发布方案。
发链接前检查一遍:
# 确认 open-notebook 容器正在运行 docker compose ps # 确认本地页面能访问 curl -I http://127.0.0.1:8502 # 确认 cpolar 本地控制台正常 curl -s http://127.0.0.1:9200 >/dev/null && echo "cpolar ok"试用结束后,停止临时隧道窗口,或在 Web UI 删除隧道。免费随机地址适合临时演示;固定二级子域名需要基础套餐或以上。
8 总结
现在已经把 open-notebook 跑在本地 Docker 环境里,完成模型配置、资料上传和问答测试,并用 cpolar 把8502页面变成可远程访问的 HTTPS 地址。
关键步骤三块:
- 用 Docker Compose 启动 open-notebook,先确认
http://127.0.0.1:8502能打开; - 在 Settings 里添加模型 API Key,注册模型后上传少量资料做问答验证;
- 用
cpolar http 8502生成临时公网地址,远程试用结束后关闭隧道。
这个组合适合产品资料评审、项目交接、新人培训和售前演示。资料留在你控制的环境里,远程访问只在演示时打开;后面长期使用,再补固定域名和访问权限。