公众号排版 skill:Markdown 一键渲染并推送到微信草稿箱

前言

用 AI 写公众号时,后半段往往卡在排版和发布:Markdown 在编辑器里粘贴会丢样式,第三方排版工具主题固定,手动复制 HTML 再进后台又费时间。若希望「写完 MD → 按自定义主题出稿 → 直接进草稿箱」,需要把渲染服务和微信公众平台 API 串成一条 Agent 可执行的流程。下面介绍 SkillHub 上的 公众号排版 skill(坐标 @user_5223609c/md-to-wechat)如何承担这条链路。

这是什么

公众号排版 skill 是社区发布的 Agent Skill(版本 1.0.0,分类 content-creation),将本地 Markdown 按你在排版服务里配置的主题渲染成微信公众号可用 HTML,并调用公众号接口写入草稿箱。渲染侧依赖 feishu2weixin.maolai.cc 的账号与主题 ID;推送侧使用本机 .env 中的公众号 AppID / AppSecret。SkillHub 页面标注 requires_api_key=true,对应上述凭据与账号配置,而非单一第三方大模型 Key。

核心功能

依据 SkillHub 简介与仓库内 SKILL.md,已核实能力包括:

  1. 主题化渲染:背景色、圆角、标题、代码块、图片边框与阴影、有序/无序列表等可在网站侧自定义,通过 THEME_ID 绑定到推送结果。
  2. 一步发布脚本:使用 scripts/publish.cjs 完成渲染与推送,无需在本地落盘 HTML(需 Node.js 18+,脚本为 CommonJS,零 npm 外部依赖)。
  3. Agent 触发约定:当用户表达「把这篇文章推到公众号」「发布到微信公众号」「推送草稿」「同步到公众号草稿箱」等意图时,Skill 要求 Agent 主动走本流程,而不是只生成排版说明。
  4. 辅助查询:scripts/list_themes.cjs 可列出账号下主题名称与 ID,便于核对 .env。
  5. 运行缓存:目录下会自动生成 .cache.json,用于缓存已上传图片,减少重复上传。

安装与启用

通过 SkillHub 安装

SkillHub 技能页给出的安装提示为:按 SkillHub 安装说明 安装坐标 @user_5223609c/md-to-wechat。

若本机已有 skillhub CLI,安装时需用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。Cursor 常见路径为 ~/.cursor/skills/,也可使用项目内的 .cursor/skills/。示例:

command -v skillhub && skillhub --version
skillhub install user_5223609c/md-to-wechat --dir ~/.cursor/skills/

CLI 未安装时,可按官方文档执行:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

手动安装

发布者在介绍文中提供 GitHub 路径:https://github.com/maolai7/agent-skills/tree/main/md-to-wechat。无法访问 GitHub 时,需按发布者 SkillHub / 公众号说明获取 skill 包,再将目录放入 Agent 的 skills 文件夹。

首次配置

安装后,在 SKILL.md 所在目录(记为 <SKILL_DIR>)编辑 .env。references/setup.md 要求至少填写:

ACCOUNT=你的 feishu2weixin 登录邮箱或手机号
THEME_ID=在 https://feishu2weixin.maolai.cc 创建或选择的主题 ID
WECHAT_APP_ID=公众号 AppID
WECHAT_APP_SECRET=公众号 AppSecret

可选字段包括 AUTHOR_NAME(默认作者)、WECHAT_DEFAULT_COVER(无正文图片时的封面 URL)。主题 ID 可在网站「我的主题」中复制,或执行:

node "<SKILL_DIR>/scripts/list_themes.cjs"

微信公众平台需在 设置与开发 → 基本配置 中将调用 API 的机器 IPv4 加入 API IP 白名单;换网络后 IP 变化需重新添加,否则会返回 40164。

典型用法

人工确认后推送(推荐流程)

Skill 规定 Agent 先检查 .env 是否已填实,再定位 Markdown 的绝对路径。首次推送或未确认白名单时,先不带 --confirmed 运行以打印本机公网 IP,并一次性让用户确认 IP、标题、作者、封面:

node "<SKILL_DIR>/scripts/publish.cjs" --file "/path/to/article.md"

用户确认后正式推送:

node "<SKILL_DIR>/scripts/publish.cjs" \
  --file "/path/to/article.md" \
  --confirmed \
  --title "文章标题" \
  --author "作者名" \
  --cover "https://example.com/cover.jpg"

成功时脚本输出 JSON,包含 success、media_id、title 等字段;随后到公众号后台 草稿箱 查看。

封面优先级(Skill 内说明):正文 MD 中第一张图 → .env 的 WECHAT_DEFAULT_COVER → 均无则需用户通过 --cover 提供,否则推送失败。

在对话里触发

配置完成后,对 Agent 说「把这篇文章推到公众号」并附上或 @ 引用 MD 文件即可;Agent 应读取本 Skill 的 SKILL.md 按步骤执行,而不是仅输出 HTML 片段。

适用场景与注意

适合:已在本地或仓库中用 Markdown 写稿;需要在 feishu2weixin 调好主题并长期复用;希望由 Cursor 等 Agent 完成「渲染 + 草稿箱」而不是手工粘贴后台。

限制与注意:

  1. 须有可调用接口的微信公众号,并完成 AppID、AppSecret、IP 白名单配置。
  2. 渲染样式取决于网站侧主题,不是纯本地 CSS;ACCOUNT / THEME_ID 错误会表现为 api_error,可用 list_themes.cjs 排查。
  3. 推送自本机或当前运行 Agent 的环境发起,公网 IP 须与白名单一致。
  4. SkillHub 统计(以技能页抓取为准):评分 100000,下载约 27984 次,安装约 179 次;标签含 requires_api_key=true,部署前请妥善保管 .env,勿提交到版本库。

更完整的配图步骤见发布者公众号文:《我决定 开源公众号排版skill:打通AI写公众号的最后1公里》。

结尾

公众号排版 skill 把「自定义主题渲染」和「微信草稿箱 API」封装成 Agent 可执行的 publish.cjs 工作流,适合把 AI 写作的后半程从复制粘贴改成一条命令。安装与坐标以 SkillHub 为准:

  • API / 安装入口:https://api.skillhub.cn/user_5223609c/md-to-wechat
  • SkillHub 技能页:https://www.skillhub.cn/skills/user_5223609c/md-to-wechat
  • 坐标:@user_5223609c/md-to-wechat
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye