autopyq 是一个 Windows 专用的微信朋友圈自动化发布 Skill。它支持纯文字、纯图片、图文结合三类发布场景,并提供一套模板图片自动抓取流程。
autopyq 支持以下场景:
- 发纯文字朋友圈
- 发纯图片朋友圈
- 发图文结合朋友圈
- 自动化抓取图片模板
它的工作方式可以简单理解为:
- Agent 会调用本地的发布工具
- 工具会在微信界面里查找几个关键位置
- 找到之后自动点击、粘贴内容、导入图片并发布
- 只能在 Windows 上使用
- 当前支持微信版本4.1.8
- 微信窗口必须在前台,不能最小化
- 执行过程中不要乱动鼠标和键盘
- 如果是发图片,最多 9 张
- 如果给 Agent 图片路径,必须是明确的本地文件路径
如果要发文字朋友圈,你只需要告诉 Agent:
- 要发的文案内容
如果要发图片或图文朋友圈,你需要告诉 Agent:
- 图片在哪个位置(本地路径或者自然语言描述,比如在某个文件夹)
- 如果有配文,再提供文案内容
Agent 一般会按下面的顺序执行:
- 整理本次要发布的文案和图片
- 准备一份临时发布目录
- 调用本地发布工具
- 自动进入朋友圈发布界面
- 自动导入图片或粘贴文案
- 找到发布按钮并完成发布
你只需要:
- 保持微信处于可见状态
- 不要拖动微信窗口
- 不要切换到别的窗口频繁操作
- 等待 Agent 执行完成
每次发布通常会生成一份本次运行的临时目录,里面可能包含:
- 文案文本
- 图片地址列表
- 日志文件
- 发布后的朋友圈界面截图
如果发布失败,日志通常能帮助 Agent 判断卡在哪一步。
模板图就是微信界面的特定区域截图,用来帮助工具判断“按钮在哪里”。
当前有 4 张主要模板图:
pyq1_bg.png:微信主界面左侧导航栏的朋友圈入口pyq2_bg.png:朋友圈窗口左上角的相机按钮pyq3_bg.png:朋友圈编辑区的占位文本位置pyq4_bg.png:朋友圈编辑对话框的发表按钮
出现下面这些情况时,通常就该重新抓取模板图了:
- Agent 明明在执行,但总是找不到朋友圈入口
- 能打开朋友圈,但找不到相机按钮
- 能进入编辑界面,但找不到文本输入区域
- 文案和图片都准备好了,但找不到发布按钮
模板抓取不需要自己手工截图和裁剪,由具备视觉能力的 Agent 来完成。
整体流程可以理解为:
- Agent 调用抓取工具,让微信停在目标界面
- 工具先保存整张窗口截图
- Agent 读取截图,确认目标按钮或文字是否正确出现
- Agent 继续缩小范围,提取合适的模板图
- 如果结果没问题,再替换旧模板
- 最后恢复微信窗口大小
pyq1:来自微信主界面左侧导航栏的朋友圈入口图标pyq2:来自朋友圈窗口左上角的相机按钮pyq3:来自朋友圈编辑器里的占位文字区域pyq4:来自已经进入可发布状态后的发表按钮
其中:
*_bg.png是实际运行时使用的模板*_bg_reference.png是参考图,只在抓取流程中辅助 Agent 进行视觉判断
如果微信更新后按钮样式、颜色、位置细节变化了,可能需要在更新参考图(自行截图或者从github更新Skill)后再重新抓取模板图
config.ini 位于 assets 目录下,它是这个 Skill 的核心配置文件
它主要控制这些内容:
- 微信主窗口、朋友圈窗口、文件选择窗口该怎么识别
- 模板匹配时使用哪几张模板图
- 模板匹配容差是多少
- 每一步等待多久、点击前后停顿多久
- 发布后是否保存截图
- 是否输出日志
使用过程中你可能会看到这些文件:
text.txt:本次发布的朋友圈文案image_list.txt:本次发布的图片路径列表log.txt:运行日志after_publish.png:发布后截图capture_*.png:模板抓取时保存的窗口截图window_state.ini:模板抓取时记录的窗口大小信息
你不一定需要自己处理这些文件,但它们对排障很重要。
使用者最常见的问题通常不是“程序出错了”,而是界面状态不满足自动化要求。比如:
- 微信没有打开在前台
- 微信窗口被挡住了
- 朋友圈窗口不是预期状态
- 微信更新后模板图不再适配
如果失败了,最有效的做法通常是:
- 保留失败现场
- 把日志和截图交给 Agent 继续分析
- 必要时重新抓取模板
- 这个仓库里同时包含发布工具、模板抓取工具和模板裁剪辅助工具
- 模板抓取时,真正负责“看图判断”的是具备视觉能力的 Agent
imgtool的定位是辅助裁剪,不是代替 Agent 自动理解整个界面截图