乐于分享
好东西不私藏

用 AI Agent 搭建 Notion + Obsidian 双引擎知识管理系统的实战记录

用 AI Agent 搭建 Notion + Obsidian 双引擎知识管理系统的实战记录

我用AI搭了一套知识管理系统:Notion+Obsidian双引擎实战对比

一、为什么要两个工具一起用?

Notion 和 Obsidian,很多人会纠结选哪个。我的结论是:两个都要,但分工完全不同。

▎Notion → 项目管理 + 内容发布

适合存结构化的长文:分析报告、对比表、清单。

优势是云端同步、分享方便、排版美观。

我用它存「项目分析报告」——包含多个章节、数据对比、方案分析,一份 PDF 发出去就能给别人看。

▎Obsidian → 知识网络 + AI 自动化

适合存知识点、笔记、错题这类「需要频繁交叉引用」的内容。

优势是本地离线、双向链接、图谱可视化。

我用来建「个人知识网络」——节点相互链接,AI 自动维护跨模块关联,打开图谱看到的是密密麻麻的知识网,而不是孤立的页面。

▎一句话总结

Notion 是「让别人看的」,Obsidian 是「让 AI 帮你想的」。

二、Notion 实战:被中文编码坑哭的 2 小时

▎背景:用 AI Agent 自动生成一份分析报告,存到 Notion

最开始用 Notion CLI(ntn)通过 PowerShell 创建页面。标题写得好好的,结果创建完成打开看——

🔴 标题变成了乱码:一连串的问号代替了中文。

排查过程:

  1. 怀疑 PowerShell 管道编码 → 换 cmd 重定向,照乱
  2. 怀疑 ntn CLI 问题 → 直接用 Python subprocess 调,subprocess stdout 也乱码
  3. 尝试 API PATCH 改标题 → 404,因为 CLI 创建的页面 Integration token 没权限!

最终的解法:

✅ 用 Notion Internal Integration API(Python requests 直调)

✅ 在已有父页面「项目存档」下创建子页面(Integration 对自建的页面有完整权限)

✅ 避免一切命令行管道,全部在 Python 里用 UTF-8 处理

教训:Notion 的 CLI 工具在 Windows 中文环境下基本不可用。如果你的 AI Agent 跑在 Windows 上,老老实实用 Python + requests 直调 API。

三、Notion 的内容追加:分章节写入

一份完整分析报告很长,不可能一次性写完。我采用了「分章节追加」的策略:

基础章节:初始创建(核心数据、框架结构、方案对比)

扩展章节一:特定领域重排分析(35 个 block)

扩展章节二:特定方案专题分析(47 个 block)

每次追加都是 AI 调用同一个 Python 脚本,传入内容 JSON,通过 Notion blocks children API 追加。追加的内容完美保留格式——标题层级、编号列表、加粗、小标题全部正常。

▎关键代码逻辑(简化版)

pythonimport requestsurl = f"https://api.notion.com/v1/blocks/{page_id}/children"headers = {"Authorization":f"Bearer {token}","Notion-Version":"2022-06-28"}blocks = build_rich_text_blocks(content_list)requests.patch(url, json={"children": blocks}, headers=headers)

四、Obsidian 实战:从 881 条链接到 4687 条

▎起点:一个看似完整的知识库

在 AI Agent 的帮助下,我已经有了:

知识库 A:31 个笔记,7 个模块目录,255 条 wiki 链接

知识库 B:64 个笔记,6 个模块目录,626 条 wiki 链接

连接 Obsidian Bridge 的 Python 脚本(读/写/搜索/邻域/总图)

但打开 Obsidian 图谱一看——散的。

▎问题诊断

每个笔记都有「前置依赖」和「后继知识」链接,但仅限于同一模块内。

比如「几何/抛物线图像」和「代数/二次函数」是同一个概念的不同侧面,但没有任何链接。

AI 帮我建了一堆页面,但页面之间还是孤岛。

▎一篇微信文章带来的启发

一位博主的文章《Obsidian + AI — 让知识自己长出网络》点出了关键:

「操作归操作,知识并没有真正长起来。」

说的就是我的问题。

于是针对性地实施了四项升级:

五、Obsidian 四项升级详解

▎升级一:跨模块知识桥

扫描所有笔记,提取每个 H2/H3 标题作为「概念」。

同一个概念出现在不同模块,自动加双向 wiki 链接。

效果:

知识库 A:255 → 1,001 条链接(×4)

知识库 B:626 → 3,686 条链接(×6)

▎升级二:MOC 中枢页

Map of Content——每个模块自动生成总览页,聚合所有子知识点 + 跨模块关联。

生成 16 个 MOC 页面,放在 00-总览/ 目录下。

打开任意一个「函数 总览.md」,能看到 8 个子知识点 + 55 条跨模块关联。

▎升级三:学习追踪器

学习追踪.md:按模块排列 checkbox 清单、每日学习计划模板、学习日志表格、薄弱点清单。

勾选 [x] 就能追踪进度。

▎升级四:错题反哺系统

每个知识笔记底部自动追加「相关错题」区块。

错题本引用某个知识点 → 自动显示在对应知识笔记的「相关错题」区。

如此一来,每道错题都反向喂养到知识网络中。学习不再是线性的「先学再做」,而是循环的「学→做→错→重新理解」。

六、Notion vs Obsidian:哪个更适合你?

我把对比整理成了表格:

▎我的使用策略

Notion:存「最终输出」——分析报告、决策文档、家庭共享信息

Obsidian:存「思考过程」——知识点、错题、学习追踪

AI Agent 是桥梁:自动从 Obsidian 碎片化知识 → 整合 → 生成结构化内容 → 写入 Notion

七、踩过的坑,帮你填平

  1. 🔴 PowerShell + 中文 = 灾难。所有涉及中文的命令行操作改用 Python 脚本直接执行,避免编码管道。
  2. 🔴 Notion Integration 权限限制。Integration 只能访问自己创建的页面,或手动分享的页面。用 API 新建页面比修改已有页面更可靠。
  3. 🔴 Obsidian 笔记不是建完就完了。没有跨模块链接的知识库是「整理过的碎片」而非「知识网络」。定期运行桥接脚本,让 AI 帮你找关联。
  4. 🔴 字体问题。Windows 上生成 PDF 时,第三方字体可能找不到,老老实实用系统自带的 SimHei/SimSun。
  5. 🔴 token 安全。Notion Integration token 和 API key 绝不要硬编码在分享的代码里。用环境变量或配置文件管理。

八、这套系统的实际效果

▎数据一览(2026-06-21)

知识节点:164 个知识点(两个知识库合计)

内部链接:4,687 条(从 881 开始,增长了 5.3 倍)

MOC 中枢页:16 个

Notion 分析报告:多章节长文 + PDF 导出

每日自动化:晨间简报推送、消息路由、邮件监控

▎实际能做什么

问 AI「某概念」→ 不仅回答定义,还列出关联知识点、相关练习、常见易错点

问 AI 做分析决策 → 生成结构化报告,可按多个维度排序和对比

每天定时自动推送简报到微信

聊天自动分类路由——闲聊用便宜模型、技术问题用强模型,节省 token 成本

九、如果你也想搭一套

▎技术栈

AI Agent:OpenClaw(本地运行,main session)

Notion:Internal Integration API(Python requests)

Obsidian:本地 Markdown vault + 自定义 Bridge 脚本

辅助:PyMuPDF(PDF 生成)、python-docx(Word 生成)

▎起步三步

  1. 创建 Obsidian Vault → 定义好目录结构和笔记模板
  2. 注册 Notion Integration → 获取 token → 创建父页面 → 分享给 Integration
  3. 写 Python 脚本串联两者(或直接让 AI Agent 帮你写)

▎关键原则

Notion 管「对外输出」,Obsidian 管「对内思考」

不要让 AI 只建页面不建链接——知识的价值在连接,不在数量

编码问题不要硬刚——直接用 Python 脚本绕过一切中间层

— — —

📅 本文写于 2026-06-21,由 AI Agent 小九自动整理并排版。

所有技术细节均可复现,有问题欢迎交流 🚀