引子:你的内容创作,是否也陷入了“工蚁”模式?
想象一下这个场景:你只需提供一个关键词,比如“今日运势”,然后点击一下“执行”。几分钟后,一篇包含多个爆款标题、正文、甚至封面图的文章,就自动出现在了你的微信公众号草稿箱里,随时等待你的最终审核和发布。
完整工作流执行
你的整个工作流:
点击 Execute Workflow,输入“今日运势”创作主题几分钟后,观看你的 AI 内容官开始工作。
等待所有节点都成功执行完毕后,登录你的微信公众号后台,进入“草稿箱”,你会惊喜地发现,五篇全新的、图文并茂的文章已经静静地躺在那里了!
本次自动化工作流,我们使用 n8n 强大的工作流编排能力,将整个内容创作过程串联成一条全自动的流水线。
备注:为了简化示例,这里咱先忽略封面图的样式,正文的格式等问题,先把整个流程跑通。
读完这篇教程,你将亲手搭建起这个属于你自己的、7x24小时待命的“AI内容官”,将你从繁琐的运营工作中彻底解放出来!
我们的流水线构成:
-
大脑 (AI模型): 使用 DeepSeek (或其他AI服务) 负责内容构思、撰写和图片生成。
-
传送带 (n8n): 作为流程自动化的核心,调度和连接所有服务。
-
执行器 (Wechat OffiAccount 插件): 负责将最终产出的内容精准推送到微信公众号后台。
最终实现的效果:
[输入关键词] -> [AI生成标题] -> [AI撰写正文] -> [AI生成封面图] -> [上传素材到微信] -> [创建公众号草稿]
在开始前,请确保你已经完成了:
n8n 正常运行(Docker 或其他方式)。 2. 2. 拥有一个 AI 服务商(如 DeepSeek)的 API Key,并在 n8n 中配置好了相应的凭证。
已按照我们之前的讨论,成功配置好了 Wechat OffiAccount API 凭证(这个我们放在第二部分详细说)。
步骤 1:起点 - 手动触发器
为了方便测试,我们使用表单触发器。
在工作流中点击 + 号,添加一个 Trigger 节点。我们选择 On form submission 。
这个节点需要配置主题等内容,是我们整个流水线的“启动按钮”。
步骤 2:AI 大脑 - 构思爆款标题
添加一个 AI Agent 节点,连接到 Trigger 节点。
接下来,需要配置 ChatModel。Model: 选择一个你喜欢的模型,我配置的是 DeepSeek。
- Authentication: 选择你配置好的 AI 凭证。
- Prompt: 在输入框中,粘贴以下提示词。这个提示词会引导 AI 思考并给出多个标题选项。
你是一位资深的社交媒体内容专家,尤其擅长撰写引人注目的微信公众号标题。请根据我提供的核心主题“{{ $json['主题'] }}”,为我生成5个爆款文章标题。 要求: 1. 每个标题都要有吸引力,能够激发读者的好奇心。 2. 风格可以多样,例如疑问式、痛点式、利益式等。 3. 以无序列表(Markdown格式)返回,每个标题一行。
然后,点击测试。看到右侧有 output 内容输出,则代表这个节点已经配置成功了。
为了能够让大模型输出的内容方便后续节点执行,我们还需要再增加一个结构化输出的约束。
把这个按钮点开。
然后,我们可以看到 AIAgent 下面多了一个 Output Parser 连接点,我们点击后,选择 Structured Output Parser,结构化输出解析。
接下来,配置解析的字段要求:
{ "type": "object", "properties": { "title": { "type": "string" } }}
接下来,我们回到工作流页面,点击测试。
然后,系统会弹开一个表单页面,让我们填。
填写完成后,点击提交。在下面的运行记录中,我们看到已经成功了。AIAgent 能够根据我们的主题要求,输出 5 个微信公众号标题。而且输出的数据格式是 Json,我们要的 title 是包在了一个 String 字符串内。
接下来,我们需要把这个 title 字符串里包的 5 个 title 解析出来,在AIAgent节点后添加一个 Code 节点。
输入这段解析代码:
// Loop over input items and split the title string into multiple JSON objectsfor (const item of $input.all()) { // Get the title string from the input const titleString = item.json.output.title; // Split the string by newline to get individual titles const titles = titleString.split('\n'); // Create an array to hold the split titles const titleList = []; // Process each title and add to the array for (const title of titles) { // Remove the numbering prefix (e.g., "1. ", "2. ") if present const cleanTitle = title.replace(/^\d+\.\s*"/, '"'); titleList.push({ title: cleanTitle }); } // Replace the output with the split titles item.json.output = titleList;}return $input.all();
为了能够让后面的 AI 大模型节点能够继续一个标题一个标题输出文章正文,我们需要再添加一个 SplitOut 节点,把左侧的 output 拖进来,你就能把一个 1item 的输入变成 5item 的输出。
OK,一切准备就绪,接下来,我们要写正文了。
步骤 3:AI 大脑 - 撰写文章正文和配图提示词
因为我们一口气要写 5 篇文章,所以,我们需要在 SplitOut 后添加一个 LoopOverItems 节点,循环遍历 5 个标题,分别为 5 个标题撰写 5 篇正文。然后,在循环节点内,添加一个 AIAgent。
同样的,我们配置上 DeepSeek 模型。
写正文的 Prompt: 粘贴以下提示词。
这里我们用 n8n 的表达式 {{ $json.title }} 来引用上一个节点生成的标题。
你是一位专业的科技领域作家,请根据我提供的文章标题,撰写一篇大约800字的微信公众号文章,并且为这篇文章生成封面图提示词。 要求: 1. 结构清晰,包含引言、主体(可以分点论述)、和结论。 2. 语言流畅,通俗易懂,适合大众阅读。 3. 使用 Markdown 格式进行排版,例如使用 ## 表示二级标题,使用 ** 加粗关键内容。 文章标题是:{{ $json.title }}your output must be json。there is the sample:{"content":"这里是正文"," prompt":"这里是生图提示词"}
同样,点击测试。很好,DeepSeek已经把正文和配图提示词写好了。
步骤 4:AI 画师 - 生成封面图
因为n8n 对国内的大模型生态支持还不完全够,所以,我们的封面图生成,需要使用 Http 节点调用国内的大模型。接下来,我们以豆包生图模型 API 的配置调用为案例,讲解封面图生成的过程。
在写正文的 AIAgent 后添加一个 HTTP Request 节点。
你需要提前准备好豆包的生图模型 API。
这里是对应的 API 文档。https://www.volcengine.com/docs/82379/1541523
你需要提前申请好对应的 APIKey。
点开配置,方式选择 POST,URL 是:
https://ark.cn-beijing.volces.com/api/v3/images/generations
接下来,继续配置 key,打开 Send Headers。
再配置请求体:
Json 内容如下:
{ "model": "doubao-seedream-3-0-t2i-250415", "prompt": {{ $json.output.prompt.toJsonString() }}, "response\_format": "b64\_json", "seed": 12, "guidance\_scale": 2.5, "watermark": false}
这个节点执行后,会输出图片的二进制数据,这是下一步的关键。
步骤 5:上传封面图到微信服务器
这是我们的 n8n-nodes-wechat-offiaccount 插件首次登场!添加一个 Wechat OffiAccount 节点。
选择 add (新增永久素材) 或 addTemporary (新增永久素材)。
Credential: 提前选择你配置好的微信公众号凭证(后面详细说怎么配置)。
但是,上传到服务器之前,还需要经过一些处理。
在 HTTP Request 节点和 Media:upload media节点之间,需要增加两个节点。一个是 EditFields,用于提取生成的 base64 代码,另外一个节点是 Convert to File,将 base 64 转换成 file。
第一个节点这么配置,只提取 b64_json 内容,其他的都不要。
接下来,我们还得把b64_json转换成 file。
然后,再执行一下微信上传服务器的进度:
这个节点会把 AI 生成的图片上传到微信的服务器,并返回一个至关重要的 media_id。
步骤 6:终点 - 创建公众号草稿
万事俱备,只欠东风!
再添加一个 Wechat OffiAccount 节点。
Credential: 同样选择你的微信公众号凭证。
Resource: 选择 Draft (草稿箱)。
Operation: 选择 add (新增草稿)。
接下来,配置 Article ,这里为了简化步骤,我设置了文章类型、标题、作者、正文和封面图。
[ { "article\_type":"news", "title":{{$('Loop Over Items').item.json.title.toJsonString()}}, "author":"木乐乐数据", "content":{{ $('写正文和主图生图提示词').item.json.output.content.toJsonString() }}, "thumb\_media\_id":{{ $json.media\_id.toJsonString() }} } ]
OK,点击执行。
进到微信公众号后台,查看执行结果!非常棒,我的草稿已经生成了!
恭喜你!你已经成功将自己从内容生产的繁琐流程中解放了出来。这只是一个开始,你还可以继续扩展这个工作流,比如:
- 定时运行: 将 Manual 触发器换成 Cron 节点,实现每天自动生成内容。
- 多平台分发: 在创建微信草稿后,再添加 HTTP Request 或其他平台的插件节点,将内容一键分发到所有渠道。
- 内容源多样化: 从 RSS、数据库、甚至邮件中读取主题,实现无人值守的内容创作。
现在,去享受自动化带来的高效与便捷吧!
第 1 步:安装插件
n8n 社区节点的安装方法如下,点击左下角 Setting。
选择 Community nodes,点击 install,输入n8n-nodes-wechat-offiaccount就可以完成安装。
接下来,回到 workflow 的创建面板,选择 Wechat Official Account Node
选择发布 发布草稿
接下来,需要完成鉴权配置。
第 2 步:获取微信公众号的 AppID 和 AppSecret
登录你的微信公众平台 (https://mp.weixin.qq.com/)。
在左侧菜单中,找到并点击 “设置与开发” -> “开发接口管理”。
在这里,你可以找到你的 开发者ID(AppID) 和 开发者密码(AppSecret)。请复制并妥善保管这两个值,我们稍后会用到。
第 3 步:在 n8n 中添加凭证 (Credentials)
打开你的 n8n 工作流界面。
在左侧菜单栏,点击 “Credentials” -> “Add credential”。
在搜索框中,输入 Wechat OffiAccount API 并选择它。
在弹出的配置窗口中,填入你在上一步获取的 AppID 和 AppSecret。
点击 “Save”,保存凭证。
第 4 步:配置服务器白名单
为了让 n8n 能够成功调用微信公众号的接口,你需要将你的 n8n 服务器的 IP 地址添加到微信公众号的 IP 白名单中。
在微信公众平台的 “设置与开发” -> “基本配置” 页面,找到 “IP白名单”。
点击 “查看”,然后添加你的 n8n 服务器的公网 IP 地址。
然后回到 n8n查看 Credentials account 的状态,变成绿色的了!
至此,你的 n8n 微信公众号插件已经安装并配置完毕!
