Google NotebookLM 的开源、桌面版替代,重点支持中文场景。官网:https://mynotelm.com/
注:本项目基于 Open Notebook 项目。
MyNoteLM 源自社区项目 Open Notebook。原项目提供了一个可自托管的 NotebookLM 风格知识工作站,但偏向开发者,需要自行维护部署。MyNoteLM 的目标是:
- 封装成桌面软件:用启动器和桌面外壳隐藏 Docker、配置等复杂度,下载即可运行。
- 强化中文本土化:包括界面、模型预设、中文 PDF/音频处理能力以及本地化示例。
- 面向普通用户:将“研究助手”能力打包为易用的桌面应用,保留开源与私有化优势。
项目仍完全开源,延续 MIT 许可证,欢迎社区贡献。
- 桌面优先:提供启动器,自动检测/安装 Docker,导入镜像并一键启动后台服务与 Web 界面。
- 私有部署:所有数据保存在本机(SurrealDB + 挂载卷),可接入企业内网模型或开源大模型。
- 多模型支持:沿用 Open Notebook 的模型抽象(Esperanto),支持 OpenAI、Anthropic、Ollama、LM Studio 等 16+ Provider,并预置中文模型配置。
- 多模态内容:可导入 PDF、DOCX、网页、音频,提供向量检索、引用追踪、播客生成、转换模板等功能。
- 转换工作流:Transformation 模块允许自定义 Prompt 并批量处理资料;可设置默认模板或在 Playground 中试跑。
- 国际化:前端正迁移到
next-intl,逐步提供中文/英文界面及文案;欢迎贡献翻译。
| 模块 | 说明 |
|---|---|
| 桌面启动器 | Electron/Tauri(规划中)封装,负责 Docker 检测/安装、镜像导入、运行状态监控与日志展示。 |
| 后端 API | FastAPI + SurrealDB(向量存储)+ Surreal Commands 异步任务,负责 Notebook、Sources、Transformations、Podcast 等业务。 |
| 前端 | Next.js 15 App Router + Tailwind,内置 Query/TanStack、ThemeToggle、ConnectionGuard 等;将通过 next-intl 做多语言。 |
| 数据层 | SurrealDB RocksDB 存储,通过 Docker 卷 surreal_single_data 或 surreal_data 持久化。 |
git clone https://github.com/your-org/MyNoteLM.git
cd MyNoteLM
cp setup_guide/docker.env docker.env # 按需填写 OPENAI_API_KEY 等
docker compose -f docker-compose.single.yml up --build -d
# 首次构建较慢,需下载 Python/Node 依赖与模型脚本访问 http://localhost:8502 即可进入 MyNoteLM;API 在 http://localhost:5055。
如需停止:docker compose -f docker-compose.single.yml down(数据卷保留)。
- 启动数据库:
docker compose -f docker-compose.dev.yml up -d surrealdb - 本地运行后端:
uv run run_api.py,worker:uv run surreal-commands-worker --import-modules commands - 前端:
cd frontend && npm install && npm run dev,支持热更新。 - 也可使用
Makefile start-all一键启动(仅限本地调试)。
首版目标是作为“启动器”发布:
- 安装器携带或引导安装 Docker Desktop。
- 首次运行导入镜像 tar,并执行
docker compose -f docker-compose.single.yml up -d。 - UI 中展示容器状态、日志和快捷入口(打开浏览器 / 内嵌 WebView)。
- 后续再在启动器中加入配置向导与自动更新。
- 使用 next-intl 承载语言包,源码位于
frontend/src/i18n(开发中)。 - 默认遵循浏览器语言;用户也可在侧边栏切换并写入 Cookie。
- 文案统一放在 JSON/TS 文件中,欢迎通过 PR 补充翻译。
- Prompt、默认 Notebook 示例会提供英文/中文双版本,提升中文处理质量。
Q: 桌面用户是否需要了解 Docker?
A: 不需要。启动器会检测 Docker 是否已安装,若没有会引导安装或携带安装包;用户仅需点击“启动 MyNoteLM”。
Q: 数据如何保存?
A: notebook_data 与 surreal_single_data(或 surreal_data)是宿主机目录,可备份或同步;卸载容器不会删除这些数据。
Q: 如何更新?
A: 桌面版本预计通过启动器检查更新、下载新镜像 tar 并 docker load 后滚动重启;如果手动运行 Docker,可 git pull + docker compose ... up --build -d。
- Fork & 提交 PR 前请阅读
CONTRIBUTING.md(英文)。 - 建议使用
docker-compose.dev.yml或本地环境进行开发,避免频繁构建。 - 欢迎贡献:
- 桌面启动器(Electron/Tauri)实现
- 中文模型适配、Prompt 模板、本地知识源处理插件
- 多语言翻译
- 文档与示例 Notebook
- 许可证:MIT(继承自 Open Notebook)。
- 官网:https://mynotelm.com/
- 若有合作/商务需求,可在官网或 issue 中联系。
MyNoteLM 致力于让更多普通用户在桌面端就能拥有私有化的 NotebookLM 体验,欢迎与你一起构建。***