内容农场 - AI驱动的WordPress博客自动化
高级
这是一个AI领域的自动化工作流,包含 81 个节点。主要使用 Set、Code、Html、Wait、Filter 等节点,结合人工智能技术实现智能自动化。 内容农场 - AI驱动的WordPress博客自动化
前置要求
- •MongoDB 连接字符串
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
使用的节点 (81 个)
分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "52254486b159b349334953c1738da94e90477c7604aa8db2062d11afc0120739",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "45b86db7-50e8-46b8-835b-2fb61709e362",
"name": "分离输出",
"type": "n8n-nodes-base.splitOut",
"position": [
-360,
-160
],
"parameters": {
"options": {},
"fieldToSplitOut": "rss"
},
"typeVersion": 1
},
{
"id": "ba641186-ea96-466d-ba5c-f98128a450e2",
"name": "每日获取文章",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-800,
-160
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "b4c98895-ef0e-4247-a08b-99b5bf069d1e",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-860,
-320
],
"parameters": {
"color": 3,
"width": 2420,
"height": 820,
"content": "## 使用代码节点对多个二进制文件进行Base64编码"
},
"typeVersion": 1
},
{
"id": "ddc6261e-6d92-42ad-88d9-6ff2078943b2",
"name": "设置科技新闻 RSS 源",
"type": "n8n-nodes-base.set",
"position": [
-580,
-160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b8c00469-890b-4b5b-8e2e-2ad9ec2d0815",
"name": "rss",
"type": "array",
"value": "=[\n \"https://feeds.bbci.co.uk/news/technology/rss.xml\",\n \"https://www.wired.com/feed/rss\",\n \"https://www.technologyreview.com/topnews.rss\",\n \"https://techcrunch.com/feed/\",\n\"https://www.marktechpost.com/feed/\",\n\"https://hackernoon.com/feed\",\n\"https://www.artificialintelligence-news.com/feed/\"\n]\n"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "52605fe6-bd2a-41c3-a25f-f372701b28df",
"name": "读取 RSS 新闻源",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-140,
-160
],
"parameters": {
"url": "={{ $json.rss }}",
"options": {
"ignoreSSL": false
}
},
"typeVersion": 1.1
},
{
"id": "5758e689-58fe-407e-b3aa-dafe73176e78",
"name": "设置并规范化字段",
"type": "n8n-nodes-base.set",
"position": [
220,
-160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e9f27ceb-c5f2-4997-8cb1-67576a7bb337",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "4c4f9417-40f2-4fb0-9976-d09f5984680f",
"name": "content",
"type": "string",
"value": "={{ $json['content:encodedSnippet'] ?? $json.contentSnippet}}"
},
{
"id": "e1986bac-054e-4240-ba50-536dbcd27337",
"name": "date",
"type": "string",
"value": "={{ $json.isoDate}}"
},
{
"id": "9566e23c-ac30-4d66-abbd-889f322688b7",
"name": "link",
"type": "string",
"value": "={{ $json.link }}"
},
{
"id": "61203b8d-7198-4087-83dc-83ac83afa5b1",
"name": "categories",
"type": "string",
"value": "={{ $json.categories }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c88f982d-8ee5-4ef5-bbdc-387e33d4d5d7",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
400,
40
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "c34832be-0561-485b-92f5-68c05b9b77ce",
"name": "## 步骤1. 将新闻保存在向量存储中(每日运行)",
"type": "@n8n/n8n-nodes-langchain.textClassifier",
"position": [
460,
-160
],
"parameters": {
"options": {
"fallback": "discard"
},
"inputText": "=Title: {{ $json.title }}\nContent: {{ $json.content }}\nCategories: {{ $json.categories }}",
"categories": {
"categories": [
{
"category": "=AI",
"description": "AI and Artificial Intelligence related articles "
}
]
}
},
"typeVersion": 1
},
{
"id": "89c58644-23dc-473c-b5c3-17e46642ce93",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
1700,
-340
],
"parameters": {
"color": 5,
"width": 1140,
"height": 800,
"content": "文本分类器"
},
"typeVersion": 1
},
{
"id": "93339b1d-6ff3-4868-be68-9ccaacc0bfc5",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1900,
-100
],
"parameters": {
"text": "=Here are 24 trending AI-related articles published today:\n\n {{ JSON.stringify($json.data) }}\n\nFrom this, generate:\n1. 10 unique long-tail blog title ideas based on these trends\n2. For each title, suggest:\n - Main keyword\n - Related keywords\n - Suggested angle or tone (e.g. educational, provocative, analytical)\n3. Ensure each title is SEO-friendly, non-generic, and future-resilient\n",
"options": {
"systemMessage": "You are a content strategist for an AI-focused blog.\n"
},
"promptType": "define",
"hasOutputParser": true
},
"retryOnFail": true,
"typeVersion": 2
},
{
"id": "118aee64-ac8f-40d5-a0c1-44b9713cbce0",
"name": "OpenAI 聊天模型1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1800,
120
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "b9ce417b-1e12-4385-8559-577b636337be",
"name": "聚合",
"type": "n8n-nodes-base.aggregate",
"position": [
1720,
-100
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "6f29f470-d74e-4bba-91b0-ba6f1e34bfcf",
"name": "结构化输出解析器",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2160,
100
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"title\": \"Why Code Review AI Like CriticGPT Might Replace Juniors\",\n \"main_keyword\": \"AI code review\",\n \"related_keywords\": [\"CriticGPT\", \"OpenAI\", \"developer tools\", \"LLM code agent\"],\n \"tone\": \"analytical\",\n \"link_articles\": [\"https://www.hatica.io/blog/future-of-code-reviews-2025-trends/\", \"https://graphite.dev/blog/ai-wont-replace-human-code-review\", \"https://medium.com/@ravibiswas0909/can-ai-replace-junior-developers-my-honest-take-861c7d430ce7\"],\n \"date\": \"2025-06-16\"\n},{\n \"title\": \"Huawei AI chips that power BYD and self driving cars in china\",\n \"main_keyword\": \"AI chips\",\n \"related_keywords\": [\"Huawei\", \"AI\", \"self driving cars\", \"BYD\"],\n \"tone\": \"skeptical\",\n \"link_articles\": [\"https://technode.com/2025/03/11/chinas-gac-to-sell-level-3-autonomous-driving-vehicles-with-huawei/\", \"https://www.reuters.com/business/autos-transportation/chinas-byd-use-huaweis-advanced-autonomous-driving-system-off-road-evs-2024-08-27/\", \"https://schen583.medium.com/huawei-intelligent-driving-solutions-overview-a-16-billion-valued-automotive-tier-1-f88f4bdfdff9\"],\n \"date\": \"2025-06-16\"\n}\n]\n"
},
"typeVersion": 1.2
},
{
"id": "9ba4a367-e0b1-450d-971b-7892201ff530",
"name": "过滤器",
"type": "n8n-nodes-base.filter",
"position": [
40,
-160
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "dda47c0b-b0b2-46f0-a469-cd1b0e1b8152",
"operator": {
"type": "dateTime",
"operation": "after"
},
"leftValue": "={{ $json.isoDate }}",
"rightValue": "={{ $now.minus(1,\"days\") }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "918ea92f-6a19-4fb7-a896-3911a24cb306",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1940,
-320
],
"parameters": {
"color": 7,
"width": 1020,
"height": 1360,
"content": "## 步骤2:相关性评分"
},
"typeVersion": 1
},
{
"id": "d7468098-66f8-47bf-8699-abf78eb06a13",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-860,
580
],
"parameters": {
"color": 4,
"width": 2400,
"height": 800,
"content": "## 步骤"
},
"typeVersion": 1
},
{
"id": "3eee8f2b-8c60-47f2-a1fa-e612e65ca131",
"name": "HTTP 请求",
"type": "n8n-nodes-base.httpRequest",
"position": [
180,
980
],
"parameters": {
"url": "={{ $json[\"link_articles\"] }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "d75cb082-27f0-4201-b220-c6da5ff50c37",
"name": "HTML",
"type": "n8n-nodes-base.html",
"position": [
360,
980
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "body",
"cssSelector": "body",
"skipSelectors": "img"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "a8039220-b7ec-4952-b33b-c3198cc8c4fd",
"name": "OpenAI 聊天模型2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
740,
1180
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "69785989-babd-4c85-9112-36261a5099c0",
"name": "AI Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
800,
980
],
"parameters": {
"text": "=Below is an article. Extract the 3 most important sentences that summarize the factual content. Do not interpret. Only copy exact sentences.\n\nUse that to extract and list:\n1. write a 2-paragraph summary of the article in your own words.\n2. Key concepts or ideas\n3. Names of companies, models, or researchers\n4. Any quoted statements or numerical/statistical claims\n\nHere is the article:\n {{ $json.data }}",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "418c402c-5467-4dda-9a25-796384c3bce0",
"name": "结构化输出解析器1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1020,
1180
],
"parameters": {
"jsonSchemaExample": "{\n \"abstract_summary\": \"...\",\n \"ideas\": [\"...\"],\n \"names\": [\"OpenAI\", \"CriticGPT\"],\n \"quotes_or_stats\": [\"'70% faster than human review'\", \"CriticGPT released in June 2025\"]\n}\n"
},
"typeVersion": 1.2
},
{
"id": "827e24bd-e62a-41a9-a48b-7a4423270d5e",
"name": "聚合1",
"type": "n8n-nodes-base.aggregate",
"position": [
200,
780
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "articles"
},
"typeVersion": 1
},
{
"id": "e0d1c4a3-cdce-4684-b6dc-83a10fc49977",
"name": "AI Agent2",
"type": "@n8n/n8n-nodes-langchain.agent",
"notes": "generate blog title ideas",
"position": [
-400,
1640
],
"parameters": {
"text": "=You are a viral blog strategist. Given the following blog article concept: {{ JSON.stringify($json) }}\n\nGenerate 5 compelling blog post titles that:\n- Evoke curiosity or urgency\n- Include emotional or controversial angles\n- Use long-tail keywords for SEO\n- Are clear, specific, and make the reader want to click\n- Follow formats like:\n - “Why [X] Is About to Change Everything in [Y]”\n - “The Hidden Truth About [Topic]”\n - “How [Persona] Are Using [X] to [Y]”\n - “What No One Tells You About [Topic]”\n - “X Predictions About the Future of [Topic] That’ll Shock You”\n\nEnd your response with: \n**Core Topic:** [a single phrase summarizing the article idea]\n",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "becfb981-a620-463b-9053-4e97ab7822b9",
"name": "OpenAI 聊天模型3",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-380,
1860
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "a578c715-df33-42bf-af9f-4d441d750e28",
"name": "结构化输出解析器2",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-260,
1860
],
"parameters": {
"jsonSchemaExample": "{\n \"titles\": [\n \"Why AI Code Review Will Replace Junior Engineers\",\n \"How AI is Reshaping Software QA in 2025\",\n \"What CriticGPT Means for Developer Workflows\",\n \"The Future of Code Reviews: AI vs Human Engineers\",\n \"5 Benefits of Using AI for Code Quality Control\"\n ],\n \"core_topic\" : \"AI software engineers\"\n}"
},
"typeVersion": 1.2
},
{
"id": "857ef5d7-768a-471c-ba86-1d08212fae1b",
"name": "拆分输出2",
"type": "n8n-nodes-base.splitOut",
"position": [
2280,
-100
],
"parameters": {
"options": {},
"fieldToSplitOut": "output"
},
"typeVersion": 1
},
{
"id": "378ff680-dcd6-48c5-b142-e36768ddb153",
"name": "拆分输出1",
"type": "n8n-nodes-base.splitOut",
"position": [
-440,
860
],
"parameters": {
"include": "allOtherFields",
"options": {},
"fieldToSplitOut": "link_articles"
},
"typeVersion": 1
},
{
"id": "c2520709-9364-48c1-8ef8-03be04802c98",
"name": "MongoDB",
"type": "n8n-nodes-base.mongoDb",
"position": [
2680,
-100
],
"parameters": {
"fields": "=title,main_keyword,related_keywords,tone,completed_step,link_articles",
"options": {
"dateFields": "date"
},
"operation": "insert",
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "a52fcd08-93ad-49f9-a4f1-a8c1ddafa9f3",
"name": "MongoDB1",
"type": "n8n-nodes-base.mongoDb",
"position": [
-620,
860
],
"parameters": {
"query": "{\"completed_step\":2}",
"options": {
"limit": 1
},
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "52fe3080-a279-42ae-a56d-af0e2491f948",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-840,
1480
],
"parameters": {
"color": 6,
"width": 3880,
"height": 800,
"content": "## 步骤4,5,6,7:撰写文章并准备SEO"
},
"typeVersion": 1
},
{
"id": "8df64bb2-6bc8-4c46-9223-2fb2c2682764",
"name": "MongoDB3",
"type": "n8n-nodes-base.mongoDb",
"position": [
-580,
1640
],
"parameters": {
"query": "{\"completed_step\":3}",
"options": {
"limit": 1
},
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "118ab8a8-4047-4da5-8723-f13c38becd2d",
"name": "MongoDB4",
"type": "n8n-nodes-base.mongoDb",
"position": [
1280,
1640
],
"parameters": {
"fields": "blog_outline, completed_step",
"options": {},
"operation": "update",
"updateKey": "_id",
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "5d4b8a5b-3e3f-4cf7-a813-5ae6417c34f1",
"name": "AI 代理 3",
"type": "@n8n/n8n-nodes-langchain.agent",
"notes": "rate blog title ideas",
"position": [
-60,
1640
],
"parameters": {
"text": "=Rate the following blog titles based on the **core topic**. Score each title out of 10 in:\n1. Uniqueness\n2. SEO keyword clarity\n3. Emotional and curiosity-driven clickbait quality\n\nTitles: {{ JSON.stringify($json.output.titles) }}\nCore Topic: {{ JSON.stringify($json.output.core_topic) }}\n\nReturn a ranked list with justifications for each score. Highlight the best one.\n",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "0de5e677-eb04-4c2f-90df-f3637a244877",
"name": "OpenAI 聊天模型4",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-20,
1860
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "eb6fe9ab-9a3a-4641-a0ac-6c3990c70e74",
"name": "结构化输出解析器3",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
80,
1860
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"title\": \"Why AI Code Review Will Replace Junior Engineers\",\n \"uniqueness_score\": 8,\n \"seo_score\": 7,\n \"longtail_score\": 9,\n \"reason\": \"Strong intent signal ('why'), specific audience reference ('junior engineers'), but replacement framing may be oversimplified.\"\n },\n {\n \"title\": \"How AI is Reshaping Software QA in 2025\",\n \"uniqueness_score\": 6,\n \"seo_score\": 9,\n \"longtail_score\": 8,\n \"reason\": \"Good long-tail and temporal relevance, but the 'reshaping' verb is generic and the angle lacks a unique hook.\"\n },\n {\n \"title\": \"What CriticGPT Means for Developer Workflows\",\n \"uniqueness_score\": 5,\n \"seo_score\": 6,\n \"longtail_score\": 6,\n \"reason\": \"Moderately informative but lacks specificity, and may be too short-tail. Could benefit from clearer impact framing.\"\n },\n {\n \"title\": \"The Future of Code Reviews: AI vs Human Engineers\",\n \"uniqueness_score\": 7,\n \"seo_score\": 8,\n \"longtail_score\": 9,\n \"reason\": \"Decent contrast-based framing. 'Future of' titles have strong SEO pull, but risk becoming overused.\"\n },\n {\n \"title\": \"5 Benefits of Using AI for Code Quality Control\",\n \"uniqueness_score\": 6,\n \"seo_score\": 10,\n \"longtail_score\": 8,\n \"reason\": \"Clear list format, strong SEO structure, but uses a very common benefits-based formula with a broad target.\"\n }\n]\n"
},
"typeVersion": 1.2
},
{
"id": "f94e8254-62ad-490a-924e-036ed971c2ba",
"name": "代码3",
"type": "n8n-nodes-base.code",
"notes": "rank and choose the best one",
"position": [
1140,
1640
],
"parameters": {
"jsCode": "let outline = $input.first().json.output[0].outline || '';\n\n// Step 1: Remove ```markdown and ``` fences\noutline = outline\n .replace(/```markdown\\n?/g, '') // remove opening ```markdown\n .replace(/```/g, '') // remove closing ```\n .trim();\n\n// Step 2: Escape backslashes and double quotes\noutline = outline\n .replace(/\\\\/g, '\\\\\\\\') // escape backslashes\n .replace(/\"/g, '\\\\\"'); // escape double quotes\n\nreturn {\n _id : $('Code7').first().json._id,\n blog_outline: outline,\n completed_step : 5\n }\n"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "7ede969a-a684-4a59-89f6-7f95dc05a442",
"name": "代码4",
"type": "n8n-nodes-base.code",
"position": [
380,
780
],
"parameters": {
"jsCode": "function escapeQuotes(str) {\n if (typeof str !== 'string') return str;\n return str.replace(/\"/g, \"'\");\n}\n\nconst articles = $input.first().json.articles.map(article => {\n const sanitized = {};\n\n // Loop through keys and escape problematic strings\n for (const [key, value] of Object.entries(article)) {\n if (Array.isArray(value)) {\n sanitized[key] = value.map(v => escapeQuotes(v));\n } else if (typeof value === 'string') {\n sanitized[key] = escapeQuotes(value);\n } else {\n sanitized[key] = value;\n }\n }\n\n return sanitized;\n});\n\nconst item_id = $('MongoDB1').first().json._id\n\nreturn {\n _id: item_id,\n articles: articles,\n completed_step: 3\n }\n"
},
"typeVersion": 2
},
{
"id": "c8462857-7249-4878-b024-4ab90c53a9ef",
"name": "MongoDB2",
"type": "n8n-nodes-base.mongoDb",
"position": [
560,
780
],
"parameters": {
"fields": "articles, completed_step",
"options": {},
"operation": "update",
"updateKey": "_id",
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2,
"alwaysOutputData": true
},
{
"id": "02db3b5e-6ebc-47ce-91d4-b0120e62888f",
"name": "AI代理5",
"type": "@n8n/n8n-nodes-langchain.agent",
"notes": "generate blog outline markdown",
"position": [
800,
1640
],
"parameters": {
"text": "=You are an SEO blog strategist.\n\nGiven:\n- Title: {{ $('MongoDB3').item.json.blog_title }}\n- Main keyword: {{ $('MongoDB3').item.json.main_keyword }}\n- Related keywords: {{ JSON.stringify($('MongoDB3').item.json.related_keywords) }}\n- Related articles: {{ JSON.stringify($('MongoDB3').item.json.articles) }}\n\nGenerate a detailed outline for a blog post that:\n- Uses a strong **H1** as the main title\n- Includes **H2 subheadings** for each major section\n- Naturally incorporates the main keyword and related keywords\n- Follows this structure:\n 1. Intro\n 2. Background\n 3. Trend\n 4. Insight\n 5. Forecast\n 6. CTA\n- Is optimized for **featured snippet** inclusion on Google\n\nRespond in Markdown format. Include H1 and H2 tags.\n",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "106cb1f4-c0e0-4bb6-baf4-e73128beff58",
"name": "OpenAI 聊天模型6",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
800,
1860
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "404b3108-fd22-48dc-ad0c-cc96fdef6c6d",
"name": "代码7",
"type": "n8n-nodes-base.code",
"notes": "rank and choose the best one",
"position": [
300,
1640
],
"parameters": {
"jsCode": "const input = $('AI Agent3').first().json.output;\n\n// Add average_score to each item\nfor (const item of input) {\n item.average_score = (\n (item.uniqueness_score || 0) +\n (item.seo_score || 0) +\n (item.longtail_score || 0)\n ) / 3;\n}\n\n// Sort by average_score descending\ninput.sort((a, b) => b.average_score - a.average_score);\n\n// Return full sorted list + top blog title\nreturn {\n blog_title_ideas: input,\n blog_title: input[0].title,\n core_topic: $('AI Agent2').first().json.output.core_topic , \n _id: $('MongoDB3').first().json._id,\n completed_step : 4\n }\n"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "d690e954-bd1d-4e66-aca6-852a8054208e",
"name": "MongoDB7",
"type": "n8n-nodes-base.mongoDb",
"position": [
440,
1640
],
"parameters": {
"fields": "blog_title, blog_title_ideas, core_topic, completed_step",
"options": {},
"operation": "update",
"updateKey": "_id",
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "fddb3ed6-d327-45c7-b2bf-4ad22a2cb818",
"name": "AI代理6",
"type": "@n8n/n8n-nodes-langchain.agent",
"notes": "create blog content",
"position": [
1420,
1640
],
"parameters": {
"text": "=Use this information:\n\n- **Title**: {{ $('MongoDB3').item.json.blog_title }}\n- **Main Keyword**: {{ $('MongoDB3').item.json.main_keyword }}\n- **Related Keywords**: {{ JSON.stringify($('MongoDB3').item.json.related_keywords) }}\n- **Tone**: {{ $('MongoDB3').item.json.tone }}\n- **Outline**: {{ $('Code3').item.json.blog_outline }}\n- **Related Articles**: {{ JSON.stringify($('MongoDB3').item.json.articles) }}\n- **Citations**: {{ JSON.stringify($('MongoDB3').item.json.link_articles) }}\n\nInstructions:\n\n1. Write approximately 300 to 500 words per section outline\n2. Naturally include the main and related keywords.\n3. Incorporate:\n - At least 2 **citations** (link to or mention source_articles)\n - 1 analogy or example for clarity\n - Future implications or forecasts\n4. Maintain the tone: {{ $('MongoDB3').item.json.tone }}\n5. Write in Markdown format with:\n - `#` for H1\n - `##` for H2\n - bullet points, bold text, or italics where needed\n\nRespond with the full blog article only.\n",
"options": {
"systemMessage": "You are a professional blog writer for a leading AI publication.\n\nYour job is to write a complete, well-structured, SEO-friendly blog post."
},
"promptType": "define",
"hasOutputParser": true
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "520787ba-fe10-416d-846e-a63b588f52c2",
"name": "OpenAI 聊天模型7",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1360,
1860
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "gpt-4o"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "a41dbfe7-49a7-4b30-aa37-368d16d01b43",
"name": "MongoDB5",
"type": "n8n-nodes-base.mongoDb",
"position": [
1980,
1640
],
"parameters": {
"fields": "blog_article, completed_step",
"options": {},
"operation": "update",
"updateKey": "_id",
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "e8cb6a64-a778-4129-a74e-cfe8c4c00080",
"name": "代码5",
"type": "n8n-nodes-base.code",
"notes": "rank and choose the best one",
"position": [
1800,
1640
],
"parameters": {
"jsCode": "let blog_article = $('AI Agent6').first().json.output\nblog_article = blog_article\n .replace(/```markdown\\n?/g, '') // remove opening ```markdown\n .replace(/```/g, '') // remove closing ```\n .trim();\n\n// Step 2: Escape backslashes and double quotes\nblog_article = blog_article\n .replace(/\\\\/g, '\\\\\\\\') // escape backslashes\n .replace(/\"/g, '\\\\\"'); \n\nreturn {\n _id : $('Code7').first().json._id,\n blog_article: blog_article,\n completed_step : 6\n }\n"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "ca4193e1-d31a-4d6d-a059-5b6ce3a2b318",
"name": "代码",
"type": "n8n-nodes-base.code",
"position": [
2500,
-100
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "return {\n ...$input.item.json,\n completed_step: 2\n}"
},
"typeVersion": 2
},
{
"id": "8a55bbcc-9562-4334-9da7-ffefbd161091",
"name": "AI代理7",
"type": "@n8n/n8n-nodes-langchain.agent",
"notes": "generate meta data",
"position": [
2160,
1640
],
"parameters": {
"text": "=Based on the blog article below, generate:\n1. A **meta title** (max 60 characters)\n2. A **meta description** (max 160 characters)\n3. An **image alt text** for the featured image\n4. A **URL slug** based on the blog title and keyword\n5. A basic SEO report:\n - Keyword density for the main keyword\n - Count of passive voice sentences\n - Estimated Flesch reading score (0–100 scale)\n\nData:\n- Title: {{ $('MongoDB3').item.json.blog_title }}\n- Main Keyword: {{ $('MongoDB3').item.json.main_keyword }}\n- Related Keywords: {{ JSON.stringify($('MongoDB3').item.json.related_keywords) }}\n- Content: {{ $json.blog_article }}\n",
"options": {
"systemMessage": "You are an SEO expert."
},
"promptType": "define",
"hasOutputParser": true
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "65d65285-f403-4332-9f6e-e70dcca6eb13",
"name": "OpenAI 聊天模型8",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2100,
1860
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "ba552978-35a5-48e2-bfbe-6fccf69d03a3",
"name": "MongoDB6",
"type": "n8n-nodes-base.mongoDb",
"position": [
2700,
1640
],
"parameters": {
"fields": "=completed_step,meta_title,meta_description,image_alt_text, slug, seo_report",
"options": {},
"operation": "update",
"updateKey": "_id",
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "334c62b5-15b8-442c-9978-d94d90ee3926",
"name": "代码6",
"type": "n8n-nodes-base.code",
"notes": "rank and choose the best one",
"position": [
2540,
1640
],
"parameters": {
"jsCode": "return {\n _id : $('Code7').first().json._id,\n ...$input.first().json.output,\n completed_step : 7\n }\n"
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "12045d2a-a760-445b-bdbb-c7dd814e886f",
"name": "结构化输出解析器4",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2380,
1840
],
"parameters": {
"jsonSchemaExample": "{\n \"meta_title\": \"Why AI Code Review Tools Matter\",\n \"meta_description\": \"Explore how AI is reshaping code reviews and what it means for developers.\",\n \"image_alt_text\": \"AI reviewing code on a laptop screen\",\n \"slug\": \"ai-code-review-tools\",\n \"seo_report\": {\n \"keyword_density\": \"2.8%\",\n \"passive_voice_count\": 4,\n \"flesch_score\": 62.5\n }\n}"
},
"typeVersion": 1.2
},
{
"id": "abcd3bc8-6983-424b-9378-3db2be76e3a9",
"name": "MongoDB8",
"type": "n8n-nodes-base.mongoDb",
"position": [
-520,
2420
],
"parameters": {
"query": "{\"completed_step\":7}",
"options": {
"limit": 1
},
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "90e042a5-fd2d-4738-a0cd-c11128dd54f6",
"name": "OpenAI",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
60,
2640
],
"parameters": {
"prompt": "={{ $('MongoDB8').item.json.image_alt_text }}",
"options": {
"size": "1792x1024"
},
"resource": "image"
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.8
},
{
"id": "1d34c2fc-dc4a-4616-9651-22a920fc8ce7",
"name": "AI Agent4",
"type": "@n8n/n8n-nodes-langchain.agent",
"notes": "rate blog title ideas",
"position": [
-280,
2640
],
"parameters": {
"text": "=Use the blog title, main keyword, and image alt text to craft a image generation prompt that captures a human-centered, emotionally compelling moment related to the image alt text.\n\nImagine a scene that tells a story or captures a pivotal feeling — something symbolic, cinematic, and relatable. Think in terms of real-world settings, natural environments, recognizable objects, or subtle interactions that represent change, tension, or hope. Let the visual convey meaning without relying on text or overt symbols.\n\nAvoid abstract visualizations like circuits, networks, floating data, or robotic aesthetics. Instead, evoke emotion and narrative through setting, lighting, perspective, and atmosphere. Let the image feel like a glimpse into a personal story, a lived moment, or a metaphor unfolding.\n\nDo not include any text or words in the image.\n\nRespond only with the image generation rompt.\n\nBlog Titile: {{ $json.blog_title }}\nMain Keyword: {{ $json.main_keyword }}\nImage Alt Text: {{ $json.image_alt_text }}",
"options": {
"systemMessage": "You are a creative visual expert in marketing and digital design. Your job is to craft emotionally compelling image prompts that generate click bait images for social media posts\n"
},
"promptType": "define",
"hasOutputParser": true
},
"notesInFlow": true,
"typeVersion": 2
},
{
"id": "e1573b88-90fd-425a-93a5-5f6f71e90ded",
"name": "OpenAI 聊天模型5",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-280,
2860
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "k5QLUV8boAepwce0",
"name": "OpenAi account - jharilela@gmail.com - default project"
}
},
"typeVersion": 1.2
},
{
"id": "046d025b-01a8-4a29-9373-47bd051a70ef",
"name": "结构化输出解析器5",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-120,
2860
],
"parameters": {
"jsonSchemaExample": "{\n\t\"prompt\": \"Create a visually striking digital banner for a blog article titled 'Exploring the Future of Generative Models Through Latent Space Interpolation.' The banner should feature a vibrant and abstract representation of a 'latent space,' showcasing smooth, flowing transitions between diverse data point visuals like images, sounds, and patterns. Incorporate elements symbolizing generative models such as neural networks, GANs, and VAEs. Use a color palette that blends futuristic blues, purples, and tech-inspired gradients\"\n}"
},
"typeVersion": 1.3
},
{
"id": "fae23884-28f9-454d-a9a0-78efe85d2f24",
"name": "Wordpress1",
"type": "n8n-nodes-base.wordpress",
"position": [
1580,
2420
],
"parameters": {
"title": "={{ $('MongoDB8').first().json.blog_title }}",
"additionalFields": {
"slug": "={{ $('MongoDB8').first().json.slug }}",
"status": "draft",
"sticky": false,
"content": "={{ $json.blog_html }}",
"authorId": 3,
"categories": [
8
],
"postTemplate": {
"values": {}
},
"commentStatus": "closed"
}
},
"credentials": {
"wordpressApi": {
"id": "G1G8jDdEoWAVytQb",
"name": "Wordpress - anya@emp0.com"
}
},
"typeVersion": 1
},
{
"id": "51780c90-ac3f-4960-a5d1-fb038119ec43",
"name": "设置图片",
"type": "n8n-nodes-base.httpRequest",
"position": [
1760,
2420
],
"parameters": {
"url": "=https://articles.emp0.com/wp-json/wp/v2/posts/{{ $('Wordpress1').item.json.id }}",
"method": "POST",
"options": {},
"sendQuery": true,
"authentication": "predefinedCredentialType",
"queryParameters": {
"parameters": [
{
"name": "featured_media",
"value": "={{ $('Upload image2').item.json.id }}"
}
]
},
"nodeCredentialType": "wordpressApi"
},
"credentials": {
"wordpressApi": {
"id": "G1G8jDdEoWAVytQb",
"name": "Wordpress - anya@emp0.com"
}
},
"typeVersion": 4.2
},
{
"id": "d53f2502-4c15-45c3-a085-5c5d28cea827",
"name": "上传图片2",
"type": "n8n-nodes-base.httpRequest",
"position": [
860,
2420
],
"parameters": {
"url": "https://articles.emp0.com/wp-json/wp/v2/media",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "binaryData",
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Disposition",
"value": "=attachment; filename=\"img-{{ $('MongoDB8').item.json.slug }}.jpg\""
}
]
},
"inputDataFieldName": "data",
"nodeCredentialType": "wordpressApi"
},
"credentials": {
"wordpressApi": {
"id": "G1G8jDdEoWAVytQb",
"name": "Wordpress - anya@emp0.com"
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 5000
},
{
"id": "a37a09bb-f82d-462d-9e67-ee180097429b",
"name": "设置元标签1",
"type": "n8n-nodes-base.httpRequest",
"position": [
1940,
2420
],
"parameters": {
"url": "=https://articles.emp0.com/wp-json/wp/v2/posts/{{ $('Wordpress1').item.json.id }}",
"method": "PUT",
"options": {},
"jsonBody": "={\n \"meta\":{\n \"_yoast_wpseo_title\":\"{{ $('MongoDB8').item.json.meta_title }}\",\n \"_yoast_wpseo_metadesc\":\"{{ $('MongoDB8').item.json.meta_description }}\"\n }\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
},
"nodeCredentialType": "wordpressApi"
},
"credentials": {
"wordpressApi": {
"id": "G1G8jDdEoWAVytQb",
"name": "Wordpress - anya@emp0.com"
}
},
"typeVersion": 4.2
},
{
"id": "9363f64c-6494-419e-bc84-166f2013fc3c",
"name": "代码12",
"type": "n8n-nodes-base.code",
"position": [
1040,
2420
],
"parameters": {
"jsCode": "return { \n \"_id\" : $('MongoDB8').first().json._id,\n \"blog_image_url\": $input.first().json.source_url,\n completed_step : 8\n};\n"
},
"typeVersion": 2
},
{
"id": "2f149a7d-e6a8-4cdb-84a9-f474274fe4dc",
"name": "MongoDB15",
"type": "n8n-nodes-base.mongoDb",
"position": [
1220,
2420
],
"parameters": {
"fields": "=completed_step,blog_image_url",
"options": {},
"operation": "update",
"updateKey": "_id",
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "d687a052-adf1-4a3d-be85-94f7b0e8f772",
"name": "Wordpress2",
"type": "n8n-nodes-base.wordpress",
"position": [
2160,
2420
],
"parameters": {
"postId": "={{ $('Wordpress1').item.json.id }}",
"operation": "update",
"updateFields": {
"status": "publish"
}
},
"credentials": {
"wordpressApi": {
"id": "ROMzk4TNprbiDIjp",
"name": "wp - jay@emp0.com"
}
},
"typeVersion": 1
},
{
"id": "9a90e900-ad8e-490f-bf3a-8788cca624d5",
"name": "MongoDB16",
"type": "n8n-nodes-base.mongoDb",
"position": [
2560,
2420
],
"parameters": {
"fields": "completed_step, blog_status, blog_link",
"options": {},
"operation": "update",
"updateKey": "_id",
"collection": "blog"
},
"credentials": {
"mongoDb": {
"id": "TwJB8fMcekPw13qA",
"name": "MongoDB account - jharilela@gmail.com"
}
},
"typeVersion": 1.1
},
{
"id": "3292cb3b-22c0-43aa-8860-e1b2bcea3280",
"name": "代码14",
"type": "n8n-nodes-base.code",
"position": [
2360,
2420
],
"parameters": {
"jsCode": "return { \n \"_id\" : $('MongoDB8').first().json._id,\n \"blog_status\": \"Publish\",\n \"blog_link\" : $('Wordpress1').first().json.link, \n completed_step : 9\n};\n"
},
"typeVersion": 2
},
{
"id": "8dca0746-0c42-4597-93d7-26023f9c237e",
"name": "代码8",
"type": "n8n-nodes-base.code",
"position": [
1400,
2420
],
"parameters": {
"jsCode": "const markdown = $('MongoDB8').first().json.blog_article || '';\n\n// Simple replacements (limited Markdown support)\nlet html = markdown\n .replace(/^### (.*$)/gim, '<h3>$1</h3>')\n .replace(/^## (.*$)/gim, '<h2>$1</h2>')\n .replace(/^# (.*$)/gim, '<h1>$1</h1>')\n .replace(/\\*\\*(.*?)\\*\\*/gim, '<strong>$1</strong>')\n .replace(/\\*(.*?)\\*/gim, '<em>$1</em>')\n .replace(/\\[(.*?)\\]\\((.*?)\\)/gim, '<a href=\"$2\">$1</a>')\n .replace(/\\n$/gim, '<br />');\n\nhtml = `<div>${html}</div>`; // wrap in container\n\nreturn [{\n json: {\n blog_html: html\n }\n}];\n"
},
"typeVersion": 2
},
{
"id": "bd78a139-74de-4b89-980f-bc60d8c09b59",
"name": "HTTP 请求1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-180,
2420
],
"parameters": {
"url": "https://cloud.leonardo.ai/api/rest/v1/generations",
"method": "POST",
"options": {},
"jsonBody": "={\n \"modelId\": \"b2614463-296c-462a-9586-aafdb8f00e36\",\n \"contrast\": 3.5,\n \"prompt\": \"{{$json.prompt }}\",\n \"num_images\": 1,\n \"width\": 1472,\n \"height\": 832,\n \"styleUUID\": \"111dc692-d470-4eec-b791-3475abac4c46\",\n \"enhancePrompt\": true\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "content-type",
"value": "application/json"
},
{
"name": "accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "JvhQAEa4Frw0CDoq",
"name": "Leonardo AI"
},
"httpHeaderAuth": {
"id": "rGBKnDk3FO1WfA4z",
"name": "Header Auth - leonardo ai"
}
},
"typeVersion": 4.2
},
{
"id": "fa9d6f10-ea2e-442d-bce1-419e7cf9769a",
"name": "HTTP请求2",
"type": "n8n-nodes-base.httpRequest",
"position": [
360,
2420
],
"parameters": {
"url": "=https://cloud.leonardo.ai/api/rest/v1/generations/{{ $json.sdGenerationJob.generationId }}",
"options": {},
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "JvhQAEa4Frw0CDoq",
"name": "Leonardo AI"
},
"httpHeaderAuth": {
"id": "rGBKnDk3FO1WfA4z",
"name": "Header Auth - leonardo ai"
}
},
"typeVersion": 4.2
},
{
"id": "80ea7142-4fed-4469-881b-39139456e1ad",
"name": "等待",
"type": "n8n-nodes-base.wait",
"position": [
0,
2420
],
"webhookId": "c6eba895-fa7a-4113-88a0-8352816b4b98",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "928aaf73-65c1-4d21-85aa-abca6a723525",
"name": "HTTP请求3",
"type": "n8n-nodes-base.httpRequest",
"position": [
580,
2420
],
"parameters": {
"url": "={{ $json.generations_by_pk.generated_images[0].url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "ba31143c-c24a-40de-8fbb-b14976b91ec4",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-840,
2340
],
"parameters": {
"width": 3880,
"height": 800,
"content": "## 步骤8,9:生成图片并创建博客文章"
},
"typeVersion": 1
},
{
"id": "ba31cf93-d6ac-4a17-a19a-d5679f5da805",
"name": "每日获取文章1",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-760,
2420
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 2,
"triggerAtMinute": 20
}
]
}
},
"typeVersion": 1.2
},
{
"id": "5e3dbe1b-1f6f-440e-bbfd-7c3d02f4faea",
"name": "每日获取文章2",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-800,
860
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 2
}
]
}
},
"typeVersion": 1.2
},
{
"id": "6c16c912-c25a-42f9-bdc7-34d241e49255",
"name": "每日获取文章3",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-760,
1640
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 2,
"triggerAtMinute": 10
}
]
}
},
"typeVersion": 1.2
},
{
"id": "e3898031-6f85-4ff7-a868-c63016865d5e",
"name": "结构化输出解析器6",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1000,
1860
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"outline\": \"```markdown\\n# Navigating Legal Complexities in AI and Copyright: A Complete Guide\\n\\n## Introduction: The Intersection of AI and Copyright\\nThe rise of generative AI has sparked a seismic shift in the creative landscape, leading to a plethora of AI copyright issues that challenge traditional views on intellectual property. As artists, musicians, and creators increasingly turn to AI-generated content, the question arises: who owns the rights to these creations? In this guide, we will explore the nuances of AI copyright issues, the implications for creativity rights, and what the future holds for artists harnessing the power of AI.\\n\\n## Background: Understanding AI and Copyright\\nIn order to grasp the complexities of AI copyright issues, one must first understand the fundamentals of copyright law and its application to generative AI. Copyright is designed to protect original works of authorship, but the emergence of AI-generated content complicates this traditional framework. This section will cover:\\n- Key definitions of intellectual property.\\n- The role of creativity rights in copyright law.\\n- Examples of how traditional copyright has been challenged by advancements in generative AI technologies.\\n\\n## Trend: The Rise of Generative AI and Its Impact\\nThe increasing sophistication of generative AI tools means more creators are using these technologies to produce art and music. This trend raises significant questions about originality and ownership. In this section, we will discuss:\\n- Notable applications of generative AI in various creative fields.\\n- The ongoing debate surrounding the legality and ethics of AI-generated content.\\n- Highlighting perspectives from industry experts, including insights from creators like Ed Sheeran on the nature of creativity in a world shaped by AI.\\n\\n## Insight: The Tension Between Innovation and Copyright Law\\nAs the lines blur between human creativity and machine-generated art, there is a growing tension between innovation and the protection of creativity rights. This section will delve into:\\n- Case studies showcasing the struggles artists face in asserting ownership over AI-assisted works.\\n- Quotations from thought leaders, such as Ed Sheeran’s view on the shared building blocks of creativity.\\n- Analyzing the statements of influential figures who have commented on the implications of AI on artistic expression, including references to past artistic movements.\\n\\n## Forecast: The Future of AI Copyright Issues\\nLooking ahead, the legal frameworks surrounding AI copyright issues are likely to evolve. This section will provide:\\n- Predictions on how copyright law may adapt to accommodate the realities of generative AI.\\n- Insights into potential policy changes and reforms that could arise from ongoing debates.\\n- A discussion on the importance of fostering a balanced approach that respects creativity rights while encouraging innovation.\\n\\n## Call to Action: Join the Conversation\\nAs the landscape of AI-generated content continues to evolve, the need for informed stakeholders is more critical than ever. We encourage readers to engage in this important dialogue. Share your thoughts on AI copyright issues and how you see the future of creativity rights developing. Stay updated with our latest insights and contribute to shaping the future of intellectual property in the age of AI.\\n```\\n\"\n }\n]"
},
"typeVersion": 1.3
},
{
"id": "c5b15f9c-e367-4e5e-bb1d-84742b75efeb",
"name": "代码9",
"type": "n8n-nodes-base.code",
"position": [
-340,
2420
],
"parameters": {
"jsCode": "const base = $('MongoDB8').first().json.image_alt_text || '';\nconst cleanBase = base.replace(/[\"\\n\\r]/g, ''); // Remove double quotes and line breaks\nconst enrichedPrompt = `A cinematic, emotionally compelling scene involving people that captures the essence of: ${cleanBase}. Include visible human figures in natural interaction or meaningful posture, placed in a symbolic setting that reinforces the story.`;\n\nreturn [{\n json: {\n prompt: enrichedPrompt\n }\n}];\n"
},
"typeVersion": 2
},
{
"id": "d566905f-666f-4ec0-b3e8-3e2ed9e6121d",
"name": "将新闻转换为MD",
"type": "n8n-nodes-base.code",
"position": [
580,
980
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "function stripHtmlTags(html) {\n return html\n .replace(/<\\/?[^>]+(>|$)/g, '') // remove all HTML tags\n .replace(/ /g, ' ')\n .replace(/&/g, '&')\n .replace(/"/g, '\"')\n .replace(/'/g, \"'\")\n .replace(/</g, '<')\n .replace(/>/g, '>');\n}\n\nconst input = $json.body || \"\";\nconst markdownContent = stripHtmlTags(input).trim();\n\nreturn {\n json: {\n data: markdownContent\n }\n};\n"
},
"typeVersion": 2
},
{
"id": "155318c9-d262-43f1-b7ed-5a4fa8bedc84",
"name": "代码1",
"type": "n8n-nodes-base.code",
"position": [
1220,
980
],
"parameters": {
"jsCode": "// Get current item data\nlet article = $json.output || {};\n\narticle.link = $('Code10').first().json.link_articles;\n\n// Return with flattened structure\nreturn {\n json: {\n ...article\n }\n};\n"
},
"typeVersion": 2
},
{
"id": "f95f87f6-6125-4685-a772-cedc5ef6bb4e",
"name": "遍历项目",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-240,
860
],
"parameters": {
"options": {
"reset": false
}
},
"typeVersion": 3,
"alwaysOutputData": false
},
{
"id": "ea0b5f05-e784-44e6-9949-0c30d6dabf7d",
"name": "代码10",
"type": "n8n-nodes-base.code",
"position": [
0,
980
],
"parameters": {
"jsCode": "return $input.all();"
},
"typeVersion": 2
}
],
"pinData": {},
"connections": {
"Code": {
"main": [
[
{
"node": "MongoDB",
"type": "main",
"index": 0
}
]
]
},
"HTML": {
"main": [
[
{
"node": "Transform news to MD",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "HTTP Request2",
"type": "main",
"index": 0
}
]
]
},
"Code1": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Code3": {
"main": [
[
{
"node": "MongoDB4",
"type": "main",
"index": 0
}
]
]
},
"Code4": {
"main": [
[
{
"node": "MongoDB2",
"type": "main",
"index": 0
}
]
]
},
"Code5": {
"main": [
[
{
"node": "MongoDB5",
"type": "main",
"index": 0
}
]
]
},
"Code6": {
"main": [
[
{
"node": "MongoDB6",
"type": "main",
"index": 0
}
]
]
},
"Code7": {
"main": [
[
{
"node": "MongoDB7",
"type": "main",
"index": 0
}
]
]
},
"Code8": {
"main": [
[
{
"node": "Wordpress1",
"type": "main",
"index": 0
}
]
]
},
"Code9": {
"main": [
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
]
]
},
"Code10": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"Code12": {
"main": [
[
{
"node": "MongoDB15",
"type": "main",
"index": 0
}
]
]
},
"Code14": {
"main": [
[
{
"node": "MongoDB16",
"type": "main",
"index": 0
}
]
]
},
"Filter": {
"main": [
[
{
"node": "Set and Normalize Fields",
"type": "main",
"index": 0
}
]
]
},
"OpenAI": {
"main": [
[]
]
},
"MongoDB": {
"main": [
[]
]
},
"AI Agent": {
"main": [
[
{
"node": "Split Out2",
"type": "main",
"index": 0
}
]
]
},
"MongoDB1": {
"main": [
[
{
"node": "Split Out1",
"type": "main",
"index": 0
}
]
]
},
"MongoDB2": {
"main": [
[]
]
},
"MongoDB3": {
"main": [
[
{
"node": "AI Agent2",
"type": "main",
"index": 0
}
]
]
},
"MongoDB4": {
"main": [
[
{
"node": "AI Agent6",
"type": "main",
"index": 0
}
]
]
},
"MongoDB5": {
"main": [
[
{
"node": "AI Agent7",
"type": "main",
"index": 0
}
]
]
},
"MongoDB6": {
"main": [
[]
]
},
"MongoDB7": {
"main": [
[
{
"node": "AI Agent5",
"type": "main",
"index": 0
}
]
]
},
"MongoDB8": {
"main": [
[
{
"node": "Code9",
"type": "main",
"index": 0
}
]
]
},
"AI Agent1": {
"main": [
[
{
"node": "Code1",
"type": "main",
"index": 0
}
]
]
},
"AI Agent2": {
"main": [
[
{
"node": "AI Agent3",
"type": "main",
"index": 0
}
]
]
},
"AI Agent3": {
"main": [
[
{
"node": "Code7",
"type": "main",
"index": 0
}
]
]
},
"AI Agent4": {
"main": [
[]
]
},
"AI Agent5": {
"main": [
[
{
"node": "Code3",
"type": "main",
"index": 0
}
]
]
},
"AI Agent6": {
"main": [
[
{
"node": "Code5",
"type": "main",
"index": 0
}
]
]
},
"AI Agent7": {
"main": [
[
{
"node": "Code6",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"MongoDB15": {
"main": [
[
{
"node": "Code8",
"type": "main",
"index": 0
}
]
]
},
"Set Image": {
"main": [
[
{
"node": "Set metatag1",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Read RSS News Feeds",
"type": "main",
"index": 0
}
]
]
},
"Aggregate1": {
"main": [
[
{
"node": "Code4",
"type": "main",
"index": 0
}
]
]
},
"Split Out1": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Split Out2": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Wordpress1": {
"main": [
[
{
"node": "Set Image",
"type": "main",
"index": 0
}
]
]
},
"Wordpress2": {
"main": [
[
{
"node": "Code14",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "HTML",
"type": "main",
"index": 0
}
]
]
},
"Set metatag1": {
"main": [
[
{
"node": "Wordpress2",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request2": {
"main": [
[
{
"node": "HTTP Request3",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request3": {
"main": [
[
{
"node": "Upload image2",
"type": "main",
"index": 0
}
]
]
},
"Upload image2": {
"main": [
[
{
"node": "Code12",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "Aggregate1",
"type": "main",
"index": 0
}
],
[
{
"node": "Code10",
"type": "main",
"index": 0
}
]
]
},
"Text Classifier": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Text Classifier",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get Articles Daily": {
"main": [
[
{
"node": "Set Tech News RSS Feeds",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "AI Agent1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model3": {
"ai_languageModel": [
[
{
"node": "AI Agent2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model4": {
"ai_languageModel": [
[
{
"node": "AI Agent3",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model5": {
"ai_languageModel": [
[
{
"node": "AI Agent4",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model6": {
"ai_languageModel": [
[
{
"node": "AI Agent5",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model7": {
"ai_languageModel": [
[
{
"node": "AI Agent6",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model8": {
"ai_languageModel": [
[
{
"node": "AI Agent7",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get Articles Daily1": {
"main": [
[
{
"node": "MongoDB8",
"type": "main",
"index": 0
}
]
]
},
"Get Articles Daily2": {
"main": [
[
{
"node": "MongoDB1",
"type": "main",
"index": 0
}
]
]
},
"Get Articles Daily3": {
"main": [
[
{
"node": "MongoDB3",
"type": "main",
"index": 0
}
]
]
},
"Read RSS News Feeds": {
"main": [
[
{
"node": "Filter",
"type": "main",
"index": 0
}
]
]
},
"Transform news to MD": {
"main": [
[
{
"node": "AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"Set Tech News RSS Feeds": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Set and Normalize Fields": {
"main": [
[
{
"node": "Text Classifier",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "AI Agent1",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser2": {
"ai_outputParser": [
[
{
"node": "AI Agent2",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser3": {
"ai_outputParser": [
[
{
"node": "AI Agent3",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser4": {
"ai_outputParser": [
[
{
"node": "AI Agent7",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser5": {
"ai_outputParser": [
[
{
"node": "AI Agent4",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser6": {
"ai_outputParser": [
[
{
"node": "AI Agent5",
"type": "ai_outputParser",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
这是一个高级难度的工作流,适用于AI等场景。适合高级用户,包含 16+ 个节点的复杂工作流
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
内容生成器 v3
AI驱动博客自动化:使用GPT-4生成并发布SEO文章至WordPress和Twitter
If
Set
Code
+25
144 节点Jay Emp0
Content Creation
内容生成器 v4
内容农场v4 - 使用ChatGPT 5和Gemini实现WordPress博客自动化
If
Set
Code
+26
168 节点Jay Emp0
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+93
113 节点I versus AI
Other
(Duc)深度研究市场模板
集成PerplexityAI研究和OpenAI内容的多层级WordPress博客生成器
If
Set
Xml
+28
132 节点Daniel Ng
AI
WordPress博客自动化专业版(深度研究)v1
WordPress自动博客专业版 - 含深度研究的内容自动化机器
If
Set
Xml
+24
77 节点Daniel Ng
AI
宠物店 4
🐶 宠物店预约 AI 代理
If
Set
Code
+41
187 节点Bruno Dias
AI
工作流信息
难度等级
高级
节点数量81
分类1
节点类型19
作者
Jay Emp0
@jay-emp0AI and Automation developer. Im implementing n8n and ai tools to automate marketing and sales in companies
外部链接
在 n8n.io 上查看 →
分享此工作流