Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arch: make agent and runtime pluggable #3753

Closed
yufansong opened this issue Sep 6, 2024 · 3 comments
Closed

Arch: make agent and runtime pluggable #3753

yufansong opened this issue Sep 6, 2024 · 3 comments
Labels
enhancement New feature or request Stale Inactive for 30 days

Comments

@yufansong
Copy link
Collaborator

yufansong commented Sep 6, 2024

Summary

We put too much thing in EventStream , so it looks mess now. In order to make OH pluggable, Not only EventStream, but also need to simplify the controller logic.

Motivation
Make the module pluggable. If someone want to try his agent, just replace the agent module. If someone want to interact with robot rather than docker, change the runtime module.

For example:

  1. Agent (Event+Action+ step logic)
  2. Runtime (How to interact with robot)

When we change the above logic, we can change openHands from a code generation platform into robot controll platform.

Technical Design

Our current logic:

  1. controller will call agent via function call.
  2. controller will communicate async with runtime via EventStream
  3. runtime will interact with docker via REST API. We implement a docker client inside the docker.

To achieve pluggable, we should optimize the interaction logic between controller with agent and controller with runtime. If we can decouple their logic, we can make agent/runtime as hot plug.

Alternatives to Consider

Additional context

@All-Hands-AI All-Hands-AI deleted a comment Sep 6, 2024
@imeDevelopers
Copy link

@yufansong
You've my support! Same ideas here: #3758

@mamoodi mamoodi added the enhancement New feature or request label Oct 2, 2024
Copy link
Contributor

github-actions bot commented Nov 3, 2024

This issue is stale because it has been open for 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the Stale Inactive for 30 days label Nov 3, 2024
Copy link
Contributor

This issue was closed because it has been stalled for over 30 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Stale Inactive for 30 days
Projects
None yet
Development

No branches or pull requests

3 participants