33 Commits

Author SHA1 Message Date
Engel Nyst
66031a67ba
Make max_iterations configurable (#676) 2024-04-03 16:28:56 -04:00
Jim Su
0c00e84e77
Send initialization arguments only when stored in localStorage (#618)
* Send initialization arguments only when stored in localStorage

* Fix mock default-model path
2024-04-03 13:56:47 -04:00
Yufan Song
324a00f477
refactor(config): make a single source of truth file (#524)
* refactor

* fix nits

* add get from env

* refactor logic
2024-04-02 18:01:23 -04:00
Yufan Song
1af287a24b
optimize(sandbox): cleanup docker when disconnect to speed up restart speed (#557)
* clean docker when disconnect

* add check
2024-04-02 17:57:16 -04:00
Jim Su
0a8a857d00
fix: apply settings without explicit change (#541)
* fix: apply settings without explicit change
* Change default model to gpt-4-0125-preview and don't print settings selection on startup
2024-04-02 09:49:43 -04:00
Yufan Song
3e2045626a
add max_iterations (#566) 2024-04-02 08:11:23 -04:00
George Balch
a9f469f0e7
fix: Handle api key error (#488)
* Propagate exception up to task coroutine instead of breaking the for loop manually, await coroutine so exception is returned to caller

* Remove redundant traceback as is already called in step function lower on the stack

* Change message as error could occur in middle of task also

* Fix linter errors

* Raise exception only on api key error

* Add TODO
2024-04-01 22:49:06 -04:00
Robert Brennan
3e6508b7f1
Update Langchains Agent, rename to Monologue (#402)
* standardize on content vs contents

* remove langchain dep

* rename langchains to monologue

* unused imports

* Update agenthub/planner_agent/prompt.py

* update locks

* fix code editor

* fix agent list in frontend
2024-04-01 11:33:39 -04:00
Tess
8796a690d5
doc - Added code documentation for clarity (#434)
* doc - Added code documentaion to 'plan.py'

* doc - Added code documentation to 'session.py'

* doc - added code documentation for clarity

* doc - added documentation to 'conftest.py'

* doc - added code documentation to 'run_tests.pt'

* Update evaluation/regression/conftest.py

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-04-01 10:22:09 -04:00
Robert Brennan
ec073834ad
Send error response instead of crashing (#450) 2024-03-31 11:17:23 -04:00
Manal Arora
87d56d961f
feat(frontend): adding functinality to get agents from backend server (#406)
* adding functinality to get agents from backend server

* dynamic selection of agents in backend

* adding the function listAgents

* Update opendevin/server/listen.py

* Update opendevin/agent.py

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-03-30 19:45:55 -04:00
Yufan Song
2d8cb973a8
add container image (#408) 2024-03-30 14:58:31 -04:00
Robert Brennan
6bd566d780
simplify readme (#366)
* simplify readme

* Update config.toml.template

* Update vite.config.ts (#372)

* Update vite.config.ts

* Update frontend/vite.config.ts

---------

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

* remove old langchains infra

* remove refs to OPENAI_API_KEY

* simplify opendevin readme

---------

Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
2024-03-30 10:15:20 -04:00
Jim Su
1be355436d
Expose LiteLLM model names in backend (#370) 2024-03-29 19:34:32 -04:00
Yufan Song
2def49e794
add (#355)
Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-03-29 15:33:02 -04:00
Jim Su
b1b96df8a8
Replace environment variables with configuration file (#339)
* Replace environment variables with configuration file

* Add config.toml to .gitignore

* Remove unused os imports

* Update README.md

* Update README.md

* Update README.md

* Fix merge conflict

* Fallback to environment variables

* Use template file for config.toml

* Update config.toml.template

* Update config.toml.template

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-03-29 15:26:20 -04:00
Robert Brennan
32a3a0259a
Serialization of Actions and Observations (#314)
* checkout geohotstan work

* merge session.py changes

* add observation ids

* ignore null actions and obs

* add back action messages

* fix lint
2024-03-29 10:49:40 -04:00
Kishore Chitrapu
73ea0e5803
Fix Docker container creation and error handling (#280)
* Fix Docker container creation and error handling

* updated patch based on the feedback

* add check docker message
2024-03-28 08:51:31 -04:00
digger yu
ed3bf194c7
fix typo (#286) 2024-03-28 19:27:50 +08:00
Robert Brennan
89e923679e
API schema draft (#189)
* add api schema draft

* Update README.md

* Update opendevin/server/README.md
2024-03-27 22:03:55 -04:00
Jim Su
2590570109
Add model and agent options in frontend (#271)
Add model and agent options in frontend
2024-03-27 21:09:22 -04:00
Ikko Eltociear Ashimine
7c69672301
Update listen.py (#264)
recieves -> receives
2024-03-27 14:40:08 -04:00
Robert Brennan
413f5b1c0b
standardize on LLM_MODEL (#244) 2024-03-27 09:41:13 -04:00
iFurySt
02a0367757
feat: add message related schema to FE and BE. (#195) 2024-03-26 12:06:30 -04:00
Robert Brennan
a6aa2d88cc
Fix messages in chat window (#185)
* fix messages from server

* fix observations

* fix file path arg

* revert session
2024-03-26 23:47:53 +08:00
Robert Brennan
0758db202c
fix bad observation check (#184)
* fix bad observation check

* fix add_history call
2024-03-26 08:35:06 -04:00
Jim Su
430527680f
Server: load environment variables from .env and document environment variables (#137)
Server: load environment variables from .env and document environment variables
2024-03-26 00:14:48 -04:00
Robert Brennan
eb4a261880
Create generic LLM client using LiteLLM (#114)
* add generic llm client

* fix lint errors

* fix lint issues

* a potential suggestion for llm wrapper to keep all the function sigatures for ide

* use completion partial

* fix resp

* remove unused args

* add back truncation logic

* fix add_event

* fix merge issues

* more merge issues fixed

* fix codeact agent

* remove dead code

* remove import

* unused imports

* fix ruff

* update requirements

* mypy fixes

* more lint fixes

* fix browser errors

* fix up observation conversion

* fix format of error

* change max iter default back to 100

* fix kill action

* fix docker cleanup

* add RUN_AS_DEVIN flag

* fix condense

* revert some files

* unused imports

---------

Co-authored-by: Xingyao Wang <xingyao6@illinois.edu>
Co-authored-by: Robert Brennan <rbren@Roberts-MacBook-Pro.local>
2024-03-26 12:10:23 +08:00
Xingyao Wang
82f934d4cd
New Agent, Action, Observation Abstraction with updated Controller (#105)
* rearrange workspace_dir and max_step as arguments to controller

* remove unused output

* abstract each action into dataclass

* move actions

* fix action import

* move cmd manager and change method to private

* move controller

* rename action folder

* add state

* a draft of Controller & new agent abstraction

* add agent actions

* remove controller file

* add observation to perform a refractor on langchains agent

* revert to make this compatible via translation

* fix typo and translate error

* add error to observation

* index thought as dict

* refractor controller

* fix circular dependency caused by type hint

* add runnable attribute to agent

* add mixin to denote executable

* change baseclass

* make file read/write action compatible w/ docker directory

* remove event

* fix some merge issue

* fix sandbox w/ permission issue

* cleanup history abstraction since langchains agent is not really using it

* tweak to make langchains agent working

* make all actions return observation

* fix missing import

* add echo action for agent

* add error code to cmd output obs

* make cmd manager returns cmd output obs

* fix codeact agent to make it work

* fix all ruff issue

* fix mypy

* add import agenthub back

* add message for Action attribute (migrate from previous event)

* fix typo

* fix instruction setting

* fix instruction setting

* attempt to fix session

* ruff fix

* add .to_dict method for base and observation

* add message for recall

* try to simplify the state_updated_info with tuple of action and obs

* update_info to Tuple[Action, Observation]

* make codeact agent and langchains compatible with Tuple[Action, Observation]

* fix ruff

* fix ruff

* change to base path to fix minimal langchains agent

* add NullAction to potentially handle for chat scenario

* Update opendevin/controller/command_manager.py

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

* fix event args

* set the default workspace to "workspace"

* make directory relative (so it does not show up to agent in File*Action)

* fix typo

* await to yield for sending observation

* fix message format

---------

Co-authored-by: Robert Brennan <accounts@rbren.io>
2024-03-26 01:56:58 +08:00
Robert Brennan
d9c1bee2aa
Add instructions to README.md (#129)
* Update README.md

* add WORKSPACE_DIR env var

* Update README.md

* Update session.py

---------

Co-authored-by: Robert Brennan <rbren@Roberts-MacBook-Pro.local>
2024-03-25 11:35:12 +08:00
Jim Su
335a91610e
Wire up frontend (#128) 2024-03-25 10:07:38 +08:00
Robert Brennan
0f4a11685e
Add agenthub import to listen.py (#127) 2024-03-24 19:20:42 -04:00
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