逻辑、数据与错误处理
手工、自动化和 Agent
手工流程靠人,容易抄错、漏做。自动化按事先定好的规则跑,每次结果一致。
传统自动化走固定路线。AI Agent 会自己推理,动态决定下一步。字段和步骤都确定的工作,例如把表单抄进表格、发确认信、改库存,用固定工作流,不用 Agent。
No-Code 指用可视化拖拽搭建应用和集成,不用自己写代码文件。对开发者来说,n8n 用来加快常规接口对接,省下的时间去做自定义代码和系统设计。它不是用来取代所有编程语言的。
为什么选 n8n
复杂的生产环境常选 n8n,是因为它可以自己托管:不按每次执行限量收费,数据也能留在自己的服务器上。客户邮件不能离开本地时,就把 n8n 装在自己的服务器上跑。
和 Zapier、Make 的差别:
-
Zapier 最好上手,但按任务计费,步骤一多,费用会跟着单量涨。
-
Make 便宜一些,仍然按操作次数收费。
-
n8n 自托管的主要成本是服务器,不按每封邮件涨价。
最适合先自动化的,是重复、规则明确的工作,例如从格式固定的 PDF 里取数据再写入数据库。面试、谈条件和改长期预算都要人来判断。
本地启动和 Docker
本机启动命令是:
npx n8n start
Docker 把 n8n 和依赖打成同一个镜像,换一台机器,版本和依赖仍然一致。容器里的存储是临时的。没有把数据卷挂到主机上,容器一停,里面的工作流和凭证就没了。
数据怎样流动
上一个节点输出的 JSON,就是下一个节点的输入。例如:邮件触发器输出邮件 JSON,Edit Fields 把它整理成固定字段,Slack 节点再读这些字段发消息。
一次 execution 就是一次触发后,整条工作流从头到尾跑完的一整次运行。每来一封新邮件,就产生一次新的 execution。执行历史里可以看到每个节点当时的输入和输出。
排查与复测
Slack 节点失败,而且输入是空的,说明它没收到数据。顺着节点往前找:第一个输入有数据、输出变空的节点,就是数据丢失的位置。常见原因是字段表达式写错,或过滤条件把所有条目都排除了。
修改表达式后,不必再等一封新邮件。把失败那次执行里的邮件数据 Pin 在节点上,单独执行转换节点。输出里字段有值,就说明改对了。测完要取消固定,正式运行才会继续使用新邮件。
JSON 和 Webhook 表单
n8n 用 JSON,是因为它轻量、人能看懂,网页接口和 JavaScript 也都原生支持。JSON 可以表示字符串、数字、布尔值、数组、对象和空值。它不能直接存放二进制数据或函数。
用 HTML 表单测试工作流时,每个输入框的 name 要和 Webhook 期望的字段名一致。提交后,这些 name 会变成 JSON 里的键。提交方法用 POST,内容放在请求体里,而不是挂在网址后面。
Google 凭证和自动执行
用 OAuth2 连接 Google Sheets 时,要把 n8n 提供的回调地址填进 Google Cloud Console 的已授权重定向 URI。
把上一个节点的字段映射到表格,可以从字段列表拖进去,或写 {{ $json.fieldName }}。
要让 n8n 读取 Gmail 并自动回复,权限范围要同时包含读取、修改和发送。
外部事件要自动触发工作流,必须打开画布右上角的激活开关。


![[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030203301-6ae4fefdb54f3-220x150.png)
![[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030202745-6ae4fdc1556bf-220x150.png)