Agent Profile UX Proposal :thread:
# proj-agent-canvas
s
Agent Profile UX Proposal đź§µ
❤️ 1
[This is WIP. It's just a proposal of UX for setting up Canvas] Agent Profiles =allows to store in db users custom agent settings A user can define an agent with specific skills/MCP servers/llm profile/ACP or OpenHands/Condenser config/ delegation or not / .... Current state of our code: all those settings are set globally and any new conversation has those settings. It's a pain to start a conversation with specific MCP servers etc... Agent Profile: full agent settings are stored by name, simply select a pre-defined profile when creating a new conversation. UX: • I made a panel with all the things related to agent behavior and setting. All the stuff that impacts the agent itself. • In that panel, MCP is global = place to define all available mcp servers. • But when creating an agent profile you can tick which mcp servers you want to use for that specific agent. • We should do the same for skills (and maybe for tools?) • OpenHands Agent Profile depends on LLM Profiles. When you first open canvas, you have a default openhands agent profile that shows an error because missing llm profile -> user knows he must make an llm profile asap Because all the agent related quantities are consolidated in Agent Settings, the only thing left in the previous "Settings" was the application settings. So I removed the "Settings" page. and moved the application settings in the far left pannel. I can totally be wrong here but it seemed like an OK simplification
đź‘€ 1
@breezy-kilobyte-39430 @limited-student-10747 @modern-fireman-99755
b
It'll take me a bit to contemplate before a response 🙂
m
It seems cool... perhaps just a remark: there are too many settings and _profiles_: it can be confusing. The idea is that you can define your MCP, LLMs, secrets, etc, globally and then you can create your agent with all/or a part of them, right?
s
Agreed... • MCPs Tools Skills LLM Profiles: Define them globally, select which one(s) to use per sub-agent • Validation/Critic: define globally
c
In the same vein as Vasco’s feeling: is it possible to either (a) use LLM profiles for the ACP “models”, or (2) not use anything, you might/must have started and configured the CLI itself ?
Current state of our code: all those settings are set globally and any new conversation has those settings. It's a pain to start a conversation with specific MCP servers etc...
❤️ Yes… it feels like canvas is heading towards customizing those agents… Maybe even more so for automations? I can totally see picking a profile and knowing my heartbeat is something, and okay, my review reports are something else.
Because all the agent related quantities are consolidated in Agent Settings, the only thing left in the previous "Settings" was the application settings. So I removed the "Settings" page. and moved the application settings in the far left pannel. I can totally be wrong here but it seemed like an OK simplification
Ahh this is cool as a simplification IMHO!
s
use LLM profiles for the ACP "models",
No , for ACP a model is a simple string. No base URL no api key needed. In the UI we just have a toggle to suggest compatible model names for each agent harness, but that toggle is overridable and a user knowing what he's doing can input any string that works for him!
c
Ah nice, I thought I saw in the video api key (or json string) for OpenAI
s
Ah that's the api key for the ACP server itself, yes! but not for the llm (model_name for acp), so llm profile doesn't really work here
aha 1
thanks on a stick 1
h
Agent profile section is looking great! I'm not sure about the changes to the sidebar nav. Customize is a clear invitation to customize Agent Canvas. I could see putting Agent Profiles inside of it. That might also help separate out that UI so there is differentiation from connecting to LLMs and setting those up. I could even see changing LLM Profiles to LLM connections.
s
I think we should gather all the parameters that impact a single agent behavior in a single panel: agent kind, agent params, skills, mcp servers, tools, secrets, etc... We can name it differently than "Agent Profiles" but I still think it's worth gaterhing all those in a single place.
h
Its hard to go through user flows without the UI to fiddle with in front of me 🙂 I can definitely see putting Agent Profiles at the same level as mcp, skills, plugins, and probably secrets too. I'd lean for verification and LLM connection to stay in settings. The idea being you don't change settings related things often but you would the others. Then disable Agent Profiles unless you have an LLM connection in place or I guess just disable the OpenHands option? Maybe @breezy-kilobyte-39430 can help with some UI flow ideas here.
@flat-scooter-2793 Here is the thread on Agent Profiles
👍 1
s
This PR allows to build the canvas with this new agent profile UX and to define specific ACP or OpenHands agents configurations. Just build it with current main branch SDK to experience with it!
🙏 1
h
I was able to have some conversations with different folks today about the sidebar change. Feels like it might be too big to drop in at the same time as Agent Profiles. I think the profiles themselves are such a huge win for what you can do with canvas but they will also introduce some new UX challenges that @breezy-kilobyte-39430 wants to get some time to think through. There is also the new Plugins support Hiep is working on and the llm routing from Juan so there will be a lot going on a potentially getting merged in all kind of overlapping. I also sent out some requests for feedback to users I've talked to recently with your video and additional screenshots. So we may get some more feedback coming in that will help