Files
2026-07-13 09:55:39 +00:00

20 KiB
Raw Permalink Blame History

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

Forks Stargazers Issues MIT License


Logo

Open Notebook

一款开源、注重隐私的 Google Notebook LM 替代方案!
加入我们的 Discord 服务器,获取帮助、分享工作流创意并提出功能建议!
访问我们的网站 »

📚 入门指南 · 📖 用户指南 · 功能特性 · 🚀 部署

lfnovo%2Fopen-notebook | Trendshift

私密、多模型、100% 本地、功能完整的 Notebook LM 替代方案

New Notebook

在人工智能主导的时代,能够思考 🧠 并获取新知识 💡 是一项不应成为少数人特权、也不应被单一供应商所限制的技能。

Open Notebook 让你能够:

  • 🔒 掌控你的数据 - 让研究内容保持私密与安全
  • 🤖 自选 AI 模型 - 支持 18+ 家提供商,包括 OpenAI、Anthropic、Ollama、LM Studio 等
  • 📚 组织多模态内容 - PDF、视频、音频、网页等
  • 🎙️ 生成专业播客 - 高级多说话人播客生成
  • 🔍 智能搜索 - 针对全部内容进行全文与向量搜索
  • 💬 基于上下文对话 - 由你的研究资料驱动的 AI 对话
  • 🌐 多语言界面 - 支持英语、葡萄牙语、中文(简体与繁体)、日语、俄语和孟加拉语

https://www.open-notebook.ai 了解更多关于本项目的信息


🆚 Open Notebook 与 Google Notebook LM 对比

Feature Open Notebook Google Notebook LM Advantage
隐私与控制 自托管,数据归你 仅限 Google 云端 完整数据主权
AI 提供商选择 18+ 家提供商(OpenAI、Anthropic、Ollama、LM Studio 等) 仅限 Google 模型 灵活性与成本优化
播客说话人 1-4 位说话人,支持自定义档案 仅 2 位说话人 极高灵活性
内容转换 自定义与内置 选项有限 无限处理能力
API 访问 完整 REST API 无 API 完整自动化能力
部署方式 Docker、云端或本地 仅限 Google 托管 随处部署
引用 基础引用(将持续改进) 带来源的完整引用 研究完整性
定制化 开源,完全可定制 封闭系统 无限可扩展性
成本 仅为 AI 使用付费 免费层 + 月度订阅 透明且可控

为何选择 Open Notebook

  • 🔒 隐私优先:你的敏感研究资料完全保持私密
  • 💰 成本可控:选择更便宜的 AI 提供商,或使用 Ollama 在本地运行
  • 🎙️ 更好的播客:完整脚本控制与多说话人灵活性,优于受限的双说话人深度访谈格式
  • 🔧 无限定制:按需修改、扩展与集成
  • 🌐 无供应商锁定:切换提供商、随处部署、数据归你所有

技术栈

Python Next.js React SurrealDB LangChain

🚀 快速开始(2 分钟)

前置条件

  • Docker Desktop installed
  • 仅此而已!(API 密钥稍后可在界面中配置)

步骤 1:获取 docker-compose.yml

选项 A 直接下载

curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml

选项 B 手动创建文件 将以下内容复制到名为 docker-compose.yml 的新文件中:

services:
  surrealdb:
    image: surrealdb/surrealdb:v2
    # Credentials default to root:root for a zero-config local setup. Before
    # exposing this instance to a network, set SURREAL_USER / SURREAL_PASSWORD
    # in a .env file (see .env.example) — they are applied here and to the
    # open_notebook service below, so the two always stay in sync.
    # List (exec) form so each interpolated value stays a single argument —
    # a password containing spaces would otherwise be split into several.
    command: ["start", "--log", "info", "--user", "${SURREAL_USER:-root}", "--pass", "${SURREAL_PASSWORD:-root}", "rocksdb:/mydata/mydatabase.db"]
    user: root  # Required for bind mounts on Linux
    ports:
      # Bound to localhost only: the open_notebook service reaches this over
      # the internal compose network regardless, so the host port is purely
      # for local debugging (e.g. Surrealist, `surreal sql`). Exposing this
      # on 0.0.0.0 would let anyone who can reach the host connect with the
      # default root:root credentials.
      - "127.0.0.1:8000:8000"
    volumes:
      - ./surreal_data:/mydata
    environment:
      - SURREAL_EXPERIMENTAL_GRAPHQL=true
    restart: always
    pull_policy: always

  open_notebook:
    image: lfnovo/open_notebook:v1-latest
    ports:
      - "8502:8502"  # Web UI
      - "5055:5055"  # REST API
    environment:
      # REQUIRED: Change this to your own secret string
      # This encrypts your API keys in the database
      - OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string

      # Database connection. SURREAL_USER / SURREAL_PASSWORD default to root:root
      # for local use; override them in a .env file before exposing the instance
      # (the same values configure the surrealdb service above).
      - SURREAL_URL=ws://surrealdb:8000/rpc
      - SURREAL_USER=${SURREAL_USER:-root}
      - SURREAL_PASSWORD=${SURREAL_PASSWORD:-root}
      - SURREAL_NAMESPACE=open_notebook
      - SURREAL_DATABASE=open_notebook
    volumes:
      - ./notebook_data:/app/data
    depends_on:
      - surrealdb
    restart: always
    pull_policy: always

步骤 2:设置加密密钥

编辑 docker-compose.yml 并修改这一行:

- OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string

改为任意密钥值(例如 my-super-secret-key-123

步骤 3:启动服务

docker compose up -d

等待 15-20 秒,然后打开:http://localhost:8502

步骤 4:配置 AI 提供商

  1. 前往 Models,选择你的提供商(OpenAI、Anthropic、Google 等)
  2. 点击 + Add Configuration
  3. 按需粘贴 API 密钥及其他信息,然后点击 Add Configuration
  4. 点击 Test 测试连接
  5. 点击 Sync Models 并勾选要包含的模型
  6. Default Model Assignments 下,点击 Auto-Assign Defaults,或手动指定各用途使用的模型

完成!你已准备好创建第一个笔记本。

需要 API 密钥? 可从以下平台获取: OpenAI · Anthropic · Google · Groq(免费套餐)

想要免费的本地 AI 请参阅 examples/docker-compose-ollama.yml 了解 Ollama 配置


📚 更多安装选项


📖 需要帮助?


Star 历史

Star History Chart

提供商支持矩阵

感谢 Esperanto 库,我们开箱即用地支持这些提供商!

提供商 LLM 支持 嵌入(Embedding)支持 语音转文字(Speech-to-Text 文字转语音(Text-to-Speech
OpenAI
Anthropic
Groq
Google (GenAI)
Vertex AI
Ollama
Perplexity
ElevenLabs
Deepgram
Azure OpenAI
Mistral
DeepSeek
Voyage
xAI
OpenRouter
DashScope (Qwen)
MiniMax
OpenAI Compatible*

*支持 LM Studio 及任何 OpenAI 兼容端点

核心特性

核心能力

  • 🔒 隐私优先:你的数据由你掌控——无需依赖云端
  • 🎯 多笔记本组织:无缝管理多个研究项目
  • 📚 通用内容支持:PDF、视频、音频、网页、Office 文档等
  • 🤖 多模型 AI 支持:支持 18+ 家提供商,包括 OpenAI、Anthropic、Ollama、Google、LM Studio 等
  • 🎙️ 专业播客生成:支持 Episode Profiles 的高级多说话人播客
  • 🔍 智能搜索:对所有内容进行全文与向量搜索
  • 💬 上下文感知对话:基于研究资料的 AI 对话
  • 📝 AI 辅助笔记:生成洞察或手动撰写笔记

高级功能

  • 推理模型支持:完整支持 DeepSeek-R1、Qwen3 等思考型模型
  • 🔧 内容转换:强大的可自定义操作,用于摘要与洞察提取
  • 🌐 全面的 REST API:完整的编程访问能力,便于自定义集成 API Docs
  • 🔐 可选密码保护:通过身份验证保护公开部署
  • 📊 精细的上下文控制:精确选择要与 AI 模型共享的内容
  • 📎 引用:获得带有规范来源引用的答案

播客功能

查看我们的播客示例

📚 文档

入门指南

用户指南

高级主题

(返回顶部)

🗺️ 路线图

即将推出的功能

  • 实时前端更新:实时 UI 更新,带来更流畅的体验
  • 异步处理:通过异步内容处理提升 UI 响应速度
  • 跨笔记本来源:在不同项目间复用研究资料
  • 书签集成:与你常用的书签应用连接

最近已完成

  • Next.js 前端:基于 React 的现代化前端,性能更优
  • 全面的 REST API:以编程方式完整访问所有功能
  • 多模型支持:支持 18+ 家 AI 提供商,包括 OpenAI、Anthropic、Ollama、LM Studio
  • 高级播客生成器:支持 Episode Profiles 的专业多说话人播客
  • 内容转换:强大的可自定义内容处理操作
  • 增强的引用:改进的布局与更精细的来源引用控制
  • 多对话会话:在笔记本内管理不同的对话

查看 open issues 获取完整的功能建议与已知问题列表。

(返回顶部)

📖 需要帮助?

🤝 社区与贡献

加入社区

  • 💬 Discord Server - 获取帮助、分享想法、与其他用户交流
  • 🐛 GitHub Issues - 报告 bug 并请求功能
  • 为仓库点亮 Star - 表示支持并帮助他人发现 Open Notebook

参与贡献

我们欢迎贡献!尤其希望获得以下方面的帮助:

  • 前端开发(Frontend Development:帮助改进现代化的 Next.js/React UI
  • 测试与 Bug 修复:让 Open Notebook 更加稳定可靠
  • 功能开发:一起打造最酷的研究工具
  • 文档:改进指南与教程

当前技术栈Python、FastAPI、Next.js、React、SurrealDB 未来路线图:实时更新、增强异步处理

详见我们的贡献指南,了解如何开始参与,包括AI 辅助贡献相关准则。要了解我们在构建什么(以及我们会拒绝什么),请阅读 VISION.md

(返回顶部)

📄 许可证

Open Notebook 采用 MIT 许可证。详情请参阅 LICENSE 文件。

社区支持

(返回顶部)