> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WakerFlow 工作流编排

> 用 WakerFlow 多代理编排引擎把复杂任务拆解为多个 Phase，分配给不同 Waker，并用编排原语灵活控制执行顺序。

WakerFlow 是一个多代理编排引擎，将复杂的 AI 自动化任务分解为多个阶段和步骤，由不同的 Waker 协作完成。当任务需要多视角、多步骤处理时，WakerFlow 允许你将任务拆解为多个阶段（Phase），为每个步骤分配最合适的 Waker，并灵活控制执行顺序。

## WakerFlow 列表页

点击左侧导航栏的「WakerFlow」进入列表页面：

<Frame>
  <img src="https://mintcdn.com/qoder/3OpUyTiYrwl9Ro8Z/images/qoderwake/qoderwake-wakerflow-list.png?fit=max&auto=format&n=3OpUyTiYrwl9Ro8Z&q=85&s=da0fc6bf5b0f43f35df4d413d05a7421" alt="WakerFlow 列表页界面" width="1440" height="900" data-path="images/qoderwake/qoderwake-wakerflow-list.png" />
</Frame>

* **列表区域**：展示所有已创建的 WakerFlow，每条记录显示名称、描述、最近运行状态和时间。
* **新建按钮**：点击进入创建流程。
* **搜索与筛选**：支持按名称搜索和按状态筛选。

## 创建 WakerFlow

点击「新建 WakerFlow」进入创建流程。QoderWake 支持自然语言驱动创建：

<Frame>
  <img src="https://mintcdn.com/qoder/3OpUyTiYrwl9Ro8Z/images/qoderwake/qoderwake-wakerflow-create.png?fit=max&auto=format&n=3OpUyTiYrwl9Ro8Z&q=85&s=9bdaf9c8fb65aee4897f69fb054164de" alt="创建 WakerFlow 界面" width="1440" height="900" data-path="images/qoderwake/qoderwake-wakerflow-create.png" />
</Frame>

<Steps>
  <Step title="点击新建">
    点击列表页的「新建」按钮。
  </Step>

  <Step title="描述流程">
    在弹出的创建界面中，用自然语言描述想要的流程。例如："每天早上 9 点，让安全审计员检查昨天的代码变更，发现问题后让修复工程师修复，最后让测试工程师验证"。
  </Step>

  <Step title="生成脚本">
    系统自动生成包含多个阶段的编排脚本。
  </Step>

  <Step title="进入 Studio">
    生成后自动进入 Studio 界面，可进一步调整和完善。
  </Step>
</Steps>

也可以选择从空白模板开始，手动编写脚本。

**创建方式对比：**

| 方式     | 操作                 | 适用场景      |
| ------ | ------------------ | --------- |
| 自然语言创建 | 输入流程描述，系统自动生成脚本    | 快速原型、简单流程 |
| 空白模板   | 从零编写 JavaScript 脚本 | 复杂逻辑、精确控制 |
| 基于模板   | 选择预置模板后修改          | 常见场景快速适配  |

## WakerFlow Studio

WakerFlow Studio 通过顶部 Tab 栏提供WakerFlow、运行记录、设置三个功能 Tab 的切换。

### 画布 Tab

WakerFlow 详情页的默认视图为 Studio 画布：

<Frame>
  <img src="https://mintcdn.com/qoder/3OpUyTiYrwl9Ro8Z/images/qoderwake/qoderwake-wakerflow-canvas.png?fit=max&auto=format&n=3OpUyTiYrwl9Ro8Z&q=85&s=f5708e4214176e358c5b17f78c3dbaba" alt="WakerFlow 画布视图概览" width="1440" height="900" data-path="images/qoderwake/qoderwake-wakerflow-canvas.png" />
</Frame>

* **左侧画布区域**：以流程图形式可视化展示工作流结构，包含各个 Phase 和 Worker 节点以及它们之间的连接关系。可通过拖拽和缩放浏览整个流程。
* **右侧 Chat 面板**：提供与 WakerFlow 交互调试的对话区域，可以通过自然语言指令修改流程结构。
* **顶部 Tab 栏**：提供WakerFlow、运行记录、设置三个功能 Tab 的切换。

点击画布中的任一节点，右侧面板显示该节点的详细配置信息，包括：

<Frame>
  <img src="https://mintcdn.com/qoder/3OpUyTiYrwl9Ro8Z/images/qoderwake/qoderwake-wakerflow-canvas-node.png?fit=max&auto=format&n=3OpUyTiYrwl9Ro8Z&q=85&s=3ef8356e32de42608754c7236f50a452" alt="画布节点配置面板" width="1440" height="900" data-path="images/qoderwake/qoderwake-wakerflow-canvas-node.png" />
</Frame>

* 节点类型（Phase / Worker / Parallel 等）。
* 关联的 Waker 信息。
* 输入输出参数。
* 执行配置（超时、重试等）。

### 脚本 Tab

脚本 Tab 提供代码编辑器，用于直接编写和修改 WakerFlow 的 JavaScript 脚本：

<Frame>
  <img src="https://mintcdn.com/qoder/3OpUyTiYrwl9Ro8Z/images/qoderwake/qoderwake-wakerflow-script.png?fit=max&auto=format&n=3OpUyTiYrwl9Ro8Z&q=85&s=3573941036e43ad852640489dd80e862" alt="脚本编辑器界面" width="1440" height="900" data-path="images/qoderwake/qoderwake-wakerflow-script.png" />
</Frame>

* **代码编辑器**：支持语法高亮、自动补全。
* **保存按钮**：编辑完成后点击保存。
* **右侧 Chat 面板**：保持可用，可以一边编辑代码一边通过对话获取帮助。

### 运行记录 Tab

运行记录 Tab 展示该 WakerFlow 的所有执行历史：

<Frame>
  <img src="https://mintcdn.com/qoder/3OpUyTiYrwl9Ro8Z/images/qoderwake/qoderwake-wakerflow-runs.png?fit=max&auto=format&n=3OpUyTiYrwl9Ro8Z&q=85&s=5afeec6850ea275a0fa5c10fd4351d24" alt="运行记录列表" width="1440" height="900" data-path="images/qoderwake/qoderwake-wakerflow-runs.png" />
</Frame>

* **运行列表**：按时间倒序显示每次运行，包含运行 ID、触发方式、开始时间、持续时间和最终状态。
* **状态标签**:Pending / Running / Waiting / Completed / Failed / Cancelled。
* **详情展开**：点击运行记录可查看阶段进度、各 Worker 状态、日志输出和耗时统计。
* **人机交互提示**：当运行中遇到 `askUser` 节点时，会在此处显示输入提示。

<Frame>
  <img src="https://mintcdn.com/qoder/3OpUyTiYrwl9Ro8Z/images/qoderwake/qoderwake-wakerflow-runs-live.png?fit=max&auto=format&n=3OpUyTiYrwl9Ro8Z&q=85&s=78c68061c654bb32aecdabdb383815ab" alt="运行记录实时执行视图" width="1440" height="900" data-path="images/qoderwake/qoderwake-wakerflow-runs-live.png" />
</Frame>

<Note>
  运行中的 WakerFlow 会实时显示各节点的执行状态（进行中、已完成、等待中等），通过颜色和图标区分。
</Note>

### 设置 Tab

设置 Tab 管理 WakerFlow 的全局配置：

<Frame>
  <img src="https://mintcdn.com/qoder/3OpUyTiYrwl9Ro8Z/images/qoderwake/qoderwake-wakerflow-settings.png?fit=max&auto=format&n=3OpUyTiYrwl9Ro8Z&q=85&s=0332506f2fca8e4be12b068355c0e05d" alt="设置 Tab 配置界面" width="1440" height="900" data-path="images/qoderwake/qoderwake-wakerflow-settings.png" />
</Frame>

* **基本信息**：编辑名称和描述。
* **触发方式配置**：添加和管理触发器，每个 WakerFlow 最多 5 个触发器。
* **自动运行设置**：配置是否在保存后自动运行、超时时间等。
* **运行参数**：定义运行时可传入的参数。

## 编排原语

WakerFlow 使用 JavaScript 编写，提供 6 个编排原语：

| 原语                          | 说明     | 用途                                  |
| --------------------------- | ------ | ----------------------------------- |
| `phase(title, detail?)`     | 声明当前阶段 | 组织工作流的逻辑结构                          |
| `log(message, level?)`      | 写入进度消息 | 运行监控，level: info/warn/error/success |
| `worker(instruction, opts)` | 派发单个任务 | 分配任务给指定 Waker 执行                    |
| `parallel(tasks, opts?)`    | 屏障并发   | 所有任务并行执行，全部完成后返回                    |
| `pipeline(tasks, opts?)`    | 流水线    | 任务按顺序流经多个阶段                         |
| `askUser(question)`         | 人机交互   | 暂停执行，等待用户输入                         |

**worker 示例：**

```javascript theme={null}
const result = await worker('分析此 PR 的安全风险', {
  label: 'security-review',
  resolve: { kind: 'waker', wakerId: 'security-auditor-001' }
})
```

**parallel 示例：**

```javascript theme={null}
const reviews = await parallel([
  () => worker('从安全角度审查', { resolve: { kind: 'waker', wakerId: 'security-expert' } }),
  () => worker('从性能角度审查', { resolve: { kind: 'waker', wakerId: 'perf-expert' } }),
])
```

## 编排建议

* 合理划分 Phase，每个 Phase 代表一个逻辑完整的阶段，3-5 个 Phase 为宜。
* 为每个 worker 设置有意义的 label，方便在运行记录中追踪。
* 使用 schema 约束 worker 返回格式，确保后续处理稳定。
* 关键步骤加入 askUser，失败时请求人工介入。
* 先用简单 worker 调通流程，再逐步增加复杂度。
