公众号发文自动化全流程
采集素材 → 文章写法 → 去AI味 → 皮肤设计 → 标题设计
深信号·教程

从一条选题到一篇能发的公众号文章

这一篇按「生产一篇文章的自然流程」讲透:素材从哪来 → 文章怎么写 → 怎么去掉 AI 味 → 套什么皮肤视觉 → 标题怎么定。流程跑通后,每天一篇可以全自动。

采集写作去AI味皮肤标题

目录(按生产顺序)

① 采集素材:内容从哪来 ② 文章写法:结构与人设 ③ 去 AI 味:别一眼看出是机器写的 ④ 皮肤设计:排版与视觉 ⑤ 标题设计:一句话让人点进来 ⑥ 自动化:从素材到草稿 ⑦ 连微信 API 自动发草稿(最落地一环)
1

采集素材:内容从哪来

第一环

好内容是第一步。素材源按优先级排:

采集的三个要点:

💡 经验:一篇文章要"新",最好在写的时候现场检索(近 90 天数据)注入引用,而不是只靠记忆里的旧知识。
2

文章写法:结构与人设

第二环

选好素材后,写作要有稳定的结构和鲜明的人设。

通用结构(科普类):

写作人设:固定一个"说话的人"——比如「某个生活化科普号」的定位就是生活化、通俗、不端着。人设稳定,读者才有粘性。

💡 经验:
  • 知识要新且硬核(读者喜欢"别人没有的内容"),但正文一定要生活化开头 + 类比,别掉书袋
  • 数字、结论必须有出处,不编造;预印本要标注"初步/仍待验证"
  • 每章配一张图,插图紧跟它说明的段落,不打断阅读
3

去 AI 味:别一眼看出是机器写的

关键

AI 生成的内容有固定腔调,读者一眼能闻出来。这是最容易被忽略、也最影响观感的一环。

必须禁用的 AI 腔模板词(黑名单,写进质检规则):

先说结论 / 总而言之 / 综上所述 / 值得一提 / 值得一提的是
不仅...而且... / 让我们来 / 在这个...的时代 / 赋能 / 解锁
总的来说 / 需要注意的是 / 然而值得注意的是

去 AI 味的实操方法:

💡 一句话标准:读起来像这个公众号的固定作者写的,而不是像任何 AI 写的。质检不只要"无语法错误",要"无 AI 腔"。
4

皮肤设计:排版与视觉

第四环

同一篇文章,排版好坏决定读者看不看得下去。给公众号定一套皮肤(皮肤 = 一套排版风格),全站统一。

皮肤要素:

实现方式:把皮肤写成程序里的排版函数(全行内样式),文章内容自动套用——而不是每篇手动排。这样皮肤是稳定可复用的,换主题 = 换一套皮肤。

# 伪代码:皮肤路由
def create_draft(article):
    if article["skin"] == "baike_magazine":
        html = beautify_baike_magazine(article)   # 博物风:墨绿+暖金
    elif article["skin"] == "ai_digest":
        html = beautify_ai_digest(article)        # 深空靛蓝+信号青
    else:
        html = beautify_minimal(article)          # 日系极简兜底
⚠ 封面文字是重灾区:AI 生图的中文经常竖排、截断、重复。经验:封面字要短(6-10 字核心句)、显式要求"横向排列禁竖排"、生成后程序自动质检文字是否完整未截断,不合格就重生成。
5

标题设计:一句话让人点进来

第五环

标题决定打开率。写好正文后,标题单独下功夫。

好标题的三要素:

标题生成策略(程序化):

短标题(≤16字) → LLM 生成口号(完整句) → 取第一个标点前的完整分句
→ 仍失败 → 前 12 字保底(绝不用 [:16] 硬切,会切出半句话)
⚠ 血泪坑:title[:16] 硬截断会切出"狗摇尾巴不只是开心?原来尾巴"这种半截话。宁可要短句,不要半句。

封面字 = 好标题:封面大图上的字,直接用标题的核心句(疑问句最佳),一句话足以。别放长句。

6

自动化:从素材到草稿

闭环

以上五环全部程序化后,整条流水线跑起来:

# 每日自动
1. 采集脚本 07:30 拉最新素材入库
2. 选题器选 1-2 条(常青/新知轮换)
3. 写稿 LLM 按结构 + 人设成文(注入新素材引用)
4. 质检硬闸:结构 / 字数 / HTML 白名单 / AI 腔黑名单
   → 不过 → 带原因全文重写一次
5. 配图:封面(画字)+ 正文插图(智能路由)
6. 皮肤排版 → 生成公众号 HTML
7. 连微信 API 自动建草稿(见下)
8. 封面视觉质检 → 通过才可发布

人要做的事只剩最后一环:打开草稿箱人工过目,确认无误再发布。

💡 相关工具: 《Hermes 接微信机器人》 · 《Hermes 接 QQ 机器人》 (让 Hermes 网关把周报/提醒推到你微信/QQ)
7

连微信 API 自动发草稿(最落地的一环)

核心

排版完的 HTML 不会自己进公众号后台——要调微信公众平台 API把它建成「草稿」,你最后只需在草稿箱点发布。三步:

① 拿 Access Token(公众号已认证,有 AppID/AppSecret):

GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的AppID&secret=你的AppSecret
# 返回 {"access_token": "xxx", "expires_in": 7200}  → token 2小时有效, 缓存复用

② 把文章 HTML 建成草稿(draft/add):

POST https://api.weixin.qq.com/cgi-bin/draft/add?access_token=TOKEN
# body:
{"articles": [{
  "title": "标题",
  "author": "作者名",
  "digest": "摘要",
  "content": "排版后的文章HTML",   # 行内样式, 微信编辑器支持
  "thumb_media_id": "封面图media_id",  # 先传图片素材拿到
  "need_open_comment": 1,
  "only_fans_can_comment": 0
}]}
# 返回 {"media_id": "xxx"} → 这就是草稿ID, 存起来
⚠ 三个高频坑(都是真实翻车记录):
  • 写请求必须 json.dumps(body, ensure_ascii=False):默认 True 会把中文变成 \uXXXX 字面串,标题正文全乱码
  • 读响应别用 r.json():微信响应头常不带 charset,requests 按 latin1 猜编码,中文变 mojibake——用 json.loads(r.content.decode('utf-8'))
  • IP 白名单:API 只认公众号后台「IP 白名单」里的服务器出口 IP,不在列表直接 40164;加白后要等几分钟到几小时才生效

③ 封面图:先调 /cgi-bin/material/add_material?type=image 上传封面图拿 media_id,再填进 draft/add 的 thumb_media_id。

发布:草稿建好后,人工到公众号后台「草稿箱」过目 → 点发布。想全自动直接发,调 /cgi-bin/freepublish/submit(提交发布,仍建议人工确认后再发,避免翻车)。

💡 更新草稿别用 draft/update(容易 40007 invalid media_id 翻车):删掉旧的重新 add,稳定可靠。
本文基于实际公众号自动化流水线经验 · 由知微编写 · 2026-09-27