Designs for Custom Agent (2 Scenarios) #11876
Draft
+1,770
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem Statement
OpenHands Enterprise (OHE) currently lacks a supported mechanism for users to deploy custom agents created with software-agent-sdk. While the software-agent-sdk provides the foundation for building custom agents, there is no clear path for users to deploy them in OHE.
This creates barriers for users who want to:
Proposed Solutions
This PR introduces comprehensive design documents for two complementary scenarios that address different custom agent deployment needs:
Scenario 1: Custom Agent Packages with Custom Runtime Images
File:
doc/design-doc/custom-agent-s1.mdFor users who need custom system dependencies, specialized tools, or non-Python runtime environments:
Scenario 2: Dynamic Custom Agent Package Loading
File:
doc/design-doc/custom-agent-s2.mdFor users who need pure Python customization without additional system dependencies:
Technical Foundation
Both designs are grounded in detailed analysis of:
AgentBaseinterface and tool system fromsoftware-agent-sdkrepositoryImplementation Approach
Each design includes:
Compatibility
Both scenarios maintain full compatibility with:
/ask_agentendpoint)Next Steps
These design documents provide the foundation for implementing custom agent support in OpenHands. The modular approach allows for independent implementation of either scenario based on user demand and development priorities.
Note: This PR contains design documents only. Implementation will follow in separate PRs based on the approved designs.
@jpshackelford can click here to continue refining the PR
To run this PR locally, use the following command:
GUI with Docker: