Conversation
Yes! Agree that sparkles ✨ is the canonical AI icon these days. Circuit brain is more used re: cognitive svcs. Pulling this down to try out later today! |
|
I LOVE IT |
|
This is ready to review. PR failures are related to telemetry changes and are fixed in #11237 |
davidfowl
left a comment
There was a problem hiding this comment.
We should do some stress testing to make sure it doesn't fall over processing these types of spans.
mitchdenny
left a comment
There was a problem hiding this comment.
This looks good to me. I've walked through the code and the changes seem reasonable to me and I tested it out locally as well. Seems like our existing telemetry truncation will help avoid the UX being overwhelmed with data although not sure if this is heavier on the DOM rendering or not (do we need extra limits to only show the last X entries with GenAI?).
The other thing I wondered was to what extend do we need to fuzz telemetry input to see if we can somehow bypass the safe rendering protections you've got in place for this since the rendering is a bit more elaborate here than elsewhere.
|
Yes, but buttons will need to move to a menu to fit in available UI space. And it can be in a future PR. Create an issue. |
It's using the same Markdown rendering tech as dashboard copilot chat and interaction service (except now with safe URL schemes). I think it's fine. |






Description
GenAI interactions are hard to read in Aspire's default telemetry experience:
This PR adds a specialized GenAI dialog for viewing GenAI operations. When GenAI telemetry is detected then a button is added to GenAI spans and logs. The button launches a GenAI viewer dialog and displays content in an easy-to-use UI. This approach is similar to what Aspire does for log entries with exception messages, which have a dialog dedicated to viewing log entry exception details.
CircuitBrainis the button icon and seems like the most universial icon for GenAI at the moment. Feedback welcome.The dialog displays highlevel information about the GenAI operation (name, model, start time, duration, token usage). It also displays all the input and output information. What were the system instructions, input messages and tool call results (including the message history of assistant responses) and output messages.
Clicking on a message displays its content in more detail. The "Raw" tab displays the raw text without formatting. The "Preview" tab displays content in a user friendly preview to the user:
There is a button to copy message content to the clipboard.
Other PR features/changes:
To do:
Major follow up work, that's not part of this PR:
Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?doc-ideatemplatebreaking-changetemplatediagnostictemplate