conductor-oss/conductor
运维与部署自托管的持久化工作流引擎,让微服务与 AI Agent 的每一步执行在崩溃后仍可恢复。
Conductor 是一个采用 Apache-2.0 许可、可自托管的编排引擎,面向微服务工作流与 AI Agent。它不把编排逻辑写在应用代码里,而是定义成可版本化的 JSON 任务图;真正的业务副作用由各语言编写的 worker 执行并回报。引擎会持久化每一步,因此重试、超时、暂停/恢复以及 worker 或基础设施故障后的恢复由编排层承担,而不必依赖框架自身。项目源自 Netflix,现由 Orkes 与社区维护(仓库概览、文档)。
实际工作方式
快速上手路径使用 CLI:安装 @conductor-oss/conductor-cli、启动 server,再创建并启动一个调用 API 并解析响应的示例工作流,无需自建 worker(快速上手)。本地会提供 UI,用于查看定义和执行记录。Docker 用户可运行镜像,UI 与 API 分端口暴露。项目还记录了运行时动态解析能力:fork、子工作流和任务可在运行中决定,并建议在启动前校验动态生成的定义(动态工作流)。这一点与 Agent 式循环直接相关,同时内置 LLM 任务、MCP 工具调用和人工审批步骤。
AI Agent 编排是受支持的路径
Agent 在 Conductor 里是工作流的一种,而不是独立产品:示例图先发现 MCP 工具,再用 LLM 循环推理,并按条件调用工具,循环由迭代上限和 done 标志约束。文档指向首个 Agent 教程和受治理的自适应图模式(Agent 指南、动态工作流)。Worker 可用 Java、Python、Go、JavaScript、C#、Ruby 或 Rust 编写并提供官方 SDK,其中 Ruby 与 Rust SDK 标注为孵化中。若已有框架代码,引擎的主张是让编排成为独立、可检查的产物,而不是编译进代码。
前提条件与运行约束
- 60 秒 CLI 路径需要 Node.js 16+ 与 Java 21+(快速上手)。
- 从源码构建还需 Docker Desktop、JDK 21+、Node.js 18+ 以及用于 UI 的 pnpm(构建指南)。
- 持久化可选 Redis、Postgres、MySQL 与 Elasticsearch/OpenSearch 组合,各有配置文件,默认是 Redis 加 ES7(后端配置)。运行中的执行会固定在其启动时的工作流定义版本上,因此发布新版本不会打断在途流程(README)。
- 执行历史保留由配置决定,
keepLastN会有意清除较旧的循环迭代,因此重放与审计的细节受这些设置限制(README)。README 说明升级时若缓存了旧版 server JAR,可能需要强制重新下载(快速上手)。
范围说明
文档描述了通过任务域、并发限制和指标独立扩展 server 与 worker 等生产能力,但所给材料没有基准测试或独立评估,这些属于作者声明。简而言之,当需要持久、可检查的长时间流程(包括等待审批数周的场景)时它较合适;但相比在单进程内运行的库,它的运维负担更重。
本文由 AI 根据项目 README 生成,更新于 2026年10月31日,以项目官方文档为准。