首页 ›
openclaw教程中心 › OpenProse 工作流编排教程
OpenProse 工作流编排教程
什么是 OpenProse
OpenProse 是 OpenClaw 的Markdown 优先工作流编排系统。它让你用简单的 Markdown 文件定义多步骤的自动化工作流,而不需要写代码。
> ⚠️ OpenProse 目前是实验性功能,API 和格式可能在未来版本中变化。
设计理念
传统的工作流编排工具(如 Airflow、n8n)需要写代码或拖拽节点。OpenProse 的理念是:
- Markdown 优先:用人类可读的 Markdown 定义工作流
- LLM 原生:每个步骤可以直接调用 AI 模型
- 可恢复:支持中断和恢复,包括人工审批环节
- 类型安全:步骤之间的数据传递有类型约束
``
传统工作流:代码/JSON → 引擎执行 → 结果
OpenProse:Markdown → LLM 理解 → 智能执行 → 结果
`
工作流定义格式
OpenProse 工作流是一个 Markdown 文件,使用特定的格式定义步骤:
基本结构
`markdown
工作流:每日新闻摘要
步骤 1:收集新闻
搜索今天的科技新闻,收集 10 条最重要的新闻标题和摘要。
步骤 2:分析趋势
基于收集到的新闻,分析今天的科技趋势,找出 3 个关键主题。
步骤 3:生成报告
将新闻和趋势分析整理成一份简洁的中文报告,包含:
- 今日要闻(5 条)
- 趋势分析(3 个主题)
- 一句话总结
步骤 4:发送报告
将报告发送给用户。
`
步骤依赖
步骤默认按顺序执行,每个步骤可以引用前面步骤的输出:
`markdown
步骤 1:获取数据
从 API 获取最新的销售数据。
步骤 2:分析数据
基于【步骤 1】获取的销售数据,计算以下指标:
- 本月总销售额
- 环比增长率
- Top 5 畅销产品
步骤 3:生成图表描述
基于【步骤 2】的分析结果,生成适合在报告中使用的图表描述。
`
步骤编排
顺序执行
最简单的编排方式——步骤按顺序依次执行:
`markdown
代码审查工作流
步骤 1:读取代码
读取 src/ 目录下最近修改的文件。
步骤 2:静态分析
对代码进行静态分析,检查:
- 语法错误
- 类型问题
- 未使用的变量
步骤 3:安全检查
检查代码中是否存在:
- 硬编码的密钥
- SQL 注入风险
- XSS 漏洞
步骤 4:生成报告
汇总所有发现,生成代码审查报告。
`
条件分支
使用条件语句控制流程:
`markdown
步骤 2:判断严重程度
根据【步骤 1】的分析结果判断问题严重程度。
如果发现严重问题
立即通知用户,列出所有严重问题,并建议暂停部署。
如果只有轻微问题
记录问题列表,继续执行后续步骤。
如果没有问题
输出"代码检查通过 ✅"。
`
人工审批
工作流可以在关键步骤暂停,等待人工确认:
`markdown
步骤 3:等待审批
将分析报告展示给用户,等待确认后再继续。
> 🔒 此步骤需要人工审批。工作流将暂停,直到用户确认。
步骤 4:执行操作
用户确认后,执行数据库迁移操作。
`
审批机制是 OpenProse 的重要特性——它让自动化工作流在关键节点保留人工控制。
Lobster 工作流运行时
Lobster 是 OpenProse 的底层工作流运行时引擎,提供:
核心特性
| 特性 | 说明 |
|------|------|
| 类型化工作流 | 步骤之间的数据传递有类型约束 |
| 可恢复执行 | 工作流中断后可以从断点恢复 |
| 审批门控 | 支持人工审批暂停/恢复 |
| 状态持久化 | 工作流状态保存到磁盘 |
| 超时控制 | 每个步骤可以设置超时时间 |
工作流状态
`
创建 → 运行中 → [等待审批] → 运行中 → 完成
↓
超时/取消
`
| 状态 | 说明 |
|------|------|
| created | 工作流已创建,尚未开始 |
| running | 正在执行步骤 |
| waiting | 等待人工审批或外部事件 |
| completed | 所有步骤执行完成 |
| failed | 某个步骤执行失败 |
| cancelled | 被用户取消 |
恢复机制
当工作流因审批、超时或 Gateway 重启而中断时,Lobster 可以从上次的断点恢复:
`
工作流执行到步骤 3 → Gateway 重启 → 自动从步骤 3 恢复继续
`
这对长时间运行的工作流特别重要——你不需要从头开始。
LLM Task 工具
LLM Task 是 OpenProse 中的一个特殊工具,用于在工作流步骤中调用 AI 模型并获取结构化输出。
什么是 LLM Task
普通的 AI 对话返回自由文本,而 LLM Task 返回结构化的 JSON 数据:
`
普通对话:
输入:"分析这段代码的问题"
输出:"这段代码有几个问题:首先..."(自由文本)
LLM Task:
输入:"分析这段代码的问题"
输出:{ "issues": [...], "severity": "medium", "suggestions": [...] }
`
使用场景
LLM Task 适合需要程序化处理 AI 输出的场景:
`markdown
步骤 2:分类邮件
使用 LLM Task 对每封邮件进行分类:
输出格式:
`json
{
"category": "工作|个人|广告|垃圾",
"priority": "高|中|低",
"summary": "一句话摘要",
"actionRequired": true/false
}
`
与普通步骤的区别
| 对比 | 普通步骤 | LLM Task |
|------|---------|----------|
| 输出格式 | 自由文本 | 结构化 JSON |
| 后续处理 | 需要 AI 理解 | 可以程序化处理 |
| 适用场景 | 生成报告、回答问题 | 数据提取、分类、评分 |
Diffs 工具
Diffs 是 OpenProse 提供的差异查看工具,用于在工作流中展示文件或数据的变更。
使用场景
`markdown
步骤 3:展示变更
使用 Diffs 工具展示代码修改前后的差异,让用户审核。
`
Diffs 工具会生成类似 Git diff 的可视化输出:
`diff
- const port = 3000
+ const port = process.env.PORT || 3000
- app.listen(port)
+ app.listen(port, '0.0.0.0', () => {
+ console.log(Server running on port ${port})
+ })
`
这在代码审查和配置变更的工作流中特别有用。
实用场景示例
场景一:多步骤研究 → 总结
`markdown
工作流:技术调研报告
步骤 1:搜索资料
搜索关于"WebAssembly 在服务端的应用"的最新资料,收集 5-10 篇相关文章。
步骤 2:提取要点
从每篇文章中提取:
- 核心观点
- 技术方案
- 优缺点
步骤 3:对比分析
对比不同方案的优缺点,形成对比表格。
步骤 4:生成报告
整理成一份 2000 字以内的中文调研报告,包含:
- 背景介绍
- 方案对比
- 推荐方案
- 参考链接
`
场景二:代码审查流程
`markdown
工作流:PR 代码审查
步骤 1:获取变更
读取最近的代码变更文件列表。
步骤 2:逐文件审查
对每个变更文件进行审查,检查:
- 代码风格一致性
- 潜在的 bug
- 性能问题
- 安全隐患
步骤 3:生成审查意见
汇总所有发现,按严重程度排序。
步骤 4:等待确认
> 🔒 展示审查结果,等待用户确认是否需要修改。
步骤 5:应用修复
根据用户确认的审查意见,自动修复可以自动处理的问题。
`
场景三:数据处理管道
`markdown
工作流:CSV 数据清洗
步骤 1:读取数据
读取 data/raw.csv 文件。
步骤 2:数据清洗(LLM Task)
使用 LLM Task 识别并修复数据问题:
- 缺失值处理
- 格式统一
- 异常值标记
输出格式:
{
"cleanedRows": 数量,
"issues": [{"row": 行号, "column": 列名, "issue": "问题描述"}]
}
步骤 3:展示变更
使用 Diffs 展示清洗前后的数据差异。
步骤 4:保存结果
将清洗后的数据保存到 data/cleaned.csv。
`
创建和运行工作流
创建工作流文件
将工作流定义保存为 Markdown 文件:
`bash
保存到工作区
~/.openclaw/workspace/workflows/daily-report.md
`
运行工作流
在聊天中触发:
`
你:运行"每日新闻摘要"工作流
智能体:开始执行工作流...
✅ 步骤 1:收集新闻 — 完成
✅ 步骤 2:分析趋势 — 完成
✅ 步骤 3:生成报告 — 完成
✅ 步骤 4:发送报告 — 完成
工作流执行完成!
`
定时运行
结合 Cron 定时任务自动运行工作流:
`bash
openclaw cron add --schedule "0 9 * * *" --message "运行每日新闻摘要工作流"
``
注意事项
1. 实验性功能:OpenProse 仍在积极开发中,格式和 API 可能变化
2. Token 消耗:多步骤工作流会消耗较多 Token,注意成本控制
3. 超时处理:长时间运行的步骤建议设置超时
4. 错误恢复:利用 Lobster 的恢复机制处理中断
5. 审批节点:在关键操作前添加人工审批,避免自动化失控
小结
- OpenProse 用 Markdown 定义工作流,简单直观
- Lobster 运行时提供可恢复执行和审批门控
- LLM Task 获取结构化 JSON 输出,便于程序化处理
- 适合多步骤研究、代码审查、数据处理等场景
- 目前是实验性功能,持续关注更新
#OpenProse #工作流编排 #Lobster #实验性功能 #龙虾技能库