全流程微信公众号自动发文 skill

一个完整、可复现的本地微信公众号自动发布工作流,包含环境配置、内容撰写、图片处理、发布到草稿箱或正式发布、归档及定时调度。

已扫描
适合谁
自媒体运营者、需要自动化公众号发布的技术用户、内容创作者
不适合谁
不熟悉命令行和环境配置的用户、需要纯图形界面操作的用户、对微信平台规则不熟悉的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
中等(★★☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @16miku/wechat-auto-publishing

Skill 说明

命令、参数、文件名以原文为准

全流程微信公众号自动发文 Skill

使用此 Skill 来复现、记录和运行一套完整的本地微信公众号自动发文工作流程。本 Skill 中不嵌入任何密钥、私人账号信息或个人标识符。

该 Skill 有意比最小化的工作流笔记更宽泛。它包含了在全新机器上复现工作流所需的操作上下文,同时仍将所有敏感值保持在外置。

核心目标

期望的最终状态是一个可复用的本地工作流,能够完成以下操作:

  1. 在新机器上准备环境
  2. 收集当天的源素材
  3. 确定文章角度
  4. 按照目标风格起草文章
  5. 准备 cover.pngimage1.jpgimage2.jpg
  6. 组装成可发布的 Markdown 包
  7. 发布至微信公众号草稿箱
  8. 可选:完成正式发布
  9. 归档输出与执行结果
  10. 可选:附加调度与告警

必须遵守的安全规则

切勿将真实的私有值存储在此 Skill 包中。

禁止包含:

  • 真实的 WECHAT_APP_ID
  • 真实的 WECHAT_APP_SECRET
  • 真实的 GOOGLE_API_KEY
  • 任何真实的 Cookie、Token、会话密钥、API Key 或私有 ID
  • 用户特定的公众号标识符(除非用户明确要求硬编码)
  • 任何包含私人上下文的私有的文件系统路径(除非改写为占位符)

在记录配置时,仅可包含:

  • 变量名
  • 占位符值
  • 查找顺序
  • 验证方法
  • 安全的示例文件结构

Skill 结构

根据用户尝试完成的目标,阅读附带的参考文档:

  • references/environment-and-config.md —— 在准备新机器或验证前置条件时使用
  • references/source-gathering.md —— 在收集当天的素材池和市场角度时使用
  • references/writing-style.md —— 在起草和格式化文章时使用
  • references/image-strategy.md —— 在准备封面和正文图片(包括图库模式)时使用
  • references/publishing.md —— 在发布到草稿/正式发布并归档输出时使用
  • references/scheduling-and-alerting.md —— 在附加 cron、包装脚本、日志和告警时使用
  • references/security-boundary.md —— 在检查该 Skill 必须包含和不得包含的内容时使用
  • templates/article-template.md —— 作为默认的可发布文章骨架
  • templates/env.example.txt —— 作为安全的非密钥环境变量占位符文件
  • templates/run.sh —— 作为本地编排器脚本的起点
  • templates/run.production-example.sh —— 作为更接近生产环境的编排器模板,支持图库、发布模式和时间槽
  • templates/cron.example.txt —— 作为调度的起点
  • templates/publish-result.example.json —— 作为结果产物模板
  • templates/gallery-config.example.txt —— 作为本地图库配置示例
  • templates/cover-image-extend.example.md —— 作为安全的封面图片偏好示例
  • templates/image-gen-extend.example.md —— 作为安全的图片生成偏好示例
  • templates/workspace-tree.txt —— 作为推荐的目录结构
  • runbook.md —— 作为面向操作者的执行检查清单

标准执行流程

步骤 1:准备环境

在开始任何内容工作之前,验证目标机器上的环境是否可复现。

确认:

  • 运行时依赖存在
  • 发布脚本依赖链存在
  • 非敏感的配置占位符已就位
  • 密钥将在 Skill 包外部提供
  • 外部前置条件(如微信公众号 IP 白名单)已理解

阅读 references/environment-and-config.md

步骤 2:收集源素材

收集原始素材,进行筛选,压缩市场角度。

阅读 references/source-gathering.md

步骤 3:起草文章

按照目标风格起草文章,使用本 Skill 中的可发布 Markdown 约定。

阅读 references/writing-style.md,并可在需要时从 templates/article-template.md 开始。

步骤 4:准备图片

准备:

  • cover.png
  • image1.jpg
  • image2.jpg

明确选择图片来源:

  • 用户提供的素材
  • 本地图库模式
  • 生成的图片

阅读 references/image-strategy.md

步骤 5:组装包

确保文章包自包含且可发布:

  • article.md
  • cover.png
  • image1.jpg
  • image2.jpg

使用相对路径和 UTF-8 编码。

步骤 6:发布到草稿箱

使用本地发布路径将文章发送至微信公众号草稿箱。

除非草稿步骤返回有意义的成功结果(例如有效的 media_id),否则不应将发布视为成功。

如果 baoyu-post-to-wechat 因依赖问题(如 simple-xml-to-json 兼容性错误)无法运行,使用备用脚本:

node templates/publish.mjs

备用脚本 publish.mjs 支持完整流程:获取 token -> 上传封面 -> 上传内图 -> Markdown 转 HTML -> 创建草稿 -> 正式发布 -> 归档结果。

阅读 references/publishing.md

步骤 7:可选:完成正式发布

如果工作流包含最终发布,则提交、轮询并捕获最终的 URL。

备用脚本 templates/publish.mjs 已内置正式发布功能(freepublish),如果使用备用脚本完成步骤 6,正式发布会自动执行,无需额外操作。

步骤 8:归档结果

保存结果产物、日志、标识符以及相关的图库状态。

步骤 9:添加调度与告警

如果用户希望定时运行,则附加包装脚本和调度条目。

阅读 references/scheduling-and-alerting.md

重要的真实发布边界

freepublish 在操作上并不总是等同于在 MP 后台手动发布

在实际操作中,工作流可能成功:

  • 提交草稿发布
  • 获得 publish_id
  • 获得 article_id
  • 获得 article_url

但仍可能在主页可见性等预期方面与在微信公众号管理后台手动发布草稿的表现不同。

因此,该技能必须区分:

  • 技术发布成功
  • 平台后台成功
  • 运营可见性成功

推荐的生产模式

模式 A:draft_only(推荐的生产默认模式)

自动内容生成
→ 自动图片准备
→ 自动草稿提交
→ 人工在 MP 后台发布

当首页可见性和平台一致性显示比完全自动化更重要时,使用此模式。

模式 B:full_publish(测试/探索模式)

自动内容生成
→ 自动草稿提交
→ 自动发布提交
→ 轮询结果
→ 归档 article_url

仅当操作员明确接受 API 发布可能不等同于后台手动发布时,才使用此模式。

多账号部署原则

当运营多个公众号时,建议采用:

一个账号 = 一个工作目录 = 一个 .env = 一个标题历史 = 一条 cron 条目

这可以避免凭证混淆、标题历史污染、日志混合以及意外的跨账号发布。

图片有效性原则

不要仅依赖文件扩展名。

在发布前,验证图片是否:

  • 存在
  • 可读
  • 非空
  • 是真正支持的格式(PNG/JPEG/WebP,如果目标链支持)

如果文件命名为 cover.png 但实际上是 HEIF/HEVC,微信 API 可能会拒绝。

写作质量原则

不要直接将抓取的源标题原样注入正文。

避免:

  • 原始新闻标题插入
  • ... 结尾的截断标题片段
  • 正文中保留类似 报道: 的媒体风格前缀

建议:

  • 标题清洗
  • 摘要转换
  • 作者语气重写

工作流原则

保持包显式

优先使用明确的文件和路径,而非隐含假设。

保持机密外部化

配置结构属于技能内部,真实凭证则不属于。

保持失败处理可见

如果某一步失败,保留足够的输出和日志上下文,以便操作员理解发生了什么。

保持图片行为可配置

不要硬编码单一的图片来源假设。工作流应明确主体图片是来自本地图库、生成的资产还是用户提供的文件。

复现检查清单

新机器复现应能对以下所有项回答“是”:

  • 运行时工具已安装
  • 发布依赖链已安装
  • 安全配置占位符已存在
  • 操作员知道将真实凭证放在技能包之外的位置
  • 源文件收集路径已定义
  • 文章模板可用
  • 图片策略已定义
  • 发布检查已定义
  • 结果归档格式已定义
  • 如果需要自动化,存在调度示例

最终规则

该技能允许在操作上完整,但必须保持无机密。所有可复用的流程细节可以放入技能中;所有真实凭证和个人账号细节必须留在技能之外。

1
@16miku

已收录 1 个 Skill

相关推荐