Files
open-multi-agent-open-multi…/README.md
T
Jack Chen a87f6c17fd docs(readme): retire 3-deps headline, sharpen vs. Mastra, sync zh Consensus (#316)
* docs(readme): retire 3-deps headline; sync zh Consensus

- Drop "Three runtime dependencies" from tagline / badge / intro across 4 READMEs (mechanism + category kept, deps-count headline retired)
- Remove runtime_deps-3 badge; refresh npm description
- Add missing Consensus section + doc links to the zh READMEs

* docs(readme): sharpen vs. Mastra comparison

Recast on goal-driven vs. hand-wired orchestration: drop the "lightweight" framing (OMA edge is goal-driven auto-decomposition, not doing less) and fix the mislabel (Mastra is a full-stack platform, not a "Supervisor pattern"). Sync all 4 READMEs (en/zh root + core).
2026-06-19 18:43:00 +08:00

11 KiB


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

Post-run dashboard replaying a completed team run: task DAG with per-node assignee, status, token breakdown, and agent output log


English · 中文


open-multi-agent is a multi-agent orchestration framework for TypeScript backends. Give it a goal; a coordinator agent decomposes it into a task DAG, parallelizes independents, and synthesizes the result. Drops into any Node.js backend.

Your engineers describe the goal, not the graph.

Graph-first frameworks make you enumerate every node and edge up front. open-multi-agent is goal-first: you describe the outcome and the coordinator builds the task DAG at runtime, so the orchestration adapts to the goal instead of being hand-wired for one.

Get started

The fastest way to see it run — one command scaffolds a project and starts a multi-agent DAG:

npm create oma-app@latest

Answer one prompt; the first run shows the coordinator turn one goal into a multi-agent DAG and opens a dashboard of the run (OpenAI or any OpenAI-compatible provider). 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

Prefer to run an example from the repo? Clone and run one:

git clone https://github.com/open-multi-agent/open-multi-agent && cd open-multi-agent
npm install
export OPENAI_API_KEY=sk-...
npx tsx packages/core/examples/basics/team-collaboration.ts

Three agents collaborate on a REST API while onProgress streams the coordinator's task DAG — independent tasks run in parallel, dependents unblock as their inputs land, and the coordinator synthesizes the final result. Local models via Ollama need no API key; see the providers guide.

Want a full application instead of a script? Two clone-and-run apps embed OMA in a real backend: an Express REST API and a Next.js app.

How is this different from X?

A quick router. Mechanism breakdown follows.

If you need Pick
Fixed production topology with mature checkpointing LangGraph JS
Full-stack platform, workflows wired by hand Mastra
Python stack with mature multi-agent ecosystem CrewAI
AI app toolkit with broad model-provider support Vercel AI SDK
TypeScript, goal to result with auto task decomposition open-multi-agent

vs. LangGraph JS. LangGraph compiles a declarative graph (nodes, edges, conditional routing) into an invokable. open-multi-agent runs a Coordinator that decomposes the goal into a task DAG at runtime, then auto-parallelizes independents. Same end (orchestrated execution), opposite directions: LangGraph is graph-first, OMA is goal-first.

vs. Mastra. Both are TypeScript-native; the difference is who drives the orchestration. With Mastra you wire the workflow by hand. OMA is goal-driven: give its Coordinator a goal and it builds the task DAG at runtime, adapting the plan to the goal instead of running a graph you wired step by step. runTeam(team, goal) in one call.

vs. CrewAI. CrewAI is the mature multi-agent option in Python. OMA targets TypeScript backends with three runtime dependencies and direct Node.js embedding. Roughly comparable orchestration surface; the choice is the language stack.

vs. Vercel AI SDK. AI SDK provides the LLM-call layer — provider abstraction, streaming, tool calls, and structured outputs. It does not orchestrate goal-driven multi-agent teams. The two are complementary: AI SDK for app surfaces and single-agent calls, OMA when you need a team.

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.
  • 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.

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.

Provider community offers — limited-time, not paid endorsements.

  • MiniMax — Use MiniMax M3 in OMA's TypeScript multi-agent workflows. OMA users get 12% off the MiniMax Token Plan until 2026-06-30. See the MiniMax setup guide.

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.

Repository

This is a monorepo. The published package is @open-multi-agent/core, and it lives in packages/core/ — the source of truth for the library, its tests, examples, and the npm package page.

open-multi-agent/
├── packages/
│   └── core/          # @open-multi-agent/core — the published library
│       ├── src/       # framework source
│       ├── tests/     # vitest suite
│       └── examples/  # runnable examples (npx tsx packages/core/examples/<path>.ts)
└── 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 — onProgress events, onTrace spans, and the post-run dashboard.
  • Shared memory — the default store and custom MemoryStore backends.
  • Checkpoint & resume — opt-in per-run snapshot/resume over any MemoryStore; survive crashes and restarts.
  • 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.

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