DEV Community

韩

Posted on

Open Notebook 的 5 个隐藏用法:3.1 万 Star 的开源 NotebookLM 替代方案

你知道吗?Google NotebookLM 有一个开源替代品,能让你在本地运行完整的 AI 研究工作站——包括播客生成、多模型 AI 对话、全功能 REST API——而且不向任何云服务商发送你的数据。

Open Notebook(lfnovo/open-notebook)已经在 GitHub 上积累了 31,146 颗星,目前正在 GitHub 周榜 Trending 上。它支持 18 个以上的 AI 提供商(OpenAI、Anthropic、Ollama、LM Studio、Groq、DeepSeek 等),通过 Docker 实现 100% 本地运行,并且提供了 Google 版本不具备的功能——比如 4 人播客生成、完整 REST API、以及与 Claude Desktop 和 VS Code 的 MCP 集成。

但问题是:大多数人只把它当作一个"和 PDF 聊天"的简单工具。他们错过了那些让它真正成为研究利器的进阶能力。

2026 年,AI 工具生态正在向自托管、多模型方向迁移。供应商锁定正在成为新的反模式。Open Notebook 恰好处于隐私、灵活性和前沿 AI 工作流的交汇点——是时候探索大多数人忽略的能力了。


隐藏用法 #1:多人播客生成与剧集档案

大多数人的用法: 上传一份 PDF,点击"生成播客",接受默认的 2 人对话格式。

隐藏技巧: Open Notebook 支持 1-4 人的自定义剧集档案(Episode Profiles)——你可以控制说话人角色、说话风格,并创建具有固定角色定义的系列播客。这远远超越了 Google 固定的 2 人深度对话格式。

# 示例:通过 API 创建自定义 3 人播客档案
import requests

API_URL = "http://localhost:5055"
HEADERS = {"Authorization": "Bearer your_api_key"}

# 定义 3 人剧集档案
profile = {
    "name": "技术深潜",
    "speakers": [
        {
            "name": "李博士",
            "role": "主持人",
            "voice": "nova",
            "style": "善于提问,引导讨论方向"
        },
        {
            "name": "王工程师",
            "role": "技术专家",
            "voice": "echo",
            "style": "严谨精确,善于用类比解释复杂概念"
        },
        {
            "name": "张分析师",
            "role": "行业观察",
            "voice": "shimmer",
            "style": "连接技术细节与市场影响"
        }
    ],
    "format": "圆桌讨论",
    "target_duration_minutes": 15
}

resp = requests.post(
    f"{API_URL}/api/v1/podcast-profiles",
    json=profile,
    headers=HEADERS
)
print(f"档案已创建:{resp.json()['id']}")
Enter fullscreen mode Exit fullscreen mode

效果: 你会得到一个专业的多人播客,每个说话人都有独特的角色和个性。非常适合从文档集合中创建教育内容、研究摘要,甚至内部团队简报。

数据来源: Open Notebook GitHub 31,146 Stars(通过 GitHub API 验证),README 文档记录了 1-4 人播客支持与 Episode Profiles,当前在 GitHub Trending 周榜(2026 年 6 月 17 日当周)。


隐藏用法 #2:与 Claude Desktop 和 VS Code 的 MCP 集成

大多数人的用法: 通过 localhost:8502 的网页 UI 使用 Open Notebook。

隐藏技巧: Open Notebook 内置了 完整的 MCP(Model Context Protocol)服务器,可以将你的整个笔记本库连接到 Claude Desktop、VS Code(Cline)以及任何兼容 MCP 的 AI 助手。你的研究工作变成了 AI 编码工作流中的一等工具。

# 配置 Claude Desktop 使用 Open Notebook 作为 MCP 服务器
# 编辑:~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "open-notebook": {
      "command": "uvx",
      "args": ["open-notebook-mcp"],
      "env": {
        "OPEN_NOTEBOOK_URL": "http://localhost:5055",
        "OPEN_NOTEBOOK_PASSWORD": "你的密码"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

重启 Claude Desktop 后,你可以直接说:

  • "在我的研究笔记本里搜索所有关于 Transformer 架构的内容"
  • "创建一个新笔记,总结我们对话中的关键发现"
  • "列出我所有的笔记本,告诉我哪些最近有活动"
# MCP 服务器向 AI 助手暴露以下工具:
# - list_notebooks()          → 所有研究项目
# - search_sources(query)     → 全文+向量搜索
# - create_note(content)      → 生成 AI 辅助笔记
# - start_chat_session()     → 上下文感知对话
# - get_source_content(id)   → 获取特定文档
Enter fullscreen mode Exit fullscreen mode

效果: 你的 AI 编码助手(Claude、Cline 等)现在可以在编写代码、起草文档或分析数据时引用你的整个研究库。就像给你的 AI 代理装上了你所有上传内容的记忆。

数据来源: Open Notebook MCP 集成文档(docs/5-CONFIGURATION/mcp-integration.md),通过 open-notebook-mcp PyPI 包支持 Claude Desktop 和 VS Code,使用标准 MCP 协议通过 uvx 运行。


隐藏用法 #3:内容转换——自定义 AI 处理流水线

大多数人的用法: 上传资料后按原样阅读,或使用基础的 AI 摘要功能。

隐藏技巧: Open Notebook 拥有内容转换系统——可自定义的 AI 动作,能自动处理、摘要和从资料中提取洞察。你可以将多个转换串联起来,创建复杂的研究流水线。

# 示例:通过 API 创建自定义转换流水线
import requests

API_URL = "http://localhost:5055"

# 创建一个提取核心论点和反驳观点的转换
transformation = {
    "name": "辩论提取器",
    "prompt_template": """
    分析以下资料并提取:
    1. 主要论点或核心主张
    2. 三个最有力的支持论据(附证据)
    3. 两个最有力的反驳论点或局限性
    4. 上下文中的关键术语定义

    将输出格式化为结构化 Markdown 文档。

    资料内容:
    {source_content}
    """,
    "output_format": "markdown",
    "apply_to": ["pdf", "web_page", "text_note"]
}

resp = requests.post(
    f"{API_URL}/api/v1/transformations",
    json=transformation
)
transformation_id = resp.json()["id"]

# 应用到特定资料
resp = requests.post(
    f"{API_URL}/api/v1/sources/{source_id}/transform",
    json={"transformation_id": transformation_id}
)
print(resp.json()["transformed_content"])
Enter fullscreen mode Exit fullscreen mode

效果: 你上传的每份 PDF、网页或文档都会自动通过你的自定义流水线处理——提取结构化洞察、生成辩论摘要或创建学习指南。这将从被动存储工具变成了主动的研究助手。

数据来源: Open Notebook README 记录了"内容转换:强大的可自定义操作,用于摘要和提取洞察"作为核心功能,REST API 在 5055 端口提供完整编程访问。


隐藏用法 #4:18+ AI 提供商支持与模型路由

大多数人的用法: 连接一个 AI 提供商(通常是 OpenAI),用于所有任务。

隐藏技巧: Open Notebook 通过 Esperanto 库支持 18 个以上的 AI 提供商,你可以为不同任务分配不同的模型。用便宜模型做摘要,用强大模型做分析,用本地模型处理敏感文档——全部在同一个笔记本中完成。

# 示例:配置多提供商并按任务分配模型
import requests

API_URL = "http://localhost:5055"

# 添加 Ollama(免费、本地)用于敏感文档
ollama_config = {
    "provider": "ollama",
    "base_url": "http://localhost:11434",
    "models": ["llama3.3:70b", "qwen3:30b"]
}
requests.post(f"{API_URL}/api/v1/providers", json=ollama_config)

# 添加 OpenAI 用于高质量播客脚本
openai_config = {
    "provider": "openai",
    "api_key": "sk-...",
    "models": ["o4-mini", "gpt-4o"]
}
requests.post(f"{API_URL}/api/v1/providers", json=openai_config)

# 按任务类型分配模型
routing = {
    "summarization": "ollama/llama3.3:70b",      # 免费、本地
    "podcast_script": "openai/o4-mini",           # 高质量
    "chat": "ollama/qwen3:30b",                   # 快速、本地
    "note_generation": "openai/gpt-4o",           # 最佳质量
    "search_embedding": "ollama/nomic-embed-text" # 本地嵌入
}
requests.put(f"{API_URL}/api/v1/model-routing", json=routing)
Enter fullscreen mode Exit fullscreen mode

效果: 你同时优化了成本和隐私。敏感研究数据保留在本地 Ollama 实例上。播客生成使用 OpenAI 的最佳模型。摘要任务在你的硬件上免费运行。一个笔记本,多个 AI 大脑,零供应商锁定。

数据来源: Open Notebook 提供商支持矩阵记录了 18+ 提供商:OpenAI、Anthropic、Groq、Google、Vertex AI、Ollama、Perplexity、ElevenLabs、Deepgram、Azure OpenAI、Mistral、DeepSeek、Voyage、xAI、OpenRouter、DashScope(Qwen)、MiniMax,以及任何兼容 OpenAI 的端点(LM Studio 等)。


隐藏用法 #5:全功能 REST API 实现研究自动化

大多数人的用法: 手动上传文档,通过网页 UI 交互。

隐藏技巧: Open Notebook 在 5055 端口暴露了完整的 REST API,让你可以自动化整个研究工作流。批量导入资料、生成报告、创建定时摘要,并与现有工具集成。

# 示例:使用 REST API 构建自动化研究流水线
import requests, glob
from datetime import datetime

API_URL = "http://localhost:5055"
HEADERS = {"Authorization": "Bearer your_api_key"}

# 第一步:为今天的研究创建新笔记本
notebook = requests.post(f"{API_URL}/api/v1/notebooks", json={
    "name": f"AI 研究日报 - {datetime.now().strftime('%Y-%m-%d')}",
    "description": "自动化每日研究收集"
}, headers=HEADERS).json()

notebook_id = notebook["id"]

# 第二步:批量导入目录中的所有 PDF
for pdf_path in glob.glob("/path/to/research/papers/*.pdf"):
    with open(pdf_path, "rb") as f:
        requests.post(
            f"{API_URL}/api/v1/notebooks/{notebook_id}/sources",
            files={"file": f},
            data={"source_type": "pdf"},
            headers=HEADERS
        )

# 第三步:生成所有资料的 AI 摘要
summary = requests.post(
    f"{API_URL}/api/v1/notebooks/{notebook_id}/chat",
    json={
        "message": "总结本笔记本中所有资料的关键发现。"
                   "识别共同主题、矛盾点和开放性问题。"
                   "格式化为结构化研究简报。",
        "context_mode": "all_sources"  # 使用所有上传的文档
    },
    headers=HEADERS
).json()

# 第四步:将 AI 摘要保存为永久笔记
note = requests.post(
    f"{API_URL}/api/v1/notebooks/{notebook_id}/notes",
    json={
        "content": summary["response"],
        "title": f"研究简报 - {datetime.now().strftime('%Y-%m-%d')}",
        "type": "ai_generated"
    },
    headers=HEADERS
).json()

print(f"研究简报已保存:{note['id']}")
print(f"API 文档:{API_URL}/docs")
Enter fullscreen mode Exit fullscreen mode

效果: 你可以构建全自动化的研究流水线——每日论文摘要、竞争情报简报、文献综述生成器——全部运行在你自己的基础设施上。API 还可以与 n8n、Zapier 或自定义脚本集成。

数据来源: Open Notebook README 记录了"全面的 REST API:完整的编程访问,支持自定义集成",API 文档在 http://localhost:5055/docs,基于 FastAPI(Python)构建。


总结:Open Notebook 的 5 个隐藏用法

  1. 多人播客生成 — 使用自定义 Episode Profile 创建 1-4 人播客,超越 Google 的 2 人限制
  2. MCP 服务器集成 — 将研究库作为一等 AI 工具连接到 Claude Desktop 和 VS Code
  3. 内容转换 — 构建自定义 AI 处理流水线,自动从每份资料中提取洞察
  4. 18+ 提供商模型路由 — 按任务分配不同 AI 模型:本地处理敏感文档、高端模型用于播客、廉价模型用于摘要
  5. 全功能 REST API 自动化 — 通过批量导入、定时摘要和自定义集成实现整个研究工作的自动化

相关文章:


你最喜欢 Open Notebook 的哪个功能?你试过用 Ollama 本地模型运行它,还是在使用云提供商?在评论区分享你的配置方案——我很想了解你如何将它用于自己的研究工作流!

Top comments (0)