lordspline commited on
Commit
be02ece
1 Parent(s): 323c7ea

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. README.md +5 -7
  2. agent.py +6 -1
  3. app.py +12 -2
  4. start.sh +1 -0
README.md CHANGED
@@ -6,6 +6,8 @@ sdk_version: 4.24.0
6
  ---
7
  # DevOn
8
 
 
 
9
  What if you tried to do what Devin does, but using MultiOn's agents?
10
 
11
  We use 3 separate MultiOn Agents, one each for programming, researching and notetaking.
@@ -14,15 +16,11 @@ Their activities are orchestrated and supervised by an overarching GPT-4V
14
 
15
  Setup:
16
 
17
- - Create a .env.local and set the following env variables:
18
- - OPENAI_API_KEY
19
- - MULTION_API_KEY
20
- - REPLIT_EMAIL (if using the remote API)
21
- - REPLIT_PASSWORD (if using the remote API)
22
  - `pip install -r requirements.txt`
23
- - If you want to use the local API (need to have the chrome extension installed and API enabled for this): `bash start_local.sh`
24
- - If you want to use the remote API: `bash start_remote.sh`
25
 
26
  Barebones Demo:
27
 
28
  https://github.com/lordspline/DevOn/assets/74811063/6de8ba85-3f43-415b-8fd9-eff6b2ed29c5
 
 
 
6
  ---
7
  # DevOn
8
 
9
+ [Huggingface Space](https://huggingface.co/spaces/lordspline/devon)
10
+
11
  What if you tried to do what Devin does, but using MultiOn's agents?
12
 
13
  We use 3 separate MultiOn Agents, one each for programming, researching and notetaking.
 
16
 
17
  Setup:
18
 
 
 
 
 
 
19
  - `pip install -r requirements.txt`
20
+ - `bash start.sh`
 
21
 
22
  Barebones Demo:
23
 
24
  https://github.com/lordspline/DevOn/assets/74811063/6de8ba85-3f43-415b-8fd9-eff6b2ed29c5
25
+
26
+ \*Note: This is a simplistic demo only meant to showcase the range of MultiOn's capabilities.
agent.py CHANGED
@@ -31,12 +31,17 @@ class DevOn:
31
  openai_api_key,
32
  replit_email,
33
  replit_password,
 
34
  ):
35
  print(multion_api_key, openai_api_key)
36
  self.editor_image = editor_image
37
  self.browser_image = browser_image
38
  self.scratchpad_image = scratchpad_image
39
- self.local = os.getenv("WHERE_EXECUTE") == "local"
 
 
 
 
40
 
41
  self.multion = MultiOn(api_key=multion_api_key)
42
 
 
31
  openai_api_key,
32
  replit_email,
33
  replit_password,
34
+ local,
35
  ):
36
  print(multion_api_key, openai_api_key)
37
  self.editor_image = editor_image
38
  self.browser_image = browser_image
39
  self.scratchpad_image = scratchpad_image
40
+ self.local = local
41
+ # if os.getenv("WHERE_EXECUTE"):
42
+ # self.local = local
43
+ # else:
44
+ # self.local = False
45
 
46
  self.multion = MultiOn(api_key=multion_api_key)
47
 
app.py CHANGED
@@ -43,7 +43,12 @@ def add_message(history, message):
43
 
44
 
45
  def bot(
46
- history, multion_api_key_in, openai_api_key_in, replit_email_in, replit_password_in
 
 
 
 
 
47
  ):
48
  start_time = time.time()
49
  devon = DevOn(
@@ -54,6 +59,7 @@ def bot(
54
  openai_api_key=openai_api_key_in,
55
  replit_email=replit_email_in,
56
  replit_password=replit_password_in,
 
57
  )
58
 
59
  for r in devon.run(history[-1][0]):
@@ -94,7 +100,10 @@ with gr.Blocks(css="footer {visibility: hidden}") as demo:
94
  placeholder="Enter message or upload file...",
95
  show_label=False,
96
  )
97
- terminate = gr.Button("Terminate")
 
 
 
98
  with gr.Column():
99
  if devon:
100
  editor_view = gr.Image(
@@ -132,6 +141,7 @@ with gr.Blocks(css="footer {visibility: hidden}") as demo:
132
  openai_api_key_in,
133
  replit_email_in,
134
  replit_password_in,
 
135
  ],
136
  [chatbot, editor_view, browser_view, scratchpad_view],
137
  api_name="bot_response",
 
43
 
44
 
45
  def bot(
46
+ history,
47
+ multion_api_key_in,
48
+ openai_api_key_in,
49
+ replit_email_in,
50
+ replit_password_in,
51
+ local,
52
  ):
53
  start_time = time.time()
54
  devon = DevOn(
 
59
  openai_api_key=openai_api_key_in,
60
  replit_email=replit_email_in,
61
  replit_password=replit_password_in,
62
+ local=local,
63
  )
64
 
65
  for r in devon.run(history[-1][0]):
 
100
  placeholder="Enter message or upload file...",
101
  show_label=False,
102
  )
103
+
104
+ with gr.Row():
105
+ local = gr.Checkbox(True, label="Execute Locally")
106
+ terminate = gr.Button("Terminate")
107
  with gr.Column():
108
  if devon:
109
  editor_view = gr.Image(
 
141
  openai_api_key_in,
142
  replit_email_in,
143
  replit_password_in,
144
+ local,
145
  ],
146
  [chatbot, editor_view, browser_view, scratchpad_view],
147
  api_name="bot_response",
start.sh ADDED
@@ -0,0 +1 @@
 
 
1
+ env WHERE_EXECUTE="asdf" gradio app.py