乐于分享
好东西不私藏

OpenClaw 推送微信公众号完全指南

OpenClaw 推送微信公众号完全指南
 
   OpenClaw 推送微信公众号完全指南  
 
从零到一,手把手教你用 AI Agent 自动推送公众号文章
 

   💡 想让 AI 帮你写文章、排版、推送到公众号?OpenClaw 的 Agent 可以做到全流程自动化。本文将详细拆解整个推送链路,从 Token 获取到草稿创建,每一步都有代码示例和踩坑记录。  

 

📑 本文导航

 

一、整体架构与核心链路

 

二、前置准备(4 步搞定)

 

三、核心步骤详解(Token → 封面 → 草稿 → 发布)

 

四、Agent 自动化流程与排版要点

 

五、踩坑记录与解决方案

 

六、总结与速查表

 
   一、整体架构  
 

   OpenClaw 推送微信公众号的核心链路可以概括为 6 个步骤:  

   
   
Agent 撰写文章
       
HTML 排版
       
获取 Token
       
上传封面
       
创建草稿
       
手动发布
 
 

   其中,除最后一步"手动发布"外,其余环节均可由 Agent 自动完成。订阅号的 API 群发能力受限,建议创建草稿后在公众号后台手动发布。  

   
   

📁 涉及的关键文件

                                                                                                                                                                                                                                                       
文件作用
wechat-mp.json公众号配置(AppID、AppSecret)
.wechat_mp_token.txtAccess Token 缓存
.wechat_cover_media_id.txt封面图永久素材 ID
create-wechat-draft.js草稿创建脚本
push-wechat-article.js群发推送脚本(订阅号受限)
 
 
   二、前置准备  
   
   
     
1
     注册微信公众号    
   

     前往 mp.weixin.qq.com 注册账号。个人推荐订阅号(个人即可申请);如需更多 API 能力可选择服务号(需企业资质)。    

 
   
   
     
2
     获取 AppID 和 AppSecret    
   

     登录公众号后台 → 设置与开发 → 基本配置 → 记录 AppID,重置并保存 AppSecret。    

 
   
   
     
3
     配置 IP 白名单    
   

     在基本配置页面将服务器公网 IP 加入白名单,否则所有 API 调用会返回 errcode: 40164。    

 
   
   
     
4
     创建 OpenClaw 配置文件    
   
      // wechat-mp.json
{
  "app_id": "你的AppID",
  "app_secret": "你的AppSecret",
  "default_author": "作者名"
}
   
 
 
   三、核心步骤详解  
   
   

🔑 3.1 获取 Access Token

   

     Access Token 是调用微信 API 的"通行证",有效期 2 小时。每次推送前需确保 Token 有效。    

   
      // 请求地址
GET https://api.weixin.qq.com/cgi-bin/token
  ?grant_type=client_credential
  &appid=YOUR_APPID
  &secret=YOUR_SECRET
   
   
     

       ⚠️ 注意:Token 有效期 7200 秒(2 小时),每日获取上限 2000 次。建议本地缓存 + 过期时间判断,每 1.5 小时刷新一次。      

   
 
   
   

🖼️ 3.2 上传封面图片

   

     封面图推荐尺寸 900 × 383 像素,使用 JPG/PNG 格式,大小控制在 2MB 以内。    

   
      // 上传永久素材接口
POST https://api.weixin.qq.com/cgi-bin/material/add_material
  ?access_token=TOKEN&type=image

// Content-Type: multipart/form-data
// 字段名: media
   
   
     

       💡 小技巧:封面图作为永久素材上传,media_id 永久有效,只需上传一次即可反复使用。      

   
 
   
   

📝 3.3 创建草稿

   

     草稿是文章发布前的"暂存区",支持富文本 HTML 内容。这是整个流���中最核心的一步。    

   
      // 创建草稿接口
POST /cgi-bin/draft/add?access_token=TOKEN

{
  "articles": [{
    "title": "文章标题",
    "content": "<p>HTML 正文</p>",
    "thumb_media_id": "封面media_id",
    "author": "作者名",
    "digest": "摘要(120字内)",
    "show_cover_pic": 1
  }]
}
   
                                                                                                                                                                                                                                                                         
字段说明注意
title文章标题不超过 64 字
contentHTML 正文仅支持内联样式
thumb_media_id封面图 ID永久素材 ID
digest摘要不超过 120 字,用于分享卡片
 
   
   

🚀 3.4 发布文章

   
     
       

✅ 方式一:手动发布(推荐)

       

         登录公众号后台 → 草稿箱 → 预览排版 → 点击发表。最稳妥,可以最终确认内容。        

     
     
       

⚡ 方式二:API 群发(限制多)

       

         调用群发接口自动推送。订阅号每天 1 次,服务号每月 4 次,群发后不可撤回。        

     
   
 
 
   四、Agent 自动化流程  
 

   在 OpenClaw 中,整个推送流程被封装为 Agent 可执行的自动化任务链:  

   
   
     
     

主人下达写作任务(飞书/Discord/Telegram 均可触达)

   
   
     
     

Agent 撰写文章内容(Markdown 初稿)

   
   
     
     

Agent 转换为微信公众号 HTML(全内联样式排版)

   
   
     
     

Agent 执行脚本:刷新 Access Token + 创建草稿

   
   
     
     

通知主人去公众号后台预览并发布 📱

   
 
   
   

🎨 HTML 排版要点

   
     
       

✅ 支持

       

• 内联 style 属性

       

• section / p / span / table

       

• linear-gradient 渐变

       

• border-radius / box-shadow

     
     
       

❌ 不支持

       

• 外部 CSS / <style> 标签

       

• JavaScript

       

• iframe 嵌入

       

• position: fixed / absolute

     
   
   
     

       📐 推荐规范:正文 16px、行间距 1.75、段间距 15px、代码块深色背景 #2d2d2d、引用块灰底 + 左侧彩色边框。      

   
 
 
   五、踩坑记录与解决方案  
 
   

🔴 坑 1:Token 过期(errcode: 42001)

   

Access Token 超过 2 小时。解决:每次推送前先刷新 Token。

 
 
   

🔴 坑 2:IP 白名单未配置(errcode: 40164)

   

服务器 IP 不在白名单。解决:在公众号后台添加服务器公网 IP。

 
 
   

🔴 坑 3:HTML 样式丢失

   

使用了不支持的 CSS 属性。解决:全部内联样式,避免 position: absolute。

 
 
   

🔴 坑 4:封面图上传失败(errcode: 40009)

   

图片超 10MB 或格式不支持。解决:JPG/PNG,控制 2MB 以内。

 
 
   

🔴 坑 5:Content-Length 计算错误

   

中文用字符串长度导致乱码。解决:使用 Buffer.byteLength(data, 'utf8')

 
 
   六、总结速查��  
                                                                                                                                                                                                       
步骤方法频率
🔑 获取 TokenAPI 自动刷新每 1.5 小时
🖼️ 上传封面API 上传永久素材一次性
📝 创建草稿API + HTML 内容每篇文章
🚀 发布文章手动 / API 群发每篇文章
 

🎯 核心要点

 
   
     

🔑 Token 管理是基础
缓存 + 定时刷新

   
   
     

🎨 HTML 排版是重点
全部内联样式

   
   
     

📋 草稿模式最稳妥
先预览再发布

   
   
     

🤖 Agent 自动化
写作到推送一条龙

   
 
   

作者:龙之道 | 编辑:梅凝 ✍️

 

✨ 关注我们,获取更多 AI 工程化实战内容 ✨