我用 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 审核 │ └──────────────────┘前置要求
在开始之前,确保你具备以下条件:
node -v | |
python3 --version | |
第一步:安装 OpenClaw
# macOSbrew install openclaw/openclaw/openclaw# 验证安装openclaw --version安装完成后,运行初始化向导:
openclaw setup向导会引导你完成:
选择运行平台(选择「本地」) 配置第一个 Channel(飞书/Telegram/等) 配置 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 Image2.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:
访问 https://app.tavily.com[1] 注册(免费,无需绑卡) 在 Dashboard 复制 API Key 写入配置文件:
# 写入 ~/.openclaw/.envecho'TAVILY_API_KEY=tvly-your-key-here' >> ~/.openclaw/.env测试是否正常工作:
export TAVILY_API_KEY=tvly-your-key-herepython3 ~/.openclaw/workspace/skills/tavily/scripts/tavily_search.py "测试搜索" --max-results 3Multi-Search Engine(17个搜索引擎聚合,8个中文+9个国际,无需 API Key)
skillhub install multi-search-engine3.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-writer4.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: "任务描述")---## 第六步:配置 AI 配图(关键步骤)配图是公众号文章很重要的一环,但 AI 生成中文文字必定乱码,我们的解决方案是:### 6.1 安装 inference.sh CLI```bashcurl -fsSL https://get.inference.sh | shinfsh login6.2 配置 infsh 环境变量
在 ~/.openclaw/.env 中添加:
export INFSH_API_KEY=your-infsh-api-key6.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: a7bxxxxxxxxxxxxxxxxxxxxxxxxxxx7.3 获取 Access Token(自动刷新)
在 ~/.openclaw/.env 中保存:
export WECHAT_APP_ID=wxf5xxxxxxxxxxxxxxxexport WECHAT_APP_SECRET=a7xxxxxxxxxxxxxxxxxxxxxxxxxxxxx7.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 list8.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 * * *" | |
--session isolated | |
--announce | |
--channel feishu | |
--to "user:openId" | |
--timeout-seconds 600 |
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 未配置或已用完免费额度
解决:
检查 Key: grep TAVILY ~/.openclaw/.env如额度用完,访问 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/ # 架构图绘制总结
搭建这套系统的核心逻辑其实很简单:
主编不写稿,委派给专家;专家写完,主编来组装。
整个流程:
触发 → Cron 或手动 主编(JOMA) → 协调,分发任务 热点猎人 → 挖掘今日热点 选题策划 → 确定写作角度 文章写手 → 完成初稿 AI 配图 → 生成封面和插图 自动排版 → Markdown 转 HTML 双版本 推送草稿箱 → 微信公众号 API 飞书通知 → 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
夜雨聆风