项目简介
Open Multi-Agent(简称 OMA)是一个面向 TypeScript 后端的 AI 多智能体编排框架,核心理念是「描述目标,而非流程图」。你只需告诉 OMA 你想达成什么目标,框架内置的 Coordinator 就会在运行时自动将目标拆解为任务 DAG(有向无环图),分派给团队中的各个 Agent 执行,最终汇总结果。
OMA 于 2026 年 3 月在 GitHub 开源,采用 MIT 许可证。截至本文撰写时已获得 6,646 Stars / 2,415 Forks,社区活跃度极高——从首次提交至今仅约 4 个月,已成为多智能体编排领域增长最快的项目之一。

安装要求与快速开始
环境要求
- Node.js ≥ 18(推荐 LTS 版本)
- TypeScript ≥ 5.6(OMA 使用最新 TS 特性)
- npm 或 yarn/pnpm 包管理器
- LLM API Key(OpenAI / Anthropic / Gemini / DeepSeek 等,或本地模型如 Ollama)
方式一:脚手架创建(推荐新手)
# 一键创建项目并运行本地演示(无需 API Key)
npm create oma-app@latest my-oma-app交互式终端会引导选择模板和运行时,安装依赖后直接启动一个确定性本地 Demo——无需任何 API Key,使用脚本化模拟响应驱动真实的调度器和离线 Dashboard。可用 --no-install 仅生成文件,或 --no-run 安装但不启动。
方式二:集成到现有 Node.js 项目
npm install @open-multi-agent/coreimport {{ OpenMultiAgent }} from '@open-multi-agent/core'
const oma = new OpenMultiAgent({{
defaultProvider: 'openai',
defaultModel: 'gpt-5.4'
}})
// 创建研究团队:研究员 + 分析师 + 共享记忆
const team = oma.createTeam('research-team', {{
agents: [
{{ name: 'researcher', systemPrompt: 'Find the relevant facts.' }},
{{ name: 'analyst', systemPrompt: 'Compare evidence and identify tradeoffs.' }}
],
sharedMemory: true,
}})
// 只需描述目标,Coordinator 自动规划 DAG 并执行
const result = await oma.runTeam(team, 'Compare three approaches and recommend one.')
console.log(result.agentResults.get('coordinator')?.output)三种执行模式:runTeam() 从目标规划执行、runAgent() 单 Agent 运行、runTasks() 显式流水线执行。
核心功能

1. 动态工作流编排(Dynamic Orchestration)
这是 OMA 最核心的差异化能力。与传统框架需要手写 DAG 节点不同,OMA 的 Coordinator 在运行时根据目标描述生成任务图、分配角色、设定依赖关系,最后综合各 Agent 结果输出答案。整个流程不需要维护硬编码的流程图。
2. 可控执行(Controlled Execution)
- 计划审批:预览并审批 Coordinator 生成的计划或单个分派操作,审批通过后可冻结计划用于回放复现
- 约束声明:当拓扑不能漂移时,声明必需的角色和顺序;用多智能体共识验证输出正确性
3. 生产级可靠性
- 检查点续跑:中断的运行可从最近检查点恢复
- 边界控制:重试策略、超时限制、循环检测、Token 和成本预算确保执行有界
- 工具安全:默认拒绝所有工具调用,逐个审批开启;支持隐私控制
4. 全链路可观测性
每次运行都有稳定身份标识、执行回执和完整追踪记录:
- TraceStore:本地存储追踪数据,支持查询
- Run Viewer:离线 Dashboard 回放真实运行的 Task DAG 和 Span 瀑布视图
- OpenTelemetry 集成:可选 OTel 插件,与企业统一监控栈对接
5. 开放运行时(Open Runtime)
- Agent 兼容:Process/ACP 后端让 Claude Code、Gemini CLI、Codex 与 LLM Agent 在同一 DAG 上协作
- 模型自由:云+本地混合、原生中文大模型支持、OpenAI 兼容端点、AI SDK Provider
- 部署灵活:自有基础设施、本地运行、完全离线、甚至气隙网络环境均可
典型使用场景
场景一:PR 自动审查(PR-Copilot)
开发者 kidoom 用 OMA 构建了 PR-Copilot——一个 AI Pull Request 审查助手。它运行一个由 Coordinator + 多个领域 Reviewer Agent 组成的审查团队,用 defineTool 定义仓库上下文工具,配合自定义 ContextStrategy 实现 Token 感知的 PR Diff 压缩。每次提交 PR 时自动触发多角度代码审查。
场景二:文档转图表工作室(Reports to Charts Studio)
NARNIX0 的 Evident-Project 将研究报告和表格数据转化为幻灯片级图表。OMA 在其中扮演五角色提取委员会的编排者:结构化输出 + 确定性验证,确保每个数据点都有据可查。
场景三:WordPress 安全分析平台(temodar-agent)
Ali Sünbül 的 WordPress 安全分析平台直接使用 OMA 内置工具(bash、file_*、grep)在 Docker 运行时中执行安全扫描任务,已确认在生产环境中使用。
推荐理由
作为长期关注 AI 编排框架的开发者,我对 OMA 的第一印象是:终于有人认真对待「动态」这件事了。
目前市面上的主流方案大致分两派:LangGraph/Mastra 要求你手写节点和边(图优先),Vercel AI SDK/CrewAI 则偏单次调用工具包。OMA 找到了中间地带——你只管说目标,框架负责拆解、分配、执行、审计。这种「目标驱动」的范式在原型阶段特别高效,而它的可控执行机制又让你能逐步收紧边界,平滑过渡到生产环境。
另外几个让我印象深刻的点:
- 离线优先设计:Run Viewer 是纯离线 Dashboard,不依赖外部服务,这对隐私敏感场景非常友好
- 50+ 可运行示例:从基础用法到 Cookbook 工作流、Provider 配置、集成模式全覆盖,上手曲线平缓
- 真正的 TypeScript 原生:不是 JS 库加类型装饰,而是从底层就用 TS 5.6+ 特性构建,IDE 体验一流
- 生态开放:已有 Engram 记忆同步、Agentsonar 异常检测、Bilig WorkPaper 公式协作等多个第三方集成
如果你正在评估多智能体编排方案,或者对 LangGraph 的手动构图感到疲惫,强烈建议给 OMA 一个下午的时间——npm create oma-app@latest 跑一遍 Demo,你会感受到「描述目标而非流程图」的魅力。
