Sign inSign up

sbx/openhands-canvas-kit

Verified Publisher

By Docker, Inc

Updated about 24 hours ago

|

Sandbox Kit
0

90

sbx/openhands-canvas-kit repository overview

Digest

sha256:f8c9767eb411…

Size

2 Bytes

Schema

v2

Pushed

about 24 hours ago

Specificationspec.yaml

SANDBOX KIT
REQUIRES SECRETS

OpenHands Agent Canvas - the browser UI + agent-server - running as a self-contained Docker sandbox. Multi-provider via LiteLLM (Anthropic / OpenAI / Gemini); API keys stay proxy-managed and never enter the sandbox. Forward port 8000 and open http://localhost:8000.


Credentials
NameServiceRequiredDescription
ANTHROPIC_API_KEYanthropicOptional
OPENAI_API_KEYopenaiOptional
GEMINI_API_KEYgoogleOptional

Network Egress

api.anthropic.com

api.openai.com

generativelanguage.googleapis.com

registry.npmjs.org

docker.openhands.dev

*.openhands.dev

ghcr.io

pkg-containers.githubusercontent.com

pypi.org

files.pythonhosted.org

astral.sh

*.astral.sh

nodejs.org

github.com

api.github.com

raw.githubusercontent.com

objects.githubusercontent.com

Run in a Sandbox

sbx run sbx/openhands-canvas-kit:latest

Make sure you have docker sbx installed

Run the following command to install sbx on your machine.

macOS
brew install docker/tap/sbx
Windows
winget install Docker.sbx
Learn more about docker sbx

openhands-canvas - OpenHands Agent Canvas (web UI)

A kind: sandbox kit that runs OpenHands Agent Canvas - the browser UI plus agent-server - as a self-contained Docker sandbox on port 8000. Multi-provider (Anthropic / OpenAI / Google); API keys stay proxy-managed and never enter the sandbox. A headless runner is also installed for automation.

This is the web-UI variant of OpenHands. For the standard OpenHands agent sandbox, see the openhands kit.

Usage

Store a key for at least one provider on the host, then run with port 8000 forwarded:

sbx secret set anthropic
sbx run -p 8000 --kit "docker.io/sbx/openhands-canvas-kit:latest" openhands-canvas

Open http://localhost:8000.

Or target this repo directly over git, or a local clone:

sbx run -p 8000 --kit "git+https://github.com/docker/sbx-kits-contrib.git#dir=openhands-canvas" openhands-canvas
sbx run -p 8000 --kit ./openhands-canvas/ openhands-canvas

The default model is anthropic/claude-opus-4-8. Switch providers in Settings > LLM in the UI, or recreate the sandbox with LLM_MODEL overridden and the matching key stored (sbx secret set <anthropic|openai|google>).

How auth works

The kit declares proxy-managed credentials for anthropic, openai, and google. Inside the container each *_API_KEY is a placeholder; the sbx proxy injects the real key on the wire for that provider's host, and the provider hosts are the only LLM egress in the allowlist. No key is ever written into the sandbox.

google (not gemini) is the canonical sbx service name, so a binding you set for another kit is reused here.

What it installs

  • @openhands/agent-canvas (npm, into /usr/local/bin) - the Canvas UI + agent-server.
  • openhands (via uv tool install) - the headless runner for non-interactive use.
  • openhands-canvas-launch - the entrypoint: starts Agent Canvas on $PORT, waits for health, and seeds the model into Canvas settings (Canvas does not read the LLM_* env directly).

Automation

The headless runner is available for non-interactive tasks:

openhands --headless --override-with-envs --exit-without-confirmation -t "…"

Cleanup

sbx secret rm -g --service anthropic   # and/or openai, google