Communitygithub.com

413162826/kevinsu-skills

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

kevinsu-skills 是什麼?

此技能提供一套純 PowerShell 解決方案,用於透過微信官方 API (api.weixin.qq.com) 建立並驗證圖片類型的草稿,完全不需要瀏覽器或 RPA 工具。它專為 Windows 和 PowerShell 7.2+ 環境設計,利用 DPAPI 安全儲存 AppSecret 憑證,並確保所有網路請求皆在 PowerShell 程序內完成。技能的運作流程包括離線素材驗證、首次憑證設定、上傳圖片並建立 news pic 草稿,以及最後透過回讀 API 驗證草稿內容的正確性。此外,它還實作了嚴格的冪等性控制與異常處理機制,例如使用鎖定檔案避免並發執行、在網路中斷時停止操作而非自動重試,從而確保每一步操作的可追溯性與資料一致性。

相容平台~Claude Code✓Codex 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 兜底。

相關技能