首页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 #实验性功能 #龙虾技能库
#OpenProse#工作流#编排#Lobster#实验性
← 移动节点与硬件集成教程插件 SDK 开发教程 →