Clarifying the install path options for agent canv...
# proj-agent-canvas
a
Clarifying the install path options for agent canvas. @quick-window-91705 is working on the npm and docker install options. The proposed end state is that we'd have two install paths: • npm install that runs without docker • a docker option that uses a published docker image FYI @wooden-umbrella-84098 and @hundreds-twilight-32833, I'm posting here for visibility since this shifts away from the option we currently have with npm that does run docker.
w
CC @chilly-france-44439 who I think did some work on letting npm dynamically chose docker or dockerless I think it's much simpler if we have: •
npm install openhands/agent-canvas && openhands
for dockerless ◦ or I think
npx run openhands/agent-canvas
will work similar to uv? •
docker run <http://ghcr.io/openhands/agent-canvas|ghcr.io/openhands/agent-canvas>
for sandboxed ◦ we'd just need a new image that includes frontend and all backends ◦ probably based on the agent-server image
(not necessary for MVP, but down the line I do think we should add
openhands --frontend
and
openhands --backend
to let folks run one or the other)
h
I'm not familiar with publishing a docker image. Is there anyone who has handled that before?
And then separately do we want to keep the current docker scripts in the agent-canvas or completely remove them? My vote would be to completely remove them so there isn't confusion from both agents and anyone reading through the package.json
c
I was actually thinking about this for the MVP, one command to launch multiple backends:
Copy code
Backend Configuration

  Local backend (default)
    ✓ Fast startup, no Docker needed
    ✓ Direct filesystem access for quick iteration
    ✗ Agent runs with your full host permissions — no sandbox
    Safety: confirmation mode is enabled so the agent asks before risky actions.

  Docker backend (optional, runs alongside local)
    ✓ Sandboxed execution — agent runs in an isolated container
    ✓ Closer to production/cloud behavior
    ✗ Requires Docker Desktop running
    ✗ Slightly slower startup; mounts a host directory for file access

  Start local agent-server? [Y/n]
  Also start a Docker backend? [y/N]

  Tip: You can change security settings in Settings → Verification.
https://github.com/OpenHands/agent-canvas/pull/610 (haven't got time to test it yet but you get the rough idea)
i think there's still value for the docker script, but we should try to simplify them drastically: • it give us control on how the docker is launched - eg when we improve the launch command by add new arguments, existing user automatically get those new stuff, instead of go to our doc and copy the new command • we can add telemetry/error reporting back to posthog in the install script, so we know what are the main friction points for docker setup
w
Many users are going to want to control how docker gets launched, e.g. what ports and volumes they link. Which means we'll need to support all three install mechanisms 🫠
Also I think focusing on dockerless as "happy path" similar to Hermes will make things a lot simpler
@chilly-france-44439 we're discussing in office hours
c
Many users are going to want to control how docker gets launched, e.g. what ports and volumes they link. Which means we'll need to support all three install mechanisms
how about we show the docker command that
openhands
will launch, and give user the flexiblity to modify them & persist them as part of their
~/.openhands/agent-canvas
setting
ok joinging
q
Heads up removing docker from the npm launch flow https://github.com/OpenHands/agent-canvas/pull/635
👍 2
✅ 1