写在前面:别慌,报错是常态
做自动化,尤其是折腾 AI 节点,谁还没见过几个红字报错?在 N8N 大学,我们见过太多学员因为一个 401 或者 500 错误,直接卡在原地,甚至怀疑人生。
其实,n8n 的报错信息虽然看着吓人,但逻辑非常清晰。只要掌握了核心原因,排查起来就像查字典一样简单。今天,笔者把这几年踩过的坑、填过的雷,整理成这份从 401 到 500 的终极排错清单。咱们不讲虚的,直接上干货。
一、401 Unauthorized:身份认证失效
这是 AI 节点报错的“头号杀手”。通常在你配置 OpenAI、Claude 或其他大模型节点时跳出来。
报错场景
在运行工作流时,n8n 弹出红色错误框,提示 401 Unauthorized 或 Invalid Authentication。
原因分析
简单说,就是 n8n 拿着你的“钥匙”(API Key)去敲门,但大模型服务商说这把钥匙不对,或者根本没带钥匙。
解决方案
- 检查 API Key 是否正确: 复制粘贴时最容易多出空格。去你的 OpenAI 或对应平台后台,重新生成一个 Key,确保复制时没有多余字符。
- 检查项目权限(Project ID): 很多模型(如 OpenAI)现在分项目管理。如果你在 n8n 里用的是旧的全局 Key,或者 Key 所在的项目没有调用对应模型的权限,也会报 401。
- 检查余额: 别笑,这是新手最容易忽略的。API 账户里没钱了,或者免费额度用尽,服务商直接拒绝连接。
笔者提示: 如果你使用的是 Azure OpenAI,除了 Key,还要检查 Endpoint 和 Deployment Name 是否匹配,这是 401 的另一个高频原因。
二、429 Too Many Requests:限流与拥堵
当你看到 429,说明你太“热情”了,服务器有点受不了。
报错场景
工作流运行突然变慢,日志中频繁出现 429 错误,或者提示 Rate limit exceeded。
原因分析
AI 服务商为了防止滥用,设置了每分钟/每小时的调用次数限制。n8n 如果在短时间内发送大量请求,就会触发熔断机制。
解决方案
- 调整并发设置: 在 n8n 的“设置” -> “并发”中,适当降低并发执行数量。如果你在跑批量任务,不要让 n8n 瞬间起飞。
- 添加 Wait 节点: 在循环或批量处理中,插入
Wait节点,人为制造延迟。比如每次请求后暂停 1-2 秒。 - 升级 Tier: 如果你的业务量确实很大,免费或低阶套餐的限流阈值太低,只能老老实实充值升级了。
三、404 Not Found:找不到模型或路径
404 错误通常意味着“迷路了”。
报错场景
请求发送后,模型返回 404 The model does not exist 或类似的路径错误。
原因分析
n8n 发送的请求 URL 路径不对,或者你指定的模型名称在服务商那边根本不存在。
解决方案
- 核对模型名称: 这是一个极其容易犯的低级错误。例如,你填了
gpt-4,但你的 API Key 只有 GPT-3.5 的权限;或者填了gpt-4-turbo-preview,但该模型已下线,应该改为gpt-4-turbo。 - 检查 Base URL: 如果你使用的是第三方中转 API(如某些国内中转服务),务必检查 Base URL 是否被正确拼接。n8n 默认是
https://api.openai.com/v1,如果自定义 URL 填错,肯定 404。
四、400 Bad Request:参数格式错误
400 错误是“语法错误”,意味着你发过去的数据,模型看不懂。
报错场景
请求体结构不对,通常伴随 JSON 格式错误的提示。
原因分析
n8n 的 AI 节点(特别是 LangChain 链)对输入数据的格式有严格要求。比如,上一个节点传来的数据不是一个标准的字符串或 JSON 对象,AI 节点就无法解析。
解决方案
- 使用 JSON 转换节点: 在数据进入 AI 节点前,插入一个
Code节点或Set节点,确保传给 AI 的 prompt 是干净的字符串格式。 - 检查消息历史格式: 如果你在做聊天机器人,History 的格式必须是
[{"role": "user", "content": "..."}]。如果结构乱了,API 直接拒收。
五、500 & 503 Internal Server Error:服务器端背锅
遇到 500 或 503,先别急着改代码,这通常是服务商的锅。
报错场景
莫名其妙的报错,没有任何提示,或者提示 Internal Server Error、Service Unavailable。
原因分析
500 系列错误通常指 OpenAI、Claude 等服务器内部故障,或者是 n8n 自身容器崩溃。偶尔也发生在上传文件过大时。
解决方案
- 检查服务商状态页: 第一时间去 OpenAI Status 或相关服务商的状态页面看看,是不是大面积宕机。
- 重试机制: 在 n8n 工作流中启用“重试”设置。对于偶发的 500 错误,简单的重试往往就能解决问题。
- 检查 n8n 日志: 如果是自托管(Self-hosted)版本,检查 Docker 容器的日志。可能是内存溢出(OOM)导致的,需要增加 Docker 的内存限制。
六、Context Length Exceeded:上下文超限
虽然不是标准的 HTTP 状态码,但这个报错在 AI 节点中极高频,必须单独拎出来说。
报错场景
报错信息明确提示 This model's maximum context length is...。
原因分析
你喂给 AI 的 Prompt + 历史消息 + 回复内容,总长度超过了模型的 Token 限制(如 4k, 8k, 128k)。
解决方案
- 修剪历史记录: 如果你在做对话流,不要无限制保留所有历史。使用
Code节点截断或只保留最近的几轮对话。 - 精简 Prompt: 检查你的系统提示词是否过于冗长。
- 换模型: 如果是长文本处理,老老实实换用支持长上下文的模型(如 gpt-4-turbo 或 claude-3-5-sonnet)。
FAQ:常见问题答疑
1. 为什么我的 n8n 本地运行好好的,上传到服务器就报错?
这通常是因为网络环境差异。n8n 在运行 AI 节点时需要访问外部 API。如果你的服务器在国内且没有梯子,连接 OpenAI 会超时或报错(通常显示 ETIMEDOUT)。请确保服务器能科学上网,或者配置了正确的网络代理。
2. n8n 的 LangChain 节点报错和普通 HTTP 请求报错一样吗?
底层是一样的。LangChain 节点本质上也是调用 API。但 LangChain 节点多了一层数据处理逻辑,如果上游传入的数据类型不对(比如传了二进制 Buffer 给需要字符串的 LLM),会先报节点内部的 Invalid Input 错误,而不是 API 的 HTTP 状态码。
3. 如何快速定位 n8n 的报错位置?
善用 n8n 的“执行记录”(Execution History)。点击报错的节点,查看 Input 和 Output 数据。如果 Input 是空的,说明上游节点传输出了问题;如果 Input 正常但报错,那就是节点配置或 API 问题。
总结与资源
报错是自动化路上的必修课。从 401 的身份验证到 500 的服务器崩溃,本质都是数据流与规则的碰撞。遇到报错不要慌,先看日志,再查配置,最后确认网络。
作为 N8N 大学的首席主编,笔者建议大家养成“先测试单个节点,再跑通全流”的习惯。希望这份清单能帮你扫清障碍,让 AI 在 n8n 中真正为你所用。