tags, create time
| tags |
create time |
| workflow |
| 自动化 |
| YAML |
| 多agent |
| feature-flag |
|
2026-06-09 22:30 |
WORKFLOW_SCRIPTS — 工作流自动化
概述
WORKFLOW_SCRIPTS 实现基于文件的多步自动化工作流。用户可以定义 YAML/JSON 格式的工作流描述文件,系统将其解析为可执行的多 agent 步骤序列。提供 /workflows 命令管理和触发工作流。
[!info]
Feature Flag: FEATURE_WORKFLOW_SCRIPTS=1
实现状态:全部 Stub(7 个文件),布线完整
正文
实现架构
模块状态
| 模块 |
文件 |
状态 |
| WorkflowTool |
packages/builtin-tools/src/tools/WorkflowTool/WorkflowTool.ts |
部分实现 — tool schema + 渲染完整,call 返回运行时缺失提示 |
| Workflow 权限 |
packages/builtin-tools/src/tools/WorkflowTool/WorkflowPermissionRequest.tsx |
部分实现 — 权限请求组件 |
| 常量 |
packages/builtin-tools/src/tools/WorkflowTool/constants.ts |
实现 — 工具名 + 目录名 + 文件扩展名常量 |
| 命令创建 |
packages/builtin-tools/src/tools/WorkflowTool/createWorkflowCommand.ts |
实现 — 扫描 .claude/workflows/ 目录创建 Command 对象 |
| 捆绑工作流 |
packages/builtin-tools/src/tools/WorkflowTool/bundled/index.ts |
实现 — 内置工作流初始化 |
| 本地工作流任务 |
src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts |
Stub — 类型 + 空操作 |
| UI 任务组件 |
src/components/tasks/src/tasks/LocalWorkflowTask/ |
Stub — 空导出 |
| 详情对话框 |
src/components/tasks/WorkflowDetailDialog.ts |
Stub — 返回 null |
| 任务注册 |
src/tasks.ts |
布线 — 动态加载 |
| 工具注册 |
src/tools.ts |
布线 — 动态加载 + bundled 工作流初始化 |
| 命令注册 |
src/commands.ts |
布线 — /workflows 命令 |
预期数据流
预期工作流 DSL
需要补全的内容
| 优先级 |
模块 |
工作量 |
说明 |
| 1 |
WorkflowTool.ts call 方法 |
中 |
实际工作流执行逻辑(当前返回运行时缺失提示) |
| 2 |
LocalWorkflowTask.ts |
大 |
步骤协调、kill/skip/retry |
| 3 |
WorkflowDetailDialog.ts |
中 |
进度详情 UI |
关键设计决策
- 基于文件的 DSL:工作流定义为文件(YAML/JSON),版本控制友好
- 多 Agent 步骤:每个步骤是独立的 agent 任务,支持并行/串行
- 内置工作流:
bundled/ 目录提供开箱即用的常用工作流
- /workflows 命令:统一的发现和触发入口
使用方式
文件索引
| 文件 |
职责 |
packages/builtin-tools/src/tools/WorkflowTool/WorkflowTool.ts |
工具定义(部分实现) |
packages/builtin-tools/src/tools/WorkflowTool/WorkflowPermissionRequest.tsx |
权限请求组件 |
packages/builtin-tools/src/tools/WorkflowTool/constants.ts |
常量定义 |
packages/builtin-tools/src/tools/WorkflowTool/createWorkflowCommand.ts |
命令创建(已实现) |
packages/builtin-tools/src/tools/WorkflowTool/bundled/index.ts |
内置工作流初始化 |
src/tasks/LocalWorkflowTask/LocalWorkflowTask.ts |
任务协调(stub) |
src/components/tasks/WorkflowDetailDialog.ts |
详情对话框(stub) |
src/tools.ts:131-134,235 |
工具注册 |
src/commands.ts:93-95,395,460 |
命令注册 |
关联笔记