Introduction
Open Multi-Agent is a TypeScript framework for orchestrating multiple LLM agents to accomplish complex goals. You describe a high-level objective, and a coordinator agent decomposes it into a directed acyclic graph (DAG) of subtasks, assigning each to a specialized agent that can use any LLM provider.
What Open Multi-Agent Does
- Decomposes complex goals into task DAGs automatically via a coordinator agent
- Assigns subtasks to specialized agents with different roles and capabilities
- Supports any LLM provider: Claude, ChatGPT, Gemini, DeepSeek, or local models
- Manages inter-agent communication and result aggregation
- Provides built-in tool use so agents can call external APIs and functions
Architecture Overview
The framework centers on a coordinator that receives a goal and plans a task graph. Each node in the graph is a subtask assigned to a worker agent with a specific role (researcher, coder, reviewer, etc.). The coordinator handles dependency resolution, parallel execution of independent subtasks, and result synthesis. Agents communicate through a shared context, and each can use tools registered at the framework level.
Self-Hosting & Configuration
- Install via npm and import into any TypeScript or JavaScript project
- Configure LLM providers with API keys through environment variables
- Define custom agent roles and specializations via the agent configuration API
- Register tools (functions, APIs) that agents can invoke during task execution
- Works with Node.js 18+ and modern JavaScript runtimes
Key Features
- Model-agnostic: mix providers within a single orchestration run
- Automatic task decomposition eliminates manual workflow definition
- DAG-based execution maximizes parallelism across independent subtasks
- Type-safe TypeScript API with full IntelliSense support
- Extensible tool system lets agents interact with external services
Comparison with Similar Tools
- CrewAI — Python role-based agents vs. TypeScript DAG-based orchestration
- AutoGen — conversation-driven agents vs. task-graph coordination
- LangGraph — Python state-machine agents vs. TypeScript automatic task decomposition
- Mastra — full-stack AI framework vs. focused multi-agent orchestration library
FAQ
Q: Can I use different models for different agents? A: Yes. Each agent can be configured with a different LLM provider and model, allowing you to optimize cost and capability per task.
Q: How does it handle failures in subtasks? A: The coordinator can retry failed subtasks, reassign them to different agents, or adjust the plan based on partial results.
Q: Is it suitable for production use? A: The framework is designed for production use with proper error handling, retries, and observability hooks.
Q: Can I define my own task decomposition logic? A: Yes. You can override the default coordinator with custom planning logic while still using the DAG execution engine.