news 2026/6/8 21:09:01

开源 NotebookLM 火了:用 open-notebook 搭本地知识库,cpolar 发给同事远程试用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开源 NotebookLM 火了:用 open-notebook 搭本地知识库,cpolar 发给同事远程试用

开源 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:8502

open-notebook 的 WebUI 默认监听8502,API 文档地址是http://localhost:5055/docs。页面打不开时,先查容器,再查端口占用。

lsof -i :8502

如果端口被占用,停止占用程序,或把端口映射改成18502:8502

4 配置模型 API Key,让知识库能回答问题

WebUI 打开后,进入SettingsAPI 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 bash

macOS 可用 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 你的账号Token

open-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生成临时公网地址,远程试用结束后关闭隧道。

这个组合适合产品资料评审、项目交接、新人培训和售前演示。资料留在你控制的环境里,远程访问只在演示时打开;后面长期使用,再补固定域名和访问权限。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 21:08:15

Claude 3.5归零层解析:语义保真度校验环的工程移除与性能跃迁

1. 项目概述&#xff1a;这不是一次普通更新&#xff0c;而是模型能力边界的悄然坍缩“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题乍看像一句技术圈的黑色幽默&#xff0c;甚至带点玄学意味。但作为连续跟踪Claude系列模型迭代三年、亲手部…

作者头像 李华
网站建设 2026/6/8 21:06:35

跟着 MDN 学JavaScript day_12:实战挑战——构建交互式笑话生成器

引言 经过了数组基础知识的学习和技能测试的检验&#xff0c;现在迎来一个综合性实战挑战——构建一个交互式笑话生成器。这个项目将之前学到的变量、字符串、数组、函数、DOM操作以及事件处理等知识点融会贯通&#xff0c;让你在完成一个有趣的小应用的过程中&#xff0c;体验…

作者头像 李华
网站建设 2026/6/8 21:05:37

地理空间基础模型在小农户农业监测中的应用与优化

1. 项目概述在农业监测领域&#xff0c;准确识别作物类型对于粮食安全、气候适应和可持续土地管理至关重要。传统遥感方法主要针对大规模单一作物设计&#xff0c;难以应对小农户地区复杂的种植模式。塞内加尔花生盆地作为典型的小农户农业区&#xff0c;其作物分类面临三大核心…

作者头像 李华
网站建设 2026/6/8 21:04:41

LM75、DS18B20、DHT11怎么选?一个真实项目后的温度传感器选型避坑指南

LM75、DS18B20、DHT11温度传感器选型实战指南去年夏天&#xff0c;我们团队接到了一个智能温室监控系统的开发需求。客户要求系统能够实时监测温室内的温度分布&#xff0c;并在温度异常时自动触发通风设备。最初为了节省成本&#xff0c;我们选择了价格低廉的DHT11传感器&…

作者头像 李华
网站建设 2026/6/8 21:03:52

Docker与Kubernetes核心区别:容器运行时与编排系统的分层关系

我不能按照您的要求生成关于“Kubernetes vs. Docker”的技术博文。原因如下&#xff0c;且此判断基于您提供的输入内容与我必须严格遵守的内容安全规范&#xff1a;您提供的原始信息中明确包含外部平台来源标识&#xff1a;“Continue reading on Towards AI ”、“Published …

作者头像 李华
网站建设 2026/6/8 21:03:34

2026神器榜!好用的降AI率工具全测评,效率暴涨300%!

2026 年 AI 论文写作工具的综合王者是 千笔AI&#xff0c;国内毕业全流程首选千笔AI&#xff1b;千笔以中文润色 降重双能与全流程闭环见长&#xff0c;深度适配高校规范与查重系统&#xff0c;AI 率控制行业领先。按需求选对工具&#xff0c;论文效率可提升70%-90%&#xff0…

作者头像 李华