单个 Agent 好造,多个 Agent 协作难。等你的系统里有了三五个 Agent,真正烧时间的不是模型调用,而是外围那一堆脏活:谁有什么能力、谁能接这个任务、上下文怎么共享、结果怎么追踪。
蚂蚁集团 inclusionAI 团队开源了 Avernet V0.1(Apache 2.0),定位就是解决这个「协作层」问题。它不是又一个 Agent 框架,而是让异构 Agent 连进同一张协作网的基础设施——而且原生支持 OpenClaw:一个脚本就能拉起 5 个 OpenClaw bot 组成的「虚拟公司」。
官方数据:截至 2026 年 7 月初,Avernet 多 Agent 部署已覆盖蚂蚁 12 个业务板块,多 Agent 工作流任务完成率 90% 以上。生产验证过的开源项目,值得上手玩。
核心思路:它解决的是「找不到、对不齐、跑不快、留不住」
Avernet 的定位一句话说清:不替代 Agent 的推理能力,而是把协作流程基础设施化。它把多 Agent 协作里的注册、发现、邀请、群组、会话、路由、共识达成、可追踪执行全部标准化。
架构上核心是一个 BCS(Bot Collaboration Service):负责连接、注册、路由、消息投递、会话管理、协作状态和多 bot 网络管理。前面有前端工作台,配 bcs-cli 命令行工具做 onboard 和巡检。
接入方式有两种:
- Plugin 接入:OpenClaw、本地 Agent 运行时主动连入 BCS——当前最实用的路径,自带 5 个 demo bot 就是这种;
- Gateway 接入:Avernet 向已有 bot 平台分发任务,平台调度完回传结果,适合存量系统。
连接链路很直观:
Local OpenClaw gateway
-> openclaw-channel-bcn 插件
-> ws://127.0.0.1:21000/ws/bot
-> BCS
-> bcs-cli onboard
-> bot 出现在 Avernet 协作网络里
第一步:脚本一键拉起本地环境
克隆仓库,跑脚本即可。脚本会帮你装缺失的 Node.js 22、Rust/Cargo、protoc、OpenClaw 等工具:
git clone https://github.com/inclusionAI/Avernet.git
cd Avernet
# 预检 + 自动安装缺失工具
./scripts/singlebox.sh install-tools
# 启动 BCS + 前端工作台 + 5 个 OpenClaw demo bot
./scripts/singlebox.sh
启动完成后访问前端工作台:
http://127.0.0.1:8000/
默认会拉起 5 个带人设的 OpenClaw demo bot:ceo、product-manager、engineering、verification、customer-service——CEO 派活、研发执行、客服兜底,活脱脱一家虚拟公司。它们通过 BCN 插件自动完成注册(onboard)。
验证是否跑通:
# BCS 健康检查(默认端口 21000)
curl -fsS http://127.0.0.1:21000/health
# 查看已接入网络的 bot
./src/bcs/target/debug/bcs-cli --url http://127.0.0.1:21000 list
看到 Bots in network (...) 和 5 个 bot 名字就成功了。
第二步:可选——给 bot 接上真实模型
Avernet 基础功能(连接、onboard、协作验证)不需要模型 API key。想让 demo bot 真实回复,配置三个 OpenAI 兼容环境变量,注意三项必须同时存在,只配一部分会被忽略:
export OPENCLAW_OPENAI_BASE_URL=<model-api-base-url>
export OPENCLAW_OPENAI_API_KEY=<model-api-key>
export OPENCLAW_OPENAI_MODEL_ID=<model-id>
写入 .env.local(已被 git 忽略)或当前 shell 都行,别把 key 写进仓库文件。
第三步:把你自己的 OpenClaw 手动接入网络
想接一个额外的本地 OpenClaw 实例?先构建 BCN 插件:
cd src/bcs/crates/plugins/openclaw-channel-bcn
npm install && npm run build
# 验证产物
test -f dist/esm/index.js
然后生成一个隔离的 OpenClaw 配置(强烈建议别直接改 ~/.openclaw/openclaw.json),核心是注册 bcs channel:
cat > .openclaw-host-bcn/openclaw.json <<'EOF'
{
"channels": {
"bcs": {
"enabled": true,
"bcsUrl": "ws://127.0.0.1:21000/ws/bot",
"botId": "host-openclaw",
"botName": "Host OpenClaw",
"capabilities": {
"summary": "Local OpenClaw gateway on host machine",
"domains": ["local", "openclaw"],
"skills": ["openclaw"],
"scopes": ["local"]
},
"heartbeatIntervalMs": 60000,
"reconnectIntervalMs": 5000,
"connectionTimeoutMs": 30000
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback"
},
"plugins": {
"load": { "paths": ["/path/to/Avernet/src/bcs/crates/plugins/openclaw-channel-bcn"] },
"entries": { "openclaw-channel-bcn": { "enabled": true } }
}
}
EOF
启动 gateway(保持终端运行),插件连上 BCS 后会在 .openclaw-host-bcn/.bcs/session.json 写入 bot token:
OPENCLAW_DATA_DIR="$(pwd)/.openclaw-host-bcn" \
OPENCLAW_CONFIG_PATH="$(pwd)/.openclaw-host-bcn/openclaw.json" \
openclaw gateway run --port 18789
最后用 token 完成 onboard,注册名称、能力和可见性:
BOT_DATA_DIR="$(pwd)/.openclaw-host-bcn" \
./src/bcs/target/debug/bcs-cli --url http://127.0.0.1:21000 onboard \
--name "Host OpenClaw" \
--summary "Local OpenClaw gateway on host machine" \
--domains "local,openclaw" \
--skills "openclaw" \
--scopes "local"
# 让它出现在可协作列表里
BOT_DATA_DIR="$(pwd)/.openclaw-host-bcn" \
./src/bcs/target/debug/bcs-cli --url http://127.0.0.1:21000 visibility set --value public
实践建议
- 第一次跑,直接
singlebox.sh:重点观察 5 个 bot 是怎么「构建插件 → 软链 extensions → 生成 profile → 自动 onboard」的,这套链路就是你接入自有 Agent 的模板。 - 接入自己的 OpenClaw 用隔离目录:文档里的
.openclaw-host-bcn/方案不污染~/.openclaw,模型 key、个人配置都不受影响。 - 端口注意:BCS
21000、前端8000、5 bot30001-30041。被占用时在.env.local里改BCS_PORT/FRONTEND_PORT,或启动时传--bcs-port/--frontend-port。 - 别当生产部署指南用:本地脚本是 debug 模式 + mock 鉴权,适合跑通链路和联调,生产要等后续版本的安全、审计、治理能力补齐。
- 版本预期:V0.1 阶段,记忆、编排、评测、进化等能力还是 Planned,公开仓库重点看架构思路、开放协议和接入方式——这些才是沉淀。
资源链接
- GitHub 仓库:github.com/inclusionAI/Avernet(Apache 2.0)
- 快速开始:
docs/quick-start.zh-CN.md - OpenClaw 手动接入指南:
docs/openclaw-bcn-local.zh-CN.md - Bot 平台 Gateway 接入:
docs/bot-provider-integration.zh-CN.md
