Sem descrição

mamoodi 46edb4b15b chore: Release 0.8.0 (#2919) há 1 ano atrás
.github 2b7c4e5571 Remove legacy dummy action from CI (#2903) há 1 ano atrás
agenthub 64be2cb466 [Fix] Minor bug in parse_response of CodeActResponseParser (#2912) há 1 ano atrás
containers 351127db55 add od runtime clinet dependencies (#2858) há 1 ano atrás
dev_config b9a5be2569 Add ruff for shared mutable defaults (B) (#1938) há 1 ano atrás
docs 46edb4b15b chore: Release 0.8.0 (#2919) há 1 ano atrás
evaluation c68478f470 Customize LLM config per agent (#2756) há 1 ano atrás
frontend e45ddeb2a2 arch: deprecating recall action and `search_memory` (#2900) há 1 ano atrás
opendevin b2b6d2ac1e Fix: hostname in logging (#2914) há 1 ano atrás
tests e45ddeb2a2 arch: deprecating recall action and `search_memory` (#2900) há 1 ano atrás
.dockerignore 516c9bf1e0 Revamp docker build process (#1121) há 1 ano atrás
.gitattributes e32d95cb1a lint: simplify hooks already covered by Ruff (#1204) há 1 ano atrás
.gitignore 6a0ffc5c61 [Evaluation] Use the latest official SWE-Bench Dockerization for evaluation (#2728) há 1 ano atrás
CODE_OF_CONDUCT.md 46edb4b15b chore: Release 0.8.0 (#2919) há 1 ano atrás
CONTRIBUTING.md c2f557edde refactor: multiple code improvements (#2771) há 1 ano atrás
Development.md ba0f57c279 added netcat to the requirements (#2822) há 1 ano atrás
LICENSE 39add27f15 Create MIT LICENSE (#8) há 2 anos atrás
Makefile c2f557edde refactor: multiple code improvements (#2771) há 1 ano atrás
README.md 46edb4b15b chore: Release 0.8.0 (#2919) há 1 ano atrás
config.template.toml c68478f470 Customize LLM config per agent (#2756) há 1 ano atrás
poetry.lock 91d46ccb8c chore(deps): bump litellm from 1.41.15 to 1.41.19 (#2906) há 1 ano atrás
pydoc-markdown.yml cd58194d2a docs(docs): start implementing docs website (#1372) há 1 ano atrás
pyproject.toml 46edb4b15b chore: Release 0.8.0 (#2919) há 1 ano atrás
pytest.ini b6ff201780 Refactor integration test framework and relieve the pain of regeneration (#1818) há 1 ano atrás

README.md

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

⚡ Getting Started

OpenDevin works best with the most recent version of Docker, 26.0.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.

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:<OpenDevin_version> (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 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.

Are you having trouble? Check out our Troubleshooting Guide.

🚀 Documentation

To learn more about the project, and for tips on using OpenDevin, check out our documentation.

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.

🤖 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 - Here we talk about research, architecture, and future development.
  • Discord server - This is a community-run server for general discussion, questions, and feedback.

📈 Progress

Star History Chart

📜 License

Distributed under the MIT License. See LICENSE for more information.

📚 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}
}