Skip to content

Conversation

@lavaman131
Copy link
Contributor

Motivation and Context

Please help reviewers and future users, providing the following information:

  1. Why is this change required?
    Exploration of alternative UIs to represent workflows.
  2. What problem does it solve?
    Aiming to improve the UI/UX experience of users working with workflows.

Description

This PR makes enhancements to the workflow UI in DevUI, allowing users to interact with users with a chat-like interface through another collapsible side-panel. See images of UI below.

This pull request improves the usability of the python/check_md_code_blocks.py script by allowing users to specify Markdown files using glob patterns, making it easier to check multiple files at once.

Enhancements to file selection:

  • Added support for glob patterns in the command-line arguments, enabling users to specify files using wildcards (e.g., docs/**/*.md). (python/check_md_code_blocks.py) [1] [2]

UI Images

Screenshot 2025-10-23 011344 Screenshot 2025-10-23 011408 Screenshot 2025-10-23 011436 Screenshot 2025-10-23 011500 Screenshot 2025-10-23 011516 Screenshot 2025-10-23 011531 Screenshot 2025-10-23 011639

@markwallace-microsoft markwallace-microsoft added documentation Improvements or additions to documentation python labels Oct 23, 2025
@github-actions github-actions bot changed the title Experimental: DevUI Workflow Chat UI Python: Experimental: DevUI Workflow Chat UI Oct 23, 2025
@markwallace-microsoft
Copy link
Member

Python Test Coverage

Python Test Coverage Report •
FileStmtsMissCoverMissing
TOTAL11667195983% 
report-only-changed-files is enabled. No files were changed during this commit :)

Python Unit Test Overview

Tests Skipped Failures Errors Time
1359 98 💤 0 ❌ 0 🔥 26.484s ⏱️

@victordibia
Copy link
Contributor

Hi @lavaman131 ,

Thanks for kicking this off.
I will take a detailed look and provide more feedback.

in the mean time, 135 file changes seem on the high side for an additional view. We might need to make significant refactors.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need these .woff and other assets?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are used for LaTeX rendering support powered by KaTeX. I'm exploring how to decrease the bundle size.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reduced the bundle size by removing this for now since it might not be absolutely necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made some optimizations to reduce the bundle size to 1492.01 KB (~1.5 MB). For context, before this change the bundle size was 811KB. If we use gzip compression, we are able to get it down to ~500KB. However, to use gzip compression, we would have to add a middleware that does the de-compression on the client device (more CPU intensive, but minimal overhead and small latency hit the first time a user loads devui).

@victordibia I know you want to keep things slim here, so, let me know what you think makes the most sense. I'm leaning towards the first option for simplicity in the implementation and from my tests locally the loading time was near instant. I might be missing something so feel free to correct me if there's a better strategy.

Alternatively, if agreeable, I could make a follow-up PR with the gzip optimization with the FastAPI middleware.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there duplication of logic as across agent view and workflow view?
Would we benefit from havin ga shared chatinput view across both? or using he exact same view with refactored behviours?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great point, unification is possible in theory but might come down to how we represent agents in the core library: Do we want to make agents a wrapper of workflows (agent as a workflow pattern)?

One key difference right now is that the workflow chat is specifically designed to display multiple chat descriptors for each executor id in workflows. For an agent we could potentially have a single chat descriptor for the main agent:

image

What do you think @victordibia?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, I think it could be possible to make the unification a separate follow-up PR after this gets checked in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants