# OpenClaw 动态工作流插件：实现 Claude-Code 风格的多智能体并行编排

> openclaw-dynamic-workflow-plugin 是一款为 OpenClaw 开发的插件，支持通过 JavaScript 脚本编排多个隔离的子智能体并行执行任务，实现代码库级扫描、大规模迁移等复杂工作流的自动化协调。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-07T23:45:52.000Z
- 最近活动: 2026-06-07T23:51:32.318Z
- 热度: 163.9
- 关键词: OpenClaw, 工作流插件, 多智能体, 并行编排, Claude Code, JavaScript, 插件架构, AI工作流, 子智能体, 代码审计
- 页面链接: https://www.zingnex.cn/forum/thread/openclaw-claude-code
- Canonical: https://www.zingnex.cn/forum/thread/openclaw-claude-code
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**：502399493zjw-lgtm
- **来源平台**：GitHub
- **原项目名**：openclaw-dynamic-workflow-plugin
- **原始链接**：https://github.com/502399493zjw-lgtm/openclaw-dynamic-workflow-plugin
- **发布时间**：2026-06-07

---

## 项目概述与背景

在 AI 辅助编程工具的发展过程中，单轮对话的局限性逐渐显现。当面对需要跨越多文件、多步骤的复杂任务时（如代码库级别的重构、安全审计、大规模迁移），传统的 turn-by-turn 交互模式难以有效协调。Claude Code 等工具率先引入了工作流概念，允许智能体自主编排多个子任务。

openclaw-dynamic-workflow-plugin 正是为 OpenClaw 生态带来的类似能力——作为插件而非核心分支，它让 OpenClaw 智能体能够编写 JavaScript 编排脚本，通过运行时执行将工作分散到多个隔离的子智能体中，最终汇总结果返回给用户。

---

## 核心设计理念

### 插件化架构

与直接修改 OpenClaw 核心不同，该项目采用插件形式实现。这种设计带来多个优势：

- **独立演进**：插件可以独立于 OpenClaw 核心版本快速迭代
- **可选安装**：用户按需启用，不影响基础功能
- **低风险集成**：问题隔离在插件层面，不影响主系统稳定性
- **社区友好**：降低了贡献门槛，开发者可以专注于工作流逻辑本身

### 隔离执行模型

工作流的核心在于子智能体的隔离执行。每个子任务都在独立的 OpenClaw 子会话中运行，这意味着：

- 错误不会级联影响其他子任务
- 中间结果存储在脚本变量中，主对话只接收最终答案
- 并行执行充分利用资源，提高效率
- 安全边界清晰，便于权限控制

---

## 技术架构详解

### 工作流程

整个工作流执行过程可以概括为以下步骤：

1. 用户向 OpenClaw 助手提出需要工作流处理的需求（如「用工作流审计所有路由文件的权限检查」）
2. 智能体编写 JavaScript 编排脚本并调用 `workflow` 工具（执行前需要用户批准）
3. 工作流运行时在 VM 隔离的 JavaScript 环境中执行脚本
4. 通过 `agent()` 调用生成真实的 OpenClaw 子会话
5. 使用 `parallel()` 或 `pipeline()` 实现并行扇出（最多 16 个并发）
6. 结果汇聚到脚本变量中
7. 进度通过工具卡片实时展示（支持 TUI/WebChat/IM 界面）
8. 最终协调后的答案返回给用户主对话

### 运行时环境

脚本在 Node.js VM 上下文中运行，注入的可用原语经过精心设计：

| 原语 | 行为描述 |
|------|----------|
| `await agent(prompt, { schema?, label? })` | 生成一个隔离的子智能体，返回最终文本。支持 TypeBox/JSON Schema 验证，验证失败可重试最多 2 次 |
| `await parallel([() => agent(...), ...])` | 屏障同步：全部启动，全部完成后解析，顺序保持，失败返回 null |
| `await pipeline(items, stage1, stage2, …)` | 无屏障流式处理：每个项目独立流经所有阶段，阶段接收 `(prevResult, originalItem, index)` |
| `phase(name)` | 打开命名阶段，后续智能体在此阶段下分组（用于进度展示和 Canvas 树） |
| `log(message)` | 发送进度日志行 |
| `args` | 调用者提供的输入数据 |
| `budget` | 令牌预算对象 `{ total, spent(), remaining() }`，硬上限限制 |

### 安全模型

安全设计采用多层策略：

- **速度障碍层**：VM 隔离阻止了直接的 `import/require/fs/shell/network` 访问，但这只是速度障碍而非安全边界（node:vm 可被逃逸）
- **可信作者层**：依赖受信任的编写智能体生成安全的脚本
- **审批门控层**：所有工作流执行前都需要用户明确批准

实际保护来自于这个组合：受信任的编写者 + 用户审批门控。

---

## 使用方式

### 安装要求

- OpenClaw 2026.6.1 或更新版本（插件导入 `openclaw/plugin-sdk/*`，旧版本仅提供 `plugin-sdk/index.js`）
- Node.js 22.19+

### 安装步骤

项目提供预构建的 `dist/` 目录（已打包 typebox，openclaw 作为链接的 peer 依赖），无需构建或 npm install：

```bash
git clone https://github.com/502399493zjw-lgtm/openclaw-dynamic-workflow-plugin.git
openclaw plugins install ./openclaw-dynamic-workflow-plugin --force
openclaw gateway restart
openclaw plugins inspect workflows  # 确认状态为 enabled
```

更新到新版本：

```bash
cd openclaw-dynamic-workflow-plugin && git pull
openclaw plugins install . --force && openclaw gateway restart
```

### 日常使用

用户只需用自然语言向助手描述需求，如「用工作流审计每个路由文件的缺失权限检查」或「将这个任务扇出到多个子智能体并行处理」。智能体会自动编写脚本并调用 workflow 工具，执行前会显示计划脚本供用户审批。

---

## 典型应用场景

该插件特别适合以下复杂任务场景：

### 代码库级扫描

- 跨文件的安全漏洞审计
- 代码风格一致性检查
- 依赖关系分析
- 未使用代码检测

### 大规模迁移

- API 接口批量更新
- 框架版本升级适配
- 配置文件格式转换
- 多模块协同重构

### 对抗性验证

- 多智能体交叉检查结果准确性
- 假阳性过滤（如示例中的「审查-反驳-确认」流程）
- 复杂决策的多角度评估

---

## 实际示例解析

项目 README 提供了一个典型的工作流脚本示例，展示了如何审计路由文件并过滤假阳性：

```javascript
// "审计每个路由文件的缺失权限检查，然后只保留已验证的发现"
phase("scan");
const findings = await parallel(
  args.files.map((f) => () => agent(`Does ${f} have a missing auth check? Answer the file + a one-line reason, or "clean".`)),
);

phase("verify");
const confirmed = await parallel(
  findings.filter((x) => x && !/clean/i.test(x)).map((finding) => () =>
    agent(`A reviewer claims: "${finding}". Try to REFUTE it. Reply REAL or FALSE-POSITIVE with one line.`),
  ),
);

return confirmed.filter((v) => v && /REAL/i.test(v));
```

这个示例展示了几个关键模式：

1. **分阶段执行**：使用 `phase()` 组织扫描和验证两个阶段
2. **并行映射**：对文件列表进行并行处理
3. **结果过滤**：先收集初步发现，再过滤掉标记为「clean」的结果
4. **对抗验证**：对初步发现进行反驳验证，减少假阳性
5. **最终聚合**：返回经过验证的真实问题

---

## 限制与注意事项

项目目前处于研究预览阶段，需要注意以下限制：

- **并发限制**：最多 16 个并发子智能体，每轮最多 1000 个
- **嵌套限制**：子智能体不能启动新的工作流（设计上的单层嵌套）
- **逃逸风险**：VM 隔离是速度障碍而非安全边界
- **版本要求**：需要较新的 OpenClaw 版本支持

---

## 技术栈与项目结构

项目采用 TypeScript 开发，包含以下关键文件：

- `src/`：源代码目录
- `dist/`：预构建输出（包含打包的依赖）
- `docs/`：文档资料
- `scripts/`：构建和开发脚本
- `openclaw.plugin.json`：插件元数据配置
- `vitest.config.ts`：单元测试配置

项目使用 pnpm 作为包管理器，esbuild 进行打包，Vitest 进行测试。

---

## 项目意义与展望

openclaw-dynamic-workflow-plugin 代表了 AI 辅助工具向更复杂、更自主方向演进的一个典型案例。它证明了通过插件机制，可以在不修改核心系统的前提下，为 OpenClaw 增加强大的工作流编排能力。

这种模式的价值在于：

- **扩展性**：社区可以开发各种专用工作流插件
- **可维护性**：核心与插件分离，降低维护复杂度
- **灵活性**：用户按需组合不同的能力模块
- **安全性**：通过审批门控和隔离执行保护用户

随着 AI 智能体能力的不断增强，这类支持复杂编排的工具将变得越来越重要，为自动化处理大规模、多步骤任务提供了坚实的基础。
