n8n 是开源的可视化自动化工具,通过拖拽节点连接各种服务。本教程搭建一个完整示例:每天定时抓取内容,调用 AI API 生成摘要,输出到指定位置。
工作流概览
本教程的工作流结构:
Schedule Trigger(每天 9:00)
→ HTTP Request(获取待处理内容)
→ HTTP Request(调用 AI API 生成摘要)
→ 输出节点(发送到 Webhook / 写入文件)
适用场景:
- 每日新闻摘要
- 邮件自动分类和回复草稿
- 监控报告自动生成
搭建步骤
第 1 步:创建工作流,添加触发节点
打开 n8n,点击 New Workflow,搜索并添加 Schedule Trigger 节点。
配置触发时间:
- Trigger Interval:选择
Days - Hour:
9 - Minute:
0
这会让工作流每天早上 9 点自动运行。
第 2 步:添加内容获取节点(可选)
如果需要先获取待处理内容(如从 RSS 或 API 拉取),添加一个 HTTP Request 节点:
- Method:
GET - URL:你的内容来源地址
如果内容是固定的(如处理固定文本),可以跳过这步,直接在下一步的请求体里写入内容。
第 3 步:添加 AI API 调用节点
添加第二个 HTTP Request 节点,这是核心节点,配置如下:
基本设置:
- Method:
POST - URL:
https://api.deepseek.com/v1/chat/completions(或你的中转站地址)
Headers:
| 名称 | 值 |
|---|---|
Content-Type | application/json |
Authorization | Bearer sk-你的API密钥 |
Body:选择 JSON,内容见下一节。
第 4 步:添加输出节点
根据需求选择输出方式:
- Webhook:发送到飞书、钉钉、Slack 等
- Write Binary File:写入本地文件
- Send Email:通过邮件发送结果
- HTTP Request:推送到自定义接口
HTTP Request 节点配置详解
请求 URL
https://api.deepseek.com/v1/chat/completions
如果使用中转站,替换为中转站地址,路径保持 /v1/chat/completions 不变。
请求 Headers
{
"Content-Type": "application/json",
"Authorization": "Bearer sk-你的API密钥"
}
在 n8n 的 Headers 配置中,每行填一个键值对。Authorization 的值格式固定为 Bearer 加上密钥,注意 Bearer 后有一个空格。
请求 Body(JSON 示例)
{
"model": "deepseek-chat",
"messages": [
{
"role": "system",
"content": "你是一个专业的内容摘要助手。请将用户提供的文章压缩为 3 个要点,每个要点不超过 30 字,用中文输出。"
},
{
"role": "user",
"content": "{{ $json.article_content }}"
}
],
"max_tokens": 500,
"temperature": 0.3
}
{{ $json.article_content }} 是 n8n 的表达式语法,引用上一个节点输出的 article_content 字段。如果内容是固定文本,直接替换为字符串即可。
提取 AI 回复
AI API 返回的 JSON 结构如下:
{
"choices": [
{
"message": {
"content": "摘要内容在这里..."
}
}
]
}
在后续节点中,用表达式 {{ $json.choices[0].message.content }} 提取摘要文本。
扩展思路
批量处理:在 Schedule Trigger 和 AI 节点之间加入 Split In Batches 节点,可以批量处理多条内容,避免单次请求超时。
错误处理:在 HTTP Request 节点的 Settings 中开启 Continue On Fail,并添加 IF 节点判断响应状态码,对失败请求单独处理。
动态 Prompt:把 system prompt 存在 n8n 的 Variables 或外部数据库中,通过节点动态读取,方便在不修改工作流的情况下调整 AI 行为。
成本控制:在 AI 节点前加 Function 节点,截断过长的输入文本(如只取前 2000 字),避免因输入过长导致费用超预期。