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.
- 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
- Docker
- Docker Compose
- At least one of the following API keys:
Note: You can use any combination of the API keys above, but at least one is required to use the app.
- GPT-4o mini
- GPT-4o
- Claude 3 Haiku
- Claude 3.5 Sonnet
- Gemini 1.5 Flash
- Gemini 1.5 Pro
- 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.
The application currently supports a subset of BPMN elements:
- Task
- User task
- Service task
- Exclusive gateway
- Parallel gateway
- Start event
- End event
- 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.
- Expanded BPMN element support
- Implementing LLM awareness of manual edits to the diagram
If you have any questions or feedback, please open an issue on this GitHub repository.