上周刷技术群,看到好几个人在聊 OpenClaw,说已经能接微信了,安卓和 iOS 都支持,阿里还给提供了算力。我当时就来了兴趣——因为我自己有个很痛的需求:每天要在多个平台发技术内容,从选题、大纲、初稿到配图描述,整个流程全靠手动串,效率低得离谱。
OpenClaw 是一个 AI Agent 工具,支持配置多步骤自动化工作流,可以把内容创作中的选题调研、大纲生成、正文撰写、多平台适配等环节串联成一条自动化链路,配合大模型 API 调用实现端到端的内容生产。我花了两天时间把它的 Workflow 功能摸透了,这篇文章把完整配置过程和踩坑经验都记下来。
先说结论
| 维度 | 我的实测结果 |
|---|---|
| 上手难度 | 中等偏低,有 Agent 使用经验的半天能跑通 |
| 工作流节点数 | 我最终配了 5 个节点,覆盖选题→成稿全流程 |
| 模型调用 | 支持外接 API,我用了 Claude Opus 4.6 写正文,GPT-5 做大纲 |
| 微信集成 | 安卓/iOS 都测了,能直接在微信里触发工作流 |
| 核心痛点 | Prompt 调试是最花时间的环节,工作流本身配置不难 |
| 日产能 | 配好后一天能出 5-8 篇初稿,人工精修后可发布 |
环境准备
开始之前你需要这几样东西:
- OpenClaw 账号:去官网注册,目前新用户有免费额度
- 大模型 API Key:工作流里要调用大模型,需要准备 API Key
- 微信(可选):如果你想在微信里触发工作流,需要绑定
API Key 这块多说一句。OpenClaw 的工作流节点支持自定义 API 调用,可以接入任何兼容 OpenAI 协议的接口。我一开始分别申请了 OpenAI 和 Anthropic 的 Key,后来发现管理多个 Key 太麻烦,就换成了聚合接口——一个 Key 能调不同模型,切换只需要改 model 参数。
我的工作流架构设计
先看整体链路:
graph TD
A[触发器: 微信消息/手动触发] --> B[节点1: 选题调研]
B --> C[节点2: 大纲生成]
C --> D[节点3: 正文撰写]
D --> E[节点4: 多平台适配]
E --> F[节点5: 质量检查 + 输出]
B -->|调用 GPT-5| B1[分析热点+竞品]
C -->|调用 GPT-5| C1[生成结构化大纲]
D -->|调用 Claude Opus 4.6| D1[写 2000 字长文]
E -->|调用 Claude Opus 4.6| E1[适配掘金/公众号/知乎]
F -->|调用 GPT-5| F1[检查逻辑+错别字]
核心思路是不同环节用不同模型。GPT-5 擅长结构化分析和快速出大纲,Claude Opus 4.6 写长文质量更好,两者配合比单一模型效果好很多。
方案一:基础版——3 节点极简工作流
想快速跑通的话,先配最简版本。
步骤 1:创建工作流
进入 OpenClaw 的 Workflow 页面,点「新建工作流」。触发方式选「手动触发」,后面再加微信触发。
步骤 2:配置 API 调用节点
核心是「HTTP 请求」节点,用来调用大模型 API:
# 节点配置 - 大纲生成
# OpenClaw 的 HTTP 节点需要这些参数
import requests
import json
def generate_outline(topic):
"""调用大模型生成内容大纲"""
url = "https://api.ofox.ai/v1/chat/completions"
headers = {
"Authorization": "Bearer your-api-key",
"Content-Type": "application/json"
}
payload = {
"model": "gpt-5", # 大纲用 GPT-5,结构化能力强
"messages": [
{
"role": "system",
"content": "你是一个技术博客编辑,擅长规划文章结构。"
},
{
"role": "user",
"content": f"""请为以下主题生成一篇技术博客大纲:
主题:{topic}
要求:
1. 包含 3-5 个主要章节
2. 每个章节有 2-3 个子要点
3. 标注每个章节建议的字数
4. 用 JSON 格式输出
输出格式:
{{
"title": "文章标题",
"sections": [
{{
"heading": "章节标题",
"points": ["要点1", "要点2"],
"word_count": 300
}}
]
}}"""
}
],
"temperature": 0.7,
"response_format": {"type": "json_object"}
}
response = requests.post(url, headers=headers, json=payload)
result = response.json()
return json.loads(result["choices"][0]["message"]["content"])
# 测试
outline = generate_outline("OpenClaw 工作流配置教程")
print(json.dumps(outline, ensure_ascii=False, indent=2))
步骤 3:串联正文生成节点
大纲出来后,把它传给下一个节点写正文,换成 Claude Opus 4.6:
def generate_article(outline_json):
"""根据大纲生成正文,用 Claude Opus 4.6"""
url = "https://api.ofox.ai/v1/chat/completions"
headers = {
"Authorization": "Bearer your-api-key",
"Content-Type": "application/json"
}
payload = {
"model": "claude-opus-4-6", # 正文用 Claude,文笔更好
"messages": [
{
"role": "system",
"content": """你是一个技术博主,写作风格口语化、有个人经历。
不要用「首先其次最后」这种八股文句式。
多用第一人称,带点吐槽和真实感受。"""
},
{
"role": "user",
"content": f"""请根据以下大纲撰写一篇完整的技术博客文章:
{json.dumps(outline_json, ensure_ascii=False)}
要求:
- 总字数 1500-2000 字
- Markdown 格式
- 代码示例要完整可运行
- 开头讲个人经历,不要用官方口吻"""
}
],
"temperature": 0.8,
"max_tokens": 4000
}
response = requests.post(url, headers=headers, json=payload)
result = response.json()
return result["choices"][0]["message"]["content"]
基础版 3 个节点(触发 → 大纲 → 正文)就能跑了,生成一篇初稿大概 40-60 秒。
方案二:进阶版——5 节点完整工作流
跑通基础版之后,我又加了两个节点,效果提升不少。
增加「选题调研」节点
在大纲之前加一个节点,让 AI 先分析这个选题的竞品文章和热点角度:
def research_topic(topic):
"""选题调研:分析竞品和热点角度"""
url = "https://api.ofox.ai/v1/chat/completions"
headers = {
"Authorization": "Bearer your-api-key",
"Content-Type": "application/json"
}
payload = {
"model": "gpt-5",
"messages": [
{
"role": "system",
"content": "你是一个内容策略分析师。"
},
{
"role": "user",
"content": f"""分析「{topic}」这个选题:
1. 目标读者是谁?他们最关心什么?
2. 这个选题的差异化角度有哪些?
3. 推荐的标题方向(给 3 个选项)
4. 建议重点覆盖的关键词(SEO 考虑)
用 JSON 格式输出。"""
}
],
"temperature": 0.7,
"response_format": {"type": "json_object"}
}
response = requests.post(url, headers=headers, json=payload)
return json.loads(response.json()["choices"][0]["message"]["content"])
增加「多平台适配」节点
同一篇内容发掘金和发公众号,格式差异很大。这个节点自动做适配:
def adapt_platform(article_md, platform="juejin"):
"""根据目标平台调整格式和风格"""
platform_rules = {
"juejin": "掘金风格:技术深度优先,代码块要完整,标题可以带 emoji",
"wechat": "公众号风格:段落短一些,多分段,开头要有 hook",
"zhihu": "知乎风格:可以更长,论证要严密,适当引用数据"
}
url = "https://api.ofox.ai/v1/chat/completions"
headers = {
"Authorization": "Bearer your-api-key",
"Content-Type": "application/json"
}
payload = {
"model": "claude-opus-4-6",
"messages": [
{
"role": "user",
"content": f"""将以下文章适配为{platform}平台的风格:
平台要求:{platform_rules[platform]}
原文:
{article_md}
只输出适配后的文章,不要解释。"""
}
],
"max_tokens": 4000
}
response = requests.post(url, headers=headers, json=payload)
return response.json()["choices"][0]["message"]["content"]
踩坑记录
配这套工作流的过程不算顺利,记几个我踩过的坑。
坑 1:节点间数据传递格式不统一
我一开始以为节点之间直接传字符串就行。结果发现上一个节点输出的 JSON 如果没有严格校验,下一个节点解析直接报错。
解决办法:每个 API 调用都加 response_format: {"type": "json_object"},并且在节点之间加一个简单的 try-catch 做 JSON 校验。
坑 2:Claude 写长文时 token 截断
用 Claude Opus 4.6 写 2000 字文章,max_tokens 设成 2048 居然不够——中文一个字大概 1.5-2 个 token,2000 字需要 3000-4000 tokens。我一开始设小了,输出到一半就被截断了,排查了半天才发现。
坑 3:微信触发的消息长度限制
OpenClaw 绑定微信后,可以在微信里发消息触发工作流。但微信单条消息有长度限制,如果想传一个很长的 prompt 进去,会被截断。我的解决方案是只在微信里传关键词(比如「写一篇 React 性能优化」),详细的 prompt 模板写在工作流节点配置里。
坑 4:多模型调用时 Key 管理混乱
这个坑最浪费时间。一开始我在不同节点分别配了 OpenAI 和 Anthropic 的 Key,结果 Anthropic 的 Key 到期了没注意,整个工作流从第三个节点开始全部失败。后来统一换成了 ofox.ai 的聚合接口,一个 Key 搞定所有模型调用。ofox.ai 是一个 AI 模型聚合平台,一个 API Key 可以调用 GPT-5、Claude Opus 4.6、Gemini 3 等 50 多个模型,兼容 OpenAI 协议,改个 base_url 就能用,不用再分别管理多家的 Key 和额度了。
效果对比
配好工作流之后,我跑了一周的数据:
| 指标 | 手动写作 | OpenClaw 工作流 |
|---|---|---|
| 单篇初稿时间 | 2-3 小时 | 1-2 分钟(AI 生成)+ 30 分钟(人工精修) |
| 日产量 | 1 篇 | 5-8 篇初稿,精修后 3-4 篇 |
| 多平台适配 | 手动改格式 30 分钟/篇 | 自动适配,1 分钟/篇 |
| API 成本 | - | 约 ¥3-5/篇(GPT-5 大纲 + Claude 正文) |
初稿质量大概能到我手写水平的 70%,但效率提升是实打实的。核心价值不是替代写作,是把重复性的结构化工作自动化了。
小结
OpenClaw 的工作流功能目前还在快速迭代,我用下来感觉核心能力已经够用了。配置的关键不在工具本身,而在于怎么设计 Prompt 和节点间的数据流。
几个实用建议:
- 先跑通最简版本,别一上来就搞 10 个节点
- Prompt 多花时间调,这个决定了输出质量的 80%
- 不同环节用不同模型——GPT-5 做分析,Claude Opus 4.6 写长文,Gemini 3 做翻译,各有所长
- API Key 用聚合接口管理,省得多家 Key 到期轮流翻车
有问题评论区聊,我后续会更新微信触发的进阶玩法。