Self-hosted AI Workflow Visualization with LangGraph-GUI & CrewAI-GUI

slide link: https://homun.posetmage.com/Content/Slides/2025/COSCUP/
LangGraph-GUI Demo

- visulization, low code, easy to prompt
- simple for dev tools
Motivation & Goals
-
Local GPU Support (e.g., Ollama)
-
Full Customization of UI and backend logic
-
LangGraph Compatibility for flexible graph-based workflows
-
Easy Deployment with Docker Compose and Kubernetes
other tool usually limited shape, you cannot drag some node to any node you want
- Other similar software
- dify

- https://framerusercontent.com/images/7IPPObp2xkFVLH1IyW9QvFQ0a2I.gif
- coze

- https://pbs.twimg.com/media/GP5rEiZaEAAUqWu
- n8n

- https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-screenshot-readme.png
First attempts - CrewAI-Qt
Build CrewAI-GUI with pyside6
-
Pros of CrewAI :
- Beginner-friendly introduction to AI agents
- LangGraph, LangChain resource not friendly to green hands



Why Not CrewAI?
-
Cons of CrewAI :
- Abstracts too many steps (limited visibility)
- Frequent updates may breaks existing code

Abadon PyQt
->
->
-> 
Why Not LangChain?
Both langchain and crewai are Fragility
-
Not Modularity: Tool usage is isolated, hard to combine
-
Fragility: Breaking changes across versions
-
Bad Abstraction: Layers obscure data flow
why we no longer use LangChain for building our AI agents
Why Choose LangGraph
- Pros of LangGraph:
-
Graph-Centric Design: Focus on nodes and edges
-
Model-Agnostic: Plug in any LLM or agent
-
Composable: Mix-and-match components seamlessly
- My core recommand reason:
- state machine concept align to LLM
- very native
- elegant, can loop, condition to change branch
- Learning Resource:
moreover we can do graph in graph like small agent but just use origin keywords
Design of LangGraph-GUI
-
JSON Contract: text based, easy to decouple
-
Frontend Agnostic: ReactFlow, SvelteFlow, or custom
-
Backend Flexible: Python, etc.
-
Extensible: Add custom properties via
ext: fields

Extend Ability

python backend
-
Framework Upgrade: Started with Flask for its simplicity, then migrated to FastAPI for async support and superior performance.
-
Declarative Routing: Leveraged Python decorators to keep endpoint definitions clean and self-documented.
-
Modular Extensions: Easy to add features—JWT authentication, per-user workspaces, custom middleware.
-
Developer-Friendly: Clear JSON contract and pluggable modules make onboarding and iteration a breeze.

image source: https://www.imaginarycloud.com/blog/flask-vs-fastapi
DevOps
- Support Kubernetes
- Support Docker Compose
Thank You!
</div>