工作流节点
工作流是一组通过 dependsOn 连接起来的节点。只有工作需要交接、检查、审批、发布,或要从失败步骤继续时,才需要工作流。
节点结构
{
"key": "implement",
"type": "ai",
"name": "实现与自测",
"dependsOn": ["understand"],
"inputs": [],
"outputs": [],
"capabilities": {},
"config": { "prompt": "…", "timeoutSeconds": 3600 },
"retry": { "maxAttempts": 2 }
}
| 字段 | 说明 |
|---|---|
key | 以字母开头,可用字母、数字、_ 和 -,最长 64 个字符,在工作流内唯一 |
type | 节点类型之一 |
name | 显示名称 |
dependsOn | 必须先完成的节点的 key |
inputs、outputs | 声明的交接内容,见交接与路由 |
capabilities | 这个节点可以使用的能力,必须是插件能力的子集,见能力声明 |
config | 各类型节点自己的设置 |
retry.maxAttempts | 1~5 |
规则
- 依赖关系只用
dependsOn表达,不能有环。返工用重试和失败策略处理,不要用回边。 - 一个工作流有 1~100 个节点。客户端的插件编辑器最多处理 30 个。
ai和ai_review节点必须写config.prompt。config.timeoutSeconds为 60~86,400 秒,默认 3,600。超时后会停止当前执行、保存超时记录,并按节点的重试策略处理。- 节点不能指定具体的机器(
runnerId、hostId、clientId、machineId、endpoint),请在绑定里使用执行机标签。 - 个人工作流至少要有一个
ai或ai_review节点,以及一个publish节点。
节点类型
个人工作流和组织工作流都可以使用
type | 在哪里执行 | 用途 |
|---|---|---|
ai | Runner 上的 Agent 底座 | 分析、写作、开发,使用 Skill 和 MCP |
ai_review | 单独的底座路由 | 独立的 AI 审查。节点不能审批自己的成果 |
human_review | 人 | 业务审阅或验收。config.action 默认为 uat,config.summary 告诉审阅人要检查什么 |
publish | Hub | 办结本次运行,记录交付回执。本机调试时只表示调试结束 |
仅限组织工作流
这些节点只用于组织的研发或部署流程,需要经过组织审查并绑定项目。
type | 在哪里执行 | 用途 |
|---|---|---|
spec | 人 | 确认需求基线 |
approval | 人 | 授权高风险步骤 |
quality | Runner 上的干净工作区 | 构建、测试、质量门禁,见命令节点 |
script | Runner 上的干净工作区 | 受控的命令执行,并记录证据 |
tool | Hub 的受信工具注册表 | http_check、notify 等内置工具 |
merge | Hub 或 Runner | 满足策略后合并 |
deploy | Runner | 发布到绑定里配置的环境 |
deploy_chain | Hub | 按环境链发布,包含检查、验收和回滚 |
validate | Hub | 按声明的规则校验成果 |
condition | Hub | 按运行输入分支 |
命令节点
quality 和 script 使用同一种结构。每条命令是一个 argv 数组,直接执行,不经过 shell。
{
"key": "build",
"type": "quality",
"name": "构建与测试",
"dependsOn": ["implement"],
"config": {
"commands": [
{ "name": "安装依赖", "argv": ["js:install"], "timeoutSeconds": 600 },
{ "name": "构建", "argv": ["js:build"], "timeoutSeconds": 600 },
{ "name": "测试", "argv": ["js:test"], "timeoutSeconds": 900 }
]
},
"retry": { "maxAttempts": 2 }
}
js:install、js:ci、js:build、js:test、js:type-check会根据仓库的包管理器或锁文件选择实际命令。- 工作目录必须是仓库内的相对路径。
- 质量节点默认还会检查变更卫生:其他包管理器的锁文件、构建产物、异常大的文件。
在对话中使用与作为任务运行
在普通对话里用 / 调用工作流插件,只会把它的方法和 AI 节点说明用于这次对话,不会执行脚本、审批、合并或发布。要真正执行各个节点、审批和恢复,请创建任务并选择这个工作流。
作为任务运行时,每个 AI 节点的说明、工具调用和输出都会实时显示在同一个对话里。人工确认在对话里完成;没有批准,后面的节点不会执行。每个节点由工作流的节点路由选择 Agent,用户不需要再选一个 Agent 去覆盖所有节点。
harness harnesses runtime runtimes 底座