Welcome to OpenHands (formerly OpenDevin), a platform for software development agents powered by AI.
OpenHands agents can do anything a human developer can: modify code, run commands, browse the web, call APIs, and yesβeven copy code snippets from StackOverflow.
Learn more at docs.all-hands.dev, or jump to the Quick Start.
Important
Using OpenHands for work? We'd love to chat! Fill out this short form to join our Design Partner program, where you'll get early access to commercial features and the opportunity to provide input on our product roadmap.
The easiest way to run OpenHands is in Docker. See the Installation guide for system requirements and more information.
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.17-nikolaik
docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.17-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.17
You'll find OpenHands running at http://localhost:3000!
Finally, you'll need a model provider and API key.
Anthropic's Claude 3.5 Sonnet (anthropic/claude-3-5-sonnet-20241022
)
works best, but you have many options.
You can also connect OpenHands to your local filesystem, run OpenHands in a scriptable headless mode, interact with it via a friendly CLI, or run it on tagged issues with a github action.
Visit Installation for more information and setup instructions.
Caution
OpenHands is meant to be run by a single user on their local workstation. It is not appropriate for multi-tenant deployments, where multiple users share the same instance--there is no built-in isolation or scalability.
If you're interested in running OpenHands in a multi-tenant environment, please get in touch with us for advanced deployment options.
If you want to modify the OpenHands source code, check out Development.md.
Having issues? The Troubleshooting Guide can help.
To learn more about the project, and for tips on using OpenHands, check out our documentation.
There you'll find resources on how to use different LLM providers, troubleshooting resources, and advanced configuration options.
OpenHands is a community-driven project, and we welcome contributions from everyone. We do most of our communication through Slack, so this is the best place to start, but we also are happy to have you contact us on Discord or Github:
- Join our Slack workspace - Here we talk about research, architecture, and future development.
- Join our Discord server - This is a community-run server for general discussion, questions, and feedback.
- Read or post Github Issues - Check out the issues we're working on, or add your own ideas.
See more about the community in COMMUNITY.md or find details on contributing in CONTRIBUTING.md.
See the monthly OpenHands roadmap here (updated at the maintainer's meeting at the end of each month).
Distributed under the MIT License. See LICENSE
for more information.
OpenHands is built by a large number of contributors, and every contribution is greatly appreciated! We also build upon other open source projects, and we are deeply thankful for their work.
For a list of open source projects and licenses used in OpenHands, please see our CREDITS.md file.
@misc{openhands,
title={{OpenHands: An Open Platform for AI Software Developers as Generalist Agents}},
author={Xingyao Wang and Boxuan Li and Yufan Song and Frank F. Xu and Xiangru Tang and Mingchen Zhuge and Jiayi Pan and Yueqi Song and Bowen Li and Jaskirat Singh and Hoang H. Tran and Fuqiang Li and Ren Ma and Mingzhang Zheng and Bill Qian and Yanjun Shao and Niklas Muennighoff and Yizhe Zhang and Binyuan Hui and Junyang Lin and Robert Brennan and Hao Peng and Heng Ji and Graham Neubig},
year={2024},
eprint={2407.16741},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2407.16741},
}