把文章排版成微信公众号合规 HTML,并可通过公众号官方 API 上传图片、管理草稿、在用户最后确认后提交正式发布。
作者 / Author:KerryChia
把下面这段话发给任意 ZCode / Codex agent,它会自动讲解、安装并配置本 skill:
帮我接入这个 skill:https://github.com/KerryChia/wechat-publisher
把它 clone 到 skills 目录,读 SKILL.md 和 README.md 了解它的排版与发布工作流,
需要凭证时引导我填 .env(WECHAT_APP_ID / WECHAT_APP_SECRET),不要猜测或回显 Secret。
装好后告诉我能用哪些命令触发排版、草稿和发布。
本仓库是可公开的 skill 源码与脚本;本地请复制 .env.example → .env 自行填写。详见 SECURITY.md。
第一次接入、不知道 AppID / AppSecret 在哪取、IP 白名单怎么配?skill 内置了从零引导:见 references/onboarding.md。它会带你走完「取凭证 → 配白名单 → 填 .env → 验证通」四步,并附认证类型对照和常见卡点速查。
组件化手写 HTML 是默认方案:按文章内容选择视觉配方、组件和静态 SVG 信息图,输出可复制到公众号编辑器的移动端预览。无公众号认证、无 API 凭证也可使用。
- 多种内容配方:观点人物、数据分析、案例方法、产品技术、新闻信号。
- 组件全部使用微信安全的内联样式。
- 图片可使用真实素材、静态 SVG 或明确标注的占位;不编造图片 URL。
- Markdown 仍支持固定主题快速渲染,但定位为临时/低格式要求的兜底方案。
从 references/article-template.html 开始,并阅读:
references/formatting-workflow.mdreferences/design-system.mdreferences/style-recipes.mdreferences/components.md
对已认证且有接口权限的公众号,脚本保留并扩展官方 API 工作流:
cd scripts
npm install
# 只做本地检查,不上传、不请求 API
npx tsx publish.ts article.html --check
# 写入草稿箱
npx tsx publish.ts article.html --title "标题" --author "作者" --cover cover.jpg
# 管理草稿
npx tsx publish.ts --list
npx tsx publish.ts --show <media_id>
npx tsx publish.ts --update <media_id> article.html --title "新标题"
npx tsx publish.ts --delete <media_id>
# 正式发布:仅在用户紧接此前给出最终确认后运行
npx tsx publish.ts --publish <media_id> --confirm-publish正式发布不是创建草稿的副作用。提交前必须展示目标标题和草稿 media_id,在对话中再获得用户一次明确确认;提交后继续查询状态,不能将“已受理”误报为“已发布”。
复制 .env.example 为 .env,填写:
| 变量 | 用途 |
|---|---|
WECHAT_APP_ID |
公众号 AppID |
WECHAT_APP_SECRET |
公众号 AppSecret |
OPENAI_API_KEY |
仅 --gen-cover 时需要 |
运行机器的公网 IP 必须已加入公众号后台 API 白名单。不要提交或回显 .env 内的 Secret。
- 支持
.html/.htm组件化 HTML 与.mdMarkdown;完整 HTML 的可发布正文置于ARTICLE HTML START/END标记区。 - 正文只使用内联
style,不使用style标签、class、id、脚本、定位布局、动画或互动 SVG。 - 静态内联 SVG 可用于图表;API 正文图片单张 ≤1 MB(jpg/png/gif),封面 ≤10 MB。
- 微信接口权限、内容审核和平台策略可能使草稿创建或正式发布失败;请以 API 返回状态为准。
详细规则见 references/wechat-html-spec.md;接入步骤见 references/integration-workflow.md。
用本 skill 排版后发布到公众号的实样:AI 每日简报 · 7 月 17 日