首页/新闻资讯/正文详情

notebooklm-mcp源码架构深剖:MCP Server+Patchright浏览器自动化完整拆解

发布时间:2026/9/27 2:19:23 来源:云帆数科 栏目:资讯中心
notebooklm-mcp源码架构深剖:MCP Server+Patchright浏览器自动化完整拆解
notebooklm-mcp源码架构深剖MCP ServerPatchright浏览器自动化完整拆解【免费下载链接】notebooklm-mcpMCP server for NotebookLM - Let your AI agents (Claude Code, Codex) research documentation directly with grounded, citation-backed answers from Gemini. Persistent auth, library management, cross-client sharing. Zero hallucinations, just your knowledge base.项目地址: https://gitcode.com/gh_mirrors/no/notebooklm-mcpnotebooklm-mcp 是一个面向 Google NotebookLM 的 MCP ServerModel Context Protocol 服务器它让 Claude Code、Codex 等 AI 编程智能体直接基于你的 NotebookLM 知识库进行调研返回带引用、零幻觉的回答。项目用 TypeScript 编写核心链路是「MCP 协议层 → 会话管理层 → Patchright 隐身浏览器层 → NotebookLM 网页」。本文带你全景拆解这套源码架构从入口服务、配置系统到持久化认证、共享浏览器上下文和拟人化反检测设计看看它为什么能做到像真人一样地操作浏览器。一、项目全景一句话讲清分层架构整个项目只有 24 个 TypeScript 源文件却完成了AI 智能体 → 浏览器自动化 → Google 服务的完整闭环。分层如下层级目录职责MCP 服务层src/index.ts协议接入、工具路由、优雅退出工具定义层src/tools/14 个 MCP 工具的 Schema 与业务实现会话管理层src/session/多会话调度、共享浏览器上下文认证层src/auth/auth-manager.ts登录、Cookie 持久化与过期校验知识库层src/library/notebook-library.tsNotebook 增删改查与元数据管理隐身工具层src/utils/stealth-utils.ts拟人打字、鼠标轨迹、随机延迟配置层src/config.ts三级配置优先级 跨平台路径入口文件 src/index.ts 中的NotebookLMMCPServer类是总装配车间它构造 MCP SDK 的Server实例注入AuthManager、SessionManager、NotebookLibrary三大管理器再挂载工具处理器最终通过Stdio 传输与客户端通信src/index.ts。AI 客户端如 Claude Code通过标准输入输出管道发来list_tools和call_tool请求服务器按工具名switch分发到对应 handlersrc/index.ts。二、配置系统免配置文件的设计很多同类项目要求用户手动写 config.json而 notebooklm-mcp 在 src/config.ts 中声明了一个更轻的方案硬编码默认值 → 环境变量 → 工具参数三级优先级开箱即用。默认值1024×768 视口、10 个并发会话、900 秒会话超时、隐身模式默认开启、打字速度 160~240 WPM环境变量如HEADLESS、MAX_SESSIONS、NOTEBOOK_URL通过applyEnvOverrides()覆盖src/config.ts;工具参数运行时由 AI 传入的browser_options经applyBrowserOptions()合并成临时副本用后即还原不污染全局配置src/tools/handlers.ts。数据目录由env-paths库自动按平台生成src/config.tsLinux~/.local/share/notebooklm-mcp/macOS~/Library/Application Support/notebooklm-mcp/Windows%APPDATA%\notebooklm-mcp\里面存放认证状态browser_state/、持久化 Chrome 配置chrome_profile/和多实例配置chrome_profile_instances/。三、工具层AI 智能体的 14 个遥控器按钮工具定义按领域拆成四个文件全部聚合在 src/tools/definitions.ts文件代表工具作用definitions/ask-question.tsask_question向 NotebookLM 提问核心工具definitions/notebook-management.tsadd_notebook、search_notebooks管理知识库条目definitions/session-management.tslist_sessions、reset_session会话生命周期控制definitions/system.tsget_health、setup_auth系统健康检查与认证设置值得注意的一个产品级细节src/tools/handlers.ts 在每次回答末尾自动追加一段追问提醒催促 AI 智能体思考是否还有其他需要追问的问题。这一招显著提升了多轮调研的深度属于提示词工程写进代码的典型范例。另一个亮点是工具配置档位profileSettingsManager可按精简/完整等档位过滤工具集合避免给 AI 塞太多工具导致选择困难src/utils/settings-manager.ts。四、会话层一对多的浏览器编排会话层是理解本项目设计精髓的关键由三个类协作1. SessionManager —— 调度中心src/session/session-manager.ts用MapsessionId, BrowserSession管理并行会话会话 ID 是 4 字节随机 hexsrc/session/session-manager.ts内置定时器周期性清理超时会话超时时间默认 15 分钟达到maxSessions上限时自动挤走最老的会话保证服务不中断。2. BrowserSession —— 单个标签页的生命周期src/session/browser-session.tsinit()流程非常讲究创建页签 → 导航到 Notebook → 等待 2~3 秒稳定期 → 校验 Cookie →恢复 sessionStorage→ 等待textarea.query-box-input等 NotebookLM 专属选择器就绪。提问时以拟人速度逐字输入再由 src/utils/page-utils.ts 中的waitForLatestAnswer检测流式回答完成并抓取全部引用来源。3. SharedContextManager —— 全局唯一指纹src/session/shared-context-manager.ts这是整个架构中最反直觉、也最精妙的设计所有会话共享同一个持久化浏览器上下文。源码注释解释得很直白——Google 会跟踪 Canvas、WebGL、Audio 等浏览器指纹多个上下文 多个指纹 可疑而一个持久化user_data_dir让 Chrome 在每次重启后加载同一份配置Google 看到的是从第一天起就是同一个浏览器。它还处理了多实例并发的边角情况当基础 profile 被另一进程锁住SingletonLock时auto策略会自动回退到独立实例目录并按 TTL/数量上限自动修剪残留 profilesrc/session/shared-context-manager.ts。五、认证层让登录一次搞定跨重启存活AuthManager 管理完整的认证闭环状态持久化把 cookies localStorage 存到browser_state/state.jsonsessionStorage 单独存到session.jsonsrc/auth/auth-manager.ts关键 Cookie 白名单SID、HSID、APISID、SAPISID、__Secure-3PSID等 Google 会话凭证用于判断登录态是否有效src/auth/auth-manager.ts过期双保险文件超过 24 小时即视为过期 逐一校验 Cookie 的expires时间戳启动即加载SharedContextManager创建上下文时直接把storageState传进launchPersistentContext绕开了 Playwright 中 session cookie 不持久化的坑src/session/shared-context-manager.ts自动重登会话过期时可凭环境变量中的邮箱密码自动登录也支持setup_auth工具弹浏览器人工登录。六、隐身层Patchright 拟人行为模拟项目选用PatchrightPlaywright 的隐身增强分支而非原版并在启动参数中加入--disable-blink-featuresAutomationControlled抹掉自动化特征src/session/shared-context-manager.ts。更细腻的是 src/utils/stealth-utils.ts 里的一套行为拟真工具️高斯分布延迟用 Box-Muller 变换生成正态分布随机等待均值取区间 60% 处比均匀分布更像人的反应节奏⌨️拟人打字按配置 WPM 逐字输入带 2% 概率的手滑打错再修正标点符号后停顿更长️贝塞尔鼠标轨迹带抖动的曲线移动替代机械直线平滑滚动与阅读停顿模拟人类扫读网页的节奏。这些细节共同构成了零幻觉、反检测的双保险答案来自真实网页抓取零幻觉操作行为像真人反检测。七、知识库层与配套工具NotebookLibrary 把多个 Notebook 当作可检索的书库管理以library.json持久化条目URL、主题标签、用途、使用次数AI 智能体可自主决定这次任务该查哪本无需人工指定src/library/notebook-library.ts。类型定义见 src/library/types.ts。配套工具链同样完整src/utils/cleanup-manager.ts清理浏览器残留数据src/utils/cli-handler.tsnotebooklm-mcp config子命令命令行查改配置src/utils/logger.ts分级日志启动横幅与运行轨迹一目了然src/resources/resource-handlers.ts额外暴露 MCP Resources/Prompts 能力src/errors.ts自定义RateLimitError等错误类型让限流可被优雅处理。八、架构总结三个值得抄作业的设计决策单上下文多会话用一个浏览器、多个标签页模拟真实用户指纹天然一致同时用持久化 profile 让指纹跨重启存活配置三级优先级默认值 → 环境变量 → 运行时参数零配置文件起步进阶用户可随时覆盖行为级隐身不追求绕过检测的对抗而是把每个操作延迟、打字、鼠标都调校到人类行为分布内。如果你希望让 AI 智能体基于私有文档、产品手册或研究语料进行带引用的调研这套MCP Server Patchright的架构非常值得参考。更多环境变量与工具参数说明可查阅项目内置文档docs/configuration.md、docs/tools.md、docs/usage-guide.md 与 docs/troubleshooting.md。【免费下载链接】notebooklm-mcpMCP server for NotebookLM - Let your AI agents (Claude Code, Codex) research documentation directly with grounded, citation-backed answers from Gemini. Persistent auth, library management, cross-client sharing. Zero hallucinations, just your knowledge base.项目地址: https://gitcode.com/gh_mirrors/no/notebooklm-mcp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

CVPR27方向预测——用卫星当“地图”,让无人机边飞边建:基于CrossGeo的流式增量城市3D重建
CVPR27方向预测——用卫星当“地图”,让无人机边飞边建:基于CrossGeo的流式增量城市3D重建

用卫星当“地图”,让无人机边飞边建:基于CrossGeo的流式增量城市3D重建 一、从一个被忽视的矛盾说起 2025年以来,3D视觉领域最引人注目的趋势是前馈式3D重建基础模型(3D Foundation Models) 的崛起。从DUSt3R到VGGT&am… · 2026/9/27 2:19:17

周末总结(2026/09/26)
周末总结(2026/09/26)

工作 人际关系核心实践 及时回应他人:无论是善意还是恶意,都要在5分钟内做出回应 应对尴尬话题:学会谦虚自嘲,真诚赞美他人(避免阴阳怪气) 社交时效性: 30 分钟 朋友圈互动控制在5分钟内 职场社… · 2026/9/27 2:19:17

研究方法不能随便改,怎样借助免费工具降低论文AI率?
研究方法不能随便改,怎样借助免费工具降低论文AI率?

研究方法不能随便改,怎样借助免费工具降低论文AI率? 方法章节被标红,改写工具却把抽样方式、操作顺序甚至实验条件一起改了。这样的文字即使AI率降低,也无法准确说明研究怎么完成。方法部分的降AI,应把真实步骤和参数… · 2026/9/27 2:19:17

Chrome网课视频自动暂停原因与防暂停扩展解决方案
Chrome网课视频自动暂停原因与防暂停扩展解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 2:59:09

监控项目等不起!物联网卡当天发货、分钟级监控,工程商该知道
监控项目等不起!物联网卡当天发货、分钟级监控,工程商该知道

做安防工程的朋友这两年应该都有同一个感受:项目变少了,利润变薄了,甲方对交付速度和后期运维的要求反而越来越高。以前装完摄像头就算完事,现在甲方要看到画面流畅、数据稳定、出了问题有人快速响应。项目本身已经不赚钱了&#… · 2026/9/27 2:59:09

长春网站建设网站源码怎么改才不卡:性能优化实战指南
长春网站建设网站源码怎么改才不卡:性能优化实战指南

长春网站建设网站源码怎么改才不卡:性能优化实战指南 别再说模板网站太丑了,更可怕的是打开要等5秒,客户直接关掉。 很多长春本地企业老板找我们要 长春网站建设网站源码 ,核心诉求就一个:别卡顿,要快。 其实源码本身不慢,慢的是你没懂… · 2026/9/27 2:59:09

做头像网站避坑指南:5个实操图解步骤与成本真相
做头像网站避坑指南:5个实操图解步骤与成本真相

做头像网站避坑指南:5个实操图解步骤与成本真相 改个需求建站公司拖一周,这种憋屈事儿谁没遇到过?很多想做 做头像网站 的朋友,被外包公司牵着鼻子走,代码黑盒、修改收费、上线延期,最后发现所谓的“定制开发”不过是套了层皮。今天不聊虚的,直接拆… · 2026/9/27 2:59:09

Manus多智能体架构:轻量级本地化AI应用落地实践
Manus多智能体架构:轻量级本地化AI应用落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 2:58:39

3个坑填完才明白:知识付费网站制作别乱买源码下载
3个坑填完才明白:知识付费网站制作别乱买源码下载

3个坑填完才明白:知识付费网站制作别乱买源码下载 别再说模板网站太丑不够用了,那是你还没摸透 知识付费网站制作 的底层逻辑。很多运营兄弟一上来就去搜“源码下载”,觉得能省几万块开发费,结果买回来一堆烂代码,改个配色都报错,更别提后续的数据安… · 2026/9/27 2:58:27

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码