mirror of
https://github.com/OpenHands/OpenHands.git
synced 2026-03-22 05:37:20 +08:00
Release 0.61.0 (#11618)
Co-authored-by: rohitvinodmalhotra@gmail.com <rohitvinodmalhotra@gmail.com>
This commit is contained in:
@@ -159,7 +159,7 @@ poetry run pytest ./tests/unit/test_*.py
|
|||||||
To reduce build time (e.g., if no changes were made to the client-runtime component), you can use an existing Docker
|
To reduce build time (e.g., if no changes were made to the client-runtime component), you can use an existing Docker
|
||||||
container image by setting the SANDBOX_RUNTIME_CONTAINER_IMAGE environment variable to the desired Docker image.
|
container image by setting the SANDBOX_RUNTIME_CONTAINER_IMAGE environment variable to the desired Docker image.
|
||||||
|
|
||||||
Example: `export SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/openhands/runtime:0.60-nikolaik`
|
Example: `export SANDBOX_RUNTIME_CONTAINER_IMAGE=ghcr.io/openhands/runtime:0.61-nikolaik`
|
||||||
|
|
||||||
## Develop inside Docker container
|
## Develop inside Docker container
|
||||||
|
|
||||||
|
|||||||
@@ -82,17 +82,17 @@ You'll find OpenHands running at [http://localhost:3000](http://localhost:3000)
|
|||||||
You can also run OpenHands directly with Docker:
|
You can also run OpenHands directly with Docker:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull docker.openhands.dev/openhands/runtime:0.60-nikolaik
|
docker pull docker.openhands.dev/openhands/runtime:0.61-nikolaik
|
||||||
|
|
||||||
docker run -it --rm --pull=always \
|
docker run -it --rm --pull=always \
|
||||||
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.openhands.dev/openhands/runtime:0.60-nikolaik \
|
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.openhands.dev/openhands/runtime:0.61-nikolaik \
|
||||||
-e LOG_ALL_EVENTS=true \
|
-e LOG_ALL_EVENTS=true \
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
-v ~/.openhands:/.openhands \
|
-v ~/.openhands:/.openhands \
|
||||||
-p 3000:3000 \
|
-p 3000:3000 \
|
||||||
--add-host host.docker.internal:host-gateway \
|
--add-host host.docker.internal:host-gateway \
|
||||||
--name openhands-app \
|
--name openhands-app \
|
||||||
docker.openhands.dev/openhands/openhands:0.60
|
docker.openhands.dev/openhands/openhands:0.61
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ services:
|
|||||||
- SANDBOX_API_HOSTNAME=host.docker.internal
|
- SANDBOX_API_HOSTNAME=host.docker.internal
|
||||||
- DOCKER_HOST_ADDR=host.docker.internal
|
- DOCKER_HOST_ADDR=host.docker.internal
|
||||||
#
|
#
|
||||||
- SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-ghcr.io/openhands/runtime:0.60-nikolaik}
|
- SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-ghcr.io/openhands/runtime:0.61-nikolaik}
|
||||||
- SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234}
|
- SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234}
|
||||||
- WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
|
- WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ services:
|
|||||||
image: openhands:latest
|
image: openhands:latest
|
||||||
container_name: openhands-app-${DATE:-}
|
container_name: openhands-app-${DATE:-}
|
||||||
environment:
|
environment:
|
||||||
- SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-docker.openhands.dev/openhands/runtime:0.60-nikolaik}
|
- SANDBOX_RUNTIME_CONTAINER_IMAGE=${SANDBOX_RUNTIME_CONTAINER_IMAGE:-docker.openhands.dev/openhands/runtime:0.61-nikolaik}
|
||||||
#- SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234} # enable this only if you want a specific non-root sandbox user but you will have to manually adjust permissions of ~/.openhands for this user
|
#- SANDBOX_USER_ID=${SANDBOX_USER_ID:-1234} # enable this only if you want a specific non-root sandbox user but you will have to manually adjust permissions of ~/.openhands for this user
|
||||||
- WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
|
- WORKSPACE_MOUNT_PATH=${WORKSPACE_BASE:-$PWD/workspace}
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
4
frontend/package-lock.json
generated
4
frontend/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "openhands-frontend",
|
"name": "openhands-frontend",
|
||||||
"version": "0.60.0",
|
"version": "0.61.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "openhands-frontend",
|
"name": "openhands-frontend",
|
||||||
"version": "0.60.0",
|
"version": "0.61.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@heroui/react": "^2.8.4",
|
"@heroui/react": "^2.8.4",
|
||||||
"@heroui/use-infinite-scroll": "^2.2.11",
|
"@heroui/use-infinite-scroll": "^2.2.11",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "openhands-frontend",
|
"name": "openhands-frontend",
|
||||||
"version": "0.60.0",
|
"version": "0.61.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ Two configuration options are required to use the Kubernetes runtime:
|
|||||||
2. **Runtime Container Image**: Specify the container image to use for the runtime environment
|
2. **Runtime Container Image**: Specify the container image to use for the runtime environment
|
||||||
```toml
|
```toml
|
||||||
[sandbox]
|
[sandbox]
|
||||||
runtime_container_image = "docker.openhands.dev/openhands/runtime:0.60-nikolaik"
|
runtime_container_image = "docker.openhands.dev/openhands/runtime:0.61-nikolaik"
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Additional Kubernetes Options
|
#### Additional Kubernetes Options
|
||||||
|
|||||||
47
poetry.lock
generated
47
poetry.lock
generated
@@ -7329,13 +7329,15 @@ llama = ["llama-index (>=0.12.29,<0.13.0)", "llama-index-core (>=0.12.29,<0.13.0
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openhands-agent-server"
|
name = "openhands-agent-server"
|
||||||
version = "1.0.0a5"
|
version = "1.0.0a6"
|
||||||
description = "OpenHands Agent Server - REST/WebSocket interface for OpenHands AI Agent"
|
description = "OpenHands Agent Server - REST/WebSocket interface for OpenHands AI Agent"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.12"
|
python-versions = ">=3.12"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = []
|
files = [
|
||||||
develop = false
|
{file = "openhands_agent_server-1.0.0a6-py3-none-any.whl", hash = "sha256:72b0da038ede018c55c64f0ac99bc5d991af173627efc63de87d54b3cd69134c"},
|
||||||
|
{file = "openhands_agent_server-1.0.0a6.tar.gz", hash = "sha256:8c6fbceb07990e3caf7f8797082d1bb614b9f7339bd00576c24fd34a956a03b4"},
|
||||||
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
aiosqlite = ">=0.19"
|
aiosqlite = ">=0.19"
|
||||||
@@ -7348,22 +7350,17 @@ uvicorn = ">=0.31.1"
|
|||||||
websockets = ">=12"
|
websockets = ">=12"
|
||||||
wsproto = ">=1.2.0"
|
wsproto = ">=1.2.0"
|
||||||
|
|
||||||
[package.source]
|
|
||||||
type = "git"
|
|
||||||
url = "https://github.com/OpenHands/software-agent-sdk.git"
|
|
||||||
reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1"
|
|
||||||
resolved_reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1"
|
|
||||||
subdirectory = "openhands-agent-server"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openhands-sdk"
|
name = "openhands-sdk"
|
||||||
version = "1.0.0a5"
|
version = "1.0.0a6"
|
||||||
description = "OpenHands SDK - Core functionality for building AI agents"
|
description = "OpenHands SDK - Core functionality for building AI agents"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.12"
|
python-versions = ">=3.12"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = []
|
files = [
|
||||||
develop = false
|
{file = "openhands_sdk-1.0.0a6-py3-none-any.whl", hash = "sha256:0b0b579fc48a5b7eaa418ca66188206ba00f4d883997bc29291bc1745e0b7ddc"},
|
||||||
|
{file = "openhands_sdk-1.0.0a6.tar.gz", hash = "sha256:01daff435c5f94037b9b4ba85054097ca6235982a9b0fee00341279d4c4b5a01"},
|
||||||
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
fastmcp = ">=2.11.3"
|
fastmcp = ">=2.11.3"
|
||||||
@@ -7379,22 +7376,17 @@ websockets = ">=12"
|
|||||||
[package.extras]
|
[package.extras]
|
||||||
boto3 = ["boto3 (>=1.35.0)"]
|
boto3 = ["boto3 (>=1.35.0)"]
|
||||||
|
|
||||||
[package.source]
|
|
||||||
type = "git"
|
|
||||||
url = "https://github.com/OpenHands/software-agent-sdk.git"
|
|
||||||
reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1"
|
|
||||||
resolved_reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1"
|
|
||||||
subdirectory = "openhands-sdk"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openhands-tools"
|
name = "openhands-tools"
|
||||||
version = "1.0.0a5"
|
version = "1.0.0a6"
|
||||||
description = "OpenHands Tools - Runtime tools for AI agents"
|
description = "OpenHands Tools - Runtime tools for AI agents"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.12"
|
python-versions = ">=3.12"
|
||||||
groups = ["main"]
|
groups = ["main"]
|
||||||
files = []
|
files = [
|
||||||
develop = false
|
{file = "openhands_tools-1.0.0a6-py3-none-any.whl", hash = "sha256:55b75016f7e3930e4365393a026726eeffae027363d03862a17a8cebc1aed670"},
|
||||||
|
{file = "openhands_tools-1.0.0a6.tar.gz", hash = "sha256:4d5382f3e1cab9d23c1ef7ea8e36e821083886d6d4b019100cbf897e3b0cd3be"},
|
||||||
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
bashlex = ">=0.18"
|
bashlex = ">=0.18"
|
||||||
@@ -7406,13 +7398,6 @@ libtmux = ">=0.46.2"
|
|||||||
openhands-sdk = "*"
|
openhands-sdk = "*"
|
||||||
pydantic = ">=2.11.7"
|
pydantic = ">=2.11.7"
|
||||||
|
|
||||||
[package.source]
|
|
||||||
type = "git"
|
|
||||||
url = "https://github.com/OpenHands/software-agent-sdk.git"
|
|
||||||
reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1"
|
|
||||||
resolved_reference = "d5995c31c55e488d4ab0372d292973bc6fad71f1"
|
|
||||||
subdirectory = "openhands-tools"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openpyxl"
|
name = "openpyxl"
|
||||||
version = "3.1.5"
|
version = "3.1.5"
|
||||||
@@ -16744,4 +16729,4 @@ third-party-runtimes = ["daytona", "e2b-code-interpreter", "modal", "runloop-api
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.1"
|
lock-version = "2.1"
|
||||||
python-versions = "^3.12,<3.14"
|
python-versions = "^3.12,<3.14"
|
||||||
content-hash = "f55780dbb1931dcc442ef9d1f2198fa1c82e3b5881409953ac95de5501d5eeec"
|
content-hash = "57ed6b7f4613e668fd1d0e10a21f7c915cdbb9c7b906a0b71a8ba222733c082d"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ requires = [
|
|||||||
|
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "openhands-ai"
|
name = "openhands-ai"
|
||||||
version = "0.60.0"
|
version = "0.61.0"
|
||||||
description = "OpenHands: Code Less, Make More"
|
description = "OpenHands: Code Less, Make More"
|
||||||
authors = [ "OpenHands" ]
|
authors = [ "OpenHands" ]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
@@ -113,12 +113,12 @@ e2b-code-interpreter = { version = "^2.0.0", optional = true }
|
|||||||
pybase62 = "^1.0.0"
|
pybase62 = "^1.0.0"
|
||||||
|
|
||||||
# V1 dependencies
|
# V1 dependencies
|
||||||
openhands-agent-server = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-agent-server", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" }
|
#openhands-agent-server = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-agent-server", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" }
|
||||||
openhands-sdk = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-sdk", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" }
|
#openhands-sdk = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-sdk", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" }
|
||||||
openhands-tools = { git = "https://github.com/OpenHands/software-agent-sdk.git", subdirectory = "openhands-tools", rev = "d5995c31c55e488d4ab0372d292973bc6fad71f1" }
|
#openhands-tools = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-tools", rev = "be9725b459c0afabc18cfba89acf11dc756b42f0" }
|
||||||
#openhands-sdk = "1.0.0a5"
|
openhands-sdk = "1.0.0a6"
|
||||||
#openhands-agent-server = "1.0.0a5"
|
openhands-agent-server = "1.0.0a6"
|
||||||
#openhands-tools = "1.0.0a5"
|
openhands-tools = "1.0.0a6"
|
||||||
python-jose = { version = ">=3.3", extras = [ "cryptography" ] }
|
python-jose = { version = ">=3.3", extras = [ "cryptography" ] }
|
||||||
sqlalchemy = { extras = [ "asyncio" ], version = "^2.0.40" }
|
sqlalchemy = { extras = [ "asyncio" ], version = "^2.0.40" }
|
||||||
pg8000 = "^1.31.5"
|
pg8000 = "^1.31.5"
|
||||||
|
|||||||
Reference in New Issue
Block a user