Skip to content

Lazy launching BrowseEnv / making BrowseEnv optional #2120

Closed
@li-boxuan

Description

@li-boxuan

What problem or use case are you trying to solve?

Currently BrowseEnv is always launched but it is only used by some agents at some time. One idea is to make it optional and only those agents who need it shall launch it (globally), similar to how AgentSkills are installed on demand.

One minor obstacle is, an agent may or may not need browsing capability. BrowsingAgent needs it for sure, but other agents might only need it for some tasks. One solution is to make them always delegate to BrowsingAgent for browsing tasks: see #2103, with which CodeActAgent doesn't need to declare need of BrowseEnv / install BrowseEnv by itself.

It doesn't mean #2103 is a blocker; we could of course declare dependency of BrowsingEnv for both CodeActAgent and BrowsingAgent.

Describe the UX of the solution you'd like

Do you have thoughts on the technical implementation?

Take a look at

self.runtime.init_sandbox_plugins(agent.sandbox_plugins).

and how CodeActAgent declares dependency on AgentSkills plugins.

Describe alternatives you've considered

Additional context

https://opendevin.slack.com/archives/C06QKSD9UBA/p1716952778225289

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions