BPMN Assistant
BPMN Assistant is an application that uses Large Language Models (LLMs) to assist with creating, editing, and
interpreting Business Process Model and Notation (BPMN) diagrams.
Quickstart
- Clone the repository
git clone https://github.com/jtlicardo/bpmn-assistant.git
cd bpmn-assistant
- Set up your environment variables
Linux, macOS
```
cd src/bpmn_assistant
```
```
cp .env.example .env
```
Windows
```
cd src\bpmn_assistant
```
```
copy .env.example .env
```
-
Open the .env
file and replace the placeholder values with your actual API keys.
-
Build and run the application
docker-compose up --build
- Open your browser and go to
http://localhost:8080
Prerequisites
Note: You can use any combination of the API keys above, but at least one is required to use the app.
Supported models
OpenAI
Anthropic
- Claude 3 Haiku
- Claude 3.5 Sonnet
Google
- Gemini 1.5 Flash
- Gemini 1.5 Pro
Screenshots
Core features
- Diagram creation - Generates BPMN diagrams based on text descriptions.
- Diagram editing - Modifies BPMN diagrams based on user input.
- Diagram interpretation - Provides text descriptions of BPMN diagrams.
- Drag-and-drop functionality - Users can drag and drop BPMN files (containing only supported elements) into the
editor, then ask the LLM to edit or explain the process.
Supported elements
The application currently supports a subset of BPMN elements:
- Task
- User task
- Service task
- Exclusive gateway
- Parallel gateway
- Start event
- End event
Limitations
- The AI assistant does not "see" manual edits made to the diagram. It always responds based on its last generated
version. Keep this in mind when interacting with the assistant after making manual changes.
- Pools and lanes are not and will not be supported.
Future improvements
- Expanded BPMN element support
- Implementing LLM awareness of manual edits to the diagram
Contact
If you have any questions or feedback, please open an issue on this GitHub repository.