不要香了!n8n+AI,9步搞定公众号自动发文

你是不是也和我一样,在『内容为王』的时代,一边憧憬着爆款,一边又被排版、找素材、审核这些繁琐的重复劳动磨平了棱角?每次公众号推文前,都像是在经历一场小型战役:找对标、想主题、写初稿、改稿、找配图、排版、预览、发送……一套流程走下来,几个小时就没了。尤其是当灵感乍现时,却被这些机械性工作束缚,那种无力感,真让人头秃。

今日聊聊一个彻底解放重复工作的『黑科技』——用n8n搭建全自动公众号发布工作流。从寻找潜在爆款文章的灵感,到最终一篇图文并茂的推文躺进草稿箱,整个过程,我只需要提供一个对标文章链接和新的主题内容,剩下的由工作流自动完成。

具体流程,我把它总结成了下面这九步『秘籍』:

1. 智能表单触发

我们用一个简洁的前端表单或飞书多维表格作为整个工作流的『大脑中枢』,它负责接收你的指令:新主题内容、对标文章链接、甚至你偏爱的排版风格。所有变量,都会精准传递给后续每一个AI节点。小编我偷懒直接使用的是M有SQL,建议使用飞书多维表格。

2. 内容获取与格式化

Image

通过HTTP请求节点,我们首先抓取对标文章的HTML内容。接着,一个精心配置的Code节点登场,它就像一位熟练的『数据清洗师』,不仅能智能提取文章标题,还能清除冗余的HTML标签、特殊字符,将海量内容规整为简洁的纯文本。

以下是Code节点通过链接获取文章内容的代码参考(别怕代码!只要你能把需求讲清楚,大模型AI绝对能帮你写出完美的清洗逻辑。

// 获取抓取的HTML内容const html = $input.first().json.data;// HTML清理函数function cleanHtml(htmlContent) {  if (!htmlContent) return '无法获取内容';  // 移除script、style、nav等无用标签  let cleaned = htmlContent    .replace(/<script[^>]*>[\s\S]*?<\/script>/gi'')    .replace(/<style[^>]*>[\s\S]*?<\/style>/gi'')    .replace(/<nav[^>]*>[\s\S]*?<\/nav>/gi'')    .replace(/<header[^>]*>[\s\S]*?<\/header>/gi'')    .replace(/<footer[^>]*>[\s\S]*?<\/footer>/gi'');  // 移除所有HTML标签,保留纯文本  cleaned = cleaned.replace(/<[^>]+>/g' ');  // 清理特殊字符和多余空格  cleaned = cleaned    .replace(/&[^;]+;/g' ')    .replace(/\s+/g' ')    .trim();  return cleaned;}// 提取标题函数function extractTitle(htmlContent) {  // 优先提取title标签  const titleMatch = htmlContent.match(/<title[^>]*>([^<]+)<\/title>/i);  if (titleMatch && titleMatch[1].trim()) {    return titleMatch[1].trim().replace(/&[^;]+;/g'');  }  // 其次提取h1标签  const h1Match = htmlContent.match(/<h1[^>]*>([^<]+)<\/h1>/i);  if (h1Match && h1Match[1].trim()) {    return h1Match[1].replace(/<[^>]+>/g'').trim();  }  return '未找到标题';}// 处理内容const rawContent = cleanHtml(html);const title = extractTitle(html);// 限制内容长度(API限制)const maxLength = 6000;const content = rawContent.length > maxLength ?   rawContent.substring(0, maxLength) + '...[内容过长已截取]' : rawContent;// 返回结构化数据return {  原始链接: $input.first().json.article_url || '未知链接',  文章标题: title,  提取内容: content,  内容字数: content.length,  提取时间: new Date().toLocaleString('zh-CN', {timeZone'Asia/Shanghai'}),  内容预览: content.substring(0100) + '...'};

3. 爆款文章分析及AI智能仿写

接入强大的Agent,它会从多个维度深度剖析对标文章,提炼出『爆款基因』,高效产出符合调性的新文章。

4. 封面图自动生成

Image

内容再好,没有一张吸睛的封面图,也可能错失流量。我们无缝接入了即梦4.0的API,通过两个HTTP节点,先发送提示词生图,再下载并转换为Base64格式。你可以在火山引擎(www.volcengine.com/experience/ark?launch=seedream)轻松获取API密钥,按照官方文档配置,让AI绘画能力成为你『视觉营销』的利器。

5. 图片上传素材库

这一步至关重要,它将生成的图片上传到公众号素材库,获取永久的media-id。你需要安装并配置『n8n-nodes-wechat-work』社区节点,并建立好凭据,打通与公众号的连接,为后续发布做好充分准备。

6. 智能排版切换排版

公众号文章的排版风格往往能体现品牌调性。可以给工作流预设多种风格模板,然后,让AI利用仿写文章和参考排版HTML代码这两个变量,自动完成文章的精美布局,从此告别手动调整字体、行距、间距的繁琐操作。

7. 格式转换与发布

Image

最后,通过Code节点进行格式转换,确保所有内容都符合公众号草稿的发布规范。然后,利用添加草稿节点,一键完成发布。一篇从无到有、从构思到排版的文章,就此完美躺进你的公众号草稿箱,等待你的最终审阅。

现在,我只需要找到一篇对标文章,输入prompt,再选择心仪的排版风格,剩下的所有工作,这个自动化工作流都会在短短几分钟内搞定。从前需要耗费数小时的精雕细琢,现在只需几分钟的『一键操作』,一篇图文并茂、排版精良的公众号文章就能躺在我的草稿箱里,等待最后的审核。

这不仅大大提高了我的内容生产效率,更让我实现了『想到什么就发布什么』的自由,把思考和创造的时间真正还给自己。