Robert Brennan 4aa24eb41d
Server working with agent library (#97)
* server working with agent library

* update readme

* add messages to events

* factor out steps

* fix websocket messages

* allow user to run arbitrary actions

* allow user to run commands before a task is started

* fix main.py

* check JSON

* handle errors in controller better

* fix memory issue

* better error handling and task cancellation

* fix monologue len

* fix imports

* remove server from lint check

* fix lint issues

* fix lint errors
2024-03-24 22:24:44 +08:00
..

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 .
  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
  1. Install the requirement package.
pip install -r requirement.txt                                                                 

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

  1. Run following cmd to start.
PYTHONPATH=`pwd` python ./opendevin/main.py -d ./workspace -t "write a bash script that prints hello world"