Files
open-multi-agent-open-multi…/README_zh.md
T

12 KiB
Raw Blame History


Open Multi-Agent


Open Multi-Agent

给一个目标,自动得到任务 DAG。
原生 TypeScript 多智能体编排。

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 是面向 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 参考详见包页:

→ packages/core/README_zh.md

其他运行方式:克隆仓库,以 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 构建

  • temodar-agent(约 60 stars)。WordPress 安全分析平台,作者 Ali Sünbül。在 Docker runtime 里直接用我们的内置工具(bash、file_*、grep)。已确认生产环境使用。
  • Mark Galyan 在本地量化模型上完全离线运行 OMA,借助 coordinator 与上下文压缩,在显存受限的条件下维持自治 agent 循环持续运行。自框架发布首月起持续贡献,涵盖上下文压缩、采样与工具调用解析。
  • PR-Copilot。AI pull request 审查助手,作者 kidoom。运行一个 OMA 审查 team(coordinator + 限定范围的 reviewer agent),用 defineTool 定义仓库上下文工具,并加入自定义 ContextStrategy 做 token-aware 的 PR diff 压缩。公开代码,基于 @open-multi-agent/core。
  • StuFlow。终端 AI 编码助手,作者 znc15。以 OMA 为编排内核:构建 team 并通过 runAgent / runTasks / runTeam 驱动,配自定义 RunTeamOptions coordinator,搭配 DeepSeek。公开代码,基于 @open-multi-agent/core。

集成

  • Engram — "AI 记忆的 Git"。在 agent 之间即时同步知识并标记冲突。(repo)
  • @agentsonar/oma — Sidecar,检测跨运行的委派环、重复和速率突增。
  • CodingScaffold — agentic-coding 脚手架,把 OMA 列为可选编排后端,附带 runTeam 工作流模板。

Provider 社区优惠 — 限时,不代表付费背书。

  • MiniMax — 在 OMA 的 TypeScript 多智能体工作流中使用 MiniMax M3。OMA 用户可在 2026-06-30 前享 MiniMax Token Plan 专属 88 折优惠。见 MiniMax 接入指南。

在生产或 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               # 运行测试套件

文档

  • Provider — 环境变量、模型示例、本地模型工具调用、超时、常见问题。
  • 工具配置 — 工具预设、自定义工具、文件系统沙箱、MCP。
  • 可观测性 — onProgress 事件、onTrace span、运行后 dashboard。
  • 共享记忆 — 默认存储与自定义 MemoryStore 后端。
  • Checkpoint & resume — 可选的按运行快照/恢复,跑在任意 MemoryStore 上;崩溃、重启后可续跑。
  • 上下文管理 — 滑动窗口、摘要、压缩、自定义压缩器。
  • CLI — 面向 shell 和 CI 的 JSON-first oma 命令行。
  • Consensus — runConsensus proposer→judge 原语、按任务的 verify 钩子,以及预算不变量。
  • 模型路由 — 可选的 modelRouting 策略:按 phase / agent / role / priority / leaf 匹配,first match wins。
  • 计划预览与回放 — 用 planOnly 预览协调者拆解的任务 DAG,createPlanArtifact 将其固化,之后 runFromPlan 不再调用协调者即可回放同一张图。

参与贡献

Issue、feature request、PR 都欢迎。特别欢迎以下方面的贡献:

贡献者

按领域展开的完整致谢见包页。

许可证

MIT