Use OMA when
- A goal benefits from different specialist roles.
- Some work can run in parallel.
- The steps may change with the input.
- You want orchestration inside an existing Node.js backend.
open-multi-agent is a TypeScript-native orchestration framework for Node.js backends. It lets specialist agents work as one team: for a non-trivial goal, runTeam() can turn the outcome into a task DAG, run independent work in parallel, and synthesize the results.
Use OMA when
Keep it simpler when
runTeam() goal, the coordinator creates tasks, dependencies, and assignments. A simple goal may go directly to one agent.runTeam() synthesizes the task outputs. Individual agents can also return schema-validated structured data when you configure an outputSchema.The architecture page shows the runtime components behind this flow.
Agent
A role with a model, instructions, and an explicit set of tools.
Team
The agents available for one goal, with optional shared memory.
Task
A unit of work with an assignee and optional dependencies.
Orchestrator
The API that creates teams, schedules work, and returns run results.
Models & tools
Mix hosted or local providers, grant least-privilege tools, and connect external agents.
Orchestration
Choose automatic planning or an explicit graph, then add consensus, model routing, or plan replay when needed.
Reliable operation
Trace runs with observability, recover with checkpoints, control context, and measure quality with evaluation.
runAgent() for one agent and one focused task.runTeam() when you know the goal but do not want to maintain the task graph.runTasks() when the graph and assignments must be explicit.The Quick Start gives you a no-key first run in about five minutes. Then Choose a Run Mode explains the tradeoffs in detail.
Still comparing frameworks? See OMA alongside LangGraph, CrewAI, AutoGen, and the OpenAI Agents SDK on the comparison pages.