让 Obsidian 会自动工作:用 n8n 打造智能知识库
让 Obsidian 会自动工作:用 n8n 打造智能知识库
让 Obsidian 会自动工作:用 n8n 打造智能知识库 让 Obsidian 会自动工作:用 n8n 打造智能知识库 Modified October 9, 2025 Audio or video is not supported Please download the file and open it with the appropriate software. 小报童文章同步到 Obsidian.mp4 · 57.03MB 小报童文章同步到 Obsidian 00:00 Code block Markdown Copy System Prompt 可以这样写 Code block Markdown Copy 你是一位贴心的天气播报员,擅长将枯燥的天气数据转化为温馨实用的生活建议。请用温暖友好的语调,为用户提供个性化的天气预报和生活指导。 3)最后在写入 Obsidian 的 Body 中引用天气数据: Code block YAML Copy date: {{$now.format('yyyy MM dd')}} tags: 每日记录 created: {{ $now.format('yyyy MM dd hh:mm:ssa') }} 📅 {{$now.format('yyyy年MM月dd日 EEEE', 'zh CN')}} 🌤️ 今日天气 {{ $json.output.formatted report }} 🌅 今日计划 [ ] 📚 学习笔记 💼 工作记录 🌙 每日总结 自动生成于 {{$now.format('HH:mm:ss')}} 配置完成后,点击工作流右上角的 Active 开关激活它。从此每天早上 7 点,Obsidian 就会自动出现一篇已填好日期、天气和基础结构的当日记录框架,你只需要往里面填写内容即可。 你也可以根据自己的习惯继续扩展,比如加上健康打卡、习惯追踪、今日金句等模块。关键是掌握了这套方法后,任何信息都能自动集成进来。 🎉 这就是自动化的魅力 — 你可以让 n8n 在任何时间、基于任何触发条件、从任何数据源自动创建笔记! 四、实战案例:自动采集小报童文章到知识库 前面我们已经验证了 n8n 可以成功读取和创建 Obsidian 笔记。现在让我们来做一个真正实用的自动化工作流:将小报童专栏的文章自动抓取并保存到知识库中。 一)工作流设计思路 我之前分享过一篇《用 n8n + Crawl4AI 一键下载小报童专栏》的文章,详细介绍了如何用 Crawl4AI 抓取小报童内容。 这次我们要做的是: 在原有工作流的基础上,将抓取到的文章直接写入 Obsidian,而不是保存到本地文件。 💡 整个流程可以分为三个部分: 1. 配置与抓取(绿色区域):配置小报童专栏参数,使用 Crawl4AI 批量抓取文章 2. 文章处理(蓝色区域):拆分文章列表,判断是否需要抓取 3. 写入 Obsidian(紫色区域):将 HTML 转换为 Markdown,直接保存到知识库 二)改造原有工作流 如果你已经有了小报童文章抓取的工作流,现在只需要做一个简单的改造: 把原来"保存到本地文件"的部分,替换成"写入 Obsidian"。 关键节点是"HTML 转 Markdown"之后。在这个节点后面,我们需要添加新的逻辑来对接 Obsidian API。 三)处理文件信息节点 在 HTML 转 Markdown 节点之后,添加一个 Code 节点来处理文件信息。这个节点的作用是构建符合 Obsidian 的文件路径和文件名。 Code block JavaScript Copy // 获取文章标题和内容 let title = $input.first().json.title; // 处理 title 为 null 或 undefined 的情况 if (!title) { const articleId = $input.first().json.id; title = articleId ? : ; } // 清理标题中的非法字符 const safeTitle = title.replace(/[\/\\?% :|"< ]/g, ' '); const markdown = $input.first().json.data; // 从 target url 提取专栏标识符 function extractColumnId(targetUrl) { const match = targetUrl.match(/\/p\/([^\/]+)\/?$/); return match ? match[1] : 'unknown'; } // 获取专栏标识符 const targetUrl = $('配置专栏参数').first().json.target url; const outputBasePath = $('配置专栏参数').first().json.output base path; const columnId = extractColumnId(targetUrl); // 构建文件路径(可以根据需要调整文件夹结构) const filePath = ; return { json: { title: safeTitle, markdown: markdown, filePath: filePath } }; 这段代码做了三件事: • 获取文章标题和 Markdown 内容 • 清理标题中的特殊字符,生成安全的文件名 • 构建完整的文件路径(这里我把文章统一保存到 小报童专栏 文件夹下) 四)写入 Obsidian 节点 最后一步,添加 HTTP Request 节点将内容写入 Obsidian。 请求方法选择 POST,URL 这里要用表达式: http://host.docker.internal:27123/vault/{{$json.filePath}},这样可以动态使用前面节点生成的文件路径。 Body 配置也很简单。 打开 Send Body 开关,Body Content Type 选 Raw,Content Type 填 text/plain。Body 内容用表达式 {{$json.markdown}},这样就能读取前面节点处理好的 Markdown 内容了。 配置完成后,整个工作流就搭建完毕了。 五)执行与验证 一切配置完成后,点击 Execute Workflow 按钮运行整个工作流。 🎯 工作流会自动完成以下操作: 1. 从 Crawl4AI 获取小报童专栏的文章列表 2. 循环处理每一篇文章 3. 将 HTML 转换为 Markdown 格式 4. 自动写入到 Obsidian 的 小报童专栏 文件夹 几秒钟后,切换到 Obsidian,你会发现 小报童专栏 文件夹中已经出现了所有抓取的文章! 每篇文章都是标准的 Markdown 格式,可以直接阅读、编辑,也能享受 Obsidian 的双向链接、标签等强大功能。 《用 n8n + Crawl4AI 一键下载小报童专栏》 Audio or video is not supported Please download the file and open it with the appropriate software. 小报童文章同步到 Obsidian.mp4 · 57.03MB 小报童文章同步到 Obsidian 00:00 Audio or video is not supported Please download the file and open it with the appropriate software. 小报童文章同步到 Obsidian.mp4 · 57.03MB 小报童文章同步到 Obsidian 00:00 System Prompt 可以这样写 3)最后在写入 Obsidian 的 Body 中引用天气数据: 配置完成后,点击工作流右上角的 Active 开关激活它。从此每天早上 7 点,Obsidian 就会自动出现一篇已填好日期、天气和基础结构的当日记录框架,你只需要往里面填写内容即可。 你也可以根据自己的习惯继续扩展,比如加上健康打卡、习惯追踪、今日金句等模块。关键是掌握了这套方法后,任何信息都能自动集成进来。 🎉 这就是自动化的魅力 — 你可以让 n8n 在任何时间、基于任何触发条件、从任何数据源自动创建笔记! 这就是自动化的魅力 — 你可以让 n8n 在任何时间、基于任何触发条件、从任何数据源自动创建笔记! 四、实战案例:自动采集小报童文章到知识库 前面我们已经验证了 n8n 可以成功读取和创建 Obsidian 笔记。现在让我们来做一个真正实用的自动化工作流:将小报童专栏的文章自动抓取并保存到知识库中。 一)工作流设计思路 我之前分享过一篇《用 n8n + Crawl4AI 一键下载小报童专栏》的文章,详细介绍了如何用 Crawl4AI 抓取小报童内容。 《用 n8n + Crawl4AI 一键下载小报童专栏》 这次我们要做的是: 在原有工作流的基础上,将抓取到的文章直接写入 Obsidian,而不是保存到本地文件。 💡 整个流程可以分为三个部分: 1. 配置与抓取(绿色区域):配置小报童专栏参数,使用 Crawl4AI 批量抓取文章 2. 文章处理(蓝色区域):拆分文章列表,判断是否需要抓取 3. 写入 Obsidian(紫色区域):将 HTML 转换为 Markdown,直接保存到知识库 整个流程可以分为三个部分: 1. 配置与抓取(绿色区域):配置小报童专栏参数,使用 Crawl4AI 批量抓取文章 2. 文章处理(蓝色区域):拆分文章列表,判断是否需要抓取 3. 写入 Obsidian(紫色区域):将 HTML 转换为 Markdown,直接保存到知识库 二)改造原有工作流 如果你已经有了小报童文章抓取的工作流,现在只需要做一个简单的改造: 把原来"保存到本地文件"的部分,替换成"写入 Obsidian"。 关键节点是"HTML 转 Markdown"之后。在这个节点后面,我们需要添加新的逻辑来对接 Obsidian API。 三)处理文件信息节点 在 HTML 转 Markdown 节点之后,添加一个 Code 节点来处理文件信息。这个节点的作用是构建符合 Obsidian 的文件路径和文件名。 这段代码做了三件事: • 获取文章标题和 Markdown 内容 • 清理标题中的特殊字符,生成安全的文件名 • 构建完整的文件路径(这里我把文章统一保存到 小报童专栏 文件夹下) 四)写入 Obsidian 节点 最后一步,添加 HTTP Request 节点将内容写入 Obsidian。 请求方法选择 POST,URL 这里要用表达式: http://host.docker.internal:27123/vault/{{$json.filePath}},这样可以动态使用前面节点生成的文件路径。 Body 配置也很简单。 打开 Send Body 开关,Body Content Type 选 Raw,Content Type 填 text/plain。Body 内容用表达式 {{$json.markdown}},这样就能读取前面节点处理好的 Markdown 内容了。 配置完成后,整个工作流就搭建完毕了。 五)执行与验证 一切配置完成后,点击 Execute Workflow 按钮运行整个工作流。 🎯 工作流会自动完成以下操作: 1. 从 Crawl4AI 获取小报童专栏的文章列表 2. 循环处理每一篇文章 3. 将 HTML 转换为 Markdown 格式 4. 自动写入到 Obsidian 的 小报童专栏 文件夹 工作流会自动完成以下操作: 1. 从 Crawl4AI 获取小报童专栏的文章列表 2. 循环处理每一篇文章 3. 将 HTML 转换为 Markdown 格式 4. 自动写入到 Obsidian 的 小报童专栏 文件夹 几秒钟后,切换到 Obsidian,你会发现 小报童专栏 文件夹中已经出现了所有抓取的文章! 每篇文章都是标准的 Markdown 格式,可以直接阅读、编辑,也能享受 Obsidian 的双向链接、标签等强大功能。 六)进阶优化建议 完成基础流程后,你还可以继续优化: 1、添加文章元数据 在写入 Obsidian 前,可以为每篇文章添加 YAML Front Matter: 2、避免重复抓取 在写入前,先用 GET 请求检查文件是否已存在: 如果返回 404,说明文件不存在,可以创建;如果返回 200,说明已存在,可以跳过或更新。 3、定时自动执行 在工作流开头添加 Schedule Trigger 节点,设置每天自动执行一次,实现完全自动化的文章采集。 五、写在最后 从安装插件到验证连接,再到实现小报童文章的自动采集,我们用 n8n 让 Obsidian 真正"活"了起来。 🎯 回头看整个过程,其实核心就做了三件事: 1. 用 Local REST API 插件打开了 Obsidian 的大门 2. 在 n8n 中配置好认证,建立起连接通道 3. 改造现有工作流,把数据写入知识库而不是本地文件 回头看整个过程,其实核心就做了三件事: 1. 用 Local REST API 插件打开了 Obsidian 的大门 2. 在 n8n 中配置好认证,建立起连接通道 3. 改造现有工作流,把数据写入知识库而不是本地文件 但更重要的是思路。一旦理解了这套玩法,你就能把 Obsidian 连接到任何数据源: • 每天早上自动生成日记模板和待办清单 • RSS 订阅的文章自动整理归档 • 会议纪要通过 API 直接入库 • 重要邮件一键转存为笔记 • 数据库定期导出生成报告 小报童只是一个例子。微信公众号、知乎专栏、Medium、甚至是你自己的数据库,只要能拿到数据,就能自动写入 Obsidian。 掌握了这套方法后,你可以根据自己的需求组合出无数种可能性。你的知识库不再是一个需要手动维护的仓库,而是一个会自动生长的知识系统。 大家好,我是林月半子,一个 n8n 自动化爱好者,之前分享过不少相关实战文章。如果这篇文章对你有帮助,欢迎分享给更多热爱知识管理和自动化的朋友。如果你有任何问题或者创意,也欢迎在评论区交流讨论! 不少相关实战文章%26version%3D13080910%26nettype%3DWIFI%26lang%3Den%26countrycode%3DCN%26fontScale%3D100%26exportkey%3Dn ChQIAhIQ%252B9xmNQnW1J75R0WDZjFoVRL3AQIE97dBBAEAAAAAAA8IF1GsOCMAAAAOpnltbLcz9gKNyK89dVj0xjhpc8ZnI8W8ofec1V0WLoTcW6A2D11DZOGLwjwINUuR4DsoxDu1PXH3Md6oTeh5egKEW0722tX1sh8zCtwdKku9nsoRZsE3QdfvTOXk8nyQgQiQw4V6OODAUGSycaafWVBxtXmpBK0JXQzpOroVpVBvczYfmNwx4Wvs5pgz04mrCqLAvp5MeTXy%252BVFg0c%252FlBUV8SfsB5RuJVKiO%252BAvgfc%252FgIHZ%252Bhhr7drSDxgWLFjHHOwDMTQ%252F1JnYMBsRdwLRnUBcz1nx%252FVmnK0dJco4MmPKY%253D%26acctmode%3D0%26pass ticket%3DprlKZKE5DMsh73dTf5LmnPBzSxRvWqofHE03ZzHYn4MmyYHrY1UMUYhVnpTcdvm6%26wx header%3D0%26fasttmpl type%3D0%26fasttmpl fullversion%3D7925064 en US zip%26fasttmpl flag%3D1&nolastread=1&uin=&key=&devicetype=iMac+MacBookPro18%2C3+OSX+OSX+15.5+build(24F74)&version=13080910&lang=en&nettype=WIFI&ascene=78&fontScale=100) 我是林月半子,关注我,带你一起挖掘工作流自动化的无限可能。 🔗 原文链接:https://mp.weixin.qq.com/s/SuxLo0Qb TKFGO0Yo3a3cA 作者:林月半子的AI笔记 你是否有这样的体验? Obsidian 知识库里积累了大量笔记,也装了不少自动化插件。但当你想要实现一些特定的自动化需求时——比如定时抓取某个专栏的文章,或者把会议纪要自动分类整理。总会发现现有插件要么功能不够灵活,要么根本找不到合适的。 Obsidian 虽然某些工具能帮你导入内容,但它们都是固定的流程。如果你想要完全自定义的自动化方案呢? 📌 想象一下这样的场景: • 每天早上自动生成包含今日天气、待办事项的日记模板 • 小报童专栏更新后,自动抓取并按你的格式整理成笔记 • 重要邮件自动转存,并根据关键词分类到不同文件夹 想象一下这样的场景: • 每天早上自动生成包含今日天气、待办事项的日记模板 • 小报童专栏更新后,自动抓取并按你的格式整理成笔记 • 重要邮件自动转存,并根据关键词分类到不同文件夹 这些都不是现成插件能做到的。 但是,通过 n8n 配合 Obsidian 的 Local REST API 插件,我们可以把 Obsidian 变成一个可以被任意程序操作的智能工作台,实现完全自定义的自动化流程。 今天这篇文章,我将带你从零开始,一步步实现: 🎯 1. 搭建 Obsidian 与 n8n 的连接通道 2. 验证可行性:读取和创建笔记 3. 实战案例:自动抓取小报童并写入知识库 1. 搭建 Obsidian 与 n8n 的连接通道 2. 验证可行性:读取和创建笔记 3. 实战案例:自动抓取小报童并写入知识库 一、第一步:安装 Local REST API 插件 一)什么是 Local REST API? Local REST API 是 Obsidian 社区中的一个强大插件,它的核心作用是:对外暴露 HTTP 接口,让外部程序可以通过标准的 REST API 来操作你的知识库。 简单来说,它就像是在 Obsidian 和外部世界之间架起了一座桥梁。 二)安装步骤 1、打开 Obsidian 设置 → 社区插件 → 浏览 2、搜索 Local REST API 3、点击安装插件 三)配置插件 安装完成后,我们需要进行一些关键配置 1、启用插件 点击 Enable 按钮 2、打开插件选项 点击 Options 进入设置页面 3、启用 HTTP 服务器 找到 Enable Non encrypted(HTTP) Server 选项并打开 📌 重要信息记录: • API Key: 在设置页面顶部,复制你的 API Key(后续会用到) • API Endpoint: 默认地址是 http://127.0.0.1:27123/ ⚠️ 安全提示: Local REST API 只监听本地回环地址(127.0.0.1),这意味着只有你本机的程序才能访问,外部网络无法直接访问你的知识库,相对安全。 重要信息记录: • API Key: 在设置页面顶部,复制你的 API Key(后续会用到) • API Endpoint: 默认地址是 http://127.0.0.1:27123/ ⚠️ 安全提示: Local REST API 只监听本地回环地址(127.0.0.1),这意味着只有你本机的程序才能访问,外部网络无法直接访问你的知识库,相对安全。 四)API 能力一览 安装完成后,你可以访问官方文档查看完整的 API 列表: 👉 https://coddingtonbear.github.io/obsidian local rest api/ 这个插件支持的操作包括但不限于: • 📖 读取笔记内容 • ✍️ 创建新笔记 • 🔄 更新现有笔记 • 🗑️ 删除笔记 • 📁 管理文件夹 • 🔍 搜索笔记 二、第二步:在 n8n 中建立连接 一)创建 Bearer Token 凭证 在 n8n 中使用 Obsidian API 之前,我们需要先配置认证凭证。 1、在 n8n 界面中,点击右上角 Create Credential 2、创建新凭证,选择 Bearer Auth 3、配置参数 Bearer Token: YOUR API KEY(替换为你从 Obsidian 复制的 API Key) 二)测试连接:读取知识库列表 现在让我们创建第一个节点来验证连接: 1、创建 HTTP Request 节点 命名成“读取知识库列表” 2、配置参数: Method: GET URL: http://host.docker.internal:27123/vault/ Authentication: 选择刚才创建的 Obsidian API 凭证 💡 关于地址的说明: • 如果 n8n 是通过 Docker 部署的,使用 host.docker.internal 代替 127.0.0.1 关于地址的说明: • 如果 n8n 是通过 Docker 部署的,使用 host.docker.internal 代替 127.0.0.1 • 如果 n8n 是本地安装,直接使用 http://127.0.0.1:27123/ 3、点击执行 点击右上角的 Execute step 按钮 如果配置正确,你应该能看到返回的 JSON 数据,其中包含了你 Obsidian 知识库中所有笔记的列表信息! 🎉 恭喜!这意味着 n8n 已经成功连接到你的 Obsidian 知识库了! 恭喜!这意味着 n8n 已经成功连接到你的 Obsidian 知识库了! 三、第三步:创建你的第一篇自动笔记 读取成功只是开始,现在让我们尝试通过 n8n 自动创建一篇笔记。 一)配置创建笔记节点 在 n8n 中新建一个 HTTP Request 节点,这次我们要用它来写入内容。 请求方法选择 POST,URL 填写 http://host.docker.internal:27123/vault/n8n自动化测试笔记.md。 别忘了选择我们之前创建的 Obsidian API 认证凭证。 然后是 Body 配置。 打开 Send Body 开关,Body Content Type 选 Raw,Content Type 填 text/plain。 最关键的是 Body 内容,这里切换到表达式模式。 输入我们要创建的笔记内容: 配置完成后,点击右上角的 Execute step 执行这个节点。 二)验证结果 现在切换到 Obsidian,你会发现一篇名为 n8n自动化测试笔记.md 的新笔记已经出现在你的知识库中了! 三)进阶:定时生成当日记录框架 掌握了手动创建笔记后,我们再进一步——让 n8n 每天早上自动为你生成当日的记录框架,甚至还能加上实时天气信息。 1、基础版:纯记录框架 如果你只需要一个简单的每日记录框架,配置很简单: 新建一个工作流,添加 Schedule Trigger 节点: 然后添加 HTTP Request 节点,这次 URL 需要动态生成日期: 这样会自动按年份创建文件夹,比如 每日记录/2025/10/2025 10 05 每日记录.md。 Body 内容可以这样写: 2、进阶版:加入天气信息 如果想让每日记录更智能,可以加入实时天气信息。这需要在工作流中增加几个节点: 1) 在触发器后添加 Set 节点,设置你的城市 2) 添加 AI Agent 节点 连接以下子节点: • DeepSeek Chat Model: 作为 AI 语言模型 • 高德地图 MCP: 作为天气数据源 • 结构化输出解析器: 格式化天气预报 AI Agent 的 User Prompt 可以这样写: