定时触发 → 采集热点 → 筛选爆款 → 循环改写 → 发布微信
{
"node": "Schedule Trigger",
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 6
}
]
}
},
"description": "每6小时执行一次"
}推荐时间:
- 早上 8:00(早高峰)
- 中午 12:00(午休)
- 晚上 18:00(晚高峰)
- 晚上 22:00(睡前)
{
"node": "HTTP Request",
"parameters": {
"method": "GET",
"url": "http://localhost:3000/api/hot-news",
"queryParameters": {
"parameters": [
{
"name": "limit",
"value": "10"
},
{
"name": "minScore",
"value": "10000"
}
]
},
"options": {
"timeout": 30000
}
},
"description": "获取热点文章(热度>1万)"
}参数说明:
limit: 最多返回多少篇文章(1-50)minScore: 最低热度分数(建议 10000 = 1万)
返回格式:
{
"success": true,
"count": 10,
"data": [
{
"title": "文章标题",
"url": "https://example.com/article",
"hotScore": 15000,
"publishTime": "2026-01-04",
"source": "top.miyucaicai.cn",
"index": 1
}
]
}{
"node": "Code",
"parameters": {
"mode": "runOnceForAllItems",
"jsCode": `
// 获取热点数据
const articles = $input.all()[0].json.data;
if (!articles || articles.length === 0) {
return [];
}
// 筛选条件
const filtered = articles.filter(article => {
// 1. 热度大于 1 万
if (article.hotScore < 10000) return false;
// 2. 标题长度适中(10-50字)
if (article.title.length < 10 || article.title.length > 50) return false;
// 3. 排除某些关键词
const excludeKeywords = ['广告', '推广', '测评'];
if (excludeKeywords.some(kw => article.title.includes(kw))) return false;
return true;
});
// 按热度排序,取前5篇
const top5 = filtered
.sort((a, b) => b.hotScore - a.hotScore)
.slice(0, 5);
console.log(\`筛选后: \${top5.length} 篇爆款文章\`);
return top5.map(article => ({ json: article }));
`
},
"description": "筛选高质量爆款文章"
}筛选逻辑:
- ✅ 热度 > 1万
- ✅ 标题长度 10-50 字
- ❌ 排除广告、推广等
- 🔝 取热度 TOP 5
{
"node": "Loop Over Items",
"parameters": {
"batchSize": 1
},
"description": "逐篇处理文章"
}在此调用您的 COZE 改写节点
输入变量映射:
{
"inputUrl": "{{ $json.url }}", // 文章链接
"originalTitle": "{{ $json.title }}", // 原始标题
"hotScore": "{{ $json.hotScore }}" // 热度分数(可用于提示词)
}提示词优化建议:
你是一个专业的内容改写专家。
原文链接:{{ $json.url }}
原文标题:{{ $json.title }}
文章热度:{{ $json.hotScore }} 阅读
请根据原文内容:
1. 改写标题,更吸引人(保持原意)
2. 提炼核心观点 3-5 条
3. 改写正文,语言通俗易懂
4. 添加引人思考的结尾
目标读者:关注科技/AI趋势的公众号用户
字数要求:800-1200字
语气:专业但不失趣味
{
"node": "HTTP Request",
"parameters": {
"method": "POST",
"url": "https://your-domain.vercel.app/api/publish-wechat",
"bodyParameters": {
"parameters": [
{
"name": "title",
"value": "={{ $json.rewrittenTitle }}"
},
{
"name": "content",
"value": "={{ $json.rewrittenContent }}"
},
{
"name": "thumbMediaId",
"value": "YOUR_MEDIA_ID"
}
]
},
"options": {
"timeout": 60000
}
},
"description": "发布到微信公众号草稿箱"
}方式A: 调用 Vercel API(推荐)
- 复用现有的
api/index.js发布逻辑
方式B: 调用 Python SDK
# 创建 HTTP 端点包装 wechat_sdk.py
python wechat_publisher_api.pycd C:\D\ai-trend-publish
# 安装依赖
npm install cheerio
# 启动 Vercel Dev(本地测试)
vercel dev测试 API:
curl "http://localhost:3000/api/hot-news?limit=5&minScore=10000"- 打开 N8N:
http://localhost:5678 - 点击 "+" → "Import from File"
- 选择本文档中的节点配置
- 连接各个节点
在 N8N 中设置环境变量:
# .env 文件
HOT_NEWS_API=http://localhost:3000/api/hot-news
WECHAT_PUBLISH_API=https://your-domain.vercel.app/api/publish-wechat
WECHAT_APP_ID=wx8410119dfbb7f756
WECHAT_APP_SECRET=3c93e33e087e57b906f5c341aa5223b9┌─────────────────┐
│ Schedule Trigger│ 每6小时
│ (Cron: 0 */6 *)│
└────────┬────────┘
│
v
┌─────────────────┐
│ HTTP Request │ GET /api/hot-news
│ (采集热点) │ limit=10&minScore=10000
└────────┬────────┘
│ [{title, url, hotScore}...]
v
┌─────────────────┐
│ Code (筛选) │ 过滤 + 排序 + Top 5
└────────┬────────┘
│ [Top 5 爆款]
v
┌─────────────────┐
│ Loop Over Items │ 逐篇处理
└────────┬────────┘
│ for each article
v
┌─────────────────┐
│ COZE 改写 │ url → 改写后内容
│ │
└────────┬────────┘
│ {rewrittenTitle, rewrittenContent}
v
┌─────────────────┐
│ HTTP Request │ POST /api/publish-wechat
│ (发布微信) │
└────────┬────────┘
│
v
✅ 草稿箱
解决:
- 检查
top.miyucaicai.cn是否可访问 - 降低
minScore阈值(如 5000) - 查看 API 日志:
vercel logs
解决:
- 检查 COZE 节点的输入格式
- 确认 URL 可以正常访问
- 增加超时时间(60s → 120s)
解决:
- 验证 IP 白名单(223.73.236.232)
- 检查 Access Token 是否有效
- 查看微信 API 错误码
在采集 API 中添加缓存,避免频繁抓取:
const CACHE_TTL = 30 * 60 * 1000; // 30分钟
let cachedData = null;
let cacheTime = 0;
if (Date.now() - cacheTime < CACHE_TTL) {
return res.json(cachedData);
}N8N 中限制同时改写的文章数:
- 使用
Split In Batches节点 - 每批处理 2-3 篇,避免 COZE API 超载
发布前检查是否已发布过相同标题:
// 在 Code 节点中
const existingTitles = await getPublishedTitles(); // 从数据库获取
const isDuplicate = existingTitles.includes(article.title);- 采集频率: 每6小时
- 筛选数量: 5篇爆款
- 改写时长: 约 30秒/篇
- 总耗时: 约 3-5 分钟完成整个流程
- 成功率: >90%(排除网络波动)
每日产出:
- 4次触发 × 5篇文章 = 20篇候选
- 人工审核后发布 2-3篇精品
- 智能筛选: 使用 AI 分析标题质量、情感倾向
- A/B测试: 生成多个改写版本,选择最优
- 自动排版: 添加图片、排版优化
- 数据分析: 追踪阅读量、点赞数,优化选题
- 多平台发布: 同时发布到知乎、小红书等
创建时间: 2026-01-04 版本: v1.0 作者: Claude Code