← 全部集成
// 集成

把外部编码智能体放进同一张任务 DAG

用 ACP 或本地进程接入一个团队成员,同时由 OMA 继续掌管规划、调度、共享记忆与失败传播。

01 配置

一份最小配置。

import path from 'node:path'
import { OpenMultiAgent } from '@open-multi-agent/core'

// npm install @open-multi-agent/core@^1.11.0 @agentclientprotocol/sdk
// Set ANTHROPIC_API_KEY. Keep this directory narrower than your repository root.
const projectDir = path.resolve(
  process.env.OMA_ACP_PROJECT_DIR ?? './scratch-project',
)

const oma = new OpenMultiAgent({
  defaultProvider: 'anthropic',
  defaultModel: 'claude-sonnet-4-6',
})

const team = oma.createTeam('hybrid-audit', {
  name: 'hybrid-audit',
  agents: [
    {
      name: 'planner',
      systemPrompt: 'Plan a focused repository audit. Do not edit files.',
    },
    {
      name: 'repo-auditor',
      systemPrompt: 'Inspect the project and report evidence. Do not edit files.',
      backend: {
        kind: 'acp',
        command: 'npx',
        args: ['-y', '@agentclientprotocol/claude-agent-acp'],
        cwd: projectDir,
        // OMA defaults to 'auto-approve'. This example starts read-only instead.
        permission: ({ kind }) => kind === 'read',
      },
    },
    {
      name: 'reviewer',
      systemPrompt: 'Challenge the audit findings and summarize residual risk.',
    },
  ],
  sharedMemory: true,
})

const result = await oma.runTeam(
  team,
  'Audit the authentication module for error-handling gaps, then review the evidence.',
)

console.log(result.success, result.totalTokenUsage)
02 怎么契合

它怎么契合。

给外部成员设置 AgentConfig.backend,而不是模型。kind: 'acp' 会启动一个长连接的 Agent Client Protocol 会话;kind: 'process' 则为每次运行启动通用命令,并把 stdout、stderr、退出状态与取消映射成普通智能体结果。ACP 是仅在使用时才加载的可选 peer。OMA 扮演 ACP 客户端:启动配置好的子进程、发送 prompt、接收工具与用量更新,再把结果并入与 LLM 智能体相同的任务 DAG 和共享记忆。Claude Code 本身不原生支持 ACP;示例使用官方 @agentclientprotocol/claude-agent-acp 适配器。

03 职责边界

一张 DAG,两层控制循环。

OMA 协调整次运行;外部智能体仍是拥有自身工具与上下文的独立运行时。

OMA 掌管工作流

协调器拆解目标、把任务分给外部成员、调度依赖、共享上游结果,并把失败级联到下游任务。

外部智能体掌管自身循环

外部 CLI 自己选择工具、维护会话上下文,并以启动它的本地进程权限执行工作;OMA 不会替代这层运行时。

ACP 统一交接

文本增量、工具调用更新、停止原因、取消与上报用量都会变成普通 OMA 结果,因此混合团队不需要另写调度器。

04 生产边界

权限提示不等于沙箱。

应把 ACP backend 当作你明确授权的本地子进程,而不是被 OMA 隔离起来的工具。

审批策略

permission 默认是 'auto-approve',且在智能体提供选项时优先选择单次批准。每次部署都应改用 'reject' 或回调;上面的只读回调是起点,不是通用策略。

文件系统与密钥

子进程直接访问 cwd;OMA 不会通过自身文件系统沙箱代理 ACP 文件操作。把 cwd、command、args 与继承的环境变量缩到最小。process backend 没有协议级权限提示。

预算计量

ACP 上报累计上下文 token,而非输入/输出拆分。OMA 把读数换算成逐回合增量供 maxTokenBudget 使用;不发送用量更新的智能体会报告零,也不会被 token 门控。ACP 成本尚未接入 maxCostBudget

协议与生命周期范围

OMA 目前只做客户端,不会把 OMA 智能体作为 ACP agent 暴露给编辑器。经编排启动的 ACP 子进程会存活到进程退出;需要显式清理时,使用 createAcpBackend()dispose()

// 企业服务

要把它用到生产环境?

open-multi-agent 采用 MIT 许可、可自行免费运行。当你需要在期限内交付、集成,或获得支持时,元定义科技(YuanASI)提供商业交付与支持。

// 直接联系

把 Open Multi-Agent 用进真实业务

联系框架作者本人,帮你梳理 AI 落地目标、让 AI 真正与业务结合

可提供的工程服务
S-01

AI Agent 定制开发

业务梳理、Agent 设计、Prompt 评估、生产部署、私有化与持续支持。

S-02

多智能体系统集成

多 Agent 架构编排、RAG、CRM / ERP / API 对接、性能与稳定性调优。

S-03

企业 AI 咨询

AI 场景评估、技术选型、POC、ROI 估算与落地路线规划。