Thanks to visit codestin.com
Credit goes to github.com

Skip to content

An open-source, desktop alternative to Google Notebook LM, built on top of Open Notebook — fully local, privacy-first, and model-agnostic.

License

Notifications You must be signed in to change notification settings

kakuka/MyNoteLM

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyNoteLM

Google NotebookLM 的开源、桌面版替代,重点支持中文场景。官网:https://mynotelm.com/

注:本项目基于 Open Notebook 项目。

项目背景

MyNoteLM 源自社区项目 Open Notebook。原项目提供了一个可自托管的 NotebookLM 风格知识工作站,但偏向开发者,需要自行维护部署。MyNoteLM 的目标是:

  1. 封装成桌面软件:用启动器和桌面外壳隐藏 Docker、配置等复杂度,下载即可运行。
  2. 强化中文本土化:包括界面、模型预设、中文 PDF/音频处理能力以及本地化示例。
  3. 面向普通用户:将“研究助手”能力打包为易用的桌面应用,保留开源与私有化优势。

项目仍完全开源,延续 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_datasurreal_data 持久化。

快速开始

1. 单容器体验(推荐给桌面用户)

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(数据卷保留)。

2. 开发模式(适合定制/贡献)

  1. 启动数据库:docker compose -f docker-compose.dev.yml up -d surrealdb
  2. 本地运行后端:uv run run_api.py,worker:uv run surreal-commands-worker --import-modules commands
  3. 前端:cd frontend && npm install && npm run dev,支持热更新。
  4. 也可使用 Makefile start-all 一键启动(仅限本地调试)。

3. 桌面启动器(MVP 规划)

首版目标是作为“启动器”发布:

  1. 安装器携带或引导安装 Docker Desktop。
  2. 首次运行导入镜像 tar,并执行 docker compose -f docker-compose.single.yml up -d
  3. UI 中展示容器状态、日志和快捷入口(打开浏览器 / 内嵌 WebView)。
  4. 后续再在启动器中加入配置向导与自动更新。

多语言与本地化

  • 使用 next-intl 承载语言包,源码位于 frontend/src/i18n(开发中)。
  • 默认遵循浏览器语言;用户也可在侧边栏切换并写入 Cookie。
  • 文案统一放在 JSON/TS 文件中,欢迎通过 PR 补充翻译。
  • Prompt、默认 Notebook 示例会提供英文/中文双版本,提升中文处理质量。

FAQ

Q: 桌面用户是否需要了解 Docker?
A: 不需要。启动器会检测 Docker 是否已安装,若没有会引导安装或携带安装包;用户仅需点击“启动 MyNoteLM”。

Q: 数据如何保存?
A: notebook_datasurreal_single_data(或 surreal_data)是宿主机目录,可备份或同步;卸载容器不会删除这些数据。

Q: 如何更新?
A: 桌面版本预计通过启动器检查更新、下载新镜像 tar 并 docker load 后滚动重启;如果手动运行 Docker,可 git pull + docker compose ... up --build -d

贡献

  1. Fork & 提交 PR 前请阅读 CONTRIBUTING.md(英文)。
  2. 建议使用 docker-compose.dev.yml 或本地环境进行开发,避免频繁构建。
  3. 欢迎贡献:
    • 桌面启动器(Electron/Tauri)实现
    • 中文模型适配、Prompt 模板、本地知识源处理插件
    • 多语言翻译
    • 文档与示例 Notebook

许可证 & 联系

  • 许可证:MIT(继承自 Open Notebook)。
  • 官网:https://mynotelm.com/
  • 若有合作/商务需求,可在官网或 issue 中联系。

MyNoteLM 致力于让更多普通用户在桌面端就能拥有私有化的 NotebookLM 体验,欢迎与你一起构建。***

About

An open-source, desktop alternative to Google Notebook LM, built on top of Open Notebook — fully local, privacy-first, and model-agnostic.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 57.4%
  • Python 39.7%
  • Jinja 1.5%
  • Makefile 0.5%
  • CSS 0.5%
  • Dockerfile 0.3%
  • Other 0.1%