用途:把 Markdown 文章排版为微信公众号图文并提交到草稿箱,适用于要求“发到公众号”“推送公众号”“提交公众号草稿”的场景,也用于选择文章主题、代码高亮或排查图片、API、白名单问题。
主要能力:基于 wenyan-cli 完成格式转换与草稿提交,支持主题与代码高亮选型,支持本地和网络图片上传。提供多套模板:article-template.md(通用骨架)、technical-tutorial.md(技术教程)、product-update.md(产品/版本更新)、weekly-digest.md(周报或资讯汇总)、cover-prompt.txt(封面图提示词)。参考资料含 themes.md(主题与高亮选型)、content-checklist.md(发布前检查单)、troubleshooting.md(常见错误排查)。
使用方式:准备带 frontmatter 的 Markdown,填写 title 和 cover,正文至少保留一张可访问图片作为后备封面;运行 python3 scripts/validate_article.py ARTICLE.md 检查结构与敏感信息;用 scripts/publish.sh --dry-run ARTICLE.md 预览命令;确认提交草稿意图后设置凭证并执行: export WECHAT_APP_ID='从密钥管理器注入的值' export WECHAT_APP_SECRET='从密钥管理器注入的值' ./scripts/publish.sh ARTICLE.md lapis solarized-light 命令速查:./scripts/publish.sh --help、./scripts/publish.sh --dry-run path/to/article.md、./scripts/publish.sh path/to/article.md、./scripts/setup.sh。publish.sh 默认使用 lapis 主题和 solarized-light 代码高亮,可通过参数或环境变量 WECHAT_PUBLISH_THEME、WECHAT_PUBLISH_HIGHLIGHT 覆盖。
限制与安全边界:默认只提交草稿箱,不代替公众号后台的审核和正式发布;只有明确要求时才执行联网发布,且先运行 --dry-run。凭证从当前 shell、CI Secret 或外部密钥管理器读取,禁止写入仓库、模板、文章或命令历史。发布前运行校验脚本,发现疑似凭证、私钥或本机路径时停止并要求清理,不回显匹配值。不读取宿主环境私有配置、个人配置或固定绝对路径,不自动安装全局依赖。正式发布需由操作者在公众号后台完成。