8
n8n 中文网amn8n.com

新闻简报自动化

高级

这是一个Social Media, AI Summarization领域的自动化工作流,包含 33 个节点。主要使用 If, Set, Code, Gmail, Merge 等节点。 使用QWEN和Gemma通过RSS订阅和Gmail构建个性化AI新闻简报

前置要求
  • Google 账号和 Gmail API 凭证
  • PostgreSQL 数据库连接信息
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "D52UhboStgsiDVAm",
  "meta": {
    "instanceId": "7d384291e91e15297c920da411b4548e6ae4d741e04867a6c78ba5c13a77872b",
    "templateCredsSetupCompleted": true
  },
  "name": "新闻简报自动化",
  "tags": [
    {
      "id": "t8g1bzyYGQM5ggH6",
      "name": "Gmail",
      "createdAt": "2025-06-26T18:21:38.576Z",
      "updatedAt": "2025-06-26T18:21:38.576Z"
    },
    {
      "id": "qIGNsK2mwRhrvcaf",
      "name": "Postgres",
      "createdAt": "2025-06-26T18:21:42.917Z",
      "updatedAt": "2025-06-26T18:21:42.917Z"
    },
    {
      "id": "clxg6SupwN47TnEt",
      "name": "RSS",
      "createdAt": "2025-06-26T18:21:48.079Z",
      "updatedAt": "2025-06-26T18:21:48.079Z"
    },
    {
      "id": "cYOPW2d1pSfhhhgG",
      "name": "n8n-local",
      "createdAt": "2025-06-26T18:22:07.129Z",
      "updatedAt": "2025-06-26T18:22:07.129Z"
    }
  ],
  "nodes": [
    {
      "id": "123481d3-0b79-4714-9a0e-25029d68342e",
      "name": "点击\"执行工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -2000,
        -540
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4ef0bcc5-7dca-41e6-adb5-0ef214c1e775",
      "name": "RSS 阅读",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -1640,
        -520
      ],
      "parameters": {
        "url": "https://www.all-ai.de/index.php?option=com_jmap&view=sitemap&format=rss",
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "ae5263dc-0d4a-433a-9a8a-fc40603cea53",
      "name": "精简信息",
      "type": "n8n-nodes-base.set",
      "position": [
        -1040,
        -400
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b99f2b41-0485-4100-a5fd-7d3a37134753",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            },
            {
              "id": "ed255d97-648b-4ee5-8752-4eb7656d288c",
              "name": "link",
              "type": "string",
              "value": "={{ $json.link }}"
            },
            {
              "id": "9ba890ae-c693-46b9-9082-f342cae52ba4",
              "name": "isoDate",
              "type": "string",
              "value": "={{ $json.isoDate }}"
            },
            {
              "id": "e2837fee-e337-47b9-8fd3-39c8cf1e25fd",
              "name": "content",
              "type": "string",
              "value": "={{ $json.content }}"
            },
            {
              "id": "00c5dbec-9f43-4cf2-b1d4-d14e56cc2075",
              "name": "word_count",
              "type": "string",
              "value": "={{ $json.word_count }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "153c2704-db7a-437f-b86e-afcc81fef4f1",
      "name": "解析输出为 JSON",
      "type": "n8n-nodes-base.code",
      "position": [
        -300,
        -580
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const input = $json.text || $json.data || $json.body || $input.item.json.text;\nconst match = input.match(/{[\\s\\S]*?}/);\n\nif (!match) {\n  throw new Error(\"No JSON object found in the input text.\");\n}\n\nlet parsed;\ntry {\n  parsed = JSON.parse(match[0]);\n} catch (e) {\n  throw new Error(\"Failed to parse JSON: \" + e.message);\n}\n\n// Return a single object (not an array!) in 'Run Once for Each Item' mode\nreturn { json: parsed };\n"
      },
      "typeVersion": 2
    },
    {
      "id": "e7067f37-1574-4340-85e5-d34c2e441b03",
      "name": "合并数据 LLM+RSS",
      "type": "n8n-nodes-base.merge",
      "position": [
        -360,
        -120
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "fieldsToMatchString": "title"
      },
      "typeVersion": 3.2
    },
    {
      "id": "b3647c5b-2d39-4592-bcfa-1a59602e8e78",
      "name": "评分 7+",
      "type": "n8n-nodes-base.if",
      "position": [
        -80,
        -580
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c0ce5ff3-8686-4c97-a314-26e1163fb80c",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.rating }}",
              "rightValue": 7
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "821473dc-ec1b-4abc-9256-7db14ca6df04",
      "name": "无操作,不执行任何操作1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -300,
        -400
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "51469de3-d400-4410-93f9-30bfe3df7a1b",
      "name": "解析输出 JSON",
      "type": "n8n-nodes-base.code",
      "onError": "continueErrorOutput",
      "position": [
        180,
        -300
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "// Try to get the input text from common fields\nconst input =\n  $json.text ||\n  $json.data ||\n  $json.body ||\n  $json.content ||\n  $input.item.json.text ||\n  $input.item.json.content ||\n  \"\";\n\n// Regex to match the first JSON object in the text (non-greedy)\nconst match = input.match(/{[\\s\\S]*?}/);\n\nif (!match) {\n  throw new Error(\"No JSON object found in the input text.\");\n}\n\nlet jsonString = match[0];\n\n// Clean up: Remove unescaped line breaks and fix bad escape sequences\njsonString = jsonString\n  // Replace unescaped line breaks inside JSON strings with \\n\n  .replace(/([^\\\\])\\\\n/g, '$1\\\\\\\\n') // double-escape existing \\n\n  .replace(/\\\\(?![\"\\\\/bfnrtu])/g, '\\\\\\\\') // escape lone backslashes\n  .replace(/[\\r\\n]+/g, ' '); // replace all CR/LF with space\n\nlet parsed;\ntry {\n  parsed = JSON.parse(jsonString);\n} catch (e) {\n  throw new Error(\"Failed to parse JSON: \" + e.message + \"\\nCleaned JSON: \" + jsonString);\n}\n\n// Only return title and summary\nreturn {\n  title: parsed.title,\n  summary: parsed.summary\n};\n"
      },
      "retryOnFail": true,
      "typeVersion": 2
    },
    {
      "id": "98a20c9b-c1e8-4f3e-a7e2-0c834f3e040f",
      "name": "合并数据 摘要 + 其余部分",
      "type": "n8n-nodes-base.merge",
      "onError": "continueRegularOutput",
      "position": [
        420,
        -140
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "fieldsToMatchString": "title"
      },
      "retryOnFail": true,
      "typeVersion": 3.2
    },
    {
      "id": "2146269b-3af2-4b27-9935-9cb78254466b",
      "name": "无操作,不执行任何操作2",
      "type": "n8n-nodes-base.noOp",
      "position": [
        420,
        -340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f3a0385f-ccc0-4c33-8990-e06d5d602dcc",
      "name": "格式化 HTML 邮件",
      "type": "n8n-nodes-base.code",
      "position": [
        780,
        -500
      ],
      "parameters": {
        "jsCode": "let html = `<h1>Dein KI-Newsletter</h1>`;\nfor (const item of items) {\n  html += `\n    <h2>${item.json.title}</h2>\n    <hr>\n    <p>${item.json.tags}</p>\n    <p>${item.json.isoDate}</p>\n    <p>${item.json.summary}</p>\n    <p><a href=\"${item.json.link}\">Link zum Thema</a></p>\n    <hr>`;\n}\nreturn [{ json: { newsletter: html } }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "040c7f49-3516-43d2-8bff-55b7bf7dbe6d",
      "name": "发送邮件新闻简报",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1020,
        -500
      ],
      "webhookId": "9520be00-9060-4953-bf96-b1e0a6301c65",
      "parameters": {
        "message": "=Hello AI Nerd,\n\nhere is your weekly dose of AI News.\n\n{{ $json.newsletter }}",
        "options": {},
        "subject": "AI News"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "cCb277azCGWyAYtD",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "cecc8919-8b7b-4a09-9d55-8d62520954b1",
      "name": "模型 QWEN3 14B-q4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOllama",
      "position": [
        -620,
        -320
      ],
      "parameters": {
        "model": "qwen3:14b-q4_K_M",
        "options": {}
      },
      "credentials": {
        "ollamaApi": {
          "id": "ysLr6PSOVMtUwU7u",
          "name": "Ollama account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5c8d5c75-30ff-47d3-8f68-c7e237c06584",
      "name": "模型 Gemma3 4B",
      "type": "@n8n/n8n-nodes-langchain.lmChatOllama",
      "position": [
        -180,
        -20
      ],
      "parameters": {
        "model": "gemma3:latest",
        "options": {}
      },
      "credentials": {
        "ollamaApi": {
          "id": "ysLr6PSOVMtUwU7u",
          "name": "Ollama account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a3c98eb4-dfe8-4e85-a0ed-2414c98f560f",
      "name": "评分与标记文章",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "onError": "continueErrorOutput",
      "maxTries": 2,
      "position": [
        -700,
        -560
      ],
      "parameters": {
        "text": "=You are an AI assistant. Here is an article:\nTitle: {{ $('Reduce informations').item.json.title }}\nContent: {{ $('Reduce informations').item.json.content }}\n\n{{ $json.my_interests }}\n\nTask:\n- Rate how well this article matches any of my interests (1 = not relevant, 10 = extremely relevant).\n- List which interests match.\n- Suggest 2-3 relevant tags.\n\nOutput JSON: \n{\n  \"title\": \"{{ $('Reduce informations').item.json.title }}\"\n  \"rating\": <1-10>,\n  \"matching_interests\": [...], \n  \"tags\": [...]\n}",
        "batching": {},
        "promptType": "define"
      },
      "retryOnFail": true,
      "typeVersion": 1.7,
      "waitBetweenTries": 3000
    },
    {
      "id": "3b144818-7855-4fd4-8d45-05fded3e34c3",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1500,
        -660
      ],
      "parameters": {
        "color": 3,
        "width": 560,
        "height": 800,
        "content": "## 比较数据集并精简数据"
      },
      "typeVersion": 1
    },
    {
      "id": "d2da2a34-c000-4e01-815b-4209d58c6d60",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        -660
      ],
      "parameters": {
        "color": 5,
        "width": 1040,
        "height": 800,
        "content": "## 对文章进行评分、摘要。仅保留评分 7+ 的文章"
      },
      "typeVersion": 1
    },
    {
      "id": "3ae51830-1f60-4dee-9635-d517797576d5",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        -660
      ],
      "parameters": {
        "color": 4,
        "width": 380,
        "height": 800,
        "content": "## 保存数据"
      },
      "typeVersion": 1
    },
    {
      "id": "c72d432b-c327-46b1-8366-7709cd9f8345",
      "name": "如果不存在则创建数据库和模式",
      "type": "n8n-nodes-base.postgres",
      "position": [
        -1780,
        -380
      ],
      "parameters": {
        "query": "CREATE SCHEMA IF NOT EXISTS ai_references;\n\nCREATE TABLE IF NOT EXISTS ai_references.n8n_newsletter (\n    id SERIAL PRIMARY KEY,\n    title VARCHAR(255) NOT NULL,\n    word_count INTEGER,\n    import_date TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n    pup_date TIMESTAMPTZ,\n    relevant BOOLEAN NOT NULL DEFAULT false,\n    score INTEGER NOT NULL DEFAULT 1 CHECK (score BETWEEN 1 AND 10)\n);",
        "options": {},
        "operation": "executeQuery"
      },
      "credentials": {
        "postgres": {
          "id": "nGHKHAU22fwIvYvp",
          "name": "Postgres - Supabase"
        }
      },
      "typeVersion": 2.6
    },
    {
      "id": "082655e9-3e98-4f99-bf16-65122d4de2ab",
      "name": "Postgres",
      "type": "n8n-nodes-base.postgres",
      "position": [
        -1460,
        -160
      ],
      "parameters": {
        "limit": 500,
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "n8n_newsletter",
          "cachedResultName": "n8n_newsletter"
        },
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "ai_references",
          "cachedResultName": "ai_references"
        },
        "options": {},
        "operation": "select"
      },
      "credentials": {
        "postgres": {
          "id": "nGHKHAU22fwIvYvp",
          "name": "Postgres - Supabase"
        }
      },
      "typeVersion": 2.6
    },
    {
      "id": "2df777fb-9f0e-426d-b545-ef09bdd52aa8",
      "name": "比较数据集",
      "type": "n8n-nodes-base.compareDatasets",
      "position": [
        -1240,
        -300
      ],
      "parameters": {
        "options": {},
        "mergeByFields": {
          "values": [
            {
              "field1": "title",
              "field2": "title"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "a0b43f07-0bf8-4868-a910-cddf252150f6",
      "name": "摘要文章",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "onError": "continueErrorOutput",
      "position": [
        -180,
        -240
      ],
      "parameters": {
        "text": "=You are a helpful summarizer.\n\n{{ $json.content }}\n\nGoal\nWrite a summary of maximum 170 words.\n\nRules\nDo NOT translate the text.\n\nAlways use the same language as the input text.\n\nIf the input is in German, write the summary in German. If the input is in English, write the summary in English. If the input is in another language, use that language for the summary.\n\nDo not add any explanations or comments.\n\nOutput JSON:\n{\n\"title\": \"{{ $json.title }}\",\n\"summary\": \"...\"\n}",
        "batching": {},
        "promptType": "define"
      },
      "retryOnFail": true,
      "typeVersion": 1.7
    },
    {
      "id": "268a046b-5035-4379-833b-dbd1cbcc7963",
      "name": "计数单词",
      "type": "n8n-nodes-base.code",
      "position": [
        -1300,
        -520
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "// Zählt die Wörter im content-Feld und fügt das Ergebnis als word_count hinzu\nconst content = $input.item.json.content || \"\";\nconst wordCount = content\n  .replace(/<[^>]*>/g, ' ') // HTML-Tags entfernen, falls vorhanden\n  .trim()\n  .split(/\\s+/)\n  .filter(Boolean)\n  .length;\n\n$input.item.json.word_count = wordCount;\nreturn $input.item;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "12795406-8265-4e5d-8776-69b7cfa8b007",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        180,
        -520
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "fieldsToMatchString": "title"
      },
      "typeVersion": 3.2
    },
    {
      "id": "f16b306b-0bf1-4055-8b68-ed526d5f885e",
      "name": "插入记录 <7",
      "type": "n8n-nodes-base.postgres",
      "position": [
        420,
        -520
      ],
      "parameters": {
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "n8n_newsletter",
          "cachedResultName": "n8n_newsletter"
        },
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "ai_references",
          "cachedResultName": "ai_references"
        },
        "columns": {
          "value": {
            "score": "={{ $json.rating }}",
            "title": "={{ $json.title }}",
            "pup_date": "={{ $json.isoDate }}",
            "relevant": false,
            "word_count": "={{ $json.word_count }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "number",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "required": true,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "word_count",
              "type": "number",
              "display": true,
              "required": false,
              "displayName": "word_count",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "import_date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "import_date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pup_date",
              "type": "dateTime",
              "display": true,
              "required": false,
              "displayName": "pup_date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "relevant",
              "type": "boolean",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "relevant",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "score",
              "type": "number",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "credentials": {
        "postgres": {
          "id": "nGHKHAU22fwIvYvp",
          "name": "Postgres - Supabase"
        }
      },
      "typeVersion": 2.6
    },
    {
      "id": "deb81770-297e-45c1-8d8a-711533aea50e",
      "name": "插入记录 >=7",
      "type": "n8n-nodes-base.postgres",
      "position": [
        600,
        -340
      ],
      "parameters": {
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "n8n_newsletter",
          "cachedResultName": "n8n_newsletter"
        },
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "ai_references",
          "cachedResultName": "ai_references"
        },
        "columns": {
          "value": {
            "score": "={{ $json.rating }}",
            "title": "={{ $json.title }}",
            "pup_date": "={{ $json.isoDate }}",
            "relevant": true,
            "word_count": "={{ $json.word_count }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "number",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "required": true,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "word_count",
              "type": "number",
              "display": true,
              "required": false,
              "displayName": "word_count",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "import_date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "import_date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "pup_date",
              "type": "dateTime",
              "display": true,
              "required": false,
              "displayName": "pup_date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "relevant",
              "type": "boolean",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "relevant",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "score",
              "type": "number",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "credentials": {
        "postgres": {
          "id": "nGHKHAU22fwIvYvp",
          "name": "Postgres - Supabase"
        }
      },
      "typeVersion": 2.6
    },
    {
      "id": "f67b0231-d8fa-4612-afa1-34a8f36092d2",
      "name": "计划触发器",
      "type": "n8n-nodes-base.scheduleTrigger",
      "disabled": true,
      "position": [
        -2000,
        -340
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "daysInterval": 3,
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "045e783e-bd35-491f-8a8b-975797ce5628",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -660
      ],
      "parameters": {
        "width": 200,
        "height": 340,
        "content": "## 在此处更改"
      },
      "typeVersion": 1
    },
    {
      "id": "6b3dd7fb-e6d0-4b0a-b90e-aad30f039853",
      "name": "设置您的兴趣",
      "type": "n8n-nodes-base.set",
      "position": [
        -880,
        -560
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "02c2b083-72a7-4f0b-9baa-811764f237f6",
              "name": "my_interests",
              "type": "string",
              "value": "=My interests are:\n1. AI Automation\n2. MCP - Model Context Protocol\n3. RAG Retrieval Augmented Generation\n4. European AI Act\n5. No Code or Low Code AI Tools\n\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "12ef2f98-75b4-499a-8b9a-5e4be6b29607",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -920,
        -660
      ],
      "parameters": {
        "width": 180,
        "height": 260,
        "content": "## 在此处更改"
      },
      "typeVersion": 1
    },
    {
      "id": "3ce9a754-5ebb-4bb5-a4bf-ea521fd2a3e0",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1800,
        -660
      ],
      "parameters": {
        "width": 280,
        "height": 500,
        "content": "## 在此处更改"
      },
      "typeVersion": 1
    },
    {
      "id": "5abd1d19-9285-4f2f-b183-1dc72509f52a",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2080,
        -660
      ],
      "parameters": {
        "width": 260,
        "height": 500,
        "content": "## 在此处更改"
      },
      "typeVersion": 1
    },
    {
      "id": "3336f355-fe93-4d10-9f1e-3ed750dca1b3",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        -660
      ],
      "parameters": {
        "width": 200,
        "height": 340,
        "content": "## 在此处更改"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "83e66c8c-65f6-46b9-baaf-4f787baae331",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Insert records <7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Postgres": {
      "main": [
        [
          {
            "node": "Compare Datasets",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "RSS Read": {
      "main": [
        [
          {
            "node": "Count words",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rating 7+": {
      "main": [
        [
          {
            "node": "Merge Data LLM+RSS",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Count words": {
      "main": [
        [
          {
            "node": "Compare Datasets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Model Gemma3 4B": {
      "ai_languageModel": [
        [
          {
            "node": "Summarize Article",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Compare Datasets": {
      "main": [
        [
          {
            "node": "Reduce informations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        []
      ]
    },
    "Format HTML EMail": {
      "main": [
        [
          {
            "node": "Send Email Newsletter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Output JSON": {
      "main": [
        [
          {
            "node": "Merge Data Summary + rest",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Article": {
      "main": [
        [
          {
            "node": "Parse Output JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Insert records >=7": {
      "main": [
        []
      ]
    },
    "Merge Data LLM+RSS": {
      "main": [
        [
          {
            "node": "Summarize Article",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge Data Summary + rest",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Model QWEN3 14B-q4": {
      "ai_languageModel": [
        [
          {
            "node": "Rating & Tagging Articles",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Set your Interests": {
      "main": [
        [
          {
            "node": "Rating & Tagging Articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reduce informations": {
      "main": [
        [
          {
            "node": "Set your Interests",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge Data LLM+RSS",
            "type": "main",
            "index": 1
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Parse Output to JSON": {
      "main": [
        [
          {
            "node": "Rating 7+",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Data Summary + rest": {
      "main": [
        [
          {
            "node": "Format HTML EMail",
            "type": "main",
            "index": 0
          },
          {
            "node": "Insert records >=7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rating & Tagging Articles": {
      "main": [
        [
          {
            "node": "Parse Output to JSON",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create DB and Schema if not exists": {
      "main": [
        [
          {
            "node": "RSS Read",
            "type": "main",
            "index": 0
          },
          {
            "node": "Postgres",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Create DB and Schema if not exists",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 社交媒体, AI 摘要总结

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量33
分类2
节点类型14
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者

Freelancer who loves to dig into new technologies and travel around the world

外部链接
在 n8n.io 查看

分享此工作流