Frameworks for writing your own agent in code
An AI agent framework gives you the loop that sends work to the model, the tool calling and the state handling, so you only write the parts that are specific to your task. Every option in this group expects you to write code, and most of them are Python libraries.
crewAI lets you define a crew of agents, each with a role, a goal and a set of tools, and then hand the crew a list of tasks to share out. It is quick to learn and suits jobs that split naturally into roles, such as a researcher and a writer working on one report. If you need fine control over every step and branch, LangGraph is the better fit.
LangGraph models an agent as a graph of steps with saved state, so a run can pause, wait for a person to approve the next step and then carry on. It takes more setup than crewAI, but it is the safer choice for long, multi-step work that must not lose its place. It comes from the LangChain team, and you can use it without the rest of LangChain.
The OpenAI Agents SDK is a small Python library for agents that hand work to each other. It adds guardrails that check inputs and outputs, and it records a trace of every run so you can see what happened. It is the easiest start if you already use OpenAI models, and it can also call models from other providers.
Pydantic AI brings the type checking of the Pydantic library to agents, so the model’s answers come back as validated Python objects. Pick it when your agent passes data into other software and a badly formed answer would break something further down the line.
smolagents is a deliberately small library from Hugging Face in which agents write and run short pieces of Python to use their tools. The code is easy to read from end to end, which makes it a good way to learn how agents work. Because the agent runs code that it wrote itself, keep it inside a sandbox.
Google ADK, short for Agent Development Kit, is Google’s toolkit for building, testing and deploying agents in Python. It fits best if you already deploy on Google Cloud, although it also works with models from other providers.
Mastra is the TypeScript option in this list, covering agents, workflows, document retrieval and evaluations for web developers. Choose it when your product is already a Node.js app and you would rather not run a separate Python service. Its licence is listed as “Other”, so read the terms before you build a product on it.
Visual builders for teams who prefer not to code
Dify gives you a web workspace for building chatbots, agent workflows and document search on a drag-and-drop canvas, with a knowledge base built in. You can self-host it with Docker. It suits product and operations teams who want working agents without picking a framework at all. Its licence is also listed as “Other”, so check the terms before you offer it to customers as a hosted service.
Langflow is a visual editor for agent and retrieval flows in which every box is a Python component that you can open and change. Finished flows can run as an API or as an MCP server. MCP, the Model Context Protocol, is a shared standard that lets AI apps call tools. Langflow sits halfway between Dify and writing everything in code.
AutoGPT began as one of the first autonomous agent experiments and is now a platform with a block-based builder for agents that keep running in the background. It takes more effort to set up than Dify, and parts of the code carry their own licence terms, so check them before commercial use.
Ready-made agents that browse, click and research
The open-source AI agents in this group carry out a task for you rather than giving you parts to build with, which makes them the quickest way to see what agents can do.
Browser Use is a Python library that lets an agent drive a real browser to open pages, fill in forms, click buttons and pull out data. It is the usual starting point for web tasks that have no API. Expect to tune your prompts, because sites change and an agent can misread a page.
Skyvern automates browser workflows such as filling in forms or downloading files from supplier portals, using a language model together with computer vision to read each page. It aims at repeatable business tasks. Its AGPL-3.0 licence matters if you change the code and let other people use it over a network.
OpenClaw is a personal AI assistant that you run on your own machine and talk to through chat apps such as WhatsApp, Telegram, Slack and Discord. It can act on your files, apps and the web, which makes it useful as a self-hosted AI agent and also risky to set up carelessly. It is MIT licensed. Run it on a machine or account with limited access until you trust what it does.
GPT Researcher takes a question, reads many web sources and writes a report with citations. It is one of the easier agents to get running, and it works with many model providers.
DeerFlow, from ByteDance, is a research agent that searches the web, runs code in a sandbox and writes up the results, and it is built for long tasks that can take minutes or hours. Pick it over GPT Researcher when the job needs analysis or code as well as reading.
Coding agents that work inside your repo
These open-source AI agents read and change code for you. Review every edit they make before it reaches your main branch, as you would with a new colleague.
OpenHands is a platform for coding agents that edit code, run commands and open pull requests. You can use it from a web interface, a command line or a hosted cloud service. It is MIT licensed and suits teams who want to hand whole issues to an agent and review the result.
Aider is a pair programmer for the terminal. You chat with it about your git repo, it edits the files and it commits each change, so every step is easy to inspect or undo. It is Apache-2.0 licensed and works well for developers who live in the command line.
Cline is a coding agent for VS Code and the terminal that plans a change, edits files and runs commands, asking for your approval along the way. It is Apache-2.0 licensed. Pick it if you want the agent inside your editor rather than in a separate window.
Add-ons that give agents memory and app access
These are AI agent tools rather than agents. You add them to whichever framework you chose above.
Mem0 adds a memory layer, so an agent can remember a user’s preferences and past facts from one session to the next. It works alongside most of the frameworks on this page.
Composio connects agents to hundreds of apps such as Gmail, Slack and GitHub and handles the sign-in for each one. It saves you writing and maintaining a separate integration for every app, but check which features depend on its hosted service.
Microsoft’s AutoGen is not in this kit. Its README says it is archived and no longer maintained by Microsoft, and it points new users to Microsoft Agent Framework instead.
How to choose between these open-source AI agents
Unlike the awesome AI agents lists on GitHub, which collect hundreds of links, this kit stays short so you can decide quickly. Each repo in this AI agents list links to its project page, where you can read the setup guide and check recent activity before you commit. The rules of thumb below will narrow the best open source AI agents down to one or two for your situation.
- You write Python and want a fast start: begin with crewAI or the OpenAI Agents SDK, then move to LangGraph when runs get long or need a person to approve steps.
- Your team works in TypeScript: use Mastra.
- People who do not code will build and maintain the agents: self-host Dify or Langflow.
- You need an agent to work inside websites today: try Browser Use. For written research, start with GPT Researcher.
- You want help writing and fixing code: use Aider in the terminal, Cline in VS Code, or OpenHands when you want an agent to open pull requests.
- You want a personal assistant you message from chat apps: try OpenClaw, with limited permissions at first.
- Your agents need to remember users or reach other apps: add Mem0 or Composio to the framework you already use.
Whichever of these open-source AI agents you pick, give it only the permissions it needs, keep a log of what it does, and test it on low-stakes tasks before you let it touch email, payments or live customer data.