[ PROMPT_NODE_28132 ]
N8n Validation Expert 误报处理
[ SKILL_DOCUMENTATION ]
# 误报指南
何时可以接受验证警告以及如何处理它们。
---
## 什么是误报?
**定义**:技术上是“问题”但在特定用例中可接受的验证警告。
**关键洞察**:并非所有警告都需要修复!
许多警告取决于上下文:
- ~40% 的警告在特定用例中是可以接受的
- 使用 `ai-friendly` 配置文件可减少 60% 的误报
---
## 哲学
### ✅ 良好实践
1. 使用 'runtime' 配置文件运行验证
2. 修复所有错误 (ERRORS)
3. 审查每个警告 (WARNING)
4. 确定是否适合您的用例
5. 记录接受该警告的原因
6. 自信地部署
### ❌ 不良实践
1. 盲目忽略所有警告
2. 使用 'minimal' 配置文件以避免警告
3. 在不了解风险的情况下部署
---
## 常见误报
### 1. 缺失错误处理
**警告**:
{
"type": "best_practice",
"message": "No error handling configured",
"suggestion": "Add continueOnFail: true and retryOnFail: true"
}
#### 何时可接受
**✅ 开发/测试工作流**
javascript
// 测试工作流 - 失败是显而易见的
{
"name": "Test Slack Integration",
"nodes": [{
"type": "n8n-nodes-base.slack",
"parameters": {
"resource": "message",
"operation": "post",
"channel": "#test"
// 无错误处理 - 测试时没问题
}
}]
}
**理由**:您希望在测试期间看到失败。
**✅ 非关键通知**
javascript
// 可有可无的通知
{
"name": "Optional Slack Notification",
"parameters": {
"channel": "#general",
"text": "FYI: Process completed"
// 如果失败,没关系
}
}
**理由**:通知失败不会影响核心功能。
**✅ 手动触发工作流**
javascript
// 手动工作流 - 用户正在观察
{
"nodes": [{
"type": "n8n-nodes-base.webhook",
"parameters": {
"path": "manual-test"
// 无错误处理 - 用户会手动重试
}
}]
}
**理由**:用户在场,可以查看并处理错误。
#### 何时必须修复
**❌ 生产环境自动化**
javascript
// 坏:没有错误处理的关键工作流
{
"name": "Process Customer Orders",
"nodes": [{
"type": "n8n-nodes-base.postgres",
"parameters": {
"query": "INSERT INTO orders..."
// ❌ 应该有错误处理!
}
}]
}
**修复**:
javascript
{
"parameters": {
"query": "INSERT INTO orders...",