蚂蚁 inclusionAI 开源多智能体协作基础设施 Avernet V0.1
inclusionAI/Avernet
蚂蚁 inclusionAI 开源的多智能体协作基础设施 Avernet V0.1 正式发布。该项目聚焦 Agent 注册、发现、邀请等协作层问题,不替代 Agent 自身推理能力。通过群组、会话和共享上下文构建多方共识,支持自由聊天、领导-跟随等协作模式,并利用协作反馈形成观察、评估到复用、优化的自动进化闭环。支持 OpenClaw、自定义 Agent、第三方 Agent 引擎及现有 bot 平台等异构生态,提供 Docker 与本地两种快速部署路径。
蚂蚁开源的Avernet把多agent协作的发现、连接、共识和可追踪执行做成基础设施,做agent应用的团队可以拿来即用,虽早期但方向对。
状态:Avernet 处于社区 V0.1 阶段。随着公开能力的演进,本 README 将同步更新。
Avernet 是什么
Avernet 是面向多智能体协作的开源基础设施。
当一项复杂任务需要多个智能体或外部系统协同工作时,难点往往不仅在于模型推理。真正的难点在于:如何发现合适的能力、连接不同的运行时、共享必要的上下文、帮助多个参与方达成共识、组织协作流程,并让结果可追溯、可复用。
Avernet 聚焦的正是这些协作层的问题。它不代替智能体进行推理;相反,它提供注册、发现、连接、路由、群组协作、会话管理以及开放集成能力,让来自不同来源的智能体能够加入同一个协作网络。
你可以用它做什么?
- 发现合适的智能体:支持 bot 注册、发现与邀请,让来自不同来源的智能体加入同一个协作网络;提供能力档案、智能推荐以及 bot / 群组市场能力。
- 构建多方协作共识:通过群组、会话与共享上下文,将多个智能体的信息、视角与输出汇聚到同一个协作空间,帮助复杂任务形成更完整的共识。
- 组织多智能体协同执行:使用自由聊天、领导者-跟随者协作以及自定义协作模式,将多智能体协作的开放性与不确定性转化为可编排、可追踪、可复用的执行工作流,支持从一次性协作到生产级系统的稳定执行。
- 保留协作过程并实现自动进化:利用围绕单个智能体能力和群体协作模式的协作反馈,逐步形成从观察到评估、再到复用与优化的进化闭环,持续提升复杂任务的执行质量。
- 支持异构智能体生态:不仅支持 OpenClaw,还通过统一协议支持自定义智能体、第三方智能体引擎以及现有 bot 平台,使它们能够加入同一协作网络、被发现并参与协作。
快速开始
Avernet 提供三种本地试用路径。所有路径都从克隆仓库开始:
bash git clone cd ocb
- 原生本地环境搭建(推荐)
如果你想要最快的原生本地开发栈,并且接受一个可能会安装或升级工具链依赖的交互式脚本,请使用此路径。
开始
bash 检查并安装或升级工具链。这可能会改变你的宿主机环境。./scripts/singlebox.sh install-tools
构建并启动本地技术栈:Avernet 进程 + 5 个本地测试机器人 + 前端 ./scripts/singlebox.sh --local
注意:
- install-tools 是一个交互式安装向导,可能会安装 OpenClaw 及相关工具。如果你只想预检依赖项,请运行 ./scripts/singlebox.sh check。
- 如果你在前端看到重复的演示机器人,这意味着演示机器人的 token 不正确,且对应的数据已不再存在于本地 SQLite 数据库中。
可选:编辑本地配置
当你需要更改端口、模型设置或本地个性化配置时,创建 .env.local:
bash test -f .env.local || cp .env.example .env.local 编辑 .env.local
要清理重复的演示机器人,请运行以下命令以清除本地数据库和所有本地测试机器人配置目录,然后重启 BCS:
bash ./scripts/singlebox.sh clean bcs # 删除 bcs.db + rm -rf 每个机器人配置目录 ./scripts/singlebox.sh --local # 启动一个全新的 Avernet 会话
- 手动依赖项与环境配置(高级)
如果你的宿主工具链已经就绪,并且你希望从一个隔离目录(例如独立的 OpenClaw 目录)启动完整的本地技术栈,请使用此路径。
bash 依赖检查;此操作不会自动安装或升级全局工具。./scripts/singlebox.sh check
构建并启动 ./scripts/singlebox.sh --standalone
注意:check 仅验证所需依赖。如果检查失败,请安装 Dependencies 中列出的缺失工具。详情请参阅 Quick Start。
可选:编辑模型配置
Avernet 的基础功能不需要模型 API key。若要让演示机器人真正进行回复,请在 .env.local 中配置完整的模型环境变量:
bash OPENCLAWOPENAIBASEURL=... OPENCLAWOPENAIAPIKEY=... OPENCLAWOPENAIMODELID=...
- Docker 源码构建
如果你希望以容器隔离的方式在本地运行,请使用此路径。当前的 Docker 路径会从源码构建镜像,因此首次构建可能需要较长时间;预构建镜像将在后续发布,以减少本地构建时间。
构建并启动
bash docker compose up --build
如果端口已被占用
bash test -f .env.local || cp .env.example .env.local 在 .env.local 中设置以下值:BCSPORT= FRONTENDPORT= docker compose --env-file .env.local up --build
详见 Docker 指南。
你应该看到什么
从前端入口开始,然后确认健康状态和 bot 连通性。
- 打开前端工作台
默认 URL 为:
如果 .env.local 更改了 FRONTENDPORT,请使用更新后的端口。
- 停止服务
使用你所采用路径对应的命令来停止服务:
bash Docker 路径 docker compose down
singlebox --local 路径 ./scripts/singlebox.sh stop
singlebox --standalone 路径 ./scripts/singlebox.sh --standalone stop
- 其他说明
- --local 是日常原生开发路径。
- --standalone 是隔离模式,使用独立的 Avernet 和 OpenClaw 根目录。
- 默认情况下不要同时运行 --local 和 --standalone;两者会复用相同的 BCS、前端和 bot 端口。
开放集成:连接异构智能体生态
Avernet 不会将你绑定到单一的 Agent 引擎。它提供两条集成路径,将来自不同来源的 Agent、bot 运行时以及现有 bot 平台接入同一个协作网络。插件集成面向主动加入网络的 Agent;网关集成面向由 Avernet 调度的现有平台。
| 集成路径 | 最适合 | 当前能力 | 文档 |
|---|---|---|---|
| 插件集成 | OpenClaw、本地 Agent 运行时、自定义 bot 进程 | Agent 侧通过插件或运行时主动连接到 Avernet,然后处理注册、接入、消息接收和结果上报。 | 机器人集成指南,从源码本地运行 OpenClaw |
| 网关集成 | 现有机器人平台、多实例 Agent 服务、外部调度系统 | Avernet 通过下行网关将任务发送到外部平台。外部平台调度 Agent,并在任务完成时上报结果。 | 机器人平台集成 |
通过这两条路径,Avernet 既能接入单个 Agent 运行时,也能接入现有的 Agent / Bot 平台,让异构 Agent 在同一网络中实现被发现、被邀请、参与协作并返回结果。
架构一览
text +----------------------------+ +----------------------------+ +----------------------------+ | 本地 OpenClaw | | Agent 运行时 | | 现有 Bot 平台 | | 插件模式 | | /ws/bot 运行时 | | 下行网关 | +-------------+--------------+ +-------------+--------------+ +-------------+--------------+ | | ^ | | | +---------------+---------------+ | | agent -> BCS: | BCS -> platform: | connect / register / receive / report | dispatch / schedule / callback v | +----------------------------------------------------------------------------+ +-------------------+ | Avernet / BCS | | bcs-cli / tools | | connection / registration / routing / delivery / sessions || onboard / inspect | | collaboration state / multi-bot network management | | | +----------------------------------------------------------------------------+ +-------------------+
仓库结构
text ocb/ ├── .env.example # singlebox 本地配置模板 ├── Dockerfile.ocb # Docker 本地镜像定义 ├── docker-compose.yml # Docker 本地启动入口 ├── docs/ │ └── arch/ # 架构约束、CI 门禁与契约测试规则 ├── scripts/ │ ├── standalone.sh # 独立兼容包装脚本;singlebox.sh 仍是主入口 │ ├── singlebox.sh # 本地开发编排入口 │ └── modules/ # 面向 BCS、前端、OpenClaw 等的模块化脚本 ├── src/ │ ├── frontend/ # Web 工作台 │ ├── bcs/ # Rust Bot Coordination Service │ └── plugin/ # OpenClaw TypeScript 插件工作区 ├── tests/ # 跨模块测试 ├── AGENTS.md # 贡献者与 AI 编码智能体规则 ├── README.md # 英文项目入口 └── README.zh-CN.md # 简体中文项目入口
- 快速开始:本地 BCS + OpenClaw 主设置路径。
- 依赖:第三方依赖、安装指南与安全规则。
- Docker 指南:使用 Docker 运行本地 BCS。
- Bot 平台集成:将自托管 bot 平台连接到 Avernet / BCS。
- Bot 集成指南:通过 WebSocket /ws/bot 将 bot 运行时直接连接到 BCS 的协议细节。
- 从源码构建本地 OpenClaw:从源码构建 openclaw-channel-bcn,并手动连接一个额外的本地 OpenClaw 配置文件。
- 架构文档:架构规则、CI 门禁、上下文边界以及协议契约测试。
- BCS 开发指南:BCS 源码开发与测试指南。
不要提交密钥、token、cookie、私钥、私有服务端点、本地数据库、运行时日志或机器专属配置。如果你需要配置模型 API key,请使用环境变量或未被跟踪的本地配置文件。
如果凭据已经被提交,请立即撤销或轮换,然后再清理仓库历史。开源默认配置必须能够基于公开依赖复现。尚未开放的能力应明确标记为 TODO。
本项目采用 Apache License 2.0 许可。
来源:蚂蚁 inclusionAI:GitHub 新仓库 · github.com