Hey all! We'd love to understand what might keep y...
# proj-agent-canvas
e
Hey all! We'd love to understand what might keep you from using Agent Canvas. Please share here so we know how to improve Agent Canvas to make it a great daily driver.
➕ 2
l
My biggest barrier to using agent-canvas right now is two: 1. I'm not used to starting it up yet a. On my local computer sandboxing is a little annoying, i either need to run docker and have it separated from my system or have it potentially be a little unsafe b. I have a VM that i'd like to run it on, but it needs to be able to be locked down with a session API key, which is not quite implemented yet 2. It's not integrated into slack, github, etc. where i often launch agents on the cloud I'm working on fixing 1b. 2 will be improved when we have better support for intergrations
👍 2
q
I believe canvas is always locked down with session api key thonk (for 1b)
w
canvas is indeed locked down w/ session API key! just don't use the auto-generated one, which gets plumbed into the frontend
if you manually set SESSION_API_KEY in your env on startup, it's secure
re: 2, my solution is to connect the canvas to app.all-hands.dev!
l
To clarify: 1. I want to have a frontend that I can access from anywhere without booting it up because I do a lot of work on my phone. I can run an agent server on the cloud, but not the frontend easily at the moment because the frontend is unauthenticated. I just added some stuff to make it easier to not plumb the session API key in automatically if you run npm run dev, but i haven't tested it yet. 2. For connecting the canvas to app.all-hands.dev, I don't know why I'd want to do that instead of just using the frontend on app.all-hands.dev?
w
the frontend is unauthenticated
yeah but it can't do anything without a SESSION_API_KEY!
you can safely put the frontend up on a public URL
you can also easily put nginx with basic auth in front of the VM
an agent can set that up in 5m
1. For connecting the canvas to app.all-hands.dev, I don't know why I'd want to do that instead of just using the frontend on app.all-hands.dev?
for me it's nice to see everything in one place. I can flip between my cloud agents and my local agents
I just added some stuff to make it easier to not plumb the session API key in automatically if you run npm run dev, but i haven't tested it yet.
hmm you might be right--I thought overriding the key would prevent this but I might be wrong
l
for running the frontend separately from the backend there's no README about this so I didn't think of it honestly. but i think the solution of preventing the plumbing should work. it just uncovered some other bugs that need to be squashed, not a big deal. for running on app.all-hands.dev, i can just do everything there honestly, no need to switch between local and cloud. but i'm trying to do this locally to simulate the case where people want to run locally. and when i run locally i had trouble with integrations.
👍 1
(this is just me trying to point out things for potential improvement of course 🙂 i hope other can do so too)
nod 1
w
local integrations (e.g. triggering a convo on your laptop/VM from Slack) will be really hard, but we're working on it!
👍 1
e
Hey Graham, what would your ideal install flow be? I realize your answer may be different from the general publics but curious 🙂
l
probably something like the following:
Copy code
npm install @OpenHands/agent-canvas
agent-canvas --protect-with-session-api-key
Other options being:
Copy code
agent-canvas --backend-only
agent-canvas --frontend-only
that sort of thing
it'd match how codex and claude code work
e
Cool! I think npm install could be a good starting point. CC @hundreds-twilight-32833 @wooden-umbrella-84098 maybe we do this over a random bash script
h
That would be pretty good. I've been struggling today to get multiple local backends up and running the way I want and each in their own container. Being able to have the built in support and all working together would be ideal. QQ: How well supported is npm on a deployed server? I've done it for javascripty projects but will it just...work with the whole python server?
w
allegedly yes we can ship python in npm, @quick-window-91705 I believe was working with this
q
Yep that's already done as of today you can launch the canvas via
npx @openhands/agent-canvas@alpha
as an example of that
l
awesome, so if we have some good command line arguments we might actually be pretty good
maybe we can move away from something like "dev:xxx" towards relying on the command line?
q
https://github.com/OpenHands/agent-canvas/issues/226 I opened this issue to consolidate the dev scripts, if someone can also add comments on the CLI launch options you'd like and I can add support for them
(and ideally leave feedback on the command names)
l
added my favorites!
ty 2