Some inspiration for Canvas Skins. Here's what a "...
# proj-agent-canvas
w
Some inspiration for Canvas Skins. Here's what a "Datadog Monitor" skin might look like
it's really nice to be able to kick off an agent for a fix, and see it right there in the conversations list
Screenshot 2026-08-05 at 12.59.45 PM.png
❤️ 1
l
cc @modern-fireman-99755 who is building the extension framework now
👍 1
m
I think i need a list of extensions we would like to support with an order, i.e., which one we do want first Now i’m finishing to creating the machinery behind
w
Have you done any work here already Vasco?
I can walk you through the architecture I'm thinking about
I've done a ton of prototyping here and have a good feel for requirements
m
@wooden-umbrella-84098 until now just in the agent serve to install and menage extensions. So just the basic. But FE side is still a green-field. So open to suggestions.
w
Awesome 🙂 what does "install an extension" entail?
OK looks like it's mainly about adding frontends to canvas, by uploading a JS bundle
My concept of Skins is pretty different from this. And might be a superset? Unclear
The biggest architectural challenge is running a backend and a database. That makes Skins 10x more powerful, but it's also harder to keep running properly
Do you have examples of what you'd want to use your Extensions framework for?
m
Install is: • fetch the source (github/git/local path) at a ref • validate the manifest + entrypoint containment (symlink-safe) • track it alongside Plugins/Skills in the same metadata store. The idea is that the agent-server just validates and serves the bundle; Canvas loads/runs it. Examples are: • routed pages like "Agent Status" or dashboards • style extensions • badges and widgets I think we can include all the extensions types from Pi The install mechanism is already generic across Plugins/Skills/Canvas Extensions and Skins could reuse it for free but I see that Skins are harder Is the code for skins open source? such that I can give a look?
w
it's scattered 😅 let me gather it up for you
it's VERY vibecoded rn
m
Thanks... So my point to have a list of extensions that we want to support with priorities was also to understand in which direction to focus... what are the first extensions we want to release?
w
skins.md
so most of the logic is here: github.com/OpenHands/OpenHands/pull/16232
🙏 1
and then here is a Skin you can import into a canvas instance: github.com/openHands/skin-datadog-monitor
do you have any favorite Pi extensions?
m
This is a good idea: github.com/nicobailon/pi-interview-tool It is an interview tool. Let's say that the agent want to ask some question. This tool spawn a small form that you can easily compete. I think we could do the same in agent-canvas with an agent-canvas level tool. Or implementing an extension which do the same Otherwise, thanks for the code. I'm looking into it
w
ok yeah this is neat
I'd say keep on the course you're on for now--I think we're tackling two different problems