Skip to content

Conversation

@george-lhj
Copy link
Contributor

@george-lhj george-lhj commented Sep 8, 2025

fixes #714
Add new Node/TypeScript UI for workflows (web/maestro-ui):

  • Vite dev UI with streaming chat and Mermaid diagram
  • New GET /diagram endpoint

CLI updates:

  • new ui-mode flag, an example test:maestro deploy tests/yamls/agents/openai_agent.yaml tests/yamls/workflows/openai_mcp_workflow.yaml --node-ui
  • can stop all services using maestro clean

Node UI deploy starts FastAPI and the UI; Streamlit unchanged by default

Docs:
Minimal README in web/maestro-ui with dev/prod usage and stop instructions
Notes:

  • Core functionality is ready; further UI polish can follow in separate PRs.
  • deprecating streamlit will follow in the future PRs once UI is polished
  • Docker/K8s portion is written with BOB (which is why I've added project_guidelines.md to the gitignore)

@george-lhj george-lhj self-assigned this Sep 8, 2025
@george-lhj george-lhj requested a review from a team as a code owner September 8, 2025 19:26
@george-lhj george-lhj added enhancement New feature or request feature New feature labels Sep 8, 2025
Copy link
Member

@ajbozarth ajbozarth left a comment

Choose a reason for hiding this comment

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

An initial code review pass on the cli updates. I'll be checking out and trying it locally while doing the code review of the UI code next

@ajbozarth
Copy link
Member

Also worth noting that #719 added a mcp server that may need updating in addition to the CLI. (especially if the cli is moved out of maestro to maestro-cli and calls that mcp server, as I believe is the plan)

Copy link
Member

@ajbozarth ajbozarth left a comment

Choose a reason for hiding this comment

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

Running locally is not working as mentioned in the comments below, but here's some more code review for the UI code. I did not take a deep look into the typescript code yet, just it's functionality

@george-lhj
Copy link
Contributor Author

ok, i think I have addressed most of the comments, and left the ones that are unresolved as issues i will open, or reminders on small things to fix.

hopefully my updated readme instructions work to help you see the UI; I tested it in a clean environment and wrote it based on that

@george-lhj
Copy link
Contributor Author

george-lhj commented Sep 22, 2025

@ajbozarth @maximilien if you have extra time, lmk if you can start the actual website (the api itself may not be working due depending on your .env and local models downloaded in ollama).

you can test for example:
maestro create tests/yamls/agents/openai_agent.yaml # this is creating the agents, so this assumes you have the correct model downloaded in ollama
maestro deploy tests/yamls/agents/openai_agent.yaml tests/yamls/workflows/openai_mcp_workflow.yaml --node-ui # this is starting the frontend ui and api connectoin

shut down script I wrote to be in the maestro clean command, so you can just call that after

@ajbozarth
Copy link
Member

lmk if you can start the actual website

I'll try to get to this by this afternoon

Copy link
Contributor Author

@george-lhj george-lhj left a comment

Choose a reason for hiding this comment

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

Image

first iteration of the UI should look something like this

Copy link
Member

@ajbozarth ajbozarth left a comment

Choose a reason for hiding this comment

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

I was able to test locally and following the README I was able to get it working, given this is a first pass I won't block on UI issues and just list some here below:

  • the output box centers the text instead of left justify, which causes visual oddities
  • the output section should probably do markdown formatting
  • you can't click enter to submit a query
  • the query filed isn't cleared after submitting

Separate from the UI though I also raised some comments in the README, specifically one about how the extra install step might be an issue when deploying maestro

Also don't forget some of my old comments before we merge this (like the change in model comment)

@george-lhj
Copy link
Contributor Author

george-lhj commented Sep 25, 2025

Issues to open:

  • bundle npm install inside maestro-ui with initall python installation
  • UI improvements:
    (the output box centers the text instead of left justify, which causes visual oddities
    the output section should probably do markdown formatting
    you can't click enter to submit a query
    the query filed isn't cleared after submitting)
  • move it under src/maestro, or find a way to bundle it via the pyproject.toml

Signed-off-by: George Liu <142549635+george-lhj@users.noreply.github.com>
@george-lhj
Copy link
Contributor Author

Pending these issues I'll open, is this ok to merge? @ajbozarth

Copy link
Member

@ajbozarth ajbozarth left a comment

Choose a reason for hiding this comment

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

pending opening the follow up issues listed above this LGTM

@george-lhj george-lhj merged commit 7fe230f into main Sep 25, 2025
12 checks passed
@george-lhj george-lhj deleted the replace_streamlit branch September 25, 2025 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feature: Replace Streamlit with lightweight Node.JS UI

3 participants