ActionExecutor
inside the container, setting up necessary components like a bash shell and loading any specified pluginsopenhands/runtime/impl/eventstream/eventstream_runtime.py
) communicates with the action execution server over RESTful API, sending actions and receiving observationsoh_v{openhands_version}_{base_image}
(e.g.: oh_v0.9.9_nikolaik_s_python-nodejs_t_python3.12-nodejs22
)oh_v{openhands_version}_{16_digit_lock_hash}
(e.g.: oh_v0.9.9_1234567890abcdef
)oh_v{openhands_version}_{16_digit_lock_hash}_{16_digit_source_hash}
(e.g.: oh_v0.9.9_1234567890abcdef_1234567890abcdef
)nikolaik/python-nodejs:python3.12-nodejs22
)pyproject.toml
included in the image.poetry.lock
included in the image.poetry install
and
apt-get
) except a final operation to copy the current source code. The new image is tagged with a
source tag only.runtime:oh_v0.9.3_1234567890abcdef
) always points to the latest build for a particular base image, dependency, and OpenHands version combinationPlugin
classALL_PLUGINS
dictionaryAgent.sandbox_plugins: list[PluginRequirement]
. Users can specify which plugins to load when initializing the runtime