2024年,Google NotebookLM 凭借其惊艳的“音频概览”(Audio Overview)功能,将枯燥的文献瞬间转化为如同真人对谈般的播客,重新定义了知识学习的方式。然而,作为一款闭源 SaaS 产品,它始终存在两个让开发者无法忽视的痛点:
开源项目 Open Notebook (lfnovo) 的出现打破了这一局面。它不仅完美复刻了“左侧阅读、中间笔记、右侧对话”的经典三栏布局,更允许我们掌控数据主权。

本文将手把手教你在腾讯云服务器(或本地环境)上,利用 Docker 搭建一套针对国内网络环境优化、接入国内中转 API 的生产级 Open Notebook。
为了解决国内访问 GitHub 镜像慢、OpenAI 接口不通等问题,我们定制了一套“抗网络波动”的部署方案。

登录你的腾讯云服务器,创建工作目录:
mkdir open-notebook
cd open-notebook在目录下创建 docker-compose.yml 文件。
优化点说明:
restart: always:防止因网络波动导致服务意外停止。TZ=Asia/Shanghai:强制同步国内时区,确保笔记时间戳准确。version: '3.8'
services:
# --- 数据库服务 (SurrealDB) ---
surrealdb:
image: surrealdb/surrealdb:latest
container_name: open_notebook_db
restart: always
user: root
environment:
- TZ=Asia/Shanghai
ports:
- "8000:8000"
volumes:
- ./data/surrealdb:/mydata
command: start --log trace --user root --pass root file://mydata/surreal.db
# --- 后端服务 (Python/FastAPI) ---
backend:
image: ghcr.io/lfnovo/open-notebook-backend:latest
container_name: open_notebook_backend
restart: always
environment:
- TZ=Asia/Shanghai
depends_on:
- surrealdb
env_file:
- .env
ports:
- "5055:5055"
volumes:
- ./data/uploads:/app/uploads
- ./data/cache:/app/cache
# --- 前端服务 (Next.js) ---
frontend:
image: ghcr.io/lfnovo/open-notebook-frontend:latest
container_name: open_notebook_frontend
restart: always
environment:
- TZ=Asia/Shanghai
depends_on:
- backend
env_file:
- .env
ports:
- "8502:3000" # 访问端口创建 .env 文件。
优化点说明:
sg.uiuiapi.com 接口,解决 OpenAI 直连不通的问题。# --- 核心网络配置 ---
# ⚠️ 注意:服务器部署请将 localhost 改为你的公网 IP
API_URL=http://localhost:5055
INTERNAL_API_URL=http://backend:5055
# --- 数据库配置 ---
SURREAL_URL=http://surrealdb:8000
SURREAL_NAMESPACE=test
SURREAL_DATABASE=test
SURREAL_USER=root
SURREAL_PASSWORD=root
# --- AI 模型配置 (国内中转加速) ---
LLM_PROVIDER=openai
# 这里填入你在uiuiAPI获取的的 API Key
OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# 关键配置:指定中转 Base URL
OPENAI_API_BASE="https://sg.uiuiapi.com/v1"
OPENAI_BASE_URL="https://sg.uiuiapi.com/v1"
# 推荐模型 (性价比之选)
DEFAULT_CHAT_MODEL=gpt-4o-mini
DEFAULT_EMBEDDING_MODEL=text-embedding-3-small
# --- 稳定性优化 ---
API_TIMEOUT=120
MAX_RETRIES=3docker compose up -d启动后,使用 docker compose logs -f 查看日志,出现 Application startup complete 即表示服务正常。
.env 文件中,API_URL 是浏览器用来访问后端的地址。如果你部署在腾讯云服务器上,必须将其设置为 http://你的公网IP:5055。如果保持 localhost,你的浏览器会尝试连接你自己的电脑,导致报错。gpt-4o-mini。在 RAG(检索增强生成)场景下,它的指令遵循能力极强,且价格便宜,非常适合处理长文档的阅读和总结。
通过这套配置,我们成功在腾讯云上搭建了一个网络通畅、数据私有、功能强大的认知中台。你不再受制于网络环境,也不必担心隐私泄露。
这就是开源的力量,也是“数字第二大脑”该有的样子。快去部署试试吧!
版权信息: 本文由UIUIAPI团队编写,保留所有权利。未经授权,不得转载或用于商业用途。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。