
Internet of Agents (IoA)
https://github.com/openbmb/IoA- 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 nodes → Established network connections between agents
Enable agent discovery and registration
Agent capabilities and network addresses → Registry of available agents and their services
Route tasks between specialized agents
Task requirements and available agent capabilities → Task assignments to appropriate agents
Coordinate multi-agent collaboration on complex problems
Complex task requiring multiple specialized capabilities → Coordinated agent workflows and combined results
Facilitate inter-agent communication
Messages and data between collaborating agents → Structured communication protocols and message delivery
Scale agent networks dynamically
Workload demands and available agent resources → Adjusted network topology and resource allocation
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.