8
n8n 中文网amn8n.com

使用AI规划、Linkup搜索和GPT-5创建研究支持的文章

高级

这是一个Content Creation, Miscellaneous, AI RAG, Multimodal AI领域的自动化工作流,包含 19 个节点。主要使用 Set, SplitOut, Aggregate, FormTrigger, HttpRequest 等节点。 使用AI规划、Linkup搜索和GPT-5创建研究支持的文章

前置要求
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "nodes": [
    {
      "id": "954ed22b-db88-4708-82f8-63beed6317de",
      "name": "新建文章表单",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -944,
        -704
      ],
      "webhookId": "61cdfeab-f3ce-4b9a-925b-63f813c267f9",
      "parameters": {
        "options": {},
        "formTitle": "New article",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Article title",
              "placeholder": "10 ways to do Influencer Marketing in 2025",
              "requiredField": true
            },
            {
              "fieldLabel": "Article guidelines",
              "placeholder": "Promote xyz and write in British English...",
              "requiredField": true
            }
          ]
        },
        "formDescription": "Fill in this form to trigger the generation of a new article."
      },
      "typeVersion": 2.3
    },
    {
      "id": "4d44933f-1e99-46cf-919d-0942acb2ccb7",
      "name": "准备表单值",
      "type": "n8n-nodes-base.set",
      "position": [
        -688,
        -704
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ec4734ed-654f-478a-ab90-91bfcee1e208",
              "name": "Title",
              "type": "string",
              "value": "={{ $json['Article title'] }}"
            },
            {
              "id": "c034402e-a7b9-4c91-aaed-f24a838c3d91",
              "name": "Guidelines",
              "type": "string",
              "value": "={{ $json['Article guidelines'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5553922c-69d4-4de7-8a07-a38c37238b50",
      "name": "结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -256,
        -480
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, ut enim ad minim veniam?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur?\"\n  }\n]"
      },
      "typeVersion": 1.2
    },
    {
      "id": "2b5dee40-df1b-41cb-8691-bf43158ff50e",
      "name": "GPT 5 mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -384,
        -480
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "dMiSy27YCK6c6rra",
          "name": "Duv's OpenAI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "4e25660b-428e-416c-91a0-63cc04104196",
      "name": "拆分问题",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        16,
        -704
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output"
      },
      "typeVersion": 1
    },
    {
      "id": "39c18e8e-5d8f-4f54-9b0c-009fa3f4b966",
      "name": "循环遍历问题",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        272,
        -720
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "924c6121-8fd7-413b-9a77-9b77054dd481",
      "name": "GPT 5 聊天",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        864,
        -1056
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-chat-latest",
          "cachedResultName": "gpt-5-chat-latest"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "dMiSy27YCK6c6rra",
          "name": "Duv's OpenAI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a9f80b58-8767-49ce-a1b3-b310a39f40dc",
      "name": "文章结果",
      "type": "n8n-nodes-base.set",
      "position": [
        1200,
        -1280
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "d3b8c4bc-27d9-4d57-b8d6-3a40b84d7b7d",
              "name": "Article",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a0c64516-6639-4164-8271-600a35a7eda2",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        -720
      ],
      "parameters": {
        "color": 7,
        "width": 224,
        "height": 352,
        "content": "连接您的 linkup.so 凭据(在请求头中添加 API 密钥或使用为 Linkup 存储的\"通用凭据\")"
      },
      "typeVersion": 1
    },
    {
      "id": "04528097-0fdb-432d-9847-5741eef25624",
      "name": "汇总研究内容",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        528,
        -1072
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "Content to leverage"
      },
      "typeVersion": 1
    },
    {
      "id": "45d07062-280c-41f4-a6ec-f1d50ce3ac22",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1680,
        -1008
      ],
      "parameters": {
        "width": 544,
        "height": 752,
        "content": "# AI 文章研究与写作团队"
      },
      "typeVersion": 1
    },
    {
      "id": "7fa303e2-3f58-4c34-b4ae-d7d17a4062b7",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        -848
      ],
      "parameters": {
        "color": 6,
        "width": 976,
        "height": 608,
        "content": "## 从网络获取每个子问题的见解"
      },
      "typeVersion": 1
    },
    {
      "id": "59d256ae-0dee-4e9a-aeef-d674f97473bb",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        -1440
      ],
      "parameters": {
        "color": 5,
        "width": 368,
        "height": 512,
        "content": "## 基于见解和初始请求的 AI 步骤撰写最终文章"
      },
      "typeVersion": 1
    },
    {
      "id": "61489602-8823-4dc7-87aa-16870a543dcc",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        -848
      ],
      "parameters": {
        "color": 6,
        "width": 480,
        "height": 608,
        "content": "## 将主题分解为子问题"
      },
      "typeVersion": 1
    },
    {
      "id": "653763b7-3438-4085-8888-fb332a6d3cd2",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1024,
        -832
      ],
      "parameters": {
        "color": 4,
        "width": 272,
        "height": 304,
        "content": "## 填写此表单以请求新文章"
      },
      "typeVersion": 1
    },
    {
      "id": "148a3000-ed6b-42a9-9c18-d7595cc1b754",
      "name": "查询 Linkup 获取见解",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        608,
        -672
      ],
      "parameters": {
        "url": "https://api.linkup.so/v1/search",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "q",
              "value": "=Find 5 specific and meaningful insights about the topic:\n\n\"{{ $json.question }}\" \n\nthat would strengthen an article paragraph. Each insight should be a concrete finding, statistic, research result, or illustrative example (not just generic background), and should come from a robust source."
            },
            {
              "name": "depth",
              "value": "standard"
            },
            {
              "name": "outputType",
              "value": "structured"
            },
            {
              "name": "structuredOutputSchema",
              "value": "={\n  \"type\": \"object\",\n  \"properties\": {\n    \"insights\": {\n      \"description\": \"A list of 5 insights about the topic\",\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"insight\": {\n            \"description\": \"A one-sentence key insight, finding, or example about the topic\",\n            \"type\": \"string\"\n          },\n          \"url\": {\n            \"description\": \"The URL of the source where the insight is from\",\n            \"type\": \"string\"\n          },\n          \"title\": {\n            \"description\": \"The title of the page containing the insight\",\n            \"type\": \"string\"\n          }\n        },\n        \"required\": [\"insight\", \"url\", \"title\"]\n      }\n    }\n  }\n}"
            },
            {
              "name": "fromDate",
              "value": "={{ \n  $now\n    .minus($json['News from last x days'], 'days')\n    .startOf('day')\n    .toISO()\n}}"
            },
            {
              "name": "includeImages",
              "value": "false"
            }
          ]
        },
        "genericAuthType": "httpBearerAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "W7AgeoVOv60DlvyS",
          "name": "Linkup - web search AI"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1af07cce-2414-4cfb-9320-099fe697e9ae",
      "name": "格式化问题和见解",
      "type": "n8n-nodes-base.set",
      "position": [
        960,
        -464
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1e33a1f4-a1a2-4962-ac72-cc518d7ff043",
              "name": "Question",
              "type": "string",
              "value": "={{ $('Loop Over Questions').item.json.question }}"
            },
            {
              "id": "903bcf38-13dd-48fb-8eb3-83f7a232aa53",
              "name": "Insights",
              "type": "array",
              "value": "={{ $json.insights }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "7d217bf4-1209-4e0c-bdf8-0c4dce7b7f82",
      "name": "生成研究问题",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -384,
        -704
      ],
      "parameters": {
        "text": "=Content title:  {{ $json.Title }}\n\nArticle guidelines: {{ $json.Guidelines }}\n\n",
        "messages": {
          "messageValues": [
            {
              "message": "=You will receive a content title and an angle. Return 3–5 non-overlapping questions in JSON array format that cover everything needed to write excellent content as it breaks down the topic into sub-questions.\n\nGuidelines:  \n- Start with simple, short broad questions for example to define the terms (e.g., What is X?, Why is X important?, How to do X?).  \n- Then move into more specific, advanced, or analytical questions.  \n- Ensure questions together form a complete coverage of the topic.   \n\n## Output format:\n\nYou'll return the questions in such a JSON ARRAY:\n\n[\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, ut enim ad minim veniam?\"\n  },\n  {\n    \"question\": \"Lorem ipsum dolor sit amet, consectetur?\"\n  }\n]"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.5
    },
    {
      "id": "083922d8-71ec-4f1f-9451-f5b18cbc0880",
      "name": "生成 AI 输出",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        784,
        -1280
      ],
      "parameters": {
        "text": "=Article title:\n\n{{ $('Prepare form values').first().json.Title }}\n\nArticle guidelines:\n\n{{ $('Prepare form values').first().json.Guidelines }}\n\n\nInsighs to leverage:\n\nThis Q&Insights research provides high-quality insights, and sources for your content. Be sure to include source links in your output whenever a source was used.\n\n{{ JSON.stringify($json['Content to leverage'], null, 2) }}\n",
        "messages": {
          "messageValues": [
            {
              "message": "=# Role\n\nYour role is to write an article based on the request in the user message.\n\n# What the user message contains\n\nThe user message includes the article title, any guidelines to follow, and a comprehensive set of insights. These insights should be smoothly integrated within the article's content to fact-base it and ensure is qualitative through the leverage of multiple sources. \nInterate the source links smoothly as hyperlinks in the article.\n\n# How to write good articles\n\nYou excel at writing articles by making sure that they deliver value, are concise, seem like they are human-written, not using typical AI useless sentence formulations.\n\n# Your output format\n\nOutput only the full article.\n\n* Begin with a `# H1` title.\n* Use subheadings throughout the article."
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.5
    }
  ],
  "connections": {
    "GPT 5 chat": {
      "ai_languageModel": [
        [
          {
            "node": "Generate the AI output",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "GPT 5 mini": {
      "ai_languageModel": [
        [
          {
            "node": "Generate research questions",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "New article form": {
      "main": [
        [
          {
            "node": "Prepare form values",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Questions": {
      "main": [
        [
          {
            "node": "Aggregate research content",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Query Linkup for insights",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare form values": {
      "main": [
        [
          {
            "node": "Generate research questions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out Questions": {
      "main": [
        [
          {
            "node": "Loop Over Questions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate the AI output": {
      "main": [
        [
          {
            "node": "Article result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Generate research questions",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Query Linkup for insights": {
      "main": [
        [
          {
            "node": "Format question and insights",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate research content": {
      "main": [
        [
          {
            "node": "Generate the AI output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate research questions": {
      "main": [
        [
          {
            "node": "Split Out Questions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format question and insights": {
      "main": [
        [
          {
            "node": "Loop Over Questions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 内容创作, 杂项, AI RAG 检索增强, 多模态 AI

需要付费吗?

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

工作流信息
难度等级
高级
节点数量19
分类4
节点类型10
难度说明

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

作者
Guillaume Duvernay

Guillaume Duvernay

@duv

AI and automation expert

外部链接
在 n8n.io 查看

分享此工作流