open-multi-agent

Active
GitHub TypeScript MIT

Description

From a goal to a task DAG, automatically. TypeScript-native multi-agent orchestration with MCP and live tracing. Three runtime dependencies.

Key Features

  • Goal-driven coordinator: a single runTeam() call decomposes goals into a task DAG and executes it automatically
  • Mix any LLM providers in one team: 12 built-in providers plus any OpenAI-compatible endpoint (Ollama, vLLM, Groq, etc.)
  • Extended thinking / reasoning support across Anthropic, Gemini, and OpenAI with cross-provider reasoning preservation
  • Built-in tools + MCP integration: 6 filesystem and shell tools, plus full MCP client for external tool servers
  • Three runtime modes: single agent (runAgent), auto-orchestrated team (runTeam), and explicit task pipeline (runTasks)
  • Plan artifact support: preview DAGs before execution, save plans as version-controllable JSON, and replay without coordinator calls

Use Cases

💡 Multi-agent code generation with architect, developer, and reviewer roles collaborating on a REST API
💡 Automated software development workflows where goals are described in natural language and decomposed into executable task graphs
💡 Parallel task execution across independent sub-goals with automatic dependency resolution and load balancing
💡 Cross-provider AI pipelines where different agents use different LLM providers within the same team

Quick Start

npm install @open-multi-agent/core

import { OpenMultiAgent, type AgentConfig } from '@open-multi-agent/core'

const agents: AgentConfig[] = [
  { name: 'architect', model: 'claude-sonnet-4-6', systemPrompt: 'Design clean API contracts.', tools: ['file_write'] },
  { name: 'developer', model: 'claude-sonnet-4-6', systemPrompt: 'Implement runnable TypeScript.', tools: ['bash', 'file_read', 'file_write', 'file_edit'] },
]

const orchestrator = new OpenMultiAgent({ defaultModel: 'claude-sonnet-4-6' })
const team = orchestrator.createTeam('api-team', { name: 'api-team', agents, sharedMemory: true })
const result = await orchestrator.runTeam(team, 'Create a REST API for a todo list')

Related Projects