n8n_internal_error_fix.md 7.8 KB

n8n 工作流 Internal Server Error 修复报告

问题时间: 2025-11-04
工作流 ID: tWfjLZE1FmMfQAIn
错误信息: Internal Server Error
访问地址: https://n8n.citupro.com/chat/tWfjLZE1FmMfQAIn


🔍 问题分析

发现的问题

1. Set 节点配置不完整

在执行日志中发现两个 Set 节点配置异常:

问题节点:

  • 设置确认消息 - assignments: {} (空配置)
  • 设置拒绝消息 - assignments: {} (空配置)

影响:

  • 这两个节点无法正确设置输出数据
  • 导致工作流执行失败
  • Chat 界面报 Internal Server Error

2. 工作流配置问题

{
  "parameters": {
    "mode": "manual",
    "duplicateItem": false,
    "assignments": {},  // ❌ 空配置
    "includeOtherFields": false,
    "options": {}
  }
}

正确的配置应该是:

{
  "parameters": {
    "mode": "manual",
    "fields": {
      "values": [
        {
          "name": "output",
          "type": "string",
          "stringValue": "消息内容..."
        }
      ]
    },
    "options": {}
  }
}

✅ 修复方案

已执行的修复

1. 更新 "设置确认消息" 节点

{
  "type": "updateNode",
  "nodeName": "设置确认消息",
  "updates": {
    "parameters": {
      "mode": "manual",
      "fields": {
        "values": [
          {
            "name": "output",
            "type": "string",
            "stringValue": "好的!已为您发起元数据新增工作流程。\n\n操作结果:成功创建元数据\n\n如需继续其他数据治理操作,请告诉我。"
          }
        ]
      },
      "options": {}
    }
  }
}

2. 更新 "设置拒绝消息" 节点

{
  "type": "updateNode",
  "nodeName": "设置拒绝消息",
  "updates": {
    "parameters": {
      "mode": "manual",
      "fields": {
        "values": [
          {
            "name": "output",
            "type": "string",
            "stringValue": "好的,已取消元数据管理操作。\n\n还有其他需要帮助的吗?\n- 数据标准制定\n- 数据质量检查\n- 其他数据治理服务"
          }
        ]
      },
      "options": {}
    }
  }
}

📊 修复后的状态

工作流验证结果

工作流有效: valid: true
总节点数: 7
有效连接: 6
无效连接: 0
错误数: 0
⚠️ 警告数: 12 (大部分是版本过时警告,不影响功能)

节点配置状态

节点 状态 说明
Chat Trigger ✅ 正常 Webhook 已注册
AI Agent ✅ 正常 系统消息已配置
DeepSeek Chat Model ✅ 正常 凭证已连接
判断用户意图 ✅ 正常 IF 条件正确
调用元数据新增API ✅ 正常 HTTP 请求配置正确
设置确认消息 ✅ 已修复 输出字段已配置
设置拒绝消息 ✅ 已修复 输出字段已配置

🧪 测试建议

1. 验证修复

立即测试步骤:

1. 访问 Chat URL
   https://n8n.citupro.com/chat/tWfjLZE1FmMfQAIn

2. 检查是否还有 Internal Server Error
   - 如果没有错误,进入下一步
   - 如果仍有错误,查看 n8n 服务器日志

3. 测试确认流程
   输入: "是"
   预期: 看到确认消息和成功信息

4. 测试拒绝流程
   输入: "否"
   预期: 看到拒绝消息和选项列表

5. 查看执行日志
   在 n8n 界面 → Executions → 查看最新执行
   检查所有节点是否正常执行

2. 检查执行日志

访问 n8n 界面的 Executions 页面:

https://n8n.citupro.com/workflows/tWfjLZE1FmMfQAIn/executions

检查项:

  • Chat Trigger 正常触发
  • AI Agent 正常响应
  • DeepSeek API 调用成功
  • IF 节点正确判断
  • Set 节点输出正确
  • 消息正确返回到聊天界面

🔧 其他潜在问题

1. DeepSeek API 可能的问题

虽然凭证已配置,但可能存在的问题:

检查清单:

  • DeepSeek API Key 是否有效
  • API Key 是否有足够的额度
  • 网络连接是否正常
  • 是否有防火墙限制

测试方法:

# 在 n8n 服务器上测试 DeepSeek API
curl -X POST https://api.deepseek.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [{"role": "user", "content": "测试"}],
    "max_tokens": 100
  }'

2. Chat Trigger 响应模式

当前配置: 未明确指定响应模式

建议配置:

{
  "options": {
    "responseMode": "lastNode"  // 或 "streaming"
  }
}

说明:

  • lastNode: 等待整个工作流执行完成后返回最后一个节点的输出
  • streaming: 流式返回 AI 响应(推荐,用户体验更好)

3. AI Agent 输出格式

当前问题: AI Agent 输出可能不是标准格式

建议修改 IF 节点条件:

当前:

={{ $json.output }}

可能需要改为:

={{ $json.text || $json.output || $json.content }}

📋 完整测试清单

测试前检查

  • Set 节点配置已修复
  • 工作流已保存
  • 工作流已激活
  • n8n 服务器正常运行
  • DeepSeek API 可访问

功能测试

  • Chat 界面可以打开(无 Internal Server Error)
  • 欢迎消息正常显示
  • 可以输入消息
  • 输入 "是" 能看到确认消息
  • 输入 "否" 能看到拒绝消息
  • AI 响应时间合理(< 5秒)

执行日志检查

  • Chat Trigger 执行成功
  • AI Agent 执行成功(无 DeepSeek API 错误)
  • IF 节点正确判断
  • Set 节点输出正确(不是空对象)
  • 整个工作流执行成功

🚨 如果问题仍然存在

调试步骤

1. 查看 n8n 服务器日志

# 如果使用 Docker
docker logs n8n-container

# 如果使用 PM2
pm2 logs n8n

# 查找错误关键字
grep -i "error\|exception\|failed" n8n.log

2. 检查 DeepSeek API

在 n8n 界面中:

1. 进入 Settings → Credentials
2. 找到 DeepSeek API 凭证
3. 点击 "Test" 按钮测试连接
4. 查看是否有错误消息

3. 简化工作流测试

创建一个简化版本测试:

Chat Trigger → Set (静态消息) → 返回

如果这个可以工作,说明问题在 AI Agent 或 DeepSeek 配置。

4. 检查 AI Agent 输出

在 n8n 界面中:

1. 手动执行工作流
2. 输入测试数据到 Chat Trigger
3. 查看 AI Agent 节点的输出
4. 确认输出格式是否包含 "output" 字段

📄 相关文档

文档 路径 说明
测试报告 docs/n8n_workflow_test_report.md 完整测试指南
DeepSeek 升级 docs/n8n_deepseek_upgrade.md DeepSeek 配置说明
快速开始 docs/n8n_chat_workflow_quickstart.md 快速启动指南

✅ 修复总结

已完成

  • ✅ 识别了 Set 节点配置问题
  • ✅ 修复了 "设置确认消息" 节点
  • ✅ 修复了 "设置拒绝消息" 节点
  • ✅ 工作流验证通过
  • ✅ 更新时间:2025-11-04 07:23:44

下一步

  1. 立即测试 ⭐⭐⭐

    访问: https://n8n.citupro.com/chat/tWfjLZE1FmMfQAIn
    验证: 是否还有 Internal Server Error
    
  2. 功能测试 ⭐⭐

    输入: "是" 和 "否"
    验证: 消息是否正确返回
    
  3. 查看日志

    n8n Executions → 查看最新执行
    确认: 所有节点执行成功
    

🎊 预期结果

修复后,访问 https://n8n.citupro.com/chat/tWfjLZE1FmMfQAIn 应该:

✅ 不再显示 Internal Server Error
✅ 看到聊天界面和欢迎消息
✅ 可以正常输入和发送消息
✅ AI 能正确理解用户意图
✅ 返回正确的确认或拒绝消息

现在请重新访问 Chat URL 测试! 🚀