用途:TaskFlow 用于一个作业需要超出单次提示或单次独立运行、但仍需单一所属会话、单一返回上下文和统一检查或恢复入口的场景。
主要能力:它拥有流程标识、所属会话与请求来源、currentStep、stateJson 与 waitJson、关联子任务及其父流程 id,以及 finish、fail、cancel、waiting、blocked 等状态,并做 revision 追踪以保证变更冲突安全。它不负责分支或业务逻辑,这些应放在 Lobster、acpx 或调用代码中。
使用方式:规范入口为 api.runtime.tasks.flow,api.runtime.taskFlow 仅作别名。绑定可用 api.runtime.tasks.flow.fromToolContext(ctx)(已有含 sessionKey 的可信工具上下文时)或 api.runtime.tasks.flow.bindSession({ sessionKey, requesterOrigin })。托管流程生命周期包括 createManaged(...)、runTask(...)、setWaiting(...)、resume(...)、finish(...) 或 fail(...)、requestCancel(...) 或 cancel(...)。后台 ACP/子代理工作由核心运行时创建一对一镜像流程,本技能主要针对托管流程。
限制与要点:stateJson 即持久状态袋,没有单独的 setFlowOutput 或 appendFlowOutput API。创建后每个变更方法都会做 revision 检查,每次成功变更后需携带最新 flow.revision。runTask(...) 会把子任务链接到流程,需父级编排时应使用它而非手动创建独立任务。用 getTaskSummary(flowId) 获取子工作的紧凑健康视图;调用方想立即停止调度用 requestCancel(...),同时还要取消已链接的活跃子任务用 cancel(...)。条件判断应保持在运行时之上,仅用流程运行时管理状态与任务链接。示例可参考 skills/taskflow/examples/inbox-triage.lobster、skills/taskflow/examples/pr-intake.lobster 及 skills/taskflow-inbox-triage/SKILL.md。