zpj-公众号 · 命题驱动 · 通用推文出稿 + 完整配图
这是什么
一个对外通用的推文生产技能:你给一个命题(想写什么),它产出一篇配图完整的公众号推文(Markdown + 封面图 + 正文插画)。
不认账号、不认主题、不依赖任何历史项目。任何人装了就能用,给什么命题写什么。
输入:命题(必填)
命题 = 一段自然语言 brief,包含「写什么」+ 可选约束。示例:
写一篇《为什么你越努力越焦虑》的职场心理推文,犀利、有方法感,1500字用《小王子》的视角写一封《成年人也值得被温柔对待》的公众号文,温柔克制母亲节推文,写给妈妈的一封信,温暖不煽情,配图要柔和有生活感
命题里可带:主题 / 调性 / 字数 / 受众 / 人称 / 是否要配图 / 是否推草稿箱。
没写的项,技能按「默认风格」补(见下)。
前置条件
- 本地有
node(推草稿箱 / 渲染预览用,仅当要推送时需要) - ImageGen 权限(配图用)
- 推送草稿箱才需要:项目根
.env配WECHAT_APP_ID/WECHAT_APP_SECRET
—— 只出稿不推送时,这两项可没有。
工作流(精简主线,无废步骤)
- 解析命题 —— 拆出 主题 / 调性 / 字数 / 受众 / 人称 / 配图需求。
- 若当前工作目录存在brand.md,把它当作「风格偏好档」叠加(可选,不强制)。 - 写稿(核心产出):
- 字数 1500-2500(观点/方法论文);小标题 3-6 段,随内容走,不凑数。
- 人称按命题或默认(第二人称"你"为主,观点文)。
- 结尾自然收束:禁止"写在最后"+分行小诗+"慢慢来"套话;不强行升华、不喊口号;每篇写法换着来。
- 虚构稿不写具体校名 / 地名 / 真实人名;不冒充真人真事。 - 配图(完整,铁律,不得省略):
- 封面 1 张 + 正文 2-4 张,全部 ImageGen 现场生成。
- 风格默认柔焦摄影 / 温暖生活感;命题或 brand.md 可覆盖。
- 封面存assets/ai/cover.png,正文assets/ai/img1.png、img2.png… ,md 用相对路径引用,随段落分布插入(不堆开头)。
- 生成前先告知预计张数与积分消耗。
- 严禁真人照片、严禁复用固定默认图。 - 合规自查:若项目有
scripts/check_words.py与brand.md,运行
python scripts/check_words.py <稿.md> --brand brand.md;命中按语境替换(命中 ≠ 违规)。 - 本地预览(可选):
node node_modules/@wenyan-md/cli/dist/cli.js render -f <稿.md> -t orangeheart --no-mac-style > preview.html - 发布(可选,需授权):配齐
.env凭证后bash scripts/publish.sh <稿.md> orangeheart solarized-light
—— 只推一次,草稿箱不堆版本。订阅号接口只能进草稿箱,群发需用户在后台点确认。 - 汇报:标题 / 字数 / 小标题数 / 加粗数 / 命中词 / media_id(若推)/ 配图清单。
文件落盘
- 默认输出到当前工作目录:
article.md+assets/ai/*.png。 - 调用方可指定输出目录(如
output/<命题slug>/),技能把稿与图都放进去。
铁律
- 配图必须完整(封面 + 正文 ≥ 3 张),缺图视为任务未完成。
- 封面 / 配图一律 AI 生成,禁止真人照片、禁止固定默认图。
- 一次成稿、一次推送。
- 禁止诱导分享话术、违禁词(医疗疗效 / 绝对化 / 迷信 / 金融收益承诺)。
本技能随附文件
scripts/publish.sh:推草稿箱(依赖项目根node_modules、assets、.env)scripts/check_words.py:合规自查(内置风险词 + 读 brand.md 自定义替换表)references/brand-template.md:可选「风格偏好档」模板;有就复制为brand.md叠风格,没有就走默认
> 使用方式:给一个命题即可调用。要把成品推到某公众号,再把 scripts/ 两文件放进项目根、配好 .env 凭证即可。