526 Commits

Author SHA1 Message Date
Boxuan Li
7d5856e36b
local sandbox: Create workspace base during init (#1377) 2024-04-27 11:50:58 +08:00
Robert Brennan
fd9e598136
add options for controlling memory (#1364)
* add options for controlling memory

* Update agenthub/monologue_agent/utils/memory.py

Co-authored-by: Jim Su <jimsu@protonmail.com>

* move memory initialization switch back

* fix lint

* fix type

---------

Co-authored-by: Jim Su <jimsu@protonmail.com>
2024-04-26 21:53:54 +00:00
Jim Su
c0adb55bfa
Fix mock server (#1392) 2024-04-26 17:16:29 -04:00
Alex Bäuerle
e9a9186717
build(backend): change reload to ignore workspace correctly (#1393)
Co-authored-by: Jim Su <jimsu@protonmail.com>
2024-04-26 18:19:18 +00:00
Jim Su
93d8ee1400
Render messages in markdown (#1391) 2024-04-26 14:05:17 -04:00
Boxuan Li
831e934dab
Refactor: Use enum for config keys (#1376) 2024-04-26 10:26:01 -04:00
Engel Nyst
5a0ef2b5de
Doc: update Azure guide with setting model in the UI (#1386)
* Update AzureLLMs.md

Add note about saving the actual model in the UI.

* Update AzureLLMs.md

Add note about saving the actual value in the UI.
2024-04-26 09:17:06 -04:00
sp.wack
0fb3d63406
fix/improve terminal hook (#1371) 2024-04-25 19:13:42 -04:00
Alex Bäuerle
65558df1f7
feat(frontend): multiple design changes (#1370) 2024-04-25 14:24:05 -07:00
Robert Brennan
5515c08624
update to 0.4.0 (#1362)
Co-authored-by: Jim Su <jimsu@protonmail.com>
2024-04-25 19:27:25 +00:00
Robert Brennan
f407382a5a
handle IsADirectory errors (#1365) 2024-04-25 15:15:06 -04:00
Xingyao Wang
110e7f0c4c
make WORKSPACE_MOUNT_PATH as abspath (#1361) 2024-04-25 13:31:05 -04:00
Robert Brennan
a1a0767681
Revert "refactor(frontend): Terminal (#1315)" (#1360)
This reverts commit 27246aca7e0f3d399740db466f31026c891a5374.
0.4.0
2024-04-25 11:21:01 -04:00
Boxuan Li
e7b5ddfe06
Add integration test framework with mock llm (#1301)
* Add integration test framework with mock llm

* Fix MonologueAgent and PlannerAgent tests

* Remove adhoc logging

* Use existing logs

* Fix SWEAgent and PlannerAgent

* Check-in test log files

* conftest: look up under test name folder only

* Add docstring to conftest

* Finish dev doc

* Avoid non-determinism

* Remove dependency on llm embedding model

* Init embedding model only for MonologueAgent

* Add adhoc fix for sandbox discrepancy

* Test ssh and exec sandboxes

* CI: fix missing sandbox type

* conftest: Remove hack

* Reword comment for TODO
2024-04-25 10:56:53 -04:00
Leo
bf5a2afd83
Refactor browser style. (#1358)
* delete useless assets and css class.
* add waiting for page loaded (networkidle with 3s timeout)
2024-04-25 10:48:19 -04:00
Xingyao Wang
88397e0469
add back cache dir and default to /tmp (#1359) 2024-04-25 10:46:15 -04:00
Boxuan Li
c45e2ae4d9
Fix output strip behavior discrepancy among sandboxes (#1355) 2024-04-25 14:38:01 +08:00
Robert Brennan
5543fe2c3e
fix up prompts (#1345) 2024-04-24 18:30:18 -04:00
Robert Brennan
bc84482c48
Update ssh_box.py (#1346) 2024-04-24 18:30:05 -04:00
Robert Brennan
6972ea0089
Go back to no host network by default (#1349) 2024-04-24 18:29:30 -04:00
Robert Brennan
43214a69a0
Better version management (#1313)
* better version management

* Update opendevin/config.py
2024-04-24 21:53:49 +00:00
Engel Nyst
2318ceae35
Send JSON parsing exceptions to LLM (#1342)
* Add malformed JSON where we don't even start finding actions

* Send any exception during JSON parsing back

* Use specific exceptions

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-04-24 17:51:09 -04:00
Engel Nyst
f4ce7e7862
Update description (#1337)
* Update base.py

* Update opendevin/action/base.py

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-04-24 17:50:51 -04:00
Engel Nyst
bd470e8076
Send the permission error to the llm (#1343)
* Send the permission error to the llm

* Update opendevin/action/fileop.py

* Update opendevin/action/fileop.py

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-04-24 17:50:32 -04:00
Xingyao Wang
fde0392457
Default for sandbox to use the host network (#1334)
* default to use host network

* make host network as default
2024-04-24 21:48:11 +00:00
Robert Brennan
1e95fa435d
Microagents and Delegation (#1238)
* basic microagent structure

* start on jinja

* add instructions parser

* add action instructions

* add history instructions

* fix a few issues

* fix a few issues

* fix issues

* fix agent encoding

* fix up anon class

* prompt to fix errors

* less debug info when errors happen

* add another traceback

* add output to finish

* fix math prompt

* fix pg prompt

* fix up json prompt

* fix math prompt

* fix math prompt

* fix repo prompt

* fix up repo explorer

* update lock

* revert changes to agent_controller

* refactor microagent registration a bit

* create delegate action

* delegation working

* add finish action to manager

* fix tests

* rename microagents registry

* rename fn

* logspam

* add metadata to manager agent

* fix message

* move repo_explorer

* add delegator agent

* rename agent_definition

* fix up input-output plumbing

* fix tests

* Update agenthub/micro/math_agent/agent.yaml

Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>

* Update agenthub/delegator_agent/prompt.py

Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>

* Update agenthub/delegator_agent/prompt.py

Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>

* remove prompt.py

* fix lint

* Update agenthub/micro/postgres_agent/agent.yaml

Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>

* Update agenthub/micro/postgres_agent/agent.yaml

Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>

* fix error

---------

Co-authored-by: Boxuan Li <liboxuan@connect.hku.hk>
Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2024-04-24 17:46:14 -04:00
Robert Brennan
8828d9836d
use caching for docker builds (#1340)
* try pulling for cached layers

* use cache-from and cache-to

* empty commit

* add readme

* use specific cache tags

* also cache from main
2024-04-24 15:57:46 -04:00
Xia Zhenhua
d357fcff36
fix: sweagent prompt message SYSTEM_MESSAGE role set to user bug. (#1329)
Co-authored-by: aaren.xzh <aaren.xzh@antfin.com>
2024-04-24 15:51:52 -04:00
Robert Brennan
9241f713b0
pin macos (#1344) 2024-04-24 15:37:32 -04:00
Alex Bäuerle
2472840a56
style(frontend): remove the welcome message in the code editor (#1324)
* style(frontend): remove the welcome message in the code editor

I don't feel like we need this and it can be confusing since there is no file called "welcome". Also, the chat window already has a welcome message.

* lint

* remove empty checks

---------

Co-authored-by: Jim Su <jimsu@protonmail.com>
2024-04-24 16:58:47 +00:00
Season
ab3e18667b
feat: LocalLLM docs without docker (#1269)
* feat:  start Devin without Docker locally

* chore: make consistent model choices

* chore: more detailed explanation for using litellm server as walkaround

* chore: simply pr
2024-04-24 16:47:20 +00:00
Robert Brennan
236b7bf6ea
refactor error handling so not all exceptions are caught (#1296)
* refactor error handling so not all exceptions are caught

* revert

* Send the failed decoding back to the LLM (#1322)

* fix quotes

---------

Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2024-04-24 16:44:06 +00:00
Alex Bäuerle
dc73954cce
build: when running in dev mode, reload the poetry server whenever a … (#1323)
* build: when running in dev mode, reload the poetry server whenever a file changes

* only reload for specific directories

---------

Co-authored-by: Jim Su <jimsu@protonmail.com>
2024-04-24 09:34:40 -07:00
Xingyao Wang
9b48f63544
Fix build error (#1339)
* add initial version of swe-agent plugin;

* rename swe cursors

* split setup script into two and create two requirements

* print SWE-agent command documentation

* update swe-agent to default to no custom docs

* update dockerfile with dependency from swe-agent

* make env setup a separate script for .bashrc source

* fix swe-tool plugins;
add missing _split_string

* remove import for temporarily fix (will add back in another pr)
2024-04-24 12:25:18 -04:00
Xingyao Wang
e6ecbd5510
fix(sandbox): mount_dir for ssh_box (#1333)
* fix mount_dir for ssh_box

* move logic to config.py
2024-04-24 12:10:14 -04:00
sp.wack
2268529b75
fix test imports (#1327) 2024-04-24 09:09:48 -07:00
sp.wack
a0dd5880d7
improve formatting and extend to include i18n scripts (#1328) 2024-04-24 09:09:05 -07:00
Christian Balcom
b48f440476
Add sanitization against malformed paths used in fileop actions. Added tests for resolve_path. (#1338) 2024-04-24 15:46:16 +00:00
Xingyao Wang
a0e8fcb19a
Add SWE-agent tools as sandbox plugins (#1305)
* add initial version of swe-agent plugin;

* rename swe cursors

* split setup script into two and create two requirements

* print SWE-agent command documentation

* update swe-agent to default to no custom docs

* update dockerfile with dependency from swe-agent

* make env setup a separate script for .bashrc source

* fix swe-tool plugins;
add missing _split_string

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-04-24 22:50:14 +08:00
மனோஜ்குமார் பழனிச்சாமி
99829f95fd
Applied npm patch for build errors (#1326)
* npm patch

https://github.com/npm/cli/issues/7231#issuecomment-2062032218

* Delete huge unnecessary tools folder
2024-04-24 09:24:48 -04:00
Xingyao Wang
0b6ab238f9
Update Development.md (#1330) 2024-04-24 17:05:27 +08:00
Xingyao Wang
3eea6de546
fix(sandbox): SSH box .execute misalign issue (#1304)
* fix weird behavior of pxssh where the output would not flush correctly

* make ssh box can handle exit_code properly as well

* Update opendevin/sandbox/docker/ssh_box.py

Co-authored-by: Robert Brennan <accounts@rbren.io>

* fix typo

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-04-24 12:27:44 +08:00
sp.wack
27246aca7e
refactor(frontend): Terminal (#1315)
* create new modal for loading previous session

* style and replace modal

* retire old components and group modals into folder

* Utilise i18n for text content and add en translations

* prevent modal from being dismissed via the backdrop

* reference issue that its fixing

* fix incorrect role in tests

* initial commit'

* add output support

* update addon-fit library and mgirate to useXTerm

* add test todos

* move useXTerm to hooks folder

* Fix import path error

---------

Co-authored-by: Jim Su <jimsu@protonmail.com>
2024-04-24 02:34:46 +00:00
Larkin Williams-Capone
ba556ea4d8
Add docs for using google llms (#1321) 2024-04-23 22:22:18 +00:00
Alex Bäuerle
f40e91b41b
refactor: move leftnav and agent controls to new play bar (#1317)
* refactor: move leftnav and agent controls to new play bar

* layout change
2024-04-23 15:17:43 -07:00
Engel Nyst
d1551c3097
Add checks to stop infinite loops (#1293)
* Add checks to stop infinite loops

* Send an AgentErrorObservation for the user to see an oops loop

* (NullAction, Obs) problem should be (NullAction, error Obs)

* Merge the two with AgentErrorObs.

* Update opendevin/controller/agent_controller.py
2024-04-23 17:52:32 -04:00
Joen Wallenstrøm (UnLogick)
f6dcbeaa1d
Add ollama wsl section to LocalLLMs.md (#1318) 2024-04-23 21:40:28 +00:00
Alex Bäuerle
620bbb38cf
feat: disable settings while task is running (#1291)
* feat: disable settings while task is running

* test files

* tests

* test
2024-04-23 14:20:49 -07:00
Vasek Mlejnsky
a2a86e84f0
Integrate copy_to in E2BBox (#1298)
* initialize plugin definition

* initialize plugin definition

* simplify mixin

* further improve plugin mixin

* add cache dir for pip

* support clean up cache

* add script for setup jupyter and execution server

* integrate JupyterRequirement to ssh_box

* source bashrc at the end of plugin load

* add execute_cli that accept code via stdin

* make JUPYTER_EXEC_SERVER_PORT configurable via env var

* increase background cmd sleep time

* Update opendevin/sandbox/plugins/mixin.py

Co-authored-by: Robert Brennan <accounts@rbren.io>

* add mixin to base class

* make jupyter requirement a dataclass

* source plugins only when >0 requirements

* add `sandbox_plugins` for each agent & have controller take care of it

* update build.sh to make logs available in /opendevin/logs

* switch to use config for lib and cache dir

* fix permission issue with /workspace

* use python to implement execute_cli to avoid stdin escape issue

* wait until jupyter is avaialble

* support plugin via copying instead of mounting

* Fix linter issue

---------

Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>
Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-04-23 07:55:27 -04:00
Leo
0a2e90dece
Disable additional Docker metadata to more compatible with OCI spec. (#1302) 2024-04-23 07:55:00 -04:00