乐于分享
好东西不私藏

我用 OpenClaw 搭建了一套公众号自动化写作流水线,一键发布草稿箱

我用 OpenClaw 搭建了一套公众号自动化写作流水线,一键发布草稿箱

我用 OpenClaw 搭建了一套公众号自动化写作流水线,一键发布草稿箱

作者说:这不是一套玩具,是真正每天自动跑的生产线。 每天晚上 10 点,OpenClaw 自动完成热点挖掘 → 选题策划 → 文章写作 → AI 配图 → 排版 → 推送草稿箱,全程无需我操作。 这篇文章,把我从零搭建到上线的全部过程讲清楚,你照着做也能搭一套。


先看整体架构

在动手之前,先理解我们在搭什么:

┌─────────────────────────────────────────────────────────┐│                     触发层                              ││                                                         ││   ⏰ Cron 定时任务                    ✋ 手动触发        ││   每天 22:00 自动执行                  飞书消息发指令   │└────────────────────┬────────────────────────────────────┘                     │                     ▼┌─────────────────────────────────────────────────────────┐│              🐙 JOMA 主编(主 Agent)                    ││                                                         ││    协调、调度、组装,不亲自写内容                         ││    工作区:~/.openclaw/workspace/                        │└────────────────────┬────────────────────────────────────┘                     │ sessions_send() 委派          ┌──────────┼──────────┐          ▼          ▼          ▼   ┌────────────┐┌──────────┐┌──────────┐   │  hotspot   ││  topic   ││  article │   │  _hunter   ││  _planner││  _writer │   │  热点追踪   ││  选题策划  ││  文章写作  │   │ 工作区:    ││ 工作区:   ││ 工作区:   │   │ workspace  ││ workspace ││ workspace │   │ -hotspot   ││ -topic   ││ -writer  │   └─────┬──────┘└────┬─────┘└────┬─────┘         │            │            │         ▼            ▼            ▼   热点报告       选题框架       初稿 .md         └────────────┬────────────┘                      ▼            ┌──────────────────┐            │  🎨 AI 配图生成  │            │  infsh (FLUX)   │            └────────┬─────────┘                     ▼            ┌──────────────────┐            │  📐 自动排版     │            │  HTML 双版本     │            └────────┬─────────┘                     ▼            ┌──────────────────┐            │  📤 推送草稿箱   │            │  微信公众号 API  │            └────────┬─────────┘                     ▼            ┌──────────────────┐            │  📱 飞书通知     │            │  Jimmy 审核      │            └──────────────────┘

前置要求

在开始之前,确保你具备以下条件:

要求
说明
macOS 或 Linux
本教程在 macOS 下验证,Linux 基本通用
Node.js ≥ 18
node -v
 检查版本
Python ≥ 3.9
python3 --version
 检查
微信公众号 AppID + AppSecret
在公众平台获取
飞书(可选)
用于接收通知
Tavily API Key(免费)
app.tavily.com 申请
infsh CLI(可选)
inference.sh 的 AI 图片生成工具

第一步:安装 OpenClaw

# macOSbrew install openclaw/openclaw/openclaw# 验证安装openclaw --version

安装完成后,运行初始化向导:

openclaw setup

向导会引导你完成:

  1. 选择运行平台(选择「本地」)
  2. 配置第一个 Channel(飞书/Telegram/等)
  3. 配置 API Keys(OpenAI/Claude/MiniMax 等)

💡 如果你在中国大陆遇到网络问题,可以在 ~/.openclaw/.env 中配置代理:

export HTTP_PROXY=http://xxxxxxxexport HTTPS_PROXY=http://xxxxxxxx

第二步:理解 OpenClaw 的核心文件体系

OpenClaw 的灵魂在于配置文件。所有文件都在工作区内:

~/.openclaw/workspace/├── SOUL.md          # Agent 的性格、职责、行事风格├── AGENTS.md        # Agent 的行动规范、记忆规则├── USER.md          # 当前用户的信息├── MEMORY.md        # 长期记忆( curated 精华)├── HEARTBEAT.md     # 心跳任务清单├── TOOLS.md         # 本地工具配置(API keys 等)├── IDENTITY.md      # Agent 的身份设定└── memory/    └── YYYY-MM-DD.md  # 每日记忆日志

2.1 最重要的文件:SOUL.md

SOUL.md 决定了这个 Agent 是谁、做什么、不做什么。

一个典型的「公众号写作主编」SOUL.md 长这样:

# SOUL.md - 内容团队总监## 角色定位你是内容团队的**总监**,直接与用户(Jimmy)对接的 Agent。你的职责是**协调、调度、组装**,而不是自己动手写内容。## 核心职责1.**收集需求** - 理解用户的创作目标、读者定位、核心观点2.**任务拆解** - 将复杂任务分解为可执行的子任务3.**分发委派** - 调用子 Agent 执行具体工作4.**结果解析** - 解析子 Agent 返回的 JSON 数据5.**文件验证** - 确认子 Agent 交付的文件已正确生成6.**组装交付** - 将各模块整合为最终文章## 强制纪律 ⚠️**严禁自己执行具体任务,必须委派!**- ❌ 不要自己调研、搜索信息- ❌ 不要自己写作、编辑内容- ✅ 只做协调和组装

2.2 USER.md:记录用户信息

# USER.md - About Your Human-**Name:** Jimmy-**What to call them:** Jimmy-**身份:** 公众号自媒体博主-**需求:** 靠写公众号文章为生-**平台:** 微信公众号

2.3 TOOLS.md:存放敏感配置

# TOOLS.md### 微信公众号 (wechat-publisher)- AppID: wxxxxxxxxxxxxxxxxx- AppSecret: a7b80xxxxxxxxxxxxxxxxxxxxxxxxxx### AI 图片生成 (inference.sh)- CLI路径: ~/.local/bin/infsh- 主要模型: FLUX Dev LoRA, Gemini 3 Pro Image

2.4 MEMORY.md:长期记忆

# MEMORY.md - 长期记忆## 关于 Jimmy- 公众号自媒体博主,靠写作为生- 关注 AI、效率工具、职场成长方向## 关于 JOMA(我)- 名字: JOMA- 性格: 务实、有观点、不冗余- 风格: 简洁但有温度## 重要记录### 2025-03-31- 完成 Tavily、Multi-Search-Engine 安装- 配置每日22:00自动写作 cron- 安装 floracat-architecture-diagram 用于绘制架构图

第三步:安装核心 Skills

Skills 是 OpenClaw 的能力扩展包,按需安装。

3.1 安装技能管理器(如果没有的话)

# 搜索技能skillhub search tavilyskillhub search "multi search"skillhub search wechatskillhub search "browser automation"

3.2 安装搜索类 Skills

Tavily Search(AI 优化的搜索,1000次/月免费)

skillhub install tavily

安装完成后,需要配置 API Key:

  1. 访问 https://app.tavily.com[1] 注册(免费,无需绑卡)
  2. 在 Dashboard 复制 API Key
  3. 写入配置文件:
# 写入 ~/.openclaw/.envecho'TAVILY_API_KEY=tvly-your-key-here' >> ~/.openclaw/.env
  1. 测试是否正常工作:
export TAVILY_API_KEY=tvly-your-key-herepython3 ~/.openclaw/workspace/skills/tavily/scripts/tavily_search.py "测试搜索" --max-results 3

Multi-Search Engine(17个搜索引擎聚合,8个中文+9个国际,无需 API Key)

skillhub install multi-search-engine

3.3 安装公众号相关 Skills

skillhub install wechat-article-typeset   # 排版 + 生成预览链接skillhub install wechat-article-parser    # 解析公众号文章skillhub install wechat-article-writer     # 文章写作skillhub install wechat-toolkit            # 工具包(搜索/下载/发布)skillhub install mp-draft-push             # 推送草稿箱

3.4 安装平台内容获取 Skills

skillhub install agent-reach               # X/小红书/B站/公众号/RSS 等

3.5 安装 AI 图片生成 Skill

skillhub install ai-image-generation

这个 Skill 调用 inference.sh(需要先安装 CLI 并登录):

# 安装 inference.sh CLIcurl -fsSL https://get.inference.sh | sh# 登录(需要 API key)infsh login# 测试图片生成infsh app run falai/flux-dev-lora --input '{"prompt": "a cute robot"}'

3.6 安装架构图绘制 Skill(可选)

来自 clawhub.ai 的 floracat-architecture-diagram,用于绘制精美的技术架构图:

# 方法一:通过 clawhub 安装clawhub install floracat526/floracat-architecture-diagram# 方法二:手动下载安装curl -sL "https://wry-manatee-359.convex.site/api/v1/download?slug=floracat-architecture-diagram" \  -o /tmp/floracat-diagram.zipunzip -o /tmp/floracat-diagram.zip \  -d ~/.openclaw/workspace/skills/floracat-architecture-diagram/

3.7 查看已安装的全部 Skills

ls ~/.openclaw/workspace/skills/

第四步:创建子 Agent 工作区

OpenClaw 支持多 Agent 协作。主编(JOMA)负责协调,具体任务委派给子 Agent 执行。

为每个子 Agent 创建独立工作区:

mkdir -p ~/.openclaw/workspace-hotspotmkdir -p ~/.openclaw/workspace-topicmkdir -p ~/.openclaw/workspace-writer

4.1 hotspot_hunter(热点猎人)

负责追踪热点、挖掘选题方向。

~/.openclaw/workspace-hotspot/SOUL.md

# SOUL.md - 热点猎人## 角色定位你是热点猎人,专注于信息挖掘和趋势分析。你的工作是为公众号内容创作提供精准的热点素材。## 核心职责1. 搜索当日热点话题2. 分析热度趋势和受众关注点3. 输出结构化的热点报告(JSON 格式)## 输出格式输出 JSON 文件到工作区,格式:{  "date": "2026-03-31",  "hotspots": [    {      "topic": "热点话题",      "heat": 85,      "source": "来源平台",      "angles": ["角度1", "角度2"]    }  ]}## 搜索策略- 使用 Tavily 进行深度搜索- 使用 Multi-Search-Engine 补充中文平台覆盖- 使用 Agent-Reach 抓取小红书、B站、公众号热点

4.2 topic_planner(选题策划)

负责从热点中筛选并确定写作方向。

~/.openclaw/workspace-topic/SOUL.md

# SOUL.md - 选题策划## 角色定位你是选题策划专家,擅长从热点中提炼出最适合公众号的写作角度。## 核心职责1. 阅读 hotspot_hunter 的热点报告2. 结合目标读者(职场人士、AI爱好者)筛选角度3. 确定文章框架和核心观点4. 输出结构化的选题策划案(JSON)

4.3 article_writer(文章写手)

负责根据选题框架完成文章初稿。

~/.openclaw/workspace-writer/SOUL.md

# SOUL.md - 文章写手## 角色定位你是资深内容创作者,擅长写让人想读下去的公众号文章。## 写作规范- 开头必须有冲突感(痛点/反差/误区)- 每节要有"能执行"的方法,不写空话- 全文至少给1个可复制模板- 金句高亮,增强可读性## 输出- Markdown 格式,保存到工作区- 字数:1500-3000字- 不在文章末尾加话题标签

第五步:在主编 SOUL.md 中配置子 Agent 委派规则

回到主工作区(~/.openclaw/workspace/),在 SOUL.md 中添加子 Agent 配置:

## 子 Agent 列表使用 `sessions_send` 调用子 Agent:```javascriptsessions_send(agentId: "agentId", message: "任务描述")
Agent
职责
工作区
hotspot_hunter
热点追踪、趋势分析
~/.openclaw/workspace-hotspot
topic_planner
话题规划、选题策划
~/.openclaw/workspace-topic
article_writer
文章写作、初稿生成
~/.openclaw/workspace-writer
---## 第六步:配置 AI 配图(关键步骤)配图是公众号文章很重要的一环,但 AI 生成中文文字必定乱码,我们的解决方案是:### 6.1 安装 inference.sh CLI```bashcurl -fsSL https://get.inference.sh | shinfsh login

6.2 配置 infsh 环境变量

在 ~/.openclaw/.env 中添加:

export INFSH_API_KEY=your-infsh-api-key

6.3 配图流程规范(在 SOUL.md 中定义)

封面图规格:- 尺寸:900×383 px(公众号封面标准比例)- 风格:暗色科技感,强视觉冲击力- 文字处理:中文标题用 HTML 渲染截图,禁止 AI 直接生成中文- 元素:文章主题相关图标 + 科技纹理正文插图规格:- 尺寸:宽 600–800 px- 风格:暗色系,与封面风格统一- 构图:每个章节一张,场景化

第七步:配置微信公众号发布(API 方式)

7.1 获取 AppID 和 AppSecret

登录 https://mp.weixin.qq.com,在「设置与开发」→「基本配置」中获取。[2]

7.2 保存到 TOOLS.md

### 微信公众号- AppID: wxf5xxxxxxxxxxxxx- AppSecret: a7bxxxxxxxxxxxxxxxxxxxxxxxxxxx

7.3 获取 Access Token(自动刷新)

在 ~/.openclaw/.env 中保存:

export WECHAT_APP_ID=wxf5xxxxxxxxxxxxxxxexport WECHAT_APP_SECRET=a7xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

7.4 推送草稿箱的命令流程

# 1. 获取 Access TokenTOKEN=$(curl -s "https://api.weixin.qq.com/cgi-bin/token?\grant_type=client_credential&appid=$WECHAT_APP_ID&secret=$WECHAT_APP_SECRET" \  | python3 -c "import json,sys; print(json.load(sys.stdin)['access_token'])")# 2. 上传封面图(先准备一张图)curl -s -X POST "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$TOKEN&type=image" \  -F "media=@cover.jpg;type=image/jpeg" \  | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['media_id'])"# 3. 创建草稿curl -s -X POST "https://api.weixin.qq.com/cgi-bin/draft/add?access_token=$TOKEN" \  -H "Content-Type: application/json" \  -d @draft.json# 4. 返回 media_id,即代表推送成功

第八步:配置定时任务(每天自动跑)

这是让整个系统真正「自动化」的关键步骤。

8.1 查看当前 cron 任务

openclaw cron list

8.2 创建每日 22:00 的写作任务

openclaw cron add \  --name "每日公众号文章" \  --cron "0 22 * * *" \  --session isolated \  --announce \  --channel feishu \  --to "user:你的飞书openId" \  --timeout-seconds 600 \  --message "按照你的主编职责,执行以下工作:1. 让 hotspot_hunter 搜索今日热点选题2. 让 topic_planner 筛选确定写作方向3. 让 article_writer 写作并发布到草稿箱4. 写完后通知我审核"

8.3 关键参数说明

参数
说明
--cron "0 22 * * *"
每天 22:00 执行(crontab 格式)
--session isolated
在独立会话中运行,不影响主对话
--announce
完成后发送通知
--channel feishu
通知渠道:飞书
--to "user:openId"
通知目标用户
--timeout-seconds 600
超时时间 10 分钟(公众号写作较耗时)

8.4 如果要修改现有任务

# 先查看任务 IDopenclaw cron list# 修改执行时间openclaw cron edit <任务ID> --cron "0 22 * * *"# 修改超时时间openclaw cron edit <任务ID> --timeout-seconds 300# 修改通知目标openclaw cron edit <任务ID> --announce --to "user:你的openId"# 删除任务openclaw cron delete <任务ID>

第九步:完整测试一次(手动触发)

在配置完成后,建议手动测试一次完整流程:

触发方式一:飞书消息

在飞书给 OpenClaw 发消息:

写一篇关于「AI搜索工具对比」的文章

触发方式二:直接运行 cron 任务

openclaw cron run <任务ID>

触发方式三:通过 OpenClaw CLI

openclaw run "执行今日公众号工作流:搜索热点→策划选题→写稿→排版→推草稿箱"

第十步:常见报错与解决

报错1:Delivering to Feishu requires target

原因:cron 任务的 delivery 缺少 to 字段

解决

openclaw cron edit <任务ID> --to "user:你的飞书openId"

报错2:job execution timed out

原因:超时设置太短,写作流程没跑完

解决

openclaw cron edit <任务ID> --timeout-seconds 600

报错3:Tavily 搜索失败

原因:API Key 未配置或已用完免费额度

解决

  1. 检查 Key:grep TAVILY ~/.openclaw/.env
  2. 如额度用完,访问 app.tavily.com 查看用量或升级

报错4:微信公众号 40007 错误(invalid media_id)

原因:草稿没有正确上传封面图

解决:确保先通过 add_material 接口上传图片获得 media_id,再创建草稿


附:完整文件清单

以下是搭建这套系统需要的所有文件:

~/.openclaw/├── .env                          # API Keys 和环境变量├── workspace/                    # 🐙 JOMA 主编工作区│   ├── SOUL.md                   # 主编性格和职责定义│   ├── AGENTS.md                 # 行动规范│   ├── USER.md                   # Jimmy 的用户信息│   ├── MEMORY.md                 # 长期记忆│   ├── HEARTBEAT.md              # 心跳任务清单│   ├── TOOLS.md                  # 工具配置(微信公众号等)│   ├── IDENTITY.md               # 身份设定│   └── memory/│       └── YYYY-MM-DD.md         # 每日日志├── workspace-hotspot/            # 🔥 hotspot_hunter 工作区│   ├── SOUL.md                   # 热点猎人的职责│   └── hotspots_*.json           # 热点报告输出├── workspace-topic/               # 📌 topic_planner 工作区│   ├── SOUL.md                   # 选题策划的职责│   └── planning_*.json           # 选题策划输出├── workspace-writer/             # ✍️ article_writer 工作区│   ├── SOUL.md                   # 写作风格和规范│   └── article_*.md              # 文章初稿输出└── skills/                      # 所有已安装的 Skills    ├── tavily/                   # AI 搜索    ├── multi-search-engine/       # 多搜索引擎聚合    ├── agent-reach/              # 平台内容获取    ├── wechat-article-typeset/    # 排版    ├── wechat-article-writer/    # 写作    ├── ai-image-generation/       # AI 配图    └── floracat-architecture-diagram/  # 架构图绘制

总结

搭建这套系统的核心逻辑其实很简单:

主编不写稿,委派给专家;专家写完,主编来组装。

整个流程:

  1. 触发 → Cron 或手动
  2. 主编(JOMA) → 协调,分发任务
  3. 热点猎人 → 挖掘今日热点
  4. 选题策划 → 确定写作角度
  5. 文章写手 → 完成初稿
  6. AI 配图 → 生成封面和插图
  7. 自动排版 → Markdown 转 HTML 双版本
  8. 推送草稿箱 → 微信公众号 API
  9. 飞书通知 → Jimmy 审核发布

祝你搭建顺利!有问题随时来找我。

—— JOMA · OpenClaw 公众号写作流水线

引用链接

[1]https://app.tavily.com

[2]https://mp.weixin.qq.com,在「设置与开发」→「基本配置」中获取。: https://mp.weixin.qq.com%EF%BC%8C%E5%9C%A8%E3%80%8C%E8%AE%BE%E7%BD%AE%E4%B8%8E%E5%BC%80%E5%8F%91%E3%80%8D%E2%86%92%E3%80%8C%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE%E3%80%8D%E4%B8%AD%E8%8E%B7%E5%8F%96%E3%80%82