vault backup: 2026-06-09 23:15:17
This commit is contained in:
@@ -1,16 +1,23 @@
|
||||
---
|
||||
tags: [workflow, 自动化, YAML, 多agent, feature-flag]
|
||||
create time: 2026-06-09 22:30
|
||||
---
|
||||
|
||||
# WORKFLOW_SCRIPTS — 工作流自动化
|
||||
|
||||
> Feature Flag: `FEATURE_WORKFLOW_SCRIPTS=1`
|
||||
> 实现状态:全部 Stub(7 个文件),布线完整
|
||||
> 引用数:10
|
||||
|
||||
## 一、功能概述
|
||||
## 概述
|
||||
|
||||
WORKFLOW_SCRIPTS 实现基于文件的多步自动化工作流。用户可以定义 YAML/JSON 格式的工作流描述文件,系统将其解析为可执行的多 agent 步骤序列。提供 `/workflows` 命令管理和触发工作流。
|
||||
|
||||
## 二、实现架构
|
||||
> [!info]
|
||||
> Feature Flag: `FEATURE_WORKFLOW_SCRIPTS=1`
|
||||
> 实现状态:全部 Stub(7 个文件),布线完整
|
||||
|
||||
### 2.1 模块状态
|
||||
## 正文
|
||||
|
||||
### 实现架构
|
||||
|
||||
#### 模块状态
|
||||
|
||||
| 模块 | 文件 | 状态 |
|
||||
|------|------|------|
|
||||
@@ -23,37 +30,28 @@ WORKFLOW_SCRIPTS 实现基于文件的多步自动化工作流。用户可以定
|
||||
| UI 任务组件 | `src/components/tasks/src/tasks/LocalWorkflowTask/` | **Stub** — 空导出 |
|
||||
| 详情对话框 | `src/components/tasks/WorkflowDetailDialog.ts` | **Stub** — 返回 null |
|
||||
| 任务注册 | `src/tasks.ts` | **布线** — 动态加载 |
|
||||
| 工具注册 | `src/tools.ts` | **布线** — 动态加载 + bundled 工作流初始化 (行 131-134,235) |
|
||||
| 命令注册 | `src/commands.ts` | **布线** — `/workflows` 命令 (行 93-95,395,460) |
|
||||
| 工具注册 | `src/tools.ts` | **布线** — 动态加载 + bundled 工作流初始化 |
|
||||
| 命令注册 | `src/commands.ts` | **布线** — `/workflows` 命令 |
|
||||
|
||||
### 2.2 预期数据流
|
||||
#### 预期数据流
|
||||
|
||||
```
|
||||
用户定义工作流(YAML/JSON 文件)
|
||||
│
|
||||
▼
|
||||
/workflows 命令发现工作流文件
|
||||
│
|
||||
▼
|
||||
createWorkflowCommand() 解析为 Command 对象 [需要实现]
|
||||
│
|
||||
▼
|
||||
WorkflowTool 执行工作流 [需要实现]
|
||||
│
|
||||
├── 步骤 1: Agent({ task: "..." })
|
||||
├── 步骤 2: Agent({ task: "..." })
|
||||
└── 步骤 N: Agent({ task: "..." })
|
||||
│
|
||||
▼
|
||||
LocalWorkflowTask 协调步骤执行 [需要实现]
|
||||
│
|
||||
▼
|
||||
WorkflowDetailDialog 显示进度 [需要实现]
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A["用户定义工作流 YAML/JSON 文件"] --> B["/workflows 命令发现工作流文件"]
|
||||
B --> C["createWorkflowCommand() 解析为 Command 对象 需要实现"]
|
||||
C --> D["WorkflowTool 执行工作流 需要实现"]
|
||||
D --> E["步骤 1: Agent({ task: '...' })"]
|
||||
D --> F["步骤 2: Agent({ task: '...' })"]
|
||||
D --> G["步骤 N: Agent({ task: '...' })"]
|
||||
E --> H["LocalWorkflowTask 协调步骤执行 需要实现"]
|
||||
F --> H
|
||||
G --> H
|
||||
H --> I["WorkflowDetailDialog 显示进度 需要实现"]
|
||||
```
|
||||
|
||||
### 2.3 预期工作流 DSL
|
||||
#### 预期工作流 DSL
|
||||
|
||||
```
|
||||
```yaml
|
||||
# workflow.yaml(预期格式,需要设计)
|
||||
name: "代码审查工作流"
|
||||
steps:
|
||||
@@ -65,7 +63,7 @@ steps:
|
||||
agent: { type: "general-purpose", prompt: "综合分析结果写报告" }
|
||||
```
|
||||
|
||||
## 三、需要补全的内容
|
||||
### 需要补全的内容
|
||||
|
||||
| 优先级 | 模块 | 工作量 | 说明 |
|
||||
|--------|------|--------|------|
|
||||
@@ -73,21 +71,21 @@ steps:
|
||||
| 2 | `LocalWorkflowTask.ts` | 大 | 步骤协调、kill/skip/retry |
|
||||
| 3 | `WorkflowDetailDialog.ts` | 中 | 进度详情 UI |
|
||||
|
||||
## 四、关键设计决策
|
||||
### 关键设计决策
|
||||
|
||||
1. **基于文件的 DSL**:工作流定义为文件(YAML/JSON),版本控制友好
|
||||
2. **多 Agent 步骤**:每个步骤是独立的 agent 任务,支持并行/串行
|
||||
3. **内置工作流**:`bundled/` 目录提供开箱即用的常用工作流
|
||||
4. **/workflows 命令**:统一的发现和触发入口
|
||||
|
||||
## 五、使用方式
|
||||
### 使用方式
|
||||
|
||||
```bash
|
||||
# 启用 feature(需要补全后才能真正使用)
|
||||
FEATURE_WORKFLOW_SCRIPTS=1 bun run dev
|
||||
```
|
||||
|
||||
## 六、文件索引
|
||||
### 文件索引
|
||||
|
||||
| 文件 | 职责 |
|
||||
|------|------|
|
||||
@@ -100,3 +98,7 @@ FEATURE_WORKFLOW_SCRIPTS=1 bun run dev
|
||||
| `src/components/tasks/WorkflowDetailDialog.ts` | 详情对话框(stub) |
|
||||
| `src/tools.ts:131-134,235` | 工具注册 |
|
||||
| `src/commands.ts:93-95,395,460` | 命令注册 |
|
||||
|
||||
## 关联笔记
|
||||
|
||||
- [[claude-code-best/docs/features/coordinator-mode]]
|
||||
|
||||
Reference in New Issue
Block a user