一、基础认知
1.1 产品定位
OpenProse 是 OpenClaw 内置的 Markdown 驱动工作流编排系统,无需编写代码,纯文本定义自动化流程;依托 Lobster 运行时引擎,原生适配大模型调用,支持分支判断、人工审批、断点续跑,目前为实验性功能,语法与接口后续可能迭代调整。
1.2 核心设计理念
- markdown 优先:格式自然易读、易编辑、易版本管理
- LLM 原生:每一步可直接调用模型,兼顾文本生成与结构化数据输出
- 流程可控:支持中断、人工介入、异常恢复
- 数据强约束:步骤间传参具备类型校验,避免数据错乱
1.3 架构流转
传统编排:代码 / 可视化配置 → 引擎解析执行
OpenProse:Markdown 工作流文件 → LLM 语义解析 → Lobster 引擎调度执行 → 输出结果
二、工作流基础语法与结构
2.1 最简文件结构
整个工作流就是一份标准 Markdown,以标题划分层级,一级标题为工作流名称,二级标题为独立执行步骤。
markdown
# 工作流:每日晨间简报
## 步骤 1:抓取今日热点
搜索全网今日热点资讯,筛选 8 条有效内容。
## 步骤 2:内容精简
对【步骤 1】的资讯进行压缩,每条控制在 20 字以内。
## 步骤 3:整合推送
将精简后的内容整理成统一简报格式。
2.2 步骤数据引用
默认按从上到下顺序执行,使用 【步骤 X】 语法引用前置步骤的输出,实现步骤间数据串联。
markdown
# 工作流:订单数据分析
## 步骤 1:拉取原始订单数据
读取本周所有订单明细。
## 步骤 2:核心指标计算
基于【步骤 1】的订单数据,统计:总订单数、成交金额、客单价。
## 步骤 3:生成分析文案
结合【步骤 1】原始数据与【步骤 2】统计指标,撰写简短分析总结。
三、进阶编排能力
3.1 顺序执行(基础模式)
适用于线性流水线任务,步骤依次执行,无分支、无跳转,是最常用的编排方式。
示例:文档质检流程
markdown
# 工作流:文档自动化质检
## 步骤 1:读取目标文档
读取 workspace/doc/rule.md 全文内容。
## 步骤 2:错别字校验
检查文档内错别字、标点符号错误。
## 步骤 3:语句通顺度检查
优化不通顺语句,标注问题位置。
## 步骤 4:输出质检报告
汇总所有问题,生成最终质检报告。
3.2 条件分支(逻辑判断)
支持多分支路由,根据前置步骤结果自动选择执行链路,语法:### 条件描述。
示例:风险分级处理
markdown
# 工作流:安全风险处置
## 步骤 1:漏洞扫描
对项目代码进行安全扫描,输出风险等级:高/中/低/无风险。
## 步骤 2:分级处理
### 如果风险等级为高风险
立即生成紧急整改清单,并推送告警通知。
### 如果风险等级为中风险
记录问题列表,安排常规排期修复。
### 如果风险等级为低风险
仅做备注记录,无需紧急处理。
### 如果无风险
输出:安全检测全部通过。
3.3 人工审批(断点门控)
在关键节点暂停流程,等待人工确认后继续执行,关键词:> 🔒 此步骤需要人工审批。
适合高危操作、重要决策类场景,防止自动化误操作。
示例:数据库变更审批
markdown
# 工作流:数据库表结构变更
## 步骤 1:生成变更脚本
根据需求生成数据库 DDL 变更脚本,并校验语法合法性。
## 步骤 2:人工审核确认
> 🔒 此步骤需要人工审批。展示变更脚本,等待用户确认后方可继续。
## 步骤 3:执行变更
审批通过后,执行数据库表结构变更。
## 步骤 4:结果校验
检查变更后数据库运行状态,输出执行结果。
四、底层运行时:Lobster
Lobster 是 OpenProse 专属运行引擎,负责流程调度、状态管理、断点恢复。
4.1 核心能力
表格
| 能力 | 说明 |
|---|---|
| 类型化流转 | 步骤传递的数据做类型校验,避免格式异常 |
| 断点恢复 | 流程中断、网关重启后,从失败 / 暂停节点继续执行,无需从头跑 |
| 审批门控 | 完美承接人工审批节点的暂停、唤醒逻辑 |
| 状态持久化 | 所有流程状态落地磁盘,断电不丢失 |
| 超时控制 | 支持为单步骤设置超时时间,防止流程卡死 |
4.2 全生命周期状态
plaintext
created(已创建) → running(执行中)
↓
waiting(等待审批/外部事件)
↓
running(恢复执行) → completed(执行完成)
↓
failed(执行失败) / cancelled(手动取消)
各状态说明:
created:工作流已创建,未启动running:正常执行步骤waiting:卡在审批节点 / 等待外部触发completed:全部步骤执行完毕failed:某一步骤报错终止cancelled:用户手动终止流程
4.3 断点恢复机制
流程意外中断(网关重启、网络异常、超时)后,再次启动会自动定位到上一个未完成步骤继续执行,长周期任务体验友好。
五、内置核心工具
5.1 LLM Task 结构化输出工具
普通步骤返回自由文本,LLM Task 强制模型输出标准 JSON 结构化数据,便于后续程序解析、数据处理,是自动化数据流水线的核心工具。
语法规则
在步骤内写明输出 JSON 格式模板,引擎自动约束模型返回结构。
示例:邮件自动分类
markdown
# 工作流:邮件分拣
## 步骤 1:读取邮件内容
获取收件箱最新邮件正文。
## 步骤 2:邮件分类(LLM Task)
分析邮件内容,严格按照以下 JSON 格式输出结果:
```json
{
"category": "工作|个人|广告|垃圾邮件",
"priority": "高|中|低",
"summary": "一句话内容摘要",
"needReply": true | false
}
步骤 3:分类分发
根据【步骤 2】的结构化结果,将邮件归类到对应文件夹。
plaintext
#### 普通步骤 vs LLM Task
| 对比项 | 普通步骤 | LLM Task |
| ---- | ---- | ---- |
| 输出格式 | 自由文本 | 固定 JSON 结构 |
| 后续处理 | 依赖 LLM 二次理解 | 可直接代码解析 |
| 适用场景 | 报告生成、文案创作、问答 | 数据提取、分类、打分、统计 |
### 5.2 Diffs 差异对比工具
可视化展示文件、文本、配置的前后变更,样式类似 Git Diff,多用于代码审查、配置修改、数据变更场景。
#### 使用示例
```markdown
# 工作流:配置文件变更审核
## 步骤 1:读取新旧配置
读取修改前、修改后的服务配置文件。
## 步骤 2:展示变更内容(Diffs)
使用差异工具展示配置文件修改前后对比,供人工核对。
## 步骤 3:确认生效
核对无误后,加载新配置并重启服务。
渲染效果示例:
diff
- "port": 18788
+ "port": 18789
- "debug": false
+ "debug": true
六、完整实战场景案例
案例 1:技术调研流水线(多步骤资料整理)
markdown
# 工作流:AI 框架技术调研
## 步骤 1:全网资料检索
搜索「轻量级本地大模型部署框架」相关资料,收集 6 篇优质文档。
## 步骤 2:信息提取
从【步骤 1】的文档中,提取每个框架的:核心优势、硬件要求、适用场景。
## 步骤 3:横向对比
基于提取信息,制作多框架优缺点对比清单。
## 步骤 4:生成调研报告
整合所有内容,输出一份完整中文调研文档,包含背景、对比、选型建议。
案例 2:数据清洗流水线(LLM Task + Diffs 组合)
markdown
# 工作流:CSV 数据清洗
## 步骤 1:读取原始数据
读取 data/source.csv 原始业务数据。
## 步骤 2:数据清洗(LLM Task)
识别数据中的缺失值、乱码、异常字段并修复,输出格式如下:
```json
{
"totalRows": 总数据行数,
"fixedCount": 已修复问题数,
"errorList": [{"row": 行号, "desc": "问题描述"}]
}
步骤 3:查看变更(Diffs)
展示清洗前后的数据差异。
步骤 4:保存结果
将清洗完成的数据写入 data/clean.csv。
plaintext
### 案例 3:代码审查全流程(分支 + 人工审批)
```markdown
# 工作流:Git 代码合并审查
## 步骤 1:获取代码变更
拉取当前分支与主干分支的代码差异文件。
## 步骤 2:代码风险检测
检测代码中的语法错误、硬编码密钥、SQL 注入、性能问题。
## 步骤 3:风险分支判断
### 如果存在高危风险
直接终止流程,输出:代码存在高危问题,禁止合并。
### 如果存在普通风险
汇总问题清单,进入人工审核。
### 如果无任何风险
自动执行代码合并。
## 步骤 4:人工审批
> 🔒 展示代码问题清单,等待人工确认是否允许合并。
## 步骤 5:执行合并
审批通过后,完成代码分支合并操作。
七、工作流运行与运维
7.1 文件存放路径
将编写好的 Markdown 工作流文件,放置在 OpenClaw 默认工作目录:
plaintext
~/.openclaw/workspace/workflows/
7.2 手动触发执行
在 OpenClaw 对话窗口,通过自然语言调用工作流:
plaintext
用户:运行「每日晨间简报」工作流
机器人:开始执行工作流...
✅ 步骤 1:抓取今日热点 — 完成
✅ 步骤 2:内容精简 — 完成
✅ 步骤 3:整合推送 — 完成
工作流执行完毕!
7.3 定时自动运行
结合 OpenClaw 定时任务 cron,实现周期触发工作流,语法同标准 Crontab:
bash
运行
# 每天早上 9 点自动运行每日简报工作流
openclaw cron add --schedule "0 9 * * *" --message "运行每日晨间简报工作流"
7.4 常用运维命令
bash
运行
# 查看所有定时任务
openclaw cron list
# 删除定时任务
openclaw cron del 任务ID
# 查看正在运行的工作流
openclaw workflow list
# 终止指定工作流
openclaw workflow cancel 流程ID
八、最佳实践与注意事项
- 功能状态提醒 OpenProse 为实验性功能,语法、工具、接口可能随版本更新调整,正式生产环境建议先做充分测试。
- Token 成本控制 多步骤、长文本工作流会持续消耗 Token,复杂流程建议拆分、精简提示词。
- 超时配置 数据检索、大文件分析等耗时步骤,建议单独设置超时时间,避免流程挂死。
- 高危操作强制加审批 数据库修改、代码合并、文件删除、对外推送等高危动作,必须添加人工审批节点。
- 善用断点恢复 长周期流程优先依赖 Lobster 恢复能力,无需重复执行前置步骤。
- 版本管理 工作流 Markdown 文件建议纳入 Git 管理,方便回溯、迭代、多人协作。
九、总结
- OpenProse 以 Markdown 为载体,零代码实现工作流编排,上手门槛极低;
- 支持顺序、条件分支、人工审批三大主流编排逻辑,覆盖绝大多数自动化场景;
- Lobster 运行时提供状态持久化、断点续跑、超时管控,保障流程稳定性;
LLM Task实现结构化数据输出,Diffs实现可视化对比,补齐数据处理、代码审查能力;- 可搭配定时任务实现全自动周期执行,适合报表生成、数据清洗、内容汇总、代码质检等场景。