Open Multi-Agent


Open Multi-Agent

From a goal to a task DAG, automatically.
TypeScript-native multi-agent orchestration.

npm version CI MIT License TypeScript codecov GitHub stars GitHub forks

OMA Run Viewer replaying a real multi-agent run: task DAG and span waterfall views with per-task status, assignee, tokens, and tool calls


Website · Docs · npm · Discussions

English · 中文


open-multi-agent is an AI agent orchestration framework for TypeScript backends that drops into any Node.js app.

Your engineers describe the goal, not the graph.

Graph-first frameworks make you wire every node and edge up front. OMA runs a dynamic workflow: a coordinator turns the goal into a task DAG at runtime, parallelizes independent tasks, and synthesizes the result. That plan is emitted as data for a deterministic scheduler to run, so it stays inspectable and replayable. It is the same bet Anthropic made with Claude Code's dynamic workflows; OMA offers it as an open library that runs on any provider, in your own backend.

Lightweight core: the engine plus Anthropic, OpenAI, and any OpenAI-compatible endpoint work out of the box; Gemini, Bedrock, MCP, and the Vercel AI SDK bridge are opt-in peer dependencies. OpenTelemetry is a separately installable integration (@open-multi-agent/otel): OTel APIs, SDKs, semantic-convention mappings, and exporter integrations stay outside the core import, and applications explicitly supply their own provider.

Dependencies are governed by demonstrated value and their security, size, maintenance, and compatibility cost—not by a permanent dependency-count cap. Optional or platform-specific SDKs remain isolated when that keeps unused code out of the root import.

Get started

One command scaffolds a production starter or the teaching DAG demo:

npm create oma-app@latest

When creating a project, choose a PR Review Agent, Security Analysis Agent, or multi-agent DAG starter demo, then select a cloud/OpenAI-compatible provider or fully local Ollama. Production starters emit Markdown, JSON, and an inspectable offline single-run DAG/Waterfall Viewer while keeping agents read-only. To add the library to your own project:

npm install @open-multi-agent/core

The full quickstart, the three ways to run, provider setup, the production checklist, and the complete API reference live on the package page:

→ packages/core/README.md

Other ways to run: clone the repo and run any example with npx tsx packages/core/examples/basics/team-collaboration.ts, or embed OMA in a real backend with the Express and Next.js apps. To skip local setup, the Next.js starter deploys to Vercel in one click; local models via Ollama need no API key.

Ecosystem

open-multi-agent launched 2026-04-01 under MIT. Known users and integrations to date:

Built with OMA

  • temodar-agent (~60 stars). WordPress security analysis platform by Ali Sünbül. Uses our built-in tools (bash, file_*, grep) directly inside a Docker runtime. Confirmed production use.
  • Mark Galyan runs OMA fully offline on local quantized models, using the Coordinator and context compaction to keep autonomous agent loops alive under tight VRAM limits. Contributor since the framework's first month, across compaction, sampling, and tool-call parsing.
  • PR-Copilot. AI pull-request review assistant by kidoom. Runs an OMA review team (coordinator + scoped reviewer agents), defines repo-context tools with defineTool, and adds a custom ContextStrategy for token-aware PR-diff compression. Public code on @open-multi-agent/core.
  • StuFlow by znc15. Terminal AI coding assistant on OMA's orchestration core: builds a team and drives it through runAgent / runTasks / runTeam with a custom RunTeamOptions coordinator, paired with DeepSeek. Public code on @open-multi-agent/core.

Integrations

  • Engram — "Git for AI memory." Syncs knowledge across agents instantly and flags conflicts. (repo)
  • @agentsonar/oma — Sidecar detecting cross-run delegation cycles, repetition, and rate bursts.
  • CodingScaffold — Agentic-coding scaffold that lists OMA as an optional orchestration backend, with a runTeam workflow template.

Using open-multi-agent in production or a side project? Open a discussion and we will list it here. For a deep integration, see the Featured partner program.

How is this different from X?

Most TypeScript teams choosing a multi-agent layer are weighing OMA against LangGraph JS, Mastra, CrewAI, and the Vercel AI SDK. The short version: OMA is goal-driven, dynamic planning instead of rigid hand-wired graphs. Hand its Coordinator a goal and it builds the task DAG at runtime.

That comparison includes Claude Code's own dynamic workflows, and OMA is composable with it rather than only competing: over ACP, an OMA team can run Claude Code itself as one of its agents.

Full head-to-head on each on the package page: How is this different?

Repository

This is a monorepo. The main package is @open-multi-agent/core; the optional OpenTelemetry adapter is published independently as @open-multi-agent/otel.

open-multi-agent/
├── packages/
│   ├── core/          # @open-multi-agent/core — framework, tests, examples
│   └── otel/          # @open-multi-agent/otel — optional adapter
└── docs/              # subsystem documentation

Build, lint, and test orchestrate across the workspace from the repo root:

npm install            # install all workspaces
npm run build          # compile packages/core
npm run lint           # type-check
npm test               # run the test suite

Documentation

  • Providers — env vars, model examples, local tool-calling, timeouts, troubleshooting.
  • Tool configuration — tool presets, custom tools, the filesystem sandbox, and MCP.
  • Observability — stable identity/status, TraceRecord v2, bounded sink/exporter lifecycle, InMemory/File TraceStore, and the offline single-run DAG/Waterfall Viewer. Existing callbacks have a staged onTrace migration guide; @open-multi-agent/otel uses an application-owned provider.
  • Shared memory — the default store and custom MemoryStore backends.
  • Checkpoint & resume — opt-in snapshots over any MemoryStore; restore preserves runId, increments attempt, and starts a fresh trace.
  • Context management — sliding window, summarization, compaction, and custom compressors.
  • CLI — the JSON-first oma binary for shell and CI.
  • Consensus — the runConsensus proposer→judge primitive, the per-task verify hook, and the budget invariant.
  • Model routing — the opt-in modelRouting policy: match by phase / agent / role / priority / leaf, first match wins.
  • Plan preview & replay — preview the coordinator's task DAG with planOnly, freeze it with createPlanArtifact, then runFromPlan replays the exact graph without re-invoking the coordinator.

Contributing

Issues, feature requests, and PRs are welcome. Some areas where contributions would be especially valuable:

  • Production examples. Real-world end-to-end workflows. See packages/core/examples/production/README.md for the acceptance criteria and submission format.
  • Documentation. Guides, tutorials, and API docs.
  • Translations. Help translate the docs into other languages. Open a PR.

Contributors

Full credits by area are on the package page.

License

MIT

S
Description
From a goal to a task DAG, automatically. TypeScript-native multi-agent orchestration with MCP and live tracing. Three runtime dependencies.
Readme MIT
21 MiB
0 Stars 1 Watchers 0 Forks
Latest
2026-07-11 01:46:24 -05:00
Languages
TypeScript 95.7%
JavaScript 2.7%
HTML 1.6%