Communitygithub.com

413162826/kevinsu-skills

微信公众号草稿 API Skills:只用官方 API,不依赖浏览器或 RPA

kevinsu-skills 是什麼?

kevinsu-skills is a Codex agent skill that 微信公众号草稿 API Skills:只用官方 API,不依赖浏览器或 RPA.

相容平台~Claude CodeCodex CLI~Cursor
npx skills add 413162826/kevinsu-skills

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

微信公众号贴图 API

只使用 api.weixin.qq.com 官方接口创建并验收图片消息草稿。不启动浏览器,不调用发布、群发或删除接口,也不提供 RPA 兜底。

环境

要求 Windows 与 PowerShell 7.2+。AppSecret 使用当前 Windows 用户的 DPAPI 加密,默认保存到 $env:CODEX_HOME\secrets;未设置 CODEX_HOME 时使用 $env:USERPROFILE\.codex\secrets。网络请求在 PowerShell 进程内完成,不把 access token 传给外部命令。

输入与离线校验

执行前完整阅读 references/package-contract.md。素材目录必须包含 image-post.json 和 1–20 张图片;account 必须明确填写,留言字段不得缺省。

先定位 Skill,再离线校验:

$codexHome = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $env:USERPROFILE '.codex' }
$skill = Join-Path $codexHome 'skills\wechat-image-api'
& (Join-Path $skill 'scripts\Test-WeChatImagePackage.ps1') -InputFolder 'D:\贴图素材目录'

需要完整示例时,在一个尚未包含示例文件的新目录中生成并校验:

& (Join-Path $skill 'scripts\New-WeChatImagePackageExample.ps1') -OutputFolder 'D:\贴图示例'

首次配置

两个微信 API Skill 可共用同一份 DPAPI 凭据。凭据不存在时,不让用户在聊天中粘贴 AppSecret;运行本机交互式配置:

& (Join-Path $skill 'scripts\Set-WeChatOfficialAccountCredential.ps1')
& (Join-Path $skill 'scripts\Test-WeChatOfficialAccountApi.ps1')

第二条命令验证 AppID、AppSecret、草稿权限和 IP 白名单。素材包 account 必须与配置时保存的公众号名称严格一致。

如果微信返回 40164 invalid ip,立即停止并把错误中的公网出口 IP 告诉用户,提醒其进入“设置与开发 → 开发接口管理 → IP 白名单”添加该 IP。用户确认后只重试同一官方 API;禁止改走浏览器、RPA、Cookie Profile 或其他发布通道。

创建并验收草稿

只有用户明确要求写入草稿后才运行:

& (Join-Path $skill 'scripts\Publish-WeChatImageDraft.ps1') -InputFolder 'D:\贴图素材目录'

脚本逐张上传图片到 material/add_material,再用 draft/add 创建 newspic 草稿;第一张由微信作为封面。最后用 draft/get 回读并核对账号、标题、正文、图片顺序、留言设置和 media_id

幂等与异常边界

  • 每个素材目录使用独占锁,同一目录不能并发执行。
  • 检查点只在确认收到 media_id 后推进;已记录草稿 ID 时,重复执行只回读验收,不重复创建。
  • 如果网络或进程中断在图片上传或 draft/add 提交阶段,结果可能不确定。后续执行必须停止,禁止自动重试;先人工核对素材库或草稿箱,再使用新目录继续。
  • 素材指纹变化但存在旧检查点时停止,不静默清空状态。
  • 状态与回执使用同目录临时文件原子替换,避免留下半截 JSON。
  • 只有 draft/get 回读全部字段通过,才报告“草稿创建并验收通过”;不得报告“已发表”。
  • 回执写入 wechat-image-api-receipt.json。任一官方 API 失败均原地报告,本 Skill 没有浏览器/RPA 兜底。

相關技能