136 lines
2.9 KiB
Markdown
136 lines
2.9 KiB
Markdown
# n8n 增量更新 Workflow
|
||
|
||
## 概述
|
||
|
||
此 workflow 每周一自动运行,收集最近 7 天的新 AI 事件。
|
||
|
||
## Workflow 结构
|
||
|
||
### Node 1: Cron 触发器
|
||
|
||
- 节点类型: `Cron`
|
||
- 表达式: `0 9 * * 1` (每周一早上 9:00)
|
||
- 时区: Asia/Shanghai
|
||
|
||
### Node 2: Web Search - Agent 1
|
||
|
||
- 节点类型: `HTTP Request`
|
||
- URL: `http://localhost:3000/api/web-search` (或 MCP 端点)
|
||
- Body:
|
||
```json
|
||
{
|
||
"search_query": "AI news LLM release model launch this week",
|
||
"search_recency_filter": "oneWeek"
|
||
}
|
||
```
|
||
|
||
### Node 3: 筛选 Agent - Agent 2
|
||
|
||
- 节点类型: `Code`
|
||
- 用途: 筛选 + 去重(查询数据库避免重复)
|
||
|
||
```javascript
|
||
const trustedDomains = [
|
||
'arxiv.org',
|
||
'openai.com',
|
||
'anthropic.com',
|
||
'google.ai',
|
||
'meta.ai',
|
||
'deepmind.com',
|
||
];
|
||
|
||
// 过滤权威来源
|
||
const items = $input.all();
|
||
const filtered = items.filter(item => {
|
||
const url = item.json.url || '';
|
||
return trustedDomains.some(domain => url.includes(domain));
|
||
});
|
||
|
||
// TODO: 添加数据库查询去重
|
||
// 这里可以调用 GET /api/events 检查 sourceUrl 是否已存在
|
||
|
||
return filtered;
|
||
```
|
||
|
||
### Node 4: 格式化 Agent - Agent 3
|
||
|
||
- 节点类型: `Code`
|
||
- 代码: 同历史 workflow
|
||
|
||
### Node 5: 提交到 API
|
||
|
||
- 节点类型: `HTTP Request`
|
||
- 配置: 同历史 workflow
|
||
|
||
### Node 6: 发送通知邮件
|
||
|
||
- 节点类型: `Send Email`
|
||
- 条件: 仅在创建新事件时发送
|
||
- 内容:
|
||
```
|
||
主题: AI Timeline - 新事件已添加
|
||
|
||
本次更新添加了 {{ $json.created }} 个新事件。
|
||
|
||
查看: https://your-domain.com/timeline
|
||
```
|
||
|
||
### Node 7: 错误处理
|
||
|
||
- 节点类型: `Error Trigger`
|
||
- 动作: 发送错误邮件到管理员
|
||
|
||
## 测试
|
||
|
||
1. 修改 Cron 为手动触发进行测试
|
||
2. 验证只有新事件被添加
|
||
3. 检查邮件通知是否正常发送
|
||
4. 确认错误处理工作正常
|
||
|
||
## 数据质量保证
|
||
|
||
### 自动筛选规则
|
||
|
||
1. **来源可信**: 仅来自权威域名
|
||
2. **时效性**: 仅最近 7 天的内容
|
||
3. **去重**: 基于 sourceUrl 自动去重
|
||
|
||
### 人工审核流程
|
||
|
||
建议在自动导入后进行人工审核:
|
||
1. 检查标题是否准确
|
||
2. 验证描述是否客观
|
||
3. 确认图片是否合适
|
||
4. 测试链接是否可访问
|
||
|
||
## 邮件通知配置
|
||
|
||
### 成功通知
|
||
|
||
当有新事件添加时发送:
|
||
- 收件人: 内容团队
|
||
- 主题: "AI Timeline - {{ count }} 个新事件已添加"
|
||
- 内容: 包含事件列表和链接
|
||
|
||
### 错误通知
|
||
|
||
当 workflow 失败时发送:
|
||
- 收件人: 技术团队
|
||
- 主题: "⚠️ AI Timeline Workflow 失败"
|
||
- 内容: 错误详情和日志
|
||
|
||
## 监控指标
|
||
|
||
建议监控以下指标:
|
||
- 每周添加的事件数量
|
||
- workflow 执行时间
|
||
- 失败率和错误类型
|
||
- 去重率
|
||
|
||
## 优化建议
|
||
|
||
1. **AI 辅助筛选**: 使用 AI 模型评估新闻相关性
|
||
2. **多源聚合**: 整合多个搜索 API
|
||
3. **智能去重**: 基于标题相似度去重
|
||
4. **自动翻译**: 自动生成英文翻译(titleEn, descriptionEn)
|