Dynamic and explicit orchestration
runTeam() builds a task DAG from a goal. runTasks() runs a graph you define, and runAgent() covers the single-agent case.
Both build multi-agent systems in TypeScript. AgentKit routes a network of agents with deterministic, state-based logic on top of Inngest; open-multi-agent decomposes a goal into a task DAG at runtime.
You want deterministic, inspectable routing you control, and durable, replayable execution; and you’re happy to run on Inngest.
You want the plan built at runtime instead of hand-authored routing, no Inngest dependency, and a hard token budget.
| Dimension | open-multi-agent | Inngest AgentKit |
|---|---|---|
| Language / runtime | TypeScript-native; embeds in any Node.js 18+ backend | TypeScript-native; pre-1.0 (0.13) |
| Orchestration model | Three modes: one agent, an explicit task DAG, or a goal decomposed by the coordinator at runtime | Multi-agent networks with deterministic, state-based routing; a router (code or model) picks the next agent |
| Runtime dependencies | 3 direct (Anthropic SDK, OpenAI SDK, Zod); extra providers and MCP are opt-in peers | 6 direct; runs on Inngest for durable, replayable execution |
| Mixed-model teams | Yes; each agent can use its own cloud or local model in one team | Yes; per-agent model via @inngest/ai adapters |
| Run-budget control | Token and estimated-USD ceilings through maxTokenBudget, or maxCostBudget with your estimateCost price table | No hard token cap; maxIter caps router iterations |
| Observability | TraceRecord v2 + TraceStore, an optional first-party OTel adapter, and an offline post-run Run Viewer | Run traces via the Inngest platform it runs on |
OMA is more than goal decomposition and a small dependency count. These are current framework capabilities documented in the project README.
runTeam() builds a task DAG from a goal. runTasks() runs a graph you define, and runAgent() covers the single-agent case.
Inspect and approve plans, freeze and replay them as data, validate outputs with Zod, stream per agent, cancel runs, or add a proposer and judge consensus loop.
The scheduler runs independent branches in parallel. Retries and checkpoints let an interrupted run resume without repeating completed tasks.
Bound work with turn, token, estimated-cost, timeout, context, and loop controls. Tools are default-deny, and trace payloads redact secrets by default.
Run in your Node.js backend, locally, offline, or air-gapped. Mix cloud and local models, connect MCP tools, and bring external agents through ACP or process backends.
Stable run identity, TraceStore, and the offline DAG and Waterfall Viewer work without a hosted service. An optional OTel adapter and EvalSets connect runs to production telemetry and CI gates.
AgentKit models work as a network of agents sharing state, with a router; code you write or a model you delegate to; deciding which agent runs next, capped by maxIter. It runs on Inngest, so execution is durable and replayable. open-multi-agent doesn’t ask you to author the routing: a coordinator decomposes the goal into a task DAG at runtime and parallelizes the independent nodes. AgentKit gives you explicit, deterministic control flow (and Inngest’s durability); OMA gives you a plan generated per goal and no orchestration service to run.
Choose AgentKit when you want deterministic, inspectable routing you author yourself and Inngest’s durable, replayable execution underneath; valuable when a run must survive restarts and every routing decision should be explicit and reproducible. It’s pre-1.0, so expect some churn, and it assumes Inngest in your stack.
Inngest AgentKit on GitHub↗open-multi-agent fits when you’d rather describe the goal than author the routing, and you want to stay dependency-light: the coordinator plans the task DAG at runtime, there’s no orchestration service to stand up, and maxTokenBudget gives a hard spend ceiling. Checkpoint/resume covers crash recovery at task granularity over any MemoryStore, without a separate durable-execution backend.
open-multi-agent is MIT-licensed and free to run yourself. When you need it delivered, integrated, or supported on a deadline, 元定义科技 (YuanASI) offers commercial delivery and support.