WorkBuddy 一键发公众号:文档图片自动进草稿箱完整指南
公众号草稿箱完整指南
🖼️ AI 配图
📤 自动发布
❓ 避坑指南
WorkBuddy 是腾讯推出的桌面 AI 助手,具备文件读取、代码执行、网络请求等能力。实现公众号自动发布的核心链路如下:
整套流程中,WorkBuddy 承担了内容解析 → AI 撰写/改写 → HTML 排版 → API 请求的全部环节,你只需最后在公众号后台点一下”发布”。
在 WorkBuddy 能与公众号对话之前,需要完成以下三步后台设置:
登录 微信公众平台 mp.weixin.qq.com → 设置与开发 → 基本设置 → 找到 AppID 和 AppSecret(点击”重置”可重新获取)。妥善保管,切勿泄露。
同页面 → IP 白名单 → 将调用 API 的服务器 IP 加入。若用 WorkBuddy 本机调用,需填写本机出口 IP(可访问 ip.sb 查询)。
errcode: 40164,这是 90% 新手失败的原因!
草稿箱接口需要认证服务号权限;订阅号无法使用草稿发布接口(但可创建草稿)。在”接口权限”页确认”草稿箱”和”素材管理”已开通。
所有微信接口调用都需要先换取临时凭证,有效期 7200秒(2小时),建议本地缓存。
get_token.py
APPID = “wx0e073baab666b1bd”
SECRET = “11b623762e20327c3b18eba0b5e8fe67”
CACHE = “token_cache.json”
def get_access_token():
# 读缓存,未过期直接返回
if os.path.exists(CACHE):
cache = json.load(open(CACHE))
if time.time() – cache[“ts”] < 7000:
return cache[“token”]
url = (f”https://api.weixin.qq.com/cgi-bin/token”
f”?grant_type=client_credential”
f”&appid={APPID}&secret={SECRET}”)
resp = json.loads(urllib.request.urlopen(url, timeout=15).read())
token = resp[“access_token”]
json.dump({“token”: token, “ts”: time.time()}, open(CACHE, “w”))
return token
公众号文章正文中的图片必须先上传到微信服务器,拿到 URL 后再嵌入 HTML;封面图需要拿到 thumb_media_id。
upload_image.py
def upload_img_for_content(img_path, token):
# 正文图片:返回可在 HTML 中直接使用的 url
url = (f”https://api.weixin.qq.com/cgi-bin/media/uploadimg”
f”?access_token={token}”)
with open(img_path, “rb”) as fp:
resp = requests.post(url, files={“media”: fp}).json()
return resp[“url”] # 嵌入 <img src=”…”>
def upload_thumb(img_path, token):
# 封面缩略图:返回 thumb_media_id(永久素材)
url = (f”https://api.weixin.qq.com/cgi-bin/material/add_material”
f”?access_token={token}&type=thumb”)
with open(img_path, “rb”) as fp:
resp = requests.post(url, files={“media”: fp}).json()
return resp[“media_id”]
调用 draft/add 接口,将 HTML 内容、标题、封面 media_id 一次性提交。
create_draft.py
def create_draft(token, title, html_content, thumb_media_id,
author=“WorkBuddy”, digest=“”):
url = f”https://api.weixin.qq.com/cgi-bin/draft/add?access_token={token}”
body = {
“articles”: [{
“title”: title,
“author”: author,
“digest”: digest,
“content”: html_content,
“thumb_media_id”: thumb_media_id,
“need_open_comment”: 1,
“only_fans_can_comment”: 0
}]
}
resp = requests.post(url,
data=json.dumps(body, ensure_ascii=False).encode(“utf-8”),
headers={“Content-Type”: “application/json;charset=utf-8”}).json()
return resp # {“media_id”: “xxx”} 或 {“errcode”: …}
在 WorkBuddy 对话框中,你只需说:
生成一张科技蓝渐变封面,然后用 AppID=wx0e073b…、
AppSecret=11b62… 推送到草稿箱,标题叫「2026 Q1 产品季报」”
WorkBuddy 会自动拆解任务,依次执行文件读取 → 内容生成 → 封面生成 → API 调用,全程无需人工干预。
好的封面能让点击率翻倍。WorkBuddy 提供两种 AI 配图方案:
WorkBuddy 直接生成 SVG 代码,根据文章标题自动选配色和字体,零依赖,适合快速发布。
调用 WorkBuddy 的 image_gen 工具,输入一句描述词生成封面插图,更具视觉冲击力。
内置 10 种渐变配色,根据标题哈希自动选择,保证每篇文章风格统一但不重复。
本地图片经 uploadimg 接口上传后拿到 CDN URL,自动替换 HTML 中的本地路径,无需手动处理。
| 错误码 | 含义 | 解决方案 |
|---|---|---|
| 40164 | IP 不在白名单 | 公众号后台 → 基本设置 → IP白名单 → 添加当前出口IP |
| 40001 | access_token 无效/过期 | 重新获取 Token,勿超过 2h;建议缓存并自动刷新 |
| 40013 | AppID 不合法 | 检查 AppID 是否复制完整,注意大小写 |
| 45009 | 接口调用超限 | 每日 API 调用有限额(草稿接口每天10万次),合理使用 |
| 48001 | 接口无权限 | 订阅号无发布权限,需认证服务号;或接口未在后台开通 |
| 中文乱码 | 编码问题 | 确保 JSON 序列化时 ensure_ascii=False,文件读取用 utf-8 |
| 图片不显示 | 图片来源不合规 | 正文图片必须先上传到微信素材库,不能用第三方 CDN 直链 |
- AppSecret 属于高度敏感信息,不要明文写入代码仓库,建议用环境变量存储
- access_token 全局唯一,多处同时刷新会互相覆盖,建议用统一服务管理
- 草稿创建成功不等于文章发布,还需在公众号后台手动点击”发布”(或调用 freepublish 接口)
- 订阅号不支持自动发布接口,只能创建草稿等待人工审核发布
uploadimg 接口上传,获取 URL 后替换 HTML 中的图片引用,实现图文完整迁移。
articles 数组可以传多个对象,最多 8 篇,每篇独立设置标题、封面、内容。在 WorkBuddy 中告诉它”生成3篇图文”即可。
FREQ=DAILY;BYHOUR=9;BYMINUTE=0,提示词写明任务内容,WorkBuddy 会在每天早9点自动执行完整发布流程。
- 文档/PDF/图片一句话指令,自动生成公众号图文
- AI 自动配图:SVG 封面、渐变背景、内容插图一键生成
- 全自动调用微信草稿箱 API,无需打开浏览器
- 每篇文章从素材到草稿箱 ≈ 5 分钟,效率提升 6–12 倍
- 支持定时自动化,实现”每天早上9点自动推稿”
- ① 公众号后台 配置 IP 白名单(必做,否则 40164)
- ② 对话 WorkBuddy:告诉它文件路径 + AppID + AppSecret + 标题
- ③ WorkBuddy 自动:解析 → 排版 → 生成封面 → 上传图片 → 调草稿 API
- ④ 公众号后台:草稿箱找到文章,确认无误后一键发布
- ⑤ 设置定时自动化,从此每日内容发布全托管给 AI
内容基于微信开放文档及社区实战经验整理
夜雨聆风