open-multi-agent/open-multi-agent
Self-hosted TypeScript agent runtime with durable approvals and verifiable run records. Own it, approve it, audit it.
Open Multi‑Agent (OMA)
What it is – A self‑hosted TypeScript runtime that lets you build, run, and audit collections of LLM‑powered agents. It focuses on ownership, auditability, and human‑in‑the‑loop control: no telemetry, no hosted control plane, and you provide your own API keys and models (OpenAI, Anthropic, local Ollama, etc.).
Core ideas
| Feature | What it does |
|---|---|
| Team orchestration | runTeam() takes a high‑level goal, the built‑in coordinator splits it into a task graph, assigns agents, and executes the plan. |
| Single‑agent & pipeline modes | runAgent() runs one agent; runTasks() runs an explicit sequence you define. |
| Durable approvals | Execution can pause before a plan, task, or tool call, waiting for a human‑provided approval that survives restarts. |
| Verifiable run journal | All model inputs, tool calls, and outputs are recorded; verifyRun() can check consistency offline. |
| Governance floor | Declare required roles and order; after a run you can inspect whether the governance rules were satisfied. |
| Egress policy | Choose offline or an allow‑list; the runtime enforces the policy before any external model call. |
| Self‑hosting | Pure library – you run it inside your own service, container, or serverless function. |
| Observability | Optional OpenTelemetry adapter; built‑in offline Run Viewer shows task DAGs, token usage, and tool calls. |
Getting started (from the README)
- Prerequisite – Node.js 20+ (LTS recommended).
- Create a starter app
The command walks you through selecting a template, installs dependencies, and launches a deterministic demo that uses scripted model responses (no API key needed).npm create oma-app@latest my-oma - Add OMA to an existing project
npm install @open-multi-agent/core
Setimport { OpenMultiAgent } from '@open-multi-agent/core' const oma = new OpenMultiAgent({ defaultProvider: 'openai', defaultModel: 'gpt-5.4' }) const team = oma.createTeam('research-team', { name: 'research-team', agents: [ { name: 'researcher', systemPrompt: 'Find the relevant facts.' }, { name: 'analyst', systemPrompt: 'Compare evidence and identify tradeoffs.' } ], sharedMemory: true, }) const result = await oma.runTeam(team, 'Compare three approaches and recommend one.') console.log(result.agentResults.get('coordinator')?.output)OPENAI_API_KEY(or another provider key) to hit a real model.
Notable integrations & users
- PR‑Copilot – AI pull‑request reviewer built on OMA.
- StuFlow – Terminal coding assistant that drives OMA workflows.
- Engram – “Git for AI memory” that syncs knowledge across agents.
- OrchestrAI – Visual workspace that stores checkpoints in PostgreSQL.
- Various Chinese model adapters – DeepSeek, Doubao, Hunyuan, etc.
Packages
@open-multi-agent/core– The main runtime, tools, memory, approvals, journal, CLI, and offline Run Viewer.@open-multi-agent/otel– Optional OpenTelemetry exporter.create-oma-app– Scaffolding CLI used bynpm create oma-app.
Documentation & resources
- Website & docs – https://open-multi-agent.com
- Examples –
packages/core/examples/ - Full docs index –
docs/README.md - Production checklist, run‑viewer, governance, egress‑policy, etc., are all covered in the repo’s
docs/folder.
License & sponsorship
- License – MIT.
- Maintainer – YuanASI (Shenzhen YuanASI Technology Co., Ltd.).
- Sponsors – Atlas Cloud provides credits; sponsorship does not influence technical decisions.
Bottom line – OMA is a fully open‑source, self‑hosted framework for orchestrating LLM agents with strong audit, approval, and governance features, suitable for enterprises that need control over keys, models, and data.
Related
- Project
- Project
- Project
- Project
- Project