Skip to content

Commit 7730fed

Browse files
Initial commit
0 parents  commit 7730fed

83 files changed

Lines changed: 10973 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Deploy to GitHub Pages and Render
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
jobs:
9+
deploy-ui:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v3
15+
16+
- name: Setup Node.js
17+
uses: actions/setup-node@v3
18+
with:
19+
node-version: 18
20+
cache: 'npm'
21+
cache-dependency-path: ui/package-lock.json
22+
23+
- name: Install dependencies
24+
run: |
25+
cd ui
26+
npm ci
27+
28+
- name: Build
29+
run: |
30+
cd ui
31+
npm run build
32+
touch out/.nojekyll
33+
34+
- name: Deploy
35+
uses: JamesIves/github-pages-deploy-action@v4
36+
with:
37+
folder: ui/out
38+
branch: gh-pages
39+
40+
deploy-api-notification:
41+
runs-on: ubuntu-latest
42+
needs: deploy-ui
43+
44+
steps:
45+
- name: Checkout
46+
uses: actions/checkout@v3
47+
48+
- name: Notify about API deployment
49+
run: |
50+
echo "UI deployment complete. The API must be deployed separately to Render."
51+
echo "Follow these steps to deploy the API:"
52+
echo "1. Create a new Web Service on Render.com"
53+
echo "2. Connect your GitHub repository"
54+
echo "3. Select the 'api' directory as the root directory"
55+
echo "4. Set the build command to 'pip install -r requirements.txt'"
56+
echo "5. Set the start command to 'uvicorn main:app --host 0.0.0.0 --port $PORT'"
57+
echo "6. Add the environment variable PYTHON_VERSION=3.10.0"
58+
echo "7. Deploy the service"
59+
echo "8. Update the PRODUCTION_API_URL in ui/app/config.ts with your Render service URL"
60+
echo "9. Commit and push the changes to trigger a new UI deployment"

.gitignore

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Python
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
*.so
6+
.Python
7+
build/
8+
develop-eggs/
9+
dist/
10+
downloads/
11+
eggs/
12+
.eggs/
13+
lib/
14+
lib64/
15+
parts/
16+
sdist/
17+
var/
18+
wheels/
19+
*.egg-info/
20+
.installed.cfg
21+
*.egg
22+
23+
# Logs and outputs
24+
logs/
25+
output/
26+
*.log
27+
28+
# Environment
29+
.env
30+
.venv
31+
env/
32+
venv/
33+
ENV/
34+
35+
# Node.js
36+
node_modules/
37+
npm-debug.log
38+
yarn-error.log
39+
.next/
40+
41+
# IDE
42+
.idea/
43+
.vscode/
44+
*.swp
45+
*.swo
46+
47+
# OS
48+
.DS_Store
49+
Thumbs.db
50+
51+
# Temp files
52+
*.tmp
53+
*.bak
54+
55+
# Jupyter Notebook
56+
.ipynb_checkpoints
57+
58+
# Playwright
59+
test-results/
60+
playwright-report/
61+
62+
# Local OLLAMA models
63+
.ollama/

README.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# Integrated RPA Automation System
2+
3+
A comprehensive Robotic Process Automation (RPA) system that integrates KGG and OptimusPrime frameworks with advanced features including natural language control, predictive maintenance, and cross-system workflows.
4+
5+
## 🚀 Features
6+
7+
### Integrated RPA System
8+
- Cross-system workflows combining KGG & OptimusPrime
9+
- Robust error handling with detailed logging
10+
- HTML reporting with execution metrics
11+
- Parameter passing between systems
12+
13+
### Natural Language Control
14+
- Conversational interface for RPA workflows
15+
- Local LLM integration with OLLAMA
16+
- Interactive mode for continuous commands
17+
- Rule-based fallback for offline usage
18+
19+
### Predictive Maintenance
20+
- Anomaly detection in automation logs
21+
- Component health monitoring with metrics
22+
- Actionable recommendations for optimization
23+
- Visual HTML reports with priority levels
24+
25+
### UI Dashboard Integration
26+
- Web-based control panel
27+
- Real-time monitoring of agents
28+
- Visual workflow execution tracking
29+
- One-click automation triggering
30+
31+
## 📋 Requirements
32+
33+
- Python 3.10+
34+
- Conda environment management
35+
- Node.js (for UI dashboard)
36+
- OLLAMA (for local LLM capabilities)
37+
38+
## 🔧 Installation
39+
40+
```bash
41+
# Clone the repository
42+
git clone https://github.com/yourusername/integrated-rpa-system.git
43+
cd integrated-rpa-system
44+
45+
# Create and activate conda environment
46+
conda env create -f environment.yml
47+
conda activate agent_f1_env
48+
49+
# Install additional dependencies
50+
pip install -U langmem crewai
51+
52+
# Install OLLAMA (macOS)
53+
brew install ollama
54+
ollama pull mistral
55+
56+
# Install UI dependencies
57+
cd ui
58+
npm install
59+
```
60+
61+
## 🏃‍♂️ Quick Start
62+
63+
### Run Integrated RPA System
64+
```bash
65+
./run_integrated_rpa.sh
66+
```
67+
68+
### Use Natural Language Interface
69+
```bash
70+
./run_nl_rpa.sh --interactive
71+
```
72+
73+
### Run Predictive Maintenance
74+
```bash
75+
./run_predictive_maintenance.sh
76+
```
77+
78+
### Start UI Dashboard
79+
```bash
80+
cd ui
81+
npm run dev
82+
```
83+
84+
## 🌐 Deployment
85+
86+
The RPA System is deployed using GitHub Pages for the UI and Render for the API backend.
87+
88+
### UI Deployment
89+
90+
The UI is automatically deployed to GitHub Pages when changes are pushed to the main branch. You can access the deployed UI at:
91+
92+
**https://yacinewhatchandcode.github.io/MultiAgenticSytemYBE/**
93+
94+
### API Deployment
95+
96+
The API can be deployed to Render.com using the following steps:
97+
98+
1. Create a new Web Service on Render.com
99+
2. Connect your GitHub repository
100+
3. Select the 'api' directory as the root directory
101+
4. Set the build command to `pip install -r requirements.txt`
102+
5. Set the start command to `uvicorn main:app --host 0.0.0.0 --port $PORT`
103+
6. Add the environment variable `PYTHON_VERSION=3.10.0`
104+
7. Deploy the service
105+
8. Update the `PRODUCTION_API_URL` in `ui/app/config.ts` with your Render service URL
106+
9. Commit and push the changes to trigger a new UI deployment
107+
108+
### Local Development
109+
110+
To run the system locally for development:
111+
112+
1. Start the API:
113+
```bash
114+
./run_api.sh
115+
```
116+
117+
2. Start the UI:
118+
```bash
119+
cd ui
120+
npm run dev
121+
```
122+
123+
3. Access the UI at http://localhost:3000
124+
125+
## 📁 Project Structure
126+
127+
```
128+
├── integrated_rpa_automation.py # Core integration system
129+
├── nl_rpa_interface.py # Natural language interface
130+
├── predictive_maintenance.py # Predictive maintenance system
131+
├── run_integrated_rpa.sh # Runner script for integrated system
132+
├── run_nl_rpa.sh # Runner script for NL interface
133+
├── run_predictive_maintenance.sh # Runner script for maintenance
134+
├── environment.yml # Conda environment definition
135+
├── ui/ # Web dashboard
136+
├── samples/ # Sample workflows
137+
├── output/ # Output directory
138+
└── logs/ # Log files
139+
```
140+
141+
## 🤝 Integration
142+
143+
This system integrates with:
144+
- KGG RPA System
145+
- OptimusPrime Framework
146+
- OLLAMA for local LLM capabilities
147+
- Playwright for browser automation
148+
- Selenium for UI testing
149+
- OCR for image recognition
150+
151+
## 📄 License
152+
153+
MIT
154+
155+
## 🙏 Acknowledgements
156+
157+
- CrewAI for agent orchestration
158+
- Langchain for LLM integration
159+
- Playwright and Selenium for browser automation
160+
- OLLAMA for local LLM capabilities

api/Dockerfile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
FROM python:3.10-slim
2+
3+
WORKDIR /app
4+
5+
# Install system dependencies
6+
RUN apt-get update && apt-get install -y \
7+
build-essential \
8+
curl \
9+
git \
10+
&& rm -rf /var/lib/apt/lists/*
11+
12+
# Copy requirements and install Python dependencies
13+
COPY requirements.txt .
14+
RUN pip install --no-cache-dir -r requirements.txt
15+
16+
# Copy application code
17+
COPY . .
18+
19+
# Expose port
20+
EXPOSE 8000
21+
22+
# Run the application
23+
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

api/Procfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
web: uvicorn main:app --host 0.0.0.0 --port $PORT

0 commit comments

Comments
 (0)