Bez popisu

Jack Quimby 08a2dfb01a Guide for Ollama local LLM (#615) před 1 rokem
.github e5db7b8855 Update bug report template (#395) před 1 rokem
agenthub 5f29df088a Add playwright and show screenshoots on web browser (#547) před 1 rokem
dev_config 511afa12fe fix old references to langchains (#513) před 1 rokem
docs da69bab11a Added instructions to update the backend architecture diagram (#413) před 1 rokem
evaluation 5e87c79838 refactor (#543) před 1 rokem
frontend b672ac3632 Fix terminal output disappears after switching tabs (#604) před 1 rokem
opendevin 08a2dfb01a Guide for Ollama local LLM (#615) před 1 rokem
tests effac868c1 Implement deserialization for actions and observations (#359) před 1 rokem
.gitattributes d97602d071 add: .gitattributes (#511) před 1 rokem
.gitignore d64383a520 fix: let make run output both backend and frontend (#576) před 1 rokem
CONTRIBUTING.md e9adc45276 doc: add mock server to list in CONTRIBUTING.md (#442) před 1 rokem
LICENSE 39add27f15 Create MIT LICENSE (#8) před 2 roky
Makefile c3f95f049f Update Makefile (#609) před 1 rokem
Pipfile d397a200bf Add playwright to pipenv (#625) před 1 rokem
Pipfile.lock d397a200bf Add playwright to pipenv (#625) před 1 rokem
Pipfile.torchidx d397a200bf Add playwright to pipenv (#625) před 1 rokem
README.md fdbcdb84ee Update README (#574) před 1 rokem
config.toml.template 6bd566d780 simplify readme (#366) před 1 rokem
logo.png 0cbe95dd35 feat: update opendevin logo (#242) před 2 roky

README.md

Contributors Forks Stargazers Issues MIT License
Logo

OpenDevin: Code Less, Make More

🗂️ Table of Contents
  1. 🎯 Mission
  2. 🤔 What is Devin?
  3. 🐚 Why OpenDevin?
  4. 🚧 Project Status
  5. 🚀 Get Started
  • ⭐️ Research Strategy
  • 🤝 How to Contribute
  • 🤖 Join Our Community
  • 🛠️ Built With
  • 📜 License
  • 🎯 Mission

    Project Demo Video

    Welcome to OpenDevin, an open-source project aiming to replicate Devin, an autonomous AI software engineer who is capable of executing complex engineering tasks and collaborating actively with users on software development projects. This project aspires to replicate, enhance, and innovate upon Devin through the power of the open-source community.

    ↑ Back to Top ↑

    🤔 What is Devin?

    Devin represents a cutting-edge autonomous agent designed to navigate the complexities of software engineering. It leverages a combination of tools such as a shell, code editor, and web browser, showcasing the untapped potential of LLMs in software development. Our goal is to explore and expand upon Devin's capabilities, identifying both its strengths and areas for improvement, to guide the progress of open code models.

    ↑ Back to Top ↑

    🐚 Why OpenDevin?

    The OpenDevin project is born out of a desire to replicate, enhance, and innovate beyond the original Devin model. By engaging the open-source community, we aim to tackle the challenges faced by Code LLMs in practical scenarios, producing works that significantly contribute to the community and pave the way for future advancements.

    ↑ Back to Top ↑

    🚧 Project Status

    OpenDevin is currently a work in progress, but you can already run the alpha version to see the end-to-end system in action. The project team is actively working on the following key milestones:

    • UI: Developing a user-friendly interface, including a chat interface, a shell demonstrating commands, and a web browser.
    • Architecture: Building a stable agent framework with a robust backend that can read, write, and run simple commands.
    • Agent Capabilities: Enhancing the agent's abilities to generate bash scripts, run tests, and perform other software engineering tasks.
    • Evaluation: Establishing a minimal evaluation pipeline that is consistent with Devin's evaluation criteria.

    After completing the MVP, the team will focus on research in various areas, including foundation models, specialist capabilities, evaluation, and agent studies.

    ↑ Back to Top ↑

    🚀 Get Started

    Getting started with the OpenDevin project is incredibly easy. Follow these simple steps to set up and run OpenDevin on your system:

    1. Requirements

    2. Build and Setup

    • Build the Project: Begin by building the project, which includes setting up the environment and installing dependencies. This step ensures that OpenDevin is ready to run smoothly on your system.

      make build
      
    • Setup the Environment: With just one command, configure OpenDevin by providing essential details such as the LLM API key, LLM Model name, and workspace directory. This straightforward setup process ensures that OpenDevin is tailored to your specific requirements.

      make setup-config
      

    3. Run the Application

    • Run the Application: Once the setup is complete, launching OpenDevin is as simple as running a single command. This command starts both the backend and frontend servers seamlessly, allowing you to interact with OpenDevin without any hassle.

      make run
      

    4. Individual Server Startup

    • Start the Backend Server: If you prefer, you can start the backend server independently to focus on backend-related tasks or configurations.

      make start-backend
      
    • Start the Frontend Server: Similarly, you can start the frontend server on its own to work on frontend-related components or interface enhancements.

      make start-frontend
      

    5. Help

    • Get Some Help: Need assistance or information on available targets and commands? The help command provides all the necessary guidance to ensure a smooth experience with OpenDevin.

      make help
      

    ↑ Back to Top ↑

    ⭐️ Research Strategy

    Achieving full replication of production-grade applications with LLMs is a complex endeavor. Our strategy involves:

    1. Core Technical Research: Focusing on foundational research to understand and improve the technical aspects of code generation and handling.
    2. Specialist Abilities: Enhancing the effectiveness of core components through data curation, training methods, and more.
    3. Task Planning: Developing capabilities for bug detection, codebase management, and optimization.
    4. Evaluation: Establishing comprehensive evaluation metrics to better understand and improve our models.

    ↑ Back to Top ↑

    🤝 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 the core functionalities, frontend interface, 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 this document.

    ↑ Back to Top ↑

    🤖 Join Our Community

    Join our Slack workspace by filling out the form. Stay updated on OpenDevin's progress, share ideas, and collaborate with fellow enthusiasts and experts. Let's simplify software engineering together!

    🐚 Code less, make more with OpenDevin.

    Star History Chart

    🛠️ Built With

    OpenDevin is built using a combination of powerful frameworks and libraries, providing a robust foundation for its development. Here are the key technologies used in the project:

    FastAPI uvicorn LiteLLM Docker Ruff MyPy LlamaIndex React

    Please note that the selection of these technologies is in progress, and additional technologies may be added or existing ones may be removed as the project evolves. We strive to adopt the most suitable and efficient tools to enhance the capabilities of OpenDevin.

    ↑ Back to Top ↑

    📜 License

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

    ↑ Back to Top ↑