Skip to content

Obsidian 集成:自动保存计划到笔记库

学完你能做什么

  • 自动将批准或拒绝的计划保存到 Obsidian vault
  • 理解 frontmatter 和标签的生成机制
  • 自定义保存路径和文件夹
  • 利用 backlink 构建知识图谱

你现在的困境

你在 Plannotator 中评审 AI 生成的计划,批准后这些计划就"消失"了。你希望把这些有价值的计划保存到 Obsidian,方便后续回顾和查找,但手动复制粘贴太麻烦,而且格式会乱。

什么时候用这一招

  • 你使用 Obsidian 作为知识管理工具
  • 你希望长期保存和回顾 AI 生成的实施计划
  • 你想利用 Obsidian 的 graph view 和标签系统组织计划

核心思路

Plannotator 的 Obsidian 集成功能会在你批准或拒绝计划时,自动将计划内容保存到你的 Obsidian vault。系统会:

  1. 检测 vaults:自动从 Obsidian 配置文件读取所有 vault
  2. 生成 frontmatter:包含创建时间、来源和标签
  3. 提取标签:从计划标题和代码块语言自动提取标签
  4. 添加 backlink:插入 [[Plannotator Plans]] 链接,方便构建知识图谱

什么是 Obsidian?

Obsidian 是一款本地优先的双向链接笔记应用,支持 Markdown 格式,可通过图视图可视化笔记之间的关系。

🎒 开始前的准备

确保已安装并配置好 Obsidian。Plannotator 会自动检测系统中的 vaults,但你至少需要有一个 vault 才能使用此功能。

跟我做

第 1 步:打开设置面板

在 Plannotator 界面中,点击右上角的齿轮图标打开设置面板。

你应该看到设置对话框,包含多个配置选项。

第 2 步:启用 Obsidian 集成

在设置面板中找到"Obsidian Integration"部分,点击开关启用该功能。

启用后,Plannotator 会自动检测系统中的 Obsidian vaults。

你应该看到下拉菜单中列出检测到的 vaults(例如 My VaultWork Notes)。

第 3 步:选择 vault 和文件夹

从下拉菜单中选择你希望保存计划的 vault。如果没有检测到 vault,可以:

  1. 选择"Custom path..."选项
  2. 在文本框中输入 vault 的完整路径

然后在"Folder"字段中设置保存文件夹的名称(默认为 plannotator)。

你应该看到下方的预览路径,显示计划将保存的位置。

第 4 步:批准或拒绝计划

配置完成后,正常评审 AI 生成的计划。当你点击"Approve"或"Send Feedback"时,计划会自动保存到配置的 vault 中。

你应该在 Obsidian 中看到新创建的文件,文件名格式为 Title - Jan 2, 2026 2-30pm.md

第 5 步:查看保存的文件

在 Obsidian 中打开保存的文件,你会看到以下内容:

markdown
---
created: 2026-01-24T14:30:00.000Z
source: plannotator
tags: [plan, authentication, typescript, sql]
---

[[Plannotator Plans]]

## Implementation Plan: User Authentication

...

你应该注意到文件顶部有 YAML frontmatter,包含创建时间、来源和标签。

检查点 ✅

  • [ ] 设置面板中 Obsidian Integration 已启用
  • [ ] 已选择 vault(或输入了自定义路径)
  • [ ] 已设置文件夹名称
  • [ ] 批准或拒绝计划后,Obsidian 中出现新文件
  • [ ] 文件包含 frontmatter 和 [[Plannotator Plans]] backlink

Frontmatter 和标签详解

Frontmatter 结构

每个保存的计划都包含以下 frontmatter 字段:

字段值示例说明
created2026-01-24T14:30:00.000ZISO 8601 格式的创建时间戳
sourceplannotator固定值,标识来源
tags[plan, authentication, typescript]自动提取的标签数组

标签生成规则

Plannotator 使用以下规则自动提取标签:

  1. 默认标签:总是包含 plannotator 标签
  2. 项目名标签:从 git 仓库名或目录名自动提取
  3. 标题关键词:从第一个 H1 标题中提取有意义的词(排除常见停用词)
  4. 代码语言标签:从代码块的语言标识符提取(例如 typescriptsql)。通用配置语言(如 jsonyamlmarkdown)会被自动过滤。

停用词列表(不会作为标签):

  • the, and, for, with, this, that, from, into
  • plan, implementation, overview, phase, step, steps

标签数量限制:最多 7 个标签,按提取顺序排列。

文件名格式

文件名采用可读性强的格式:Title - Jan 2, 2026 2-30pm.md

部分示例说明
标题User Authentication从 H1 提取,限制 50 字符
日期Jan 2, 2026当前日期
时间2-30pm当前时间(12 小时制)

每个计划文件底部都会插入 [[Plannotator Plans]] 链接。这个 backlink 的作用:

  • 知识图谱连接:在 Obsidian 的 graph view 中,所有计划都与同一个节点连接
  • 快速导航:点击 [[Plannotator Plans]] 可以创建一个索引页面,汇总所有保存的计划
  • 双向链接:在索引页面中使用反向链接查看所有计划

跨平台支持

Plannotator 自动检测不同操作系统的 Obsidian 配置文件位置:

操作系统配置文件路径
macOS~/Library/Application Support/obsidian/obsidian.json
Windows%APPDATA%\obsidian/obsidian.json
Linux~/.config/obsidian/obsidian.json

如果自动检测失败,可以手动输入 vault 路径。

踩坑提醒

问题 1:检测不到 vaults

症状:下拉菜单显示"Detecting..."但没有结果

原因:Obsidian 配置文件不存在或格式错误

解决方案

  1. 确认 Obsidian 已安装并至少打开过一次
  2. 检查配置文件是否存在(参考上表路径)
  3. 使用"Custom path..."手动输入 vault 路径

问题 2:保存后找不到文件

症状:批准计划后,Obsidian 中没有新文件

原因:vault 路径错误或 Obsidian 未刷新

解决方案

  1. 检查设置面板中的预览路径是否正确
  2. 在 Obsidian 中点击"Reload vault"或按 Cmd+R(macOS)/ Ctrl+R(Windows/Linux)
  3. 检查是否选择了正确的 vault

问题 3:文件名包含特殊字符

症状:文件名中出现 _ 或其他替换字符

原因:标题包含文件系统不支持的字符(< > : " / \ | ? *

解决方案:这是预期行为,Plannotator 会自动替换这些字符以避免文件系统错误。

本课小结

Obsidian 集成功能让你的计划评审流程与知识管理无缝连接:

  • ✅ 自动保存批准或拒绝的计划
  • ✅ 智能提取标签,方便后续检索
  • ✅ 生成 frontmatter,统一元数据格式
  • ✅ 添加 backlink,构建知识图谱

配置一次后,每次评审都会自动归档,不再需要手动复制粘贴。

下一课预告

下一课我们学习 Bear 集成

你会学到:

  • 如何将计划保存到 Bear 笔记应用
  • Bear 集成与 Obsidian 集成的区别
  • 使用 x-callback-url 自动创建笔记

附录:源码参考

点击展开查看源码位置

更新时间:2026-01-24

功能文件路径行号
检测 Obsidian vaultspackages/server/integrations.ts135-175
保存计划到 Obsidianpackages/server/integrations.ts180-227
提取标签packages/server/integrations.ts34-74
生成 frontmatterpackages/server/integrations.ts81-89
生成文件名packages/server/integrations.ts111-127
Obsidian 设置存储packages/ui/utils/obsidian.ts36-43
Settings UI 组件packages/ui/components/Settings.tsx387-491

关键函数

  • detectObsidianVaults():读取 Obsidian 配置文件,返回可用的 vault 路径列表
  • saveToObsidian(config):将计划保存到指定 vault,包含 frontmatter 和 backlink
  • extractTags(markdown):从计划内容提取标签(标题关键词、代码语言、项目名)
  • generateFrontmatter(tags):生成 YAML frontmatter 字符串
  • generateFilename(markdown):生成可读的文件名

业务规则

  • 标签数量最多 7 个(L73)
  • 文件名限制 50 字符(L102)
  • 支持跨平台配置文件路径检测(L141-149)
  • 自动创建不存在的文件夹(L208)