Workflow Run 用于在两种运行面上运行和管理工作流。
一、MCP 工作流生命周期
当需要运行一个已持久化的定义并控制其生命周期(暂停/恢复/取消)时,可使用以下 MCP 调用:
- 执行:调用 mcp__plugin_ruflo-core_ruflo__workflow_execute 或 mcp__plugin_ruflo-core_ruflo__workflow_run,并传入工作流 ID。
- 监控:调用 mcp__plugin_ruflo-core_ruflo__workflow_status 查看进度与各步骤结果。
- 暂停:调用 mcp__plugin_ruflo-core_ruflo__workflow_pause 在当前步骤停止。
- 恢复:调用 mcp__plugin_ruflo-core_ruflo__workflow_resume 从暂停处继续。
- 取消:调用 mcp__plugin_ruflo-core_ruflo__workflow_cancel 中止工作流。
执行模式包括:顺序、并行(独立步骤)、条件(按结果分支)、人工闸门(暂停等待人工批准)。
二、原生 .claude/workflows/*.js
当需要确定性的子智能体 fan-out 时,可用 Workflow 工具运行具名原生工作流。具名工作流的名称就是每个 .claude/workflows/*.js 文件里的 meta.name,可用 /workflow 列出,或用 ls .claude/workflows/ 查看。
示例:
Workflow({ name: 'plugin-contract-audit' }) // 运行具名工作流
Workflow({ name: 'plugin-contract-audit', args: 'ruflo-agentdb' }) // 传参 → 脚本的 args 全局变量
Workflow({ scriptPath: '.claude/workflows/foo.js' }) // 按路径运行脚本
Workflow({ scriptPath, resumeFromRunId: 'wf_…' }) // 恢复 — 未变化的 agent() 调用返回缓存
注意事项:
- 原生工作流在后台运行,完成时会通知(不要轮询)。用 /workflows 查看实时进度。
- 此处的暂停/恢复基于日志(resumeFromRunId),并非 MCP 状态机。先停止运行,再从其 runId 恢复。
- 若要编写新的原生工作流,使用 workflow-create 技能。
另见 ADR-0002。