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)
是什么 – 以 TypeScript 为先的框架,可让您在任何 Node.js 应用中运行 动态 的 LLM 驱动的代理团队。您提供一个高层次的目标,内置的 协调器 会实时构建任务 DAG,跨代理调度工作,并记录每一步,以便运行过程可被检查、批准、重放或恢复。
核心理念
- 目标驱动的编排 – 无需手动编写图;协调器根据用户提供的提示在运行时构建依赖图。
- 可控执行 – 计划、任务分发和工具调用可预览并暂停以供人工审批。框架提供审批钩子和持久化检查点。
- 可观测性与重放 – 所有运行均以追踪数据形式存储。离线的 运行查看器 可可视化 DAG、跨度瀑布图、Token 使用量和工具调用,并允许您精确重放运行过程。
- 安全与隐私 – 工具默认禁用;每次调用必须显式允许。遥测和持久化状态受可选隐私控制约束。
- 开放运行时 – 支持任意 LLM 提供商(OpenAI、Claude、Gemini、本地服务器、AI-SDK)并可混合使用云模型与本地模型。支持共享内存、预算、重试、循环检测和 OpenTelemetry 导出。
典型用例
- 复杂的后台自动化(例如,PR 审查机器人、安全分析流水线)。
- 多个代理需要收集事实、比较证据并达成共识的研究或分析团队。
- 需要可审计性、审批工作流以及故障后恢复能力的生产级 AI 服务。
快速入门
# 创建一个包含完整离线运行演示的启动项目
npm create oma-app@latest my-oma
或向现有 Node.js 代码库添加核心库:
npm install @open-multi-agent/core
import { 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: '查找相关事实。' },
{ name: 'analyst', systemPrompt: '比较证据并识别权衡。' },
],
sharedMemory: true,
})
const result = await oma.runTeam(team, '比较三种方法并推荐一种。')
console.log(result.agentResults.get('coordinator')?.output)
该示例无需 API 密钥即可运行,因为它使用的是脚本化模型响应;设置 OPENAI_API_KEY 可尝试使用真实模型。
安全钩子示例 – 暂停任何关键工具调用(例如文件写入)以进行人工审查:
const oma = new OpenMultiAgent({
defaultProvider: 'openai',
defaultModel: 'gpt-5.4',
onToolCall: ({ consequential }) =>
consequential ? { action: 'suspend' } : { action: 'allow' },
})
生态系统
- 核心包 –
@open-multi-agent/core提供运行时、工具库、检查点、追踪、CLI 和离线运行查看器。 - OTel 集成 –
@open-multi-agent/otel可将 OMA 追踪数据发送到集中式 OpenTelemetry 堆栈。 - 脚手架工具 –
create-oma-app支持npm create oma-app,用于快速生成启动模板。 - 集成 – 社区项目已将 OMA 集成到 PR 审查助手、WordPress 安全扫描器、量化模型驱动的研究工具等中。
文档与资源
- 完整文档:https://open-multi-agent.com/getting-started/introduction/
- API 参考和指南位于
packages/core文件夹中。 - 与其他编排框架(LangGraph、CrewAI 等)的对比可在网站上查看。
许可证 – MIT(参见 LICENSE 文件)。项目由 YuanASI Technology 维护,欢迎通过 GitHub 问题和拉取请求贡献代码。
相关
- 项目
- 项目
- 项目
- 项目
- 项目