<img alt="Open Multi-Agent" src="https://raw.githubusercontent.com/open-multi-agent/open-multi-agent/main/.github/brand/logo-mark-light.svg" width="96">
给一个目标,自动得到任务 DAG。
原生 TypeScript 多智能体编排。

English · 中文
open-multi-agent 是面向 TypeScript 后端的多智能体编排框架。给定一个目标,协调者 agent 会将其拆解为任务 DAG,并行执行独立任务,合成最终结果。可直接嵌入任意现有 Node.js 后端。
工程师只描述目标,不画任务图。
图优先的框架要求预先列出每个节点与每条边;OMA 是动态工作流(dynamic workflow):任务 DAG 在运行时生成,随目标自适应,而非针对单一流程预先固化。协调者将该计划以数据形式交给确定性调度器执行,因此该计划可审查、可回放。
@open-multi-agent/core 坚持轻量内核:编排引擎加上主流模型 provider(Anthropic、OpenAI 及任意 OpenAI 兼容端点)开箱即用;额外的 provider(Gemini、Bedrock)、MCP、Vercel AI SDK bridge 均为可选 peer 依赖,按需安装。
一条命令即可初始化项目并启动多 agent DAG:
npm create oma-app@latest
回答一个提示,首次运行便会展示协调者将目标拆解为多 agent DAG,并打开本次运行的 dashboard(OpenAI 或任意 OpenAI 兼容 provider)。若要将库集成到现有项目:
npm install @open-multi-agent/core
完整的 quickstart、三种运行模式、provider 接入、生产级检查清单与完整 API 参考详见包页:
其他运行方式:克隆仓库,以 npx tsx packages/core/examples/basics/team-collaboration.ts 运行任意示例;或借助 Express、Next.js 应用将 OMA 嵌入真实后端。如需免去本地搭建,Next.js 部署模板可一键部署至 Vercel;通过 Ollama 运行本地模型则无需 API key。
大多数 TypeScript 团队在选择多智能体编排层时,实际是在 OMA、LangGraph JS、Mastra 之间取舍。差异在于机制。
对比 LangGraph JS。 LangGraph 需先设计好声明式图(节点、边、条件路由),再编译为可调用对象;OMA 的 Coordinator 则在运行时将目标拆解为任务 DAG,并自动并行其中的无依赖项。两者均支持 checkpoint 与 resume,只是 LangGraph 的持久化生态更为完善。若需让编排随目标自适应、而非预先固定图结构,OMA 更为合适。
对比 Mastra。 两者均为原生 TypeScript,差异在于由谁驱动编排。Mastra 需手工连接工作流;OMA 则是目标驱动:将目标交给 Coordinator,即可在运行时自动构建任务 DAG。runTeam(team, goal) 一行调用即可。
对比 CrewAI。 CrewAI 是 Python 生态中成熟的多智能体方案。OMA 将目标驱动的任务拆解引入 TypeScript 后端,运行时精简(三个核心依赖,外加按需安装的可选 peer),直接嵌入 Node.js,无需在既有技术栈之外另行部署独立的 Python 服务。
对比 Vercel AI SDK。 AI SDK 是 LLM 调用层(provider 抽象、流式、tool call、结构化输出),而非多智能体编排器。单 agent 调用单独用它即可;一旦需要协同的团队,则选用 OMA。OMA 亦提供可选的 AI SDK bridge。
open-multi-agent 2026-04-01 发布,MIT 协议。当前公开在用与集成的项目:
基于 OMA 构建
bash、file_*、grep)。已确认生产环境使用。defineTool 定义仓库上下文工具,并加入自定义 ContextStrategy 做 token-aware 的 PR diff 压缩。公开代码,基于 @open-multi-agent/core。runAgent / runTasks / runTeam 驱动,配自定义 RunTeamOptions coordinator,搭配 DeepSeek。公开代码,基于 @open-multi-agent/core。集成
runTeam 工作流模板。Provider 社区优惠 — 限时,不代表付费背书。
在生产或 side project 中使用了 open-multi-agent?请开个 Discussion,我们会将其列在这里。深度集成的产品见 Featured partner 计划。
这是一个 monorepo。发布的包为 @open-multi-agent/core,位于 packages/core/,即库本体、测试、示例与 npm 包页的单一事实源。
open-multi-agent/
├── packages/
│ └── core/ # @open-multi-agent/core(发布的库)
│ ├── src/ # 框架源码
│ ├── tests/ # vitest 测试套件
│ └── examples/ # 可直接运行的示例(npx tsx packages/core/examples/<path>.ts)
└── docs/ # 子系统文档
build / lint / test 都从仓库根目录跨 workspace 编排:
npm install # 安装所有 workspace
npm run build # 编译 packages/core
npm run lint # 类型检查
npm test # 运行测试套件
onProgress 事件、onTrace span、运行后 dashboard。MemoryStore 后端。MemoryStore 上;崩溃、重启后可续跑。oma 命令行。runConsensus proposer→judge 原语、按任务的 verify 钩子,以及预算不变量。modelRouting 策略:按 phase / agent / role / priority / leaf 匹配,first match wins。planOnly 预览协调者拆解的任务 DAG,createPlanArtifact 将其固化,之后 runFromPlan 不再调用协调者即可回放同一张图。Issue、feature request、PR 都欢迎。特别欢迎以下方面的贡献:
packages/core/examples/production/README.md。按领域展开的完整致谢见包页。
MIT
$ claude mcp add open-multi-agent \
-- python -m otcore.mcp_server <graph>