微信公众号文章排版和发布技能。提供专业排版模板、图片上传、草稿发布等完整工作流。使用场景:(1) 创建公众号文章,(2) 上传图片到素材库,(3) 发布草稿到微信后台,(4) 装修案例/干货分享/客户故事等类型文章。
WeChat Article Publisher是一项面向实际任务的技能,主要用于微信公众号文章排版和发布技能;📋 使用前准备(首次使用必读!
⚠️ 公众号需要通过微信认证(未认证账号部分 API 受限);2. 获取 AppID 和 AppSecret;登录 微信公众平台;进入 开发 → 基本配置。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
微信公众号文章排版和发布技能。
AppID(应用 ID) - 类似 你的 APPIDAppSecret(应用密钥) - 类似 你的 APPSECRET微信 API 要求配置服务器 IP 白名单:
常见 IP 白名单配置:
{
"ipWhitelist": ["你的公网 IP", "你的服务器 IP 2", "你的服务器 IP 1"]
}
在技能目录创建 config.json:
{
"appId": "你的 AppID",
"appSecret": "你的 AppSecret",
"ipWhitelist": ["你的公网 IP"]
}
⚠️ 安全提醒:
config.json 包含敏感信息,不要上传到 ClawHubconfig.example.json 作为示例.gitignore运行测试命令验证配置是否正确:
# 获取 token(成功会返回一串字符) curl -s "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的 APPID&secret=你的 APPSECRET"
成功响应:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
失败响应:
{"errcode":40013,"errmsg":"invalid appid"}
问题现象:发布后文章内容显示为 这是文字 标签,而不是正常中文。
根本原因:
charset=utf-8✅ 正确解决方案(必须遵守!):
# ========== 第 1 步:获取最新 token(每次发布前都要重新获取!) ==========
TOKEN=$(curl -s "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=SECRET" | python3 -c "import sys,json; print(json.load(sys.stdin).get('access_token',''))")
# ========== 第 2 步:上传封面图 ==========
COVER=$(curl -s -X POST "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$TOKEN&type=image" -F "media=@/path/to/cover.jpg" | python3 -c "import sys,json; print(json.load(sys.stdin).get('media_id',''))")
# ========== 第 3 步:发布草稿(关键:-H "Content-Type: application/json; charset=utf-8") ==========
curl -s -X POST "https://api.weixin.qq.com/cgi-bin/draft/add?access_token=$TOKEN"
-H "Content-Type: application/json; charset=utf-8"
-d "{"articles":[{"title":"标题","content":"中文内容
","thumb_media_id":"$COVER"}]}"
⚠️ 四个必须(缺一不可!):
charset=utf-8 - -H "Content-Type: application/json; charset=utf-8"🧪 测试命令(发布前先用这个验证编码):
curl -s -X POST "https://api.weixin.qq.com/cgi-bin/draft/add?access_token=$TOKEN"
-H "Content-Type: application/json; charset=utf-8"
-d "{"articles":[{"title":"测试文字","content":"这是中文测试
能看到吗
","thumb_media_id":"$COVER"}]}"
❌ 错误做法(不要再犯!):
requests.post(url, json=data) 直接发布charset=utf-8# 使用 curl 命令发布(见上方「严重警告」章节的完整命令)
python3 scripts/upload_images.py /path/to/images/
适用于装修案例、实景展示等专业内容。
特点:
模板文件: assets/templates/professional.md
适用于快讯、通知等简单内容。
模板文件: assets/templates/simple.md
# 文章标题--- ## 空间 1
说明文字 --- ## 空间 2 ...
python3 scripts/upload_images.py /path/to/images/ # 输出图片 URL 列表
将上传的图片 URL 替换文章中的占位符。
唯一推荐方式(curl 命令):
# 1. 获取 token
TOKEN=$(curl -s "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的 APPID&secret=你的 APPSECRET" | python3 -c "import sys,json; print(json.load(sys.stdin).get('access_token',''))")
# 2. 上传封面
COVER=$(curl -s -X POST "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$TOKEN&type=image" -F "media=@/path/to/cover.jpg" | python3 -c "import sys,json; print(json.load(sys.stdin).get('media_id',''))")
# 3. 发布(注意:-H "Content-Type: application/json; charset=utf-8")
curl -s -X POST "https://api.weixin.qq.com/cgi-bin/draft/add?access_token=$TOKEN"
-H "Content-Type: application/json; charset=utf-8"
-d "{"articles":[{"title":"标题","content":"中文内容
","thumb_media_id":"$COVER"}]}"
❌ 禁止使用 Python 脚本直接发布(会导致乱码)
登录微信后台 → 草稿箱 → 检查 → 点发表
配置文件:config.json
{
"appId": "你的 AppID",
"appSecret": "你的 AppSecret",
"ipWhitelist": ["你的服务器 IP 1", "你的服务器 IP 2"]
}
现象:文章显示为 这是文字 标签
原因:编码格式不正确
解决方案:
-H "Content-Type: application/json; charset=utf-8"微信 API 未授权,无法直接发布。
解决方案: 使用草稿 API + 手动发表工作流。
图片未上传到微信素材库。
解决方案: 先用 upload_images.py 上传图片获取 URL。
Markdown 格式不正确。
解决方案: 使用提供的模板文件。
发布文章到微信草稿箱。
python3 scripts/publish_wechat.py[options] 选项: --template 模板名称 (viral/professional/simple) --cover-image 封面图路径 --output 输出 HTML 路径
⚠️ 注意:此脚本可能导致中文乱码,建议使用 curl 命令替代。
批量上传图片到微信素材库。
python3 scripts/upload_images.py输出: 图片 URL JSON 文件
references/ 目录公司:[你的公司名称] 网站:[你的网站] 电话:[你的联系电话] / [你的联系电话] 地址:[你的地址] 时间:9:00-18:00(周一至周日)
-H "Content-Type: application/json; charset=utf-8"...
标签)以上 5 项全部打勾后才能正式发布!