# flow-atelier：支持智能代理的异步 DAG 工作流引擎

> 一款 CLI 工具和异步工作流引擎，用于运行可复现的基于 DAG 的工作流（称为 conduits），支持多种 AI 代理工具（Claude Code、Codex、OpenCode、Copilot、Cursor）作为任务执行器。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-12T00:15:35.000Z
- 最近活动: 2026-06-12T00:23:48.015Z
- 热度: 156.9
- 关键词: workflow engine, DAG, asyncio, AI agents, Claude Code, Codex, Copilot, Cursor, OpenCode, automation, CLI
- 页面链接: https://www.zingnex.cn/forum/thread/flow-atelier-dag
- Canonical: https://www.zingnex.cn/forum/thread/flow-atelier-dag
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**: LGuillermoAngaritaG
- **来源平台**: GitHub
- **原始标题**: flow-atelier
- **原始链接**: https://github.com/LGuillermoAngaritaG/flow-atelier
- **发布时间**: 2026年6月

---

## 项目背景与定位

在现代软件开发中，工作流编排工具已经成为自动化复杂任务的重要手段。从简单的 shell 脚本到复杂的 CI/CD 流水线，开发者需要能够定义、执行和管理多步骤任务的工具。

`flow-atelier` 是一款 CLI 工具和异步工作流引擎，专注于运行可复现的基于 DAG（有向无环图）的工作流。它的独特之处在于将传统的工作流编排与现代的 AI 代理工具深度集成，为开发者提供了一种新的自动化范式。

## 核心概念：Conduit 与 Flow

### Conduit（管道）

在 `flow-atelier` 中，工作流被称为 **conduit**（管道）。一个 conduit 包含多个任务（tasks），这些任务之间存在依赖关系。当依赖关系满足时，任务可以通过 `asyncio` 并发执行，受限于 conduit 级别的并发上限。

### Flow（流程）

单次 conduit 的运行称为 **flow**（流程）。每次运行都会创建一个新的流程实例，记录执行状态和结果。

## 任务执行器（Executors）

`flow-atelier` 提供了八种不同的任务执行器，每种执行器适用于不同的场景：

| 工具 | 执行内容 |
|------|----------|
| `tool:bash` | 通过 `asyncio.create_subprocess_shell` 执行 shell 命令 |
| `tool:hlt` | 在 stdin 上提示用户输入一个或多个命名输入 |
| `tool:conduit` | 另一个 conduit，作为嵌套流程运行 |
| `harness:claude-code` | 通过 ACP 适配器运行 Claude Code |
| `harness:codex` | 通过 ACP 适配器运行 OpenAI Codex |
| `harness:opencode` | 通过原生 `opencode acp` 运行 OpenCode |
| `harness:copilot` | 通过原生 `copilot --acp` 运行 GitHub Copilot CLI |
| `harness:cursor` | 通过 `@blowmage/cursor-agent-acp` 适配器运行 Cursor CLI |

## 智能代理集成

### Agent Client Protocol (ACP)

`flow-atelier` 的智能代理执行器（harnesses）通过 **Agent Client Protocol (ACP)** 与 AI 代理通信。ACP 是一种基于 stdio 的双向交互协议，允许代理：

- 请求权限
- 向用户提出自由形式的问题
- 运行多轮对话

这种设计使得代理能够获得真正的双向交互能力，而不仅仅是单向的命令执行。

### 支持的 AI 工具

#### Claude Code
通过 ACP 适配器集成 Anthropic 的 Claude Code，支持复杂的代码理解和生成任务。

#### OpenAI Codex
通过 ACP 适配器集成 OpenAI 的 Codex 模型，专注于代码相关任务。

#### OpenCode
原生支持 OpenCode 的 ACP 接口，提供轻量级的代码辅助功能。

#### GitHub Copilot CLI
通过原生 `--acp` 标志集成 GitHub Copilot CLI，利用 GitHub 的 AI 代码助手。

#### Cursor
通过社区适配器 `@blowmage/cursor-agent-acp` 集成 Cursor 编辑器的能力。

## 交互式模式

在 `interactive: true` 模式下，`flow-atelier` 会跨多个回合保持会话开放：

- 如果代理在没有发出 `[ATELIER_DONE]` 标记的情况下结束回合，执行器会在终端提示用户输入下一条回复
- 用户输入作为下一条用户消息发送回代理
- 当代理输出中出现 `[ATELIER_DONE]` 标记时，循环终止

这种设计使得开发者可以与 AI 代理进行多轮交互，逐步细化和完善任务执行。

## 安装与使用

### 通过 PyPI 安装

需要 Python 3.13+，可以使用 `uv` 或 `pipx` 安装：

```bash
uv tool install flow-atelier
# 或
pipx install flow-atelier
```

升级或卸载：

```bash
uv tool upgrade flow-atelier
uv tool uninstall flow-atelier
```

### 独立二进制文件

无需 Python 环境，可从 GitHub Releases 下载对应平台的二进制文件：

- `atelier-linux-x86_64`
- `atelier-macos-arm64`
- `atelier-windows-x86_64.exe`

## 配置与认证

每个智能代理执行器使用主机 CLI 的本地配置和认证，`flow-atelier` 不会读取、写入或代理任何认证信息。这意味着：

- 用户需要先在本地配置好 Claude Code、Codex、Copilot 等工具
- `flow-atelier` 只是调用这些工具，不管理认证状态
- 安全性由底层工具保证

## 实际应用场景

### 自动化代码审查

创建一个 conduit，依次执行：
1. 使用 `tool:bash` 获取待审查的代码变更
2. 使用 `harness:claude-code` 分析代码质量
3. 使用 `harness:codex` 生成改进建议
4. 使用 `tool:bash` 将结果发送到代码审查平台

### 多代理协作开发

定义一个包含多个 AI 代理任务的 conduit：
- 任务 A（Claude Code）：理解需求并设计架构
- 任务 B（Codex）：基于架构生成代码
- 任务 C（Copilot）：审查和优化代码

任务 B 依赖任务 A 的完成，任务 C 依赖任务 B 的完成，形成清晰的执行顺序。

### 交互式开发会话

在交互式模式下，开发者可以与 AI 代理进行多轮对话：
- 代理提出实现方案
- 开发者提供反馈
- 代理根据反馈调整方案
- 直到双方都满意后标记 `[ATELIER_DONE]`

## 技术优势与特点

### 异步执行

基于 `asyncio` 的并发模型，能够高效地执行独立任务，同时保持代码的可读性和可维护性。

### 可复现性

通过声明式配置定义工作流，确保每次执行都能产生一致的结果，便于调试和审计。

### 模块化设计

执行器架构允许轻松添加新的工具或代理支持，社区可以贡献新的 harness 实现。

### 本地优先

所有执行都在本地完成，不需要外部服务或 API 密钥（除了底层 AI 工具本身的要求），保护用户代码的隐私和安全。

## 总结与展望

`flow-atelier` 代表了工作流编排工具与 AI 代理技术融合的新方向。它既保留了传统工作流引擎的可复现性和可靠性，又引入了现代 AI 代理的灵活性和智能性。

对于希望将 AI 工具整合到自动化工作流中的开发团队，`flow-atelier` 提供了一个统一的平台，支持多种主流 AI 开发工具，并通过 ACP 协议实现了真正的双向交互。

随着 AI 代理能力的不断增强，这类工作流引擎将成为软件开发和运维自动化的重要基础设施。
