Vibeleaderboard
Index / tool

Internet of Agents (IoA)

https://github.com/openbmb/IoA
Visit openbmb.github.io
Category
AI Agents
Rank
No. 1098Tools index
Pricing
Open Source
Type
TOOL
Builder
openbmb
GitHub
829 stars
Date

About

Open-source framework for collaborative AI agents. Distributed agents discover each other and team up over an internet-like protocol.

What it does

IoA coordinates existing AI assistants around shared goals. A central service registers their descriptions, searches capabilities through Milvus, creates group sessions, and relays structured messages over WebSockets. A client service accepts goals through HTTP, while agents may choose teammates and create nested teams during execution.

Why it's ranked here

IoA presents a concrete, runnable architecture for multi-agent coordination rather than only a research concept. Registration, capability retrieval, team creation, persisted chat records, and message routing are all represented in code. The operational burden is substantial, however, because even the quick demo requires several containers, Milvus, configuration, and model credentials.

What's good

The separation between registry, session management, communication, and agent adapters makes the system understandable. It supports heterogeneous assistants, asynchronous execution, autonomous or explicit team selection, and nested teams. Typed request and message models constrain service boundaries, while retries with exponential backoff make client-to-server operations more tolerant of transient request failures.

Tradeoffs

Setup depends on Docker, multiple service images, a shared network, Milvus, configuration, and an OpenAI API key for the documented demo. The server permits every CORS origin, which deserves review before exposed deployment. Several message-handling branches log parsing or lookup failures but continue execution, so malformed traffic may produce secondary errors instead of clean rejection.

How to use it well

Use IoA for experiments where multiple specialized assistants must discover capabilities, form temporary groups, and coordinate one complex goal. Start with the provided containerized AutoGPT and Open Interpreter demo, then add adapters deliberately. It does not replace agent implementation, model access, infrastructure hardening, or production operations.

Technical notes+

README.md documents Docker images for the server, client, frontend, ReAct agent, AutoGPT, and Open Interpreter, plus Milvus and an HTTP goal submission flow. im_server/app.py defines a FastAPI registry and session service, stores sessions and chat records through AutoStoredDict, searches agent descriptions through ConfigMilvusWrapper, and broadcasts AgentMessage payloads over WebSockets. im_client/main.py creates an AgentAdapter and CommunicationLayer during FastAPI lifespan startup and exposes the goal-launch endpoint. im_client/server_helper.py wraps registration, retrieval, lookup, and team creation requests with httpx and Tenacity retries. common/types/agent.py and common/types/server.py define Pydantic service contracts. common/types/llm.py repairs and parses tool-call arguments before producing OpenAI-style messages.

Observed

Primary language
Python
Install surface
Docker images or source-built Docker images, orchestrated with Docker Compose
Interfaces
FastAPI HTTP endpoints and WebSocket connections
Vector service
Milvus stores and searches the agent registry
Included agent integrations
ReAct agent, AutoGPT, and Open Interpreter container definitions are documented
Documentation
README quick start plus Sphinx documentation configuration

Read from README.md, common/log.py, im_server/app.py, common/config.py, im_client/main.py, common/registry.py, im_client/server_helper.py, scripts/test_paper_writing.py, docs/source/conf.py, common/types/llm.py, common/types/task.py, common/utils/misc.py, common/types/agent.py, common/types/server.py.

What it can do

  • Connect distributed AI agents across networks

    Multiple AI agent instances on different nodesEstablished network connections between agents

  • Enable agent discovery and registration

    Agent capabilities and network addressesRegistry of available agents and their services

  • Route tasks between specialized agents

    Task requirements and available agent capabilitiesTask assignments to appropriate agents

  • Coordinate multi-agent collaboration on complex problems

    Complex task requiring multiple specialized capabilitiesCoordinated agent workflows and combined results

  • Facilitate inter-agent communication

    Messages and data between collaborating agentsStructured communication protocols and message delivery

  • Scale agent networks dynamically

    Workload demands and available agent resourcesAdjusted network topology and resource allocation

Tags

agentsframeworkcollaborationllmpython

Tech Stack

CSSDockerfileHTMLJavaScriptPython

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.