Skip to content

Avernet v2026.07.15

Latest

Choose a tag to compare

@carolynli carolynli released this 15 Jul 17:28

Overview

Avernet v2026.07.15 is Avernet’s first open-source release.

Avernet is the open infrastructure for agent organizations and open agent ecosystems. It provides the core systems that let humans and heterogeneous agents live, connect, coordinate, execute, and evolve together.

Production-proven, evolving in the open. Avernet operates at scale in Ant Group’s production environment, supports more than 10,000 agents/bots as of early July 2026, and powers production workloads at enterprise scale.

Future releases follow the vYYYY.MM.DD CalVer scheme.

Highlights

  • Multi-agent discovery, connection, and coordination through Bot Coordination Network (BCN), powered by the Bot Coordination Service (BCS)
  • Web-based workbench for managing bots and group collaboration
  • Support for heterogeneous agent runtimes through open integration protocols
  • Local deployment with Docker and the singlebox development workflow
  • Built-in demo bots for quickly exploring multi-agent collaboration

Getting Started

See the documentation for installation and local setup:

Known Limitations

This initial public release focuses on local evaluation and development. Prebuilt container images are not yet published, so the Docker workflow currently builds from source. Installation flows, integration protocols, and deployment options will continue to evolve.

Please report problems through GitHub Issues.

Feedback and Contributions

We welcome bug reports, feature requests, documentation improvements, and code contributions from the community.

What's Changed

View the complete list of merged pull requests
  • fix(bcs/e2e): align bot IDs/names with 5bots_profile and rename to role code names by @zh-bupt in #1
  • feat(bcs): generalize leader election provider wiring by @questchaos in #2
  • fix(bcs): use refs/heads/dev raw URL and bash -c form for install command by @zh-bupt in #3
  • feat(bcs): add pluggable security gateway registry by @questchaos in #4
  • feat(bcs): e2e line-coverage orchestration with parallel pre-push gate by @zh-bupt in #7
  • docs: update Avernet introduction to reflect evolving open-source scope by @dxwinux in #6
  • feat(plugin): support BCN npm source mode by @RaymondHX in #5
  • feat(bcs): add pluggable user directory support by @questchaos in #8
  • ci(unit-tests): BCS coverage gate + Node 22 + jest roots fix by @zh-bupt in #10
  • feat(bcs): bcs-cli e2e test suite + BCS coverage gate by @zh-bupt in #11
  • ci(bcs): add GitHub Actions e2e job with coverage gate by @zh-bupt in #13
  • feat: add backend and engine components by @totalfrank in #15
  • ci(unit-tests): add backend and engine test jobs by @totalfrank in #17
  • feat(channel): support external IM channel plugins by @RaymondHX in #12
  • feat(baas): add baas module by @cassiuscai in #16
  • doc(baas): update the README.md for baas module by @cassiuscai in #21
  • Add adapters HTTP endpoint coverage report to the e2e coverage flow by @zh-bupt in #18
  • feat(cron): support service bot multi-instance runtime ops by @XIEAN99 in #24
  • test(bcs): add actor/register/session e2e suites for endpoint coverage by @zh-bupt in #26
  • feat(baas): heterogeneous engine integration via BotEngineAdapter SPI by @EVASHINJI in #27
  • docs(baas): update TECH-DEBT-CHECKLIST for baas module by @cassiuscai in #22
  • Migrate pre-push gates to Avernet by @FreddieSun in #25
  • docs: update README with new structure and organizational problems se… by @dxwinux in #32
  • ci: remove frontend unit test job from unit-tests workflow by @zh-bupt in #33
  • feat(channel): align binding tables with audit timestamps by @RaymondHX in #28
  • docs: sync core message and formatting in both READMEs by @dxwinux in #39
  • feat: enable full singlebox standalone stack by @FreddieSun in #23
  • fix(channel): derive binding env from server runtime by @RaymondHX in #47
  • doc: add product snapshot by @dxwinux in #48
  • Test(baas): check config file consistency by @cassiuscai in #50
  • chore: update CODEOWNERS and remove top-level nginx test by @carolynli in #38
  • chore(singlebox): remove local mode entrypoint by @FreddieSun in #53
  • Fix runtime token resolver for agentpass in BCS by @vzvince in #56
  • ci: add singlebox coverage workflow by @FreddieSun in #51
  • test(baas): include e2e tests by @cassiuscai in #68
  • perf: replace PNG images with smaller JPG files by @dxwinux in #55
  • fix(message-flow): 区分群聊投递失败与 bot 离线,修复 dynamic_status=active 仍报 "已离线" by @zh-bupt in #72
  • fix(bcs): accumulate thinking deltas per segment by @vzvince in #37
  • feat(channel): add end-to-end diagnostics logs by @RaymondHX in #54
  • fix(group): 群成员含已删 bot 时仍显示 bot_name by @zh-bupt in #76
  • feat(bcs): stream manager-worker task downlink by @RaymondHX in #77
  • feat(bcs-cli): list current bot groups by @RaymondHX in #78
  • fix(bcs): harden provider SSE transport by @vzvince in #86
  • rebase to dev by @lucas-xzp in #90
  • fix(bcs): reset thinking accumulation at agent stream boundaries by @vzvince in #95
  • feat(bcs): allow health version override by @vzvince in #94
  • chore(deps): bump pydantic-settings from 2.14.1 to 2.14.2 in /src/baas/packages/community by @dependabot[bot] in #79
  • test(bcs): strengthen user-story E2E coverage and quality gates by @carolynli in #91
  • fix(channel): bound IM bot sessions and default group chats per sender by @RaymondHX in #99
  • feat(channel): report IM processing failures by @RaymondHX in #103
  • feat(dormant): add passport-only unfreeze endpoint by @FreddieSun in #69
  • refactor(runtime): separate deploy profile from data env by @FreddieSun in #93
  • Pfmiles avernet sat tree1 by @pfmiles in #111
  • feat(dormant): protect configured owners from automatic recycling by @FreddieSun in #92
  • feat(cron): support runtime param in auto-setup cron task by @panqiwp in #80
  • ci: use immutable PR base SHA for changed-line coverage by @zh-bupt in #108
  • chore: move OpenClaw BCN plugin under BCS plugins by @RaymondHX in #104
  • Feat/add switch by @xxxxpenny in #117
  • fix(singlebox): land BaaS-backed device runtime on dev by @FreddieSun in #112
  • test(singlebox): land Device E2E coverage sample by @FreddieSun in #113
  • feat(openclaw-channel-bcn): align agent reply lifecycle by @RaymondHX in #118
  • more logs added when storage_id not found upon arca sandbox deleting by @pfmiles in #121
  • feat(ci): run registered singlebox modules in one coverage stack by @FreddieSun in #114
  • Lyp base dev 0711 by @icidicf in #119
  • chore(scripts): remove dead/obsolete BCS shell scripts by @zh-bupt in #120
  • feat: default key name use bot_run.dispatcher_route.default by @xxxxpenny in #131
  • fix(ci): align module diffs with latest PR target by @FreddieSun in #134
  • feat(bot-authorization): pass default CLI/MCP through AgentPass registerAgentPrincipal at authorization time by @panqiwp in #136
  • feat(aicoding): allow frontend to pass cwd directly to session endpoints by @maicaisongxiaocong in #132
  • feat(bcs): add organization-scoped bot coordination by @vzvince in #106
  • docs: add Avernet logo banner to README by @carolynli in #140
  • fix(baas): restrict DeviceTtlTimer baas_device query to ARCA provider by @EVASHINJI in #123
  • Add @FreddieSun as owner for /src/backend and /src/engine in CODEOWNERS by @totalfrank in #145
  • feat(bcsfuse): add open-source context fusion & semantic search module by @wienyang in #138
  • fix(baas): stabilize local bot activation by @lming112 in #97
  • refactor(service-bot): decompose publish_flow_service + durable task pipeline by @totalfrank in #105
  • chore(deps): bump pydantic-settings from 2.13.1 to 2.14.2 in /src/bcsfuse by @dependabot[bot] in #147
  • chore(deps): bump urllib3 from 2.6.3 to 2.7.0 in /src/bcsfuse by @dependabot[bot] in #148
  • chore(deps): bump starlette from 1.0.0 to 1.3.1 in /src/bcsfuse by @dependabot[bot] in #149
  • chore(deps): bump idna from 3.11 to 3.15 in /src/bcsfuse by @dependabot[bot] in #150
  • fix(cron): expose retained verify runtimes and skip redundant ws-info by @XIEAN99 in #133
  • fix(bcs-cli): render current bot groups by @RaymondHX in #137
  • fix(di): restore corp-test local device bindings by @FreddieSun in #152
  • feat/refactory baas by @xxxxpenny in #139
  • fix: 补齐 BaaS 重启时的 BCN Provider 注册 by @XIEAN99 in #155
  • fix(engine): fan out async chat.inject events to websocket subscribers by @evilcoda in #146
  • caller 拉起容器 by @quhongwei in #135
  • fix(publish): drive rollback & retry-restart via the durable queue (#162) by @totalfrank in #165
  • fix: guard bot restart lifecycle states by @FreddieSun in #164
  • feat(ws-relay): enable cross-machine relay as default, replace commen… by @pfmiles in #163
  • fix: preserve default cli scope during mcp sync by @panqiwp in #161
  • unify stream converter and clean up legacy config by @xxxxpenny in #167
  • caller & 拉起容器 by @quhongwei in #170
  • caller & 拉起容器 by @quhongwei in #174
  • fix(teclaw): backport durable publish polling to REL20260715 by @FreddieSun in #176
  • use operator from get_op by @xxxxpenny in #171
  • fix(publish): deliver stored online channel overrides on rollback by @totalfrank in #175
  • feat(governance-feedback): self-contained v2 feedback_payload + detai… by @icidicf in #177
  • feat: repair default bot passport control plane by @FreddieSun in #179
  • fix caller instance bind device by @quhongwei in #182
  • feat: 透传 chunk 的 engine_type 到流式消费端 by @xxxxpenny in #178
  • fix caller instance owner_id by @quhongwei in #186
  • feat(cron): add 14:00 to autoInitiate schedule and embed default maxTaskNum=3 by @panqiwp in #188
  • fix(publish): describe terminal statuses in process() instead of raising by @totalfrank in #190
  • fix: allow failed bots to restart by @FreddieSun in #202
  • remove conf key pattern by @xxxxpenny in #192
  • resolve_ws_conn_info for local paas platform fix by @pfmiles in #200
  • feat(cron): separate bot context in task detail by @XIEAN99 in #206
  • fix connnet draft by service bot offline and fix skills-local set rea… by @quhongwei in #209
  • fix(harness): reject unknown bots before diagnosis by @FreddieSun in #211

New Contributors

Full Changelog: https://github.com/inclusionAI/Avernet/commits/v2026.07.15