mcpField
T
taskflow

taskflow

github.com/openclawAgent 工作流393.3k476 次安装今天更新
代码仓库

关于 taskflow

用于将多步骤工作管理为持久 TaskFlow 的技能,设定单一负责人、有限状态和明确的审批等待。它指导如何使用 Lobster 插件、安全恢复流程、协调子 Agent,并在完成前核验验收条件。

主要功能

  1. 01通过 Lobster 运行示例工作流
  2. 02等待审批并从检查点恢复
  3. 03协调子 Agent 交接
  4. 04维护有限且持久的流程状态
  5. 05完成前核验验收条件

适用场景

  1. 01路由合成收件箱项目以供审核
  2. 02处理不执行 GitHub 操作的 PR 接收意图
  3. 03恢复等待审批的工作流
  4. 04跟踪已关联的子 Agent 任务直至目标完成

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openclaw/openclaw --skill taskflow

安装后在 Claude Code 中输入/taskflow确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

examples/
inbox-triage.lobster
pr-intake.lobster
references/
subagent-workflows.md

详细介绍

TaskFlow

对于包含多个步骤、由单一负责人管理、状态有界且等待条件明确的工作,请使用受管理的 TaskFlow。单个分离运行的 ACP/子 Agent 若完成了交付内容,会自动映射到一个流程,无需再创建第二个受管理流程。

运行工作流

在已安装、启用并获准使用 Lobster 插件的非沙盒会话中,使用可用的 lobster 工具。此技能仅提供指导,并非插件注册:它不会提供 api 对象或任务启动工具。

这些示例要求 Gateway 主机上安装 Node,并使用合成且已分类的数据。它们会路由每个项目、暂停等待审批,然后返回路由结果。它们不会读取邮件、发送消息、修改 PR 或启动分离的子任务。以下路径假设 Gateway 工作目录是仓库根目录;否则请使用示例文件的绝对路径。

{
  "action": "run",
  "pipeline": "skills/taskflow/examples/inbox-triage.lobster",
  "flowControllerId": "lobster/inbox-triage",
  "flowGoal": "Review synthetic inbox routing",
  "maxStdoutBytes": 8192
}

对于 PR 接收处理,请改用 skills/taskflow/examples/pr-intake.lobster 和控制器 lobster/pr-intake。其意图包括 close、request_changes、refactor 和 maintainer_review;不会执行任何 GitHub 操作。

批准并恢复

读取工具结果的 details(也会呈现为 JSON 文本)。其中直接包含 status、requiresApproval、flow 和 mutation,并非嵌套在 envelope 中。

  1. 对于未取消的结果,要求 mutation.applied === true。否则报告其 code 并停止;仅工作流成功并不能证明流程更新已持久化。
  2. 对于 needs_approval,向用户展示 requiresApproval.prompt 和 items,然后等待用户决定。
  3. 在同一个负责人会话中,构建一个单独的 action: "resume" 调用,其中 flowId 取自 mutation.flow.flowId,flowExpectedRevision 取自 mutation.flow.revision,并将 approve 设为用户的决定。若省略 token 和 approvalId,工具会检索已保存的检查点。如果提供了它们,则必须与该检查点匹配。恢复时保留 maxStdoutBytes: 8192。

使用变更后的版本号,而不是较早的顶层 flow.revision。仅当用户拒绝时才设置 approve: false。用户批准后,检查新的 mutation.applied 和流程状态;取消时,检查 mutation.cancelled。报告错误、被拒绝的变更和待处理的取消,不要声称已完成。发生版本冲突时,不要盲目重试副作用:应先重新加载并协调状态。

协调子 Agent

对于研究/审查并行任务、实现/验证交接、重启后协调,或可选的共享工作区认领,请阅读 子 Agent 工作流。选择适合请求的配方;小型委派无需 Workboard 或第二个流程。配方使用现有工具及其当前回执,而非单独的调度器。

完成目标

关联的子任务达到终止状态并不意味着受管理流程已完成。将其结果与流程目标进行比较,安排范围内的下一步,并仅在验证目标的验收条件后调用 finish(...)。

对于终止结果型工作流,请在 stateJson 中持久化明确的验收状态。例如,PR 合并流程在审查和 CI 期间应保持运行或等待状态,只有托管服务报告 PR 已合并后才能结束。

持久化状态不是调度器

TaskFlow 记录会持久化到 SQLite 中。控制器必须重新加载最新记录并显式恢复;任意 JavaScript 和正在执行的工作都不会重放。Lobster 审批暂停不会监听 Slack 回复。持久化状态应仅包含有界的 ID、路由摘要和游标,而非完整消息或历史记录。

插件作者使用 api.runtime.tasks.managedFlows;flows 和 runs 提供按所有者范围限定的查找。runTask 用于关联已经启动且具有权威性的 ACP/子 Agent 执行,且所有者和规范的运行/会话 ID 必须匹配;它不会启动执行。不得臆造 ID、时间戳或底层记录。请参阅插件启动/关联契约和 Task Flow。

有关收件箱路由和真实适配器要求,请阅读 skills/taskflow-inbox-triage/SKILL.md。有关工具设置,请参阅 Lobster。

评论

支持 Markdown