N8N 牛刀小试

节点 触发 飞书 多维 N8N
发布于 2026-06-10
140

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读

结构化摘要

文章主旨:

本文是一篇 N8N 开源工作流自动化工具的入门实践指南,作者通过构建一个财经新闻聊天机器人的案例,展示如何使用 N8N 的可视化节点编排、HTTP 请求、数据转换、循环处理以及 AI Agent 等核心功能,实现从数据获取到存储与智能回复的完整自动化流程。

关键要点:

  • N8N 是一个开源、可视化、节点式的工作流自动化工具,支持集成数百种服务、API 并允许嵌入 JavaScript/Python 代码。
  • 安装 N8N 可通过 Docker 一键完成(示例命令:docker run ... -p 5678:5678 ...)。
  • 案例流程:用户聊天触发 → 调用财联社 API 获取财经资讯 → 数据格式化 → 循环存入飞书多维表格 → AI Agent 根据资讯回复用户。
  • 核心节点包括:聊天触发节点、HTTP Request 节点、Code 节点(数据清洗)、Loop Over Items 节点(循环存储)、飞书节点(存储到多维表格)、AI Agent 节点(集成大模型和上下文内存)。
  • AI Agent 需配置 Chat Model(如本地 qwen3-vl:30b)和 Memory(如 Redis),并通过 Prompt 将财经资讯和用户问题组合后生成回复。

内容结构:

一、N8N 简介

  • 概念:N8N 是开源可视化工作流自动化工具,能串联系统、API、服务,避免编写胶水代码。
  • 常见用途:定时拉取数据、Webhook 回调处理、批量 ETL 等。
  • 安装方法:使用 Docker 创建数据卷并运行容器,示例命令行给出端口映射、时区设置等。
  • 访问地址:http://localhost:5678/

二、案例场景说明

  • 目标:构建财经新闻聊天机器人,主流程为“用户消息 → 获取财经资讯 → AI 处理 → 回复用户”。
  • 支线:将获取到的财经资讯存入飞书多维表格。
  • 数据来源:财联社公开接口 https://www.cls.cn/nodeapi/telegraphList
  • 准备工作:了解接口返回格式。

三、流程编排

3.1 When chat message received(触发节点)

  • 选择“On chat message”聊天类触发,无需配置。
  • 简述 N8N 支持的触发类型:Webhook、定时、手动、消息/聊天类等。

3.2 HTTP Request 节点

  • 用于发送 HTTP GET 请求到财联社接口,配置请求方式和 URL。

3.3 code01(数据格式化)

  • 使用 Code 节点(JavaScript)将接口返回的原始数据转换为包含 title、content、ctime、reading_num、level、shareurl 字段的结构化数据。
  • 通过 $input.item.json 获取上游数据,输出格式化后的数组。

3.4 get_json_array(提取数组)

  • 另一个 Code 节点,从格式化后的 JSON 中提取 records 数组,确保传递给循环节点的数据是数组。

3.5 Loop Over Items + 飞书节点(循环存储)

  • 使用 Loop Over Items 遍历上一步的数组,每一条数据通过飞书节点存入飞书多维表格。
  • 飞书节点配置要点:应用级别凭证(App ID 和 App Secret)、多维表格 Token 和 ID、权限添加。
  • 请求体示例:{"records":[{"fields":{...}}]},字段值使用 {{$json.xxx}} 动态引用。

3.6 AI Agent 节点

  • 配置 Chat Model(示例使用本地 qwen3-vl:30b)和 Memory(示例使用 Redis)存储上下文。
  • Prompt 模板:结合财联社资讯内容 {{ $json.data.roll_data.map(item=>item.content) }} 回答用户问题 {{ $json.chatInput }}

四、小结

  • 展示最终效果:在 N8N 网页上可直接对话,同时飞书多维表格中存储了结构化数据。
  • 鼓励读者尝试。

文章总结:

本文以实例驱动,步骤清晰,适合 N8N 新手快速上手,展示了 N8N 在数据整合、自动化存储与 AI 对话方面的灵活性与实用性。

江南一点雨