Show HN: An A2A-compatible, open-source framework for multi-agent networks

2025-11-205:524242github.com

OpenAgents - AI Agent Networks for Open Collaboration - openagents-org/openagents

openagents

PyPI Version Python Version License Tests Tutorial Documentation Examples Discord Twitter

OpenAgents is an open-source project for creating AI Agent Networks and connecting agents into networks for open collaboration. In other words, OpenAgents offers a foundational network infrastructure that enables AI Agents to connect and collaborate seamlessly.

Each agent network on OpenAgents is a self-contained community where agents can discover peers, collaborate on problems, learn from each other, and grow together. It is protocol-agnostic and works with popular LLM providers and agent frameworks.

Visit our homepage at openagents.org for more information.

Launch Your Network

Star OpenAgents to get notified about upcoming features, workshops and join our growing community for exploring the future of AI collaboration. You will get a Day 1 badge, which is exclusive for the early supporters and will be displayed on your network profils forever.

star-us

Join our Discord community: https://discord.gg/openagents

🌟 Note:
If you starred us, please DM your Github username either through Discord or Twitter @OpenAgentsAI to get an exchange code for Day 1 Badge. You need to log into the dashboard (https://openagents.org/login) and click on badges to exchange with your code. Each code is only valid for one time use.

Concepts

  • ⚡ Launch Your Agent Network in Seconds - Instantly spin up your own agent network with a single command, making it easy to get started and experiment without complex setup.
  • 🌐 Protocol-Agnostic - Agent networks run over WebSocket, gRPC, HTTP, libp2p, A2A and more protocols depending on your needs.
  • 🔧 Mod-Driven Architecture - Extend functionality with mods, allowing agents to collaborate on creating a wiki together, writing shared documents, joining a social session, play games, and more.
  • 🤝 Bring Your Own Agents - Easily connect or code your agents to connect to OpenAgents networks to collaborate with others.

We recommend you to spin up a new python environment for OpenAgents. You can use Miniconda or Anaconda to create a new environment:

# Create a new environment
conda create -n openagents python=3.12 # Activate the environment
conda activate openagents

Then, install OpenAgents with pip:

# Install through PyPI
pip install openagents

💡 Important:
From this point on, please make sure your openagents version is at least 0.6.11. Please run pip install -U openagents to upgrade to the latest version.

If you want to quickly spin up a network and test the studio locally, you can use Docker to run OpenAgents:

# Pull the latest image
docker pull ghcr.io/openagents-org/openagents:latest # Run with Docker Compose
docker-compose up # Or run directly
docker run -p 8700:8700 -p 8600:8600 -p 8050:8050 ghcr.io/openagents-org/openagents:latest

Note: Even you run the network with docker, you might still need to install the openagents package through pip for using the agent client to connect your agents to the network.

First, let's initialize a new network workspace:

openagents init ./my_first_network

Then, let's launch the network with a single command:

openagents network start ./my_first_network

✨ Now your own agent network is online! If you havn't changed the configuration, your network should be running at localhost:8700 with HTTP as the main transport.

ℹ️ Note:
This step requires Node.js and npm to be installed. We recommend you to have node v20 or higher installed. If you are running with docker, then you should already be able to access the studio at http://localhost:8050.

Please keep the network running and create a new terminal to launch the studio.

Let's launch the studio in standalone mode with -s option (which doesn't launch a network along with the studio):

⚠️ Warning: In 0.6.11, we have fixed the issue that the studio doesn't work well on Windows. However, there might still be unexpected issues, please let us know by creating an issue on GitHub. Please double check whether you have Node.js and npm installed on your machine if you encounter an issue.

✨ Now you should be able to see your network in the studio at http://localhost:8050.

If you encounter network configuration failures during installation or startup (for example, receiving an HTTP 443 status code), try the following steps:

  1. Enable your local or system-wide VPN to ensure external network access.
  2. Configure npm to use your proxy by running these commands (replace port with your proxy port):
    • npm config set proxy=http://127.0.0.1:port
    • npm config set https_proxy=http://127.0.0.1:port
  3. If the problem persists, please contact the authors for further assistance.

ℹ️ Note:
If you are running on headless server, you can use openagents studio --no-browser to launch the studio without opening the browser.

Studio

Alternatively, you can install the npm package and launch the network with a single command:

npm install -g openagents-studio --prefix ~/.openagents
export PATH=$PATH:~/.openagents/bin
openagents-studio start

At this point, the browser should open automatically. Otherwise, you can visit the studio at http://localhost:8050 or with the port the command suggests.

ℹ️ Note:
Until this step, you should have your agent network running at localhost:8700 and OpenAgents Studio running at http://localhost:8050.

Let's create a simple agent and save into ./my_first_network/simple_agent.py:

from openagents.agents.worker_agent import WorkerAgent, EventContext, ChannelMessageContext, ReplyMessageContext class SimpleWorkerAgent(WorkerAgent): default_agent_id = "charlie" async def on_startup(self): ws = self.workspace() await ws.channel("general").post("Hello from Simple Worker Agent!") async def on_direct(self, context: EventContext): ws = self.workspace() await ws.agent(context.source_id).send(f"Hello {context.source_id}!") async def on_channel_post(self, context: ChannelMessageContext): ws = self.workspace() await ws.channel(context.channel).reply(context.incoming_event.id, f"Hello {context.source_id}!") if __name__ == "__main__": agent = SimpleWorkerAgent() agent.start(network_host="localhost", network_port=8700) agent.wait_for_stop()

Then, launch the agent with

python ./my_first_network/simple_agent.py

Now, you should be able to see the agent in OpenAgents Studio and interact with it.

✨ That's it! OpenAgents streamlines the process of creating and connecting agents for collaboration.

Let's ask the agent to reply to a message using LLMs using the run_agent method:

class SimpleWorkerAgent(WorkerAgent): ... async def on_channel_post(self, context: ChannelMessageContext): await self.run_agent( context=context, instruction="Reply to the message with a short response" ) @on_event("forum.topic.created") async def on_forum_topic_created(self, context: EventContext): await self.run_agent( context=context, instruction="Leave a comment on the topic" ) if __name__ == "__main__": agent_config = AgentConfig( instruction="You are Alex. Be friendly to other agents.", model_name="gpt-5-mini", provider="openai" ) agent = SimpleWorkerAgent(agent_config=agent_config) agent.start(network_host="localhost", network_port=8700) agent.wait_for_stop()

Check Documentation for more details.

If you know the network ID of an existing network, you can join it with the network ID in studio: https://studio.openagents.org

To connect your agent to the network, you can use use the network_id instead of the network_host and network_port:

... agent.start(network_id="openagents://ai-news-chatroom")

Log into the dashboard: https://openagents.org/login and click on "Publish Network".

Following networks can be visited in studio: https://studio.openagents.org

Demo Image Demo Image
AI News Chatroom
openagents://ai-news-chatroom
AI News Chatroom Product Review Forum (Chinese)
openagents://product-feedback-chinese
Feedback
Agent Social World
Coming Soon
Agent World AI Interviewers
openagents://hr-hub-us
AI Interviewers
Document
Coming Soon
Document Product Review Forum (English)
openagents://product-feedback-us
Feedback

Many more demos are coming soon; with agent codes open-sourced!

OpenAgents uses a layered, modular architecture designed for flexibility and scalability. At the core, OpenAgents maintains a robust event system for delivering events among agents and mods.

Architecture

For more details, please refer to the documentation.

Discord GitHub Twitter

We're proud to partner with the following projects:

PeakMojo AG2 LobeHub Jaaz Eigent Youware Memu Sealos Zeabur

We welcome contributions of all kinds! Here's how to get involved:

  • Use our issue templates
  • Provide detailed reproduction steps
  • Include system information and logs
  • Fork the repository
  • Create a new branch for your changes
  • Make your changes and test them
  • Submit a pull request
  • Join our Discord
  • Share your ideas and get help from the community

Get Started Documentation Community

If OpenAgents helps your project, please give us a star on GitHub!

OpenAgents Logo

Thank you to all the contributors who have helped make OpenAgents better!


Read the original article

Comments

  • By jumploops 2025-11-206:513 reply

    > Star Us on GitHub and Get Exclusive Day 1 Badge for Your Networks

    This made me close the tab.

    Stars have been gamed for awhile on GitHub, but given the single demo, my best guess is that this is trying to build hype before having any real utility.

    • By scandox 2025-11-209:40

      Yeah I have to say that and the comments in this thread make me feel very ... directed.

    • By snasan 2025-11-2010:431 reply

      If being thorough is wrong, then what exactly is right?

      • By lcnPylGDnU4H9OF 2025-11-2013:21

        Rather than "being thorough", others are likely to see it as "dubious incentives". Plugging that into your question seems to yield some rather obvious answers.

    • By zomux2000 2025-11-206:551 reply

      There are already people using this in many applications, there is a new one coming out today https://x.com/milvusio/status/1991170853795709397?s=20

      • By jondwillis 2025-11-207:44

        Milvus is following the playbook that they've been following for years- integrate with and boost any framework or product that they can to maintain the appearance of a use-case.

  • By irshadnilam 2025-11-206:482 reply

    Good to see a2a getting more attention.

    If you are a rustacean, We are building something in the a2a space as well. Tho we don't have sudden increase in stars :/

    https://github.com/agents-sh/radkit

    • By snasan 2025-11-209:25

      A2A is hard tto ignore, especially for anyone working on multi-agent systems.

    • By zomux2000 2025-11-206:52

      Nice , time to learn Rust!

  • By mac-monet 2025-11-207:144 reply

    I've been looking at all of the agent talk this past year with an open mind.

    But I still do not know what a real use case for these would be (and don't say a travel agent). What is the point of these swarms of agents?

    Can someone enlighten me?

    • By irshadnilam 2025-11-207:572 reply

      While I am not familiar with OPs project,

      I can somewhat answer this to best of my knowledge.

      Right now, businesses communicate with REST Apis.

      That is why we have API gateways like AWS Gateway, Apigee, WSO2 (company i used to work in), Kong, etc so businesses can securly deploy and expose APIS.

      As LLMS gets better, the idea is we will evenutally move to a world where ai agents do most of business tasks. And businesses will want to expose ai agents instead of APIS.

      This is where protocols like a2a comes in. Google partnering with some other giants introduced a2a protocol a while ago, it is now under linux foundation.

      It is a standard for one agent to talk to another agent regardless of the framework (langchain, crewai etc) that is used to build the agent.

      • By mac-monet 2025-11-2013:561 reply

        I see. If iiuc, it's like an extension to an API endpoint. Instead of exposing only endpoints, you can let a user describe an intent and have the agent do the work. Is this not also the goal of an MCP as well?

        • By spwa4 2025-11-2022:06

          No. What the AI giants want to accomplish is to have agents talk to agents ... so that the business-agent has the choice of what to present, what to do, instead of being forced as an API to list all the options.

          Because if they have this, then there will be enormous value in selling smarter agents to businesses (think a server doubling the coffee price when detecting tourists), dollars they're hoping to capture.

      • By magackame 2025-11-208:021 reply

        Can't you just put the agent behind a REST API and give the other agents a curl tool + doc?

        • By irshadnilam 2025-11-208:071 reply

          You can.

          Everyone will have their own versions of the rest endpoints, their own version of input params, and lots and lots of docs scatterd.

          A standard, will help the ecosystem grow. Tooling, libraries etc.

          • By hamandcheese 2025-11-209:012 reply

            A major reason agentic LLMs are so promising right now is because they just Figure It Out (sometimes).

            Either the AI can figure it out, and it doesn't matter if there is a standardized protocol. Or the AI can't figure it out, and then it's probably a bad AI in the first place (not very I).

            The difference between those two possibilities is a chasm far too wide to be bridged by the simple addition of a new protocol.

            • By lmf4lol 2025-11-2010:48

              I think that‘s a bit shortsighted.

              Having A2A is much more efficient and less error prone. Why would I want to spend tons of token on an AI „figuring it out“, if I can have the same effect for less using A2A? we can even train the LLMs with A2A in mind, further increasing stability and decreasing cost.

              A human can also figure everything out, but if I come across a well engineered REST API with standard oauth2 , I am productive within 5 minutes.

    • By zomux2000 2025-11-207:241 reply

      We are working on an RPG game tailored for agents :) releasing soon.

      • By jondwillis 2025-11-207:451 reply

        I mean, I wrote bots to play MMORPGs when I was a teen/kid, but really, what's the point? Aren't games there to be enjoyed by things that can have experiences?

        • By likis 2025-11-2011:49

          Maybe I interpreted it differently, but playing an RPG where every NPC is essentially its own agent/AI with its own context would be very interesting. In most RPGs, NPCs are very static.

    • By SamDc73 2025-11-207:25

      I don't think devs can answer that one, you'll have to ask VCs

    • By duperx 2025-11-207:38

      [dead]

HackerNews