Robert Brennan 3b2ed14ae7 Use Docker SDK for sandbox, integrate into CommandManager (#93) 2 lat temu
..
README.md 6ff1e52c83 add websocket handshake to server (#57) 2 lat temu
server.py a722f5c0b1 Fix: Keypresses in Terminal throws exception (#71) 2 lat temu

README.md

OpenDevin server

This is currently just a POC that starts an echo websocket inside docker, and forwards messages between the client and the docker container.

Start the Server

cd server
python -m pip install -r requirements.txt
uvicorn server:app --reload --port 3000

Test the Server

You can use websocat to test the server: https://github.com/vi/websocat

websocat ws://127.0.0.1:3000/ws
{"source":"client","action":"start"}

Test cases

We should be robust to these cases:

  • Client connects, sends start command, agent starts up, client disconnects
  • Client connects, sends start command, disconnects before agent starts
  • Client connects, sends start command, agent disconnects (i.e. docker container is killed)
  • Client connects, sends start command, agent starts up, client sends second start command

In each case, the client should be able to reconnect and send a start command