📦 FlowForge Workflow Engine — FlowForge工作流引擎
v1.1.0通过FlowForge引擎运行结构化的多步骤工作流。当用户请求分步执行、结构化工作流或任务需要强制排序时使用(如'遵循工作流'、'使用flowforge'、'逐步处理')。帮助AI代理执行多步骤任务,避免跳过关键步骤。
详细分析 ▾
运行时依赖
版本
v1.1.0:技能编排——spawn=sessions_spawn。明确的行动类型映射:spawn→子代理,prompt→直接执行,complete→完成。切勿在主会话中执行spawn任务。
安装命令
点击复制技能文档
使用FlowForge状态机引擎执行YAML文件中定义的多步骤工作流。
前置条件
必须安装FlowForge CLI。检查方法:
flowforge --version
如果命令失败或找不到,请在继续之前运行setup.md中的设置流程。
我的工作流
| 意图 | 工作流 |
|---|---|
| (随着您使用FlowForge,在此添加您的映射) |
核心循环
1. 启动或恢复
# 检查活动实例 flowforge active# 如果存在则恢复 flowforge status
# 或启动新的 flowforge start
2. 获取行动
flowforge run
返回JSON:{ action: { type, node, task, branches, ... } }
3. 按行动类型执行
type: 'spawn' — 节点有executor: subagent。
必须生成子代理:
sessions_spawn(
task: action.task,
mode: "run",
label: "flowforge--"
)
等待子代理完成。收集其输出。
⚠️ 切勿在主会话中自己执行spawn任务。 子代理节点的重点是委托——它们并行运行,解除主会话的阻塞,并使用最佳工具。如果您自己执行,就会阻塞主会话并违背目的。
type: 'prompt' — 节点需要您的直接判断。
在主会话中自己执行任务。将其用于决策、轻量级检查和协调——而不是繁重的实现工作。
type: 'complete' — 工作流完成。
向用户报告结果。
4. 推进
在获得结果后(来自子代理输出或您自己的工作):
echo "" | flowforge advance
或者:
flowforge advance --result ""
如果节点有分支,请在结果中包含Branch: N,以便引擎知道走哪条路径。
5. 重复
返回步骤2。循环直到type: 'complete'。
规则
- spawn = 子代理。 当行动类型是
spawn时,使用sessions_spawn。不是exec,不是编码CLI,不是在主会话中自己执行。 - 永不跳过节点。 在推进之前执行每个节点的任务。
- 运行至完成。 在向用户报告之前执行所有节点。如果节点生成了子代理,等待它完成,然后推进。
- 状态持久化。 工作流在会话重启后仍然存在。使用
flowforge active恢复。 - 运行后: 在您的每日日志中记录结果。
手动模式
如果您更喜欢逐步控制而不是run/advance JSON循环:
flowforge status # 查看当前任务
# ... 执行任务 ...
flowforge next # 推进(线性节点)
flowforge next --branch N # 推进(分支节点)
相同的spawn规则适用:如果当前节点有executor: subagent,则生成子代理。
创建新工作流
请参阅references/yaml-format.md获取完整的YAML规范。
name: my-workflow description: 这个工作流的作用 start: first-nodenodes: first-node: task: 要做什么(给执行者的详细指令) executor: subagent # 为此节点生成子代理 next: second-node
second-node: task: 根据结果做决定 # executor默认为'inline'——代理直接执行 branches: - condition: success next: done - condition: retry next: first-node
done: task: 报告结果 terminal: true
节点字段
task(必需):要做什么的自然语言指令executor:'subagent'(生成)或'inline'(默认,自己执行)next:线性流程的单个下一节点branches:用于分支的{condition, next}数组terminal:true表示结束节点
故障排除
- "No active instance":运行
flowforge start - "Workflow not found":运行
flowforge list查看可用工作流 - 错误的节点/卡住:使用
flowforge reset重启 - 子代理失败:检查错误,修复问题,重新运行节点或手动推进