Robert Brennan 3d7a86feb6 Fix TOML parser (#363) 2 years ago
..
action a6f0c066b5 Implement Planning (#267) 2 years ago
controller a6f0c066b5 Implement Planning (#267) 2 years ago
llm b1b96df8a8 Replace environment variables with configuration file (#339) 2 years ago
mock 9ab15b3287 add mock server (#214) 2 years ago
sandbox 2286e73912 fix: change to use the latest docker image. (#290) 2 years ago
server 2def49e794 add (#355) 2 years ago
README.md 2286e73912 fix: change to use the latest docker image. (#290) 2 years ago
agent.py 94120f2b5d refactor state management (#258) 2 years ago
config.py 3d7a86feb6 Fix TOML parser (#363) 2 years ago
main.py b1b96df8a8 Replace environment variables with configuration file (#339) 2 years ago
observation.py 32a3a0259a Serialization of Actions and Observations (#314) 2 years ago
plan.py a6f0c066b5 Implement Planning (#267) 2 years ago
state.py a6f0c066b5 Implement Planning (#267) 2 years ago

README.md

OpenDevin Shared Abstraction and Components

This is a Python package that contains all the shared abstraction (e.g., Agent) and components (e.g., sandbox, web browser, search API, selenium).

Sandbox component

Run the docker-based sandbox interactive:

mkdir workspace
python3 opendevin/sandbox/sandbox.py -d workspace

It will map ./workspace into the docker container with the folder permission correctly adjusted for current user.

Example screenshot:

image

How to run

  1. Build the sandbox image local. If you want to use specific image tags, please also fix the variable in code, in code default image tag is latest.

    docker build -f opendevin/sandbox/Dockerfile -t opendevin/sandbox:v0.1 .
    

Or you can pull the latest image here:

docker pull ghcr.io/opendevin/sandbox
  1. Set the OPENAI_API_KEY, please find more details here. Also, choose the model you want. Default is gpt-4-0125-preview

    export OPENAI_API_KEY=xxxxxxx
    
  2. Install the requirement package.

    pip install -r requirements.txt                                                                 
    

    If you still meet problem like ModuleNotFoundError: No module named 'agenthub', try to add the opendevin root path into PATH env.

  3. Run following cmd to start.

    PYTHONPATH=`pwd` python ./opendevin/main.py -d ./workspace -t "write a bash script that prints hello world"