Contributors Forks Stargazers Issues MIT License
Join our Slack community Join our Discord community CodeCov
Logo

OpenDevin: Code Less, Make More

Check out the documentation Evaluation Benchmark

Welcome to OpenDevin, a platform for autonomous software engineers, powered by AI and LLMs. OpenDevin agents collaborate with human developers to write code, fix bugs, and ship features. ![App screenshot](./docs/static/img/screenshot.png) ## ⚡ Getting Started OpenDevin works best with Docker version 26.0.0+ (Docker Desktop 4.31.0+). You must be using Linux, Mac OS, or WSL on Windows. To start OpenDevin in a docker container, run the following commands in your terminal: > [!WARNING] > When you run the following command, files in `./workspace` may be modified or deleted. ```bash WORKSPACE_BASE=$(pwd)/workspace docker run -it \ --pull=always \ -e SANDBOX_USER_ID=$(id -u) \ -e WORKSPACE_MOUNT_PATH=$WORKSPACE_BASE \ -v $WORKSPACE_BASE:/opt/workspace_base \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 3000:3000 \ --add-host host.docker.internal:host-gateway \ --name opendevin-app-$(date +%Y%m%d%H%M%S) \ ghcr.io/opendevin/opendevin ``` > [!NOTE] > By default, this command pulls the `latest` tag, which represents the most recent release of OpenDevin. You have other options as well: > - For a specific release version, use `ghcr.io/opendevin/opendevin:` (replace with the desired version number). > - For the most up-to-date development version, use `ghcr.io/opendevin/opendevin:main`. This version may be **(unstable!)** and is recommended for testing or development purposes only. > > Choose the tag that best suits your needs based on stability requirements and desired features. You'll find OpenDevin running at [http://localhost:3000](http://localhost:3000) with access to `./workspace`. To have OpenDevin operate on your code, place it in `./workspace`. OpenDevin will only have access to this workspace folder. The rest of your system will not be affected as it runs in a secured docker sandbox. Upon opening OpenDevin, you must select the appropriate `Model` and enter the `API Key` within the settings that should pop up automatically. These can be set at any time by selecting the `Settings` button (gear icon) in the UI. If the required `Model` does not exist in the list, you can manually enter it in the text box. For the development workflow, see [Development.md](https://github.com/OpenDevin/OpenDevin/blob/main/Development.md). Are you having trouble? Check out our [Troubleshooting Guide](https://docs.all-hands.dev/OpenDevin/modules/usage/troubleshooting). ## 🚀 Documentation To learn more about the project, and for tips on using OpenDevin, **check out our [documentation](https://docs.all-hands.dev/OpenDevin/modules/usage/intro)**. There you'll find resources on how to use different LLM providers (like ollama and Anthropic's Claude), troubleshooting resources, and advanced configuration options. ## 🤝 How to Contribute OpenDevin is a community-driven project, and we welcome contributions from everyone. Whether you're a developer, a researcher, or simply enthusiastic about advancing the field of software engineering with AI, there are many ways to get involved: - **Code Contributions:** Help us develop new agents, core functionality, the frontend and other interfaces, or sandboxing solutions. - **Research and Evaluation:** Contribute to our understanding of LLMs in software engineering, participate in evaluating the models, or suggest improvements. - **Feedback and Testing:** Use the OpenDevin toolset, report bugs, suggest features, or provide feedback on usability. For details, please check [CONTRIBUTING.md](./CONTRIBUTING.md). ## 🤖 Join Our Community Whether you're a developer, a researcher, or simply enthusiastic about OpenDevin, we'd love to have you in our community. Let's make software engineering better together! - [Slack workspace](https://join.slack.com/t/opendevin/shared_invite/zt-2jsrl32uf-fTeeFjNyNYxqSZt5NPY3fA) - Here we talk about research, architecture, and future development. - [Discord server](https://discord.gg/ESHStjSjD4) - This is a community-run server for general discussion, questions, and feedback. ## 📈 Progress

Star History Chart

## 📜 License Distributed under the MIT License. See [`LICENSE`](./LICENSE) for more information. [contributors-shield]: https://img.shields.io/github/contributors/opendevin/opendevin?style=for-the-badge [contributors-url]: https://github.com/OpenDevin/OpenDevin/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/opendevin/opendevin?style=for-the-badge [forks-url]: https://github.com/OpenDevin/OpenDevin/network/members [stars-shield]: https://img.shields.io/github/stars/opendevin/opendevin?style=for-the-badge [stars-url]: https://github.com/OpenDevin/OpenDevin/stargazers [issues-shield]: https://img.shields.io/github/issues/opendevin/opendevin?style=for-the-badge [issues-url]: https://github.com/OpenDevin/OpenDevin/issues [license-shield]: https://img.shields.io/github/license/opendevin/opendevin?style=for-the-badge [license-url]: https://github.com/OpenDevin/OpenDevin/blob/main/LICENSE ## 📚 Cite ``` @misc{opendevin2024, author = {{OpenDevin Team}}, title = {{OpenDevin: An Open Platform for AI Software Developers as Generalist Agents}}, year = {2024}, version = {v1.0}, howpublished = {\url{https://github.com/OpenDevin/OpenDevin}}, note = {Accessed: ENTER THE DATE YOU ACCESSED THE PROJECT} } ```